diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..ca767140 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,14 @@ +# These are supported funding model platforms + +github: krypton-byte # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +polar: # Replace with a single Polar username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] \ No newline at end of file diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 00000000..9bda36ca --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,20 @@ +# .github/release.yml + +changelog: + exclude: + labels: + - ignore-for-release + authors: + - octocat + categories: + - title: Breaking Changes πŸ›  + labels: + - Semver-Major + - breaking-change + - title: Exciting New Features πŸŽ‰ + labels: + - Semver-Minor + - enhancement + - title: Other Changes + labels: + - "*" diff --git a/.github/workflows/autobump.yml b/.github/workflows/autobump.yml new file mode 100644 index 00000000..3669e593 --- /dev/null +++ b/.github/workflows/autobump.yml @@ -0,0 +1,87 @@ +name: Auto Update whatsmeow + +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * *" + + +jobs: + update: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + with: + go-version: '^1.21.5' + - name: installing proto-gen-go + run: | + cd goneonize + go install google.golang.org/protobuf/cmd/protoc-gen-go@latest + go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest + - uses: actions/setup-python@v4 + with: + python-version: "3.11.8" + - name: Install Protoc + uses: arduino/setup-protoc@v3 + with: + version: "32.1" + - name: Install uv + uses: astral-sh/setup-uv@v5 + - name: fetch new proto files + run: | + uv sync --group dev + uv run task proto + git diff --exit-code || uv run task build proto + - uses: astral-sh/ruff-action@v3 + with: + args: "check --fix" + - name: format python style PEP8 standard + run: ruff check --fix && ruff format . + - name: Install Python lint libraries + run: | + pip3 install autopep8 autoflake isort black + - name: Check for showstoppers + run: autopep8 --verbose --in-place --recursive --aggressive --exclude='*/proto/*' . + - name: Remove unused imports and variables + run: autoflake --in-place --recursive --remove-all-unused-imports --remove-unused-variables --exclude "*/proto/*" --ignore-init-module-imports . + - name: lint with isort and black + run: | + isort neonize --skip "neonize/proto" + black neonize --exclude "neonize/proto" + - name: update golang dependencies + run: cd goneonize && go get -u && go mod tidy + - name: Run golangci-lint + uses: golangci/golangci-lint-action@v8 + with: + version: v2.1 # Specify a golangci-lint version + working-directory: goneonize + args: --issues-exit-code=0 # Exit with 0 even if issues are found, useful for reformatting + - name: Install gofumpt + run: go install mvdan.cc/gofumpt@latest + - name: reformat go + run: cd goneonize && gofumpt -l -w . + - name: Create Pull Request + id: cpr + uses: peter-evans/create-pull-request@v7 + with: + commit-message: | + Whatsmeow + - Update proto files + - Update golang depedencies + signoff: false + branch: whatsmeow_update + delete-branch: true + title: '[Update] Whatsmeow version' + body: | + Whatsmeow + - Update proto files + - Update golang depedencies + labels: | + proto + whatsmeow + goneonize + automated pr + assignees: krypton-byte + reviewers: krypton-byte + draft: false \ No newline at end of file diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000..ced5bd25 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,23 @@ +name: Docs Release + +on: workflow_dispatch + +jobs: + sphinx: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: "3.11.8" + - name: Install uv + uses: astral-sh/setup-uv@v5 + - name: build docs + run: | + uv sync --group docs + uv run task docsbuild + - name: Deploy docs + uses: JamesIves/github-pages-deploy-action@v4 + with: + branch: gh-pages + folder: docs/_build/html diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..fe5f00f2 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,437 @@ +name: Release + +on: + workflow_dispatch: + inputs: + version_major: + description: Specify whether the major version (.minor.patch.post) should be updated. + type: boolean + required: false + default: false + version_minor: + description: Specify whether the minor version (major..patch.post) should be updated. + type: boolean + required: false + default: false + version_patch: + description: Specify whether the patch version (major.minor..post) should be updated. + type: boolean + required: false + version_post: + description: Specify whether the post version (major.minor.patch.) should be updated. + type: boolean + required: false + default: true + +env: + UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }} + VERSION_MAJOR: ${{ github.event.inputs.version_major }} + VERSION_MINOR: ${{ github.event.inputs.version_minor }} + VERSION_PATCH: ${{ github.event.inputs.version_patch }} + VERSION_POST: ${{ github.event.inputs.version_post }} +jobs: + android: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + with: + go-version: '^1.21.5' + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + + - name: Install uv + uses: astral-sh/setup-uv@v5 + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: | + **/.venv + key: ${{ runner.os }}-${{ hashFiles('**/uv.lock') }} + - name: install deps + run: | + uv sync --dev + uv run task version --set-url "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" info + bash bump_version.sh + - name: Install Protoc + uses: arduino/setup-protoc@v3 + with: + version: "32.1" + repo-token: ${{ secrets.PAT }} + - name: build + run: | + # uv run task goneonize_changed + export CGO_ENABLED=1 + wget https://dl.google.com/android/repository/android-ndk-r26b-linux.zip > /dev/null + unzip android-ndk-r26b-linux.zip > /dev/null + export ANDROID_NDK_HOME=$(pwd)/android-ndk-r26b + export PATH=$PATH:$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin + #ARM64/AARCH64 + export CC=$(which aarch64-linux-android28-clang) + export CXX=$(which aarch64-linux-android28-clang++) + export GOOS=android + export GOARCH=arm64 + uv run task build all + #ARM + export CC=$(which armv7a-linux-androideabi28-clang) + export CXX=$(which armv7a-linux-androideabi28-clang++) + export GOOS=android + export GOARCH=arm + uv run task build goneonize + #AMD64/x86_64 + export CC=$(which x86_64-linux-android28-clang) + export CXX=$(which x86_64-linux-android28-clang++) + export GOOS=android + export GOARCH=amd64 + uv run task build goneonize + #386/686 + export CC=$(which i686-linux-android28-clang) + export CXX=$(which i686-linux-android28-clang++) + export GOOS=android + export GOARCH=386 + uv run task build goneonize + continue-on-error: true + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: Android + path: neonize/*.so + zig: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + with: + go-version: '^1.21.5' + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + - uses: mlugg/setup-zig@v2 + - name: Install uv + uses: astral-sh/setup-uv@v5 + - name: Install Protoc + uses: arduino/setup-protoc@v3 + with: + version: "32.1" + repo-token: ${{ secrets.PAT }} + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: | + **/.venv + key: ${{ runner.os }}-${{ hashFiles('**/uv.lock') }} + - name: install deps + run: | + uv sync --dev + uv run task version --set-url "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" info + bash bump_version.sh + - name: build + run: | + # uv run task goneonize_changed + mkdir LIBS + export CGO_ENABLED=1 + #AMD64 + export GOOS=windows + export GOARCH=amd64 + export CC="zig cc -target x86_64-windows" + uv run task build goneonize + uv build + uv run task repack + mv neonize/*.dll LIBS + #ARM64 + export GOOS=windows + export GOARCH=arm64 + export CC="zig cc -target aarch64-windows" + uv run task build goneonize + uv build + uv run task repack + mv neonize/*.dll LIBS + #X86 / 386 + export GOOS=windows + export GOARCH=386 + export CC="zig cc -target x86-windows" + uv run task build goneonize + uv build + uv run task repack + mv neonize/*.dll LIBS + #LINUX x86/386 + export GOOS=linux + export GOARCH=386 + export CC="zig cc -target x86-linux" + uv run task build goneonize + uv build + uv run task repack + mv neonize/*.so LIBS + cp dist/*.whl LIBS/ + if [[ $UV_PUBLISH_TOKEN ]];then + uv publish + fi + continue-on-error: true + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: Zig + path: | + LIBS/* + linux: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + with: + go-version: '^1.21.5' + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + - name: Install uv + uses: astral-sh/setup-uv@v5 + - name: Install Protoc + uses: arduino/setup-protoc@v3 + with: + version: "32.1" + repo-token: ${{ secrets.PAT }} + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: | + **/.venv + key: ${{ runner.os }}-${{ hashFiles('**/uv.lock') }} + - name: install deps + run: | + uv sync --dev + uv run task version --set-url "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" info + bash bump_version.sh + - name: Installing Dev Package + run: sudo apt update && sudo apt install wget gcc-aarch64-linux-gnu gcc-s390x-linux-gnu gcc-riscv64-linux-gnu -y + - name: build + run: | + # uv run task goneonize_changed + mkdir LIBS + #AMD64/X86_64 + export CGO_ENABLED=1 + uv run task build all + uv build + uv run task repack + mv neonize/*.so LIBS + #ARM64/AARCH64 + export GOOS=linux + export GOARCH=arm64 + export CC=$(which aarch64-linux-gnu-gcc) + export CXX=$(which aarch64-linux-gnu-cpp) + uv run task build goneonize + uv build + uv run task repack + mv neonize/*.so LIBS + #RISCV64 + export GOOS=linux + export GOARCH=riscv64 + export CC=$(which riscv64-linux-gnu-gcc) + export CXX=$(which riscv64-linux-gnu-cpp) + uv run task build goneonize + mv neonize/*.so LIBS + #S390X + export GOOS=linux + export GOARCH=s390x + export CC=$(which s390x-linux-gnu-gcc) + export CXX=$(which s390x-linux-gnu-cpp) + uv run task build goneonize + uv build + uv run task repack + mv neonize/*.so LIBS + cp dist/*.whl LIBS/ + if [[ $UV_PUBLISH_TOKEN ]];then + uv publish + fi + continue-on-error: true + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: Linux + path: LIBS/* + darwin: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v4 + with: + go-version: '^1.21.5' + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + - name: Install uv + uses: astral-sh/setup-uv@v5 + - name: Install Protoc + uses: arduino/setup-protoc@v3 + with: + version: "32.1" + repo-token: ${{ secrets.PAT }} + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: | + **/.venv + key: ${{ runner.os }}-${{ hashFiles('**/uv.lock') }} + - name: install deps + run: | + uv sync --dev + uv run task version --set-url "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" info + bash bump_version.sh + - name: build + run: | + # uv run task goneonize_changed + mkdir LIBS + export PATH="/Users/runner/.local/bin:$PATH" + # Set necessary environment variables for building on Darwin + export CGO_ENABLED=1 + # Build for Darwin (macOS) + + # AMD64/X86_64 + export GOOS=darwin + export GOARCH=amd64 + export CC=$(which clang) + export CXX=$(which clang++) + uv run task build all + uv build + uv run task repack + mv neonize/*.dylib LIBS/ + + #ARM64/AARCH64 + export GOOS=darwin + export GOARCH=arm64 + export CC=$(which clang) + export CXX=$(which clang++) + uv run task build goneonize + uv build + uv run task repack + cp dist/*.whl LIBS/ + mv neonize/*.dylib LIBS/ + if [[ $UV_PUBLISH_TOKEN ]];then + uv publish + fi + continue-on-error: true + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: Darwin + path: LIBS/* + # musl: + # runs-on: ubuntu-latest + # strategy: + # matrix: + # include: + # - arch: x86 + # goarch: 386 + # - arch: aarch64 + # goarch: arm64 + # - arch: x86_64 + # goarch: amd64 + # - arch: armv7 + # goarch: arm + # - arch: ppc64le + # goarch: ppc64le + # - arch: s390x + # goarch: s390x + # steps: + # - uses: actions/checkout@v2 + # - name: Setup latest Alpine Linux + # uses: jirutka/setup-alpine@v1 + # with: + # alpine-version: 'latest' + # arch: ${{ matrix.arch }} + # chroot: true + # packages: | + # linux-headers + # python3-dev + # go + # python3 + # uv + # musl + # musl-dev + # musl-utils + # git + # gcc + # py3-pillow + # build-base + # zlib-dev + # jpeg-dev + # freetype-dev + # lcms2-dev + # bash + # - name: Run script inside Alpine chroot as the default user (unprivileged) + # run: | + # export CGO_ENABLED=1 + # export GOARCH=${{ matrix.goarch }} + # go install google.golang.org/protobuf/cmd/protoc-gen-go@latest + # go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest + # ls -la # as you would expect, you're in your workspace directory + # uv sync + # uv sync --dev + # uv run task version --set-url "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" info + # bash bump_version.sh + # uv run task build goneonize + # uv build + # uv run task repack + # shell: alpine.sh {0} + # - name: push to pypi + # run: | + # export UV_PUBLISH_TOKEN=${UV_PUBLISH_TOKEN} + # if [[ $UV_PUBLISH_TOKEN ]];then + # uv publish + # fi + # mkdir LIBS + # mv dist/*.whl LIBS/ + # shell: alpine.sh {0} + # - name: Upload Artifact + # uses: actions/upload-artifact@v4 + # with: + # name: Musl ${{ matrix.arch }} + # path: LIBS/* + release: + runs-on: ubuntu-latest + needs: [android, zig, linux, darwin] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + - name: Download Artifact + uses: actions/download-artifact@v4 + with: + merge-multiple: true + path: sharedlib + - name: Install uv + uses: astral-sh/setup-uv@v5 + - name: Bypass Rate Limit + run: sleep 20 + shell: bash + - name: Install Protoc + uses: arduino/setup-protoc@v3 + with: + version: "32.1" + repo-token: ${{ secrets.PAT }} + - name: install deps + run: | + uv sync --dev + uv run task version --set-url "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" info + bash bump_version.sh + uv run task build proto + echo "TAG_NAME=$(uv run task version neonize)" >> $GITHUB_ENV + ls -R + ls -lah sharedlib + - name: Upload shared library to draft release + uses: softprops/action-gh-release@v1 + with: + draft: false + files: | + sharedlib/*.so + sharedlib/*.dll + sharedlib/*.dylib + sharedlib/*.whl + generate_release_notes: true + tag_name: ${{ env.TAG_NAME }} + - name: Publish + run: | + if [[ $UV_PUBLISH_TOKEN ]];then + uv build && uv publish + fi diff --git a/.github/workflows/sponsor.yaml b/.github/workflows/sponsor.yaml new file mode 100644 index 00000000..4d22e81f --- /dev/null +++ b/.github/workflows/sponsor.yaml @@ -0,0 +1,27 @@ +name: Generate Sponsors README +on: + workflow_dispatch: + schedule: + - cron: 30 15 * * 0-6 +permissions: + contents: write +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout πŸ›ŽοΈ + uses: actions/checkout@v2 + + - name: Generate Sponsors πŸ’– + uses: JamesIves/github-sponsors-readme-action@v1 + with: + token: ${{ secrets.PAT }} + file: 'README.md' + + # ⚠️ Note: You can use any deployment step here to automatically push the README + # changes back to your branch. + - name: Deploy to GitHub Pages πŸš€ + uses: JamesIves/github-pages-deploy-action@v4 + with: + branch: master # The branch the action should deploy to. + folder: '.' \ No newline at end of file diff --git a/.gitignore b/.gitignore index 68bc17f9..2cc8f53d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +# Neonize Dist +goneonize/*.h +*.lock + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] @@ -5,6 +9,7 @@ __pycache__/ # C extensions *.so +*.dylib # Distribution / packaging .Python @@ -85,7 +90,7 @@ ipython_config.py # pyenv # For a library or package, you might want to ignore these files since the code is # intended to run in multiple environments; otherwise, check them in: -# .python-version +.python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. @@ -108,6 +113,7 @@ ipython_config.py # in version control. # https://pdm.fming.dev/#use-with-ide .pdm.toml +.pdm-build # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm __pypackages__/ @@ -121,6 +127,7 @@ celerybeat.pid # Environments .env +.vscode .venv env/ venv/ @@ -158,3 +165,6 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ + +*.dll +*.exe \ No newline at end of file diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..4f0e099a --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,35 @@ +# Read the Docs configuration file for Sphinx projects +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the OS, Python version and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.12" + # You can also specify other tool versions: + # nodejs: "20" + # rust: "1.70" + # golang: "1.20" + +# Build documentation in the "docs/" directory with Sphinx +sphinx: + configuration: docs/source/conf.py + # You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs + # builder: "dirhtml" + # Fail on all warnings to avoid broken references + # fail_on_warning: true + +# Optionally build your docs in additional formats such as PDF and ePub +# formats: +# - pdf +# - epub + +# Optional but recommended, declare the Python requirements required +# to build your documentation +# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html +python: + install: + - requirements: docs/requirements.txt \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 65d939f9..16f05133 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,5 +7,7 @@ "*test.py" ], "python.testing.pytestEnabled": false, - "python.testing.unittestEnabled": true + "python.testing.unittestEnabled": true, + "python.venvPath": "/home/krypton-byte/.cache/pypoetry/virtualenvs/neonize-RIKrwKG1-py3.11/bin/python", + "python.pythonPath": "/home/krypton-byte/.cache/pypoetry/virtualenvs/neonize-RIKrwKG1-py3.11/bin/python" } \ No newline at end of file diff --git a/README.md b/README.md index c842aecb..4b4adb7e 100644 --- a/README.md +++ b/README.md @@ -1,67 +1,631 @@ -
+
+ -# Neonize +# πŸš€ Neonize -
-

Neonize is a custom binding library designed to connect seamlessly with the functions of the whatsmeow library. Acting as a mediator, it facilitates smooth integration between your application and whatsmeow's basic features. By adopting a binding approach, Neonize allows your code to take advantage of whatsmeow's capabilities while ensuring seamless and cohesive interoperability. This binding setup enables granular integration, acting like a bridge between your application logic and the powerful operations of the whatsmeow library. Notably, data exchange is handled through protobuf for streamlined communication and increased efficiency in the integration process. -

+### *WhatsApp Automation Made Simple for Python* -## TODO +[![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://python.org) +[![Go](https://img.shields.io/badge/Go-00ADD8?style=for-the-badge&logo=go&logoColor=white)](https://golang.org) +[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg?style=for-the-badge)](LICENSE) +[![WhatsApp](https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://whatsapp.com/) +[![Release](https://img.shields.io/github/v/release/krypton-byte/neonize?style=for-the-badge)](https://github.com/krypton-byte/neonize/releases) +*A powerful Python library built on top of [Whatsmeow](https://github.com/tulir/whatsmeow) - enabling seamless WhatsApp automation with enterprise-grade performance* +--- + +[Getting Started](#-getting-started) β€’ [Features](#-features) β€’ [Examples](#-examples) β€’ [Documentation](#-documentation) β€’ [Contributing](#-contributing) + + + +Neonize + +## ✨ What is Neonize? + +**Neonize** is a cutting-edge Python library that transforms WhatsApp automation from complex to simple. Built on top of the robust [Whatsmeow](https://github.com/tulir/whatsmeow) Go library, it delivers enterprise-grade performance with Python's ease of use and developer-friendly API. + +### 🎯 Why Choose Neonize? + +- **πŸ”₯ High Performance** - Built with Go backend for maximum speed and efficiency +- **🐍 Python Native** - Seamless integration with your existing Python ecosystem +- **πŸ›‘οΈ Enterprise Ready** - Production-tested with robust error handling and reliability +- **⚑ Real-time** - Handle messages, media, and events in real-time with async support +- **πŸ”§ Easy Integration** - Simple, intuitive API design for rapid development +- **πŸ“š Well Documented** - Comprehensive documentation with practical examples + +--- + +## 🌟 Features + +### Core Messaging +- βœ… Send and receive text messages +- βœ… Handle media files (images, videos, documents, audio) +- βœ… Group management and operations +- βœ… Real-time message events +- βœ… Message receipts and status tracking + +### Advanced Capabilities +- πŸ” End-to-end encryption support +- 🎯 Contact and user information retrieval +- πŸ“ž Call event handling +- πŸ”” Presence and typing indicators +- πŸ“Š Polls and interactive messages +- 🚫 Blocklist management + +### Developer Experience +- πŸ”„ Event-driven architecture +- πŸ“Š Built-in logging and debugging +- πŸ—„οΈ SQLite and PostgreSQL database support +- ⚑ Both synchronous and asynchronous APIs +- πŸ§ͺ Comprehensive examples and documentation + +## πŸ’Ž Sponsors + +We are grateful to our sponsors who help make Neonize possible. Their support enables us to continue developing and maintaining this open-source project for the community. + +User avatar: FeedMeUser avatar: + +### 🀝 Become a Sponsor + +Your sponsorship helps us: +- ⚑ Maintain and improve Neonize +- πŸ› Fix bugs and add new features +- πŸ“š Create better documentation +- πŸ”§ Provide community support +- πŸš€ Keep the project free and open-source + +**[Become a Sponsor β†’](https://github.com/sponsors/krypton-byte)** + +*Thank you to all our sponsors for believing in Neonize and supporting open-source development! πŸ™* + +## πŸš€ Getting Started + +### Prerequisites + +- Python 3.8 or higher +- Go 1.19+ (for building from source) + +### Installation + +```bash +pip install neonize +``` + +### Quick Start + +```python +from neonize.client import NewClient +from neonize.events import MessageEv, ConnectedEv, event + +# Initialize client +client = NewClient("your_bot_name") + +@client.event +def on_connected(client: NewClient, event: ConnectedEv): + print("πŸŽ‰ Bot connected successfully!") + +@client.event +def on_message(client: NewClient, event: MessageEv): + if event.message.conversation == "hi": + client.reply_message("Hello! πŸ‘‹", event.message) + +# Start the bot +client.connect() +event.wait() # Keep running +``` + +### Async Version + +```python +import asyncio +from neonize.aioze.client import NewAClient +from neonize.aioze.events import MessageEv, ConnectedEv + +async def main(): + client = NewAClient("async_bot") + + @client.event + async def on_message(client: NewAClient, event: MessageEv): + if event.message.conversation == "ping": + await client.reply_message("pong! πŸ“", event.message) + + await client.connect() + +asyncio.run(main()) +``` + +## πŸ’‘ Examples + +### πŸ“± Basic Client Setup + +```python +from neonize.client import NewClient +from neonize.events import MessageEv, ConnectedEv, event +import logging + +# Enable logging for debugging +logging.basicConfig(level=logging.INFO) + +# Initialize the WhatsApp client +client = NewClient( + name="my-whatsapp-bot", + database="./neonize.db" +) + +# Handle successful connection +@client.event +def on_connected(client: NewClient, event: ConnectedEv): + print("πŸŽ‰ Successfully connected to WhatsApp!") + print(f"πŸ“± Device: {event.device}") + +# Start the client +client.connect() +event.wait() +``` + +### πŸ’¬ Sending Messages + +```python +from neonize.utils import build_jid + +# Send simple text message +jid = build_jid("1234567890") +client.send_message(jid, text="Hello from Neonize! πŸš€") + +# Send image with caption +with open("image.jpg", "rb") as f: + image_data = f.read() + +image_msg = client.build_image_message( + image_data, + caption="Check out this amazing image! πŸ“Έ", + mime_type="image/jpeg" +) +client.send_message(jid, message=image_msg) + +# Send document file +with open("document.pdf", "rb") as f: + doc_data = f.read() + +doc_msg = client.build_document_message( + doc_data, + filename="document.pdf", + caption="Here is the document you requested", + mime_type="application/pdf" +) +client.send_message(jid, message=doc_msg) +``` + +### 🎭 Message Event Handling + +```python +from neonize.events import MessageEv, ReceiptEv, PresenceEv +from datetime import datetime + +# Handle incoming text messages +@client.event +def on_message(client: NewClient, event: MessageEv): + message_text = event.message.conversation + sender_jid = event.info.message_source.sender + chat_jid = event.info.message_source.chat + + print(f"πŸ“¨ Received from {sender_jid}: {message_text}") + + # Auto-reply functionality + if message_text and message_text.lower() == "hello": + client.send_message(chat_jid, text="Hello there! πŸ‘‹") + elif message_text and message_text.lower() == "help": + help_text = """ +πŸ€– *Bot Commands:* +β€’ hello - Get a greeting +β€’ help - Show this help message +β€’ time - Get current time +β€’ joke - Get a random joke +""" + client.send_message(chat_jid, text=help_text) + elif message_text and message_text.lower() == "time": + current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + client.send_message(chat_jid, text=f"πŸ• Current time: {current_time}") + +# Handle message receipts (delivery status) +@client.event +def on_receipt(client: NewClient, event: ReceiptEv): + print(f"πŸ“§ Message {event.receipt.type}: {event.message_ids}") + +# Handle typing indicators +@client.event +def on_presence(client: NewClient, event: PresenceEv): + chat = event.message_source.chat + participant = event.message_source.sender + print(f"πŸ’¬ {participant} is {event.presence} in {chat}") +``` + +### πŸ‘₯ Group Management + +```python +from neonize.utils import build_jid + +# Create a new group +participants = [ + build_jid("1234567890"), + build_jid("0987654321"), +] + +group_info = client.create_group( + "My Awesome Group πŸš€", + participants +) +print(f"πŸŽ‰ Group created: {group_info.jid}") + +# Get group information +group_info = client.get_group_info(group_jid) +print(f"πŸ“‹ Group Name: {group_info.group_name}") +print(f"πŸ“ Description: {group_info.group_desc}") +print(f"πŸ‘₯ Participants: {len(group_info.participants)}") + +# Add participants to group +client.update_group_participants( + group_jid, + [user_jid], + "add" +) + +# Remove participants from group +client.update_group_participants( + group_jid, + [user_jid], + "remove" +) + +# Update group name +client.update_group_name( + group_jid, + "New Group Name 🎯" +) + +# Update group description +client.update_group_description( + group_jid, + "This is our updated group description" +) +``` + +### πŸ” Contact & Profile Management -- [x] **Task 1:** Simple Whatsmeow Login -- [x] **Task 2:** QR -- [ ] **Task 3:** Events -- [x] **Task 4:** Receive Message -- [x] **Task 5:** Send Message/Media Message -- [x] **Task 6:** Receive And Download Media Message -- [x] **Task 7:** Set Group Name -- [ ] **Task 8:** Set Group Photo -- [x] **Task 9:** Get Group Info -- [x] **Task 10:** Leave Group -- [x] **Task 11:** Join Group With Link -- [x] **Task 12:** Get Group Invite Link -- [x] **Task 13:** Revoke Group Invite Link -- [x] **Task 14:** Revoke Message -- [x] **Task 15:** Create Group -- [x] **Task 16:** Check Phone Number -- [x] **Task 17:** Get User Info -- [x] **Task 18:** Send Presence -- [x] **Task 19:** IsConnected/IsLoggedIn -- [x] **Task 20:** Poll Vote -- [x] **Task 21:** Create Poll Message -- [x] **Task 22:** React Message -- [x] **Task 23:** Create Newsletter [no tested] -- [x] **Task 24:** Get Blocklist +```python +# Get user profile information +profile = client.get_profile_picture( + user_jid, + full_resolution=True +) +print(f"πŸ‘€ Profile picture URL: {profile.url}") +print(f"πŸ†” Profile ID: {profile.id}") +# Update your own status +client.set_presence("available") +print("βœ… Status updated to available") +# Check if contacts are on WhatsApp +contacts = ["1234567890", "0987654321", "1122334455"] +registered_contacts = client.is_on_whatsapp(contacts) +for contact in registered_contacts: + if contact.is_in: + print(f"βœ… {contact.jid} is on WhatsApp") + else: + print(f"❌ {contact.query} is not on WhatsApp") +``` +### πŸ“Š Polls & Interactive Messages +```python +from neonize.utils.enum import VoteType +# Create a poll +poll_msg = client.build_poll_vote_creation( + "What's your favorite programming language?", + ["Python 🐍", "Go πŸš€", "JavaScript πŸ’›", "Rust πŸ¦€"], + VoteType.SINGLE_SELECT +) +client.send_message(chat_jid, message=poll_msg) -## Contribution Guidelines +# Handle poll responses +@client.event +def on_poll_vote(client: NewClient, event): + voter = event.info.message_source.sender + selected_options = event.message.poll_update_message.vote.selected_options + print(f"πŸ“Š {voter} voted for: {selected_options}") +``` -If you would like to contribute to this project, please follow these steps: +## πŸ—οΈ Project Structure -1. Fork this repository. -2. Create a new branch: `git checkout -b branch-name`. -3. Perform the desired tasks or changes. -4. Commit the changes: `git commit -m 'Commit message'`. -5. Push to branch: `git push origin nama-branch`. -6. Send pull request. +``` +neonize/ +β”œβ”€β”€ examples/ +β”‚ β”œβ”€β”€ async_basic.py +β”‚ β”œβ”€β”€ basic.py +β”‚ β”œβ”€β”€ multisession_async.py +β”‚ β”œβ”€β”€ multisession.py +β”‚ └── paircode.py +β”œβ”€β”€ goneonize/ +β”‚ β”œβ”€β”€ build_python_proto.py +β”‚ β”œβ”€β”€ chat_settings_store.go +β”‚ β”œβ”€β”€ contact_store.go +β”‚ β”œβ”€β”€ go.mod +β”‚ β”œβ”€β”€ go.sum +β”‚ β”œβ”€β”€ main.go +β”‚ └── defproto/ +β”œβ”€β”€ neonize/ +β”‚ β”œβ”€β”€ __init__.py +β”‚ β”œβ”€β”€ client.py +β”‚ β”œβ”€β”€ events.py +β”‚ β”œβ”€β”€ types.py +β”‚ β”œβ”€β”€ aioze/ # Async client +β”‚ β”œβ”€β”€ proto/ # Protocol buffers +β”‚ └── utils/ # Helper utilities +β”œβ”€β”€ docs/ +β”‚ β”œβ”€β”€ conf.py +β”‚ β”œβ”€β”€ index.rst +β”‚ └── getstarted.rst +└── tools/ # Build and development tools +``` -## Local Development +## πŸ“– Documentation -If you want to run this project locally, follow these steps: +### Core Classes -1. Clone the repository: `git clone git@github.com:krypton-byte/neonize.git`. -2. Install dependencies: `poetry install --with dev` (customize to the project). -3. Run the project: `python examples/basic.py` (customize to the project). +- **[`NewClient`](neonize/client.py)** - Main synchronous WhatsApp client +- **[`NewAClient`](neonize/aioze/client.py)** - Asynchronous WhatsApp client +- **[Event System](neonize/events.py)** - Event handling and types +- **[Protocol Buffers](neonize/proto/)** - WhatsApp message definitions +- **[Utilities](neonize/utils/)** - Helper functions and enums -## Lisensi +### Event System -This project is licensed under Apache-2.0. See the [LICENSE](LICENSE) file for more information. +The event system in Neonize is built around decorators and type-safe events: + +```python +# Synchronous event handling +@client.event +def on_message(client: NewClient, event: MessageEv): + handle_message(event) + +@client.event +def on_receipt(client: NewClient, event: ReceiptEv): + handle_receipt(event) + +# Asynchronous event handling +@async_client.event +async def on_message(client: NewAClient, event: MessageEv): + await handle_message_async(event) +``` + +### Database Support + +Neonize supports multiple database backends for storing session data: + +```python +# SQLite (default) +client = NewClient("bot_name", database="./app.db") + +# PostgreSQL (recommended for production) +client = NewClient("bot_name", database="postgres://user:pass@localhost/dbname") + +# In-memory (for testing) +client = NewClient("bot_name", database=":memory:") +``` + +### Multi-Session Support + +Handle multiple WhatsApp accounts simultaneously: + +```python +from neonize.client import NewClient +import threading + +# Create multiple clients +clients = [] +for i in range(3): + client = NewClient(f"bot_{i}", database=f"./bot_{i}.db") + clients.append(client) + +# Start all clients in separate threads +threads = [] +for client in clients: + thread = threading.Thread(target=client.connect) + thread.start() + threads.append(thread) + +# Wait for all threads +for thread in threads: + thread.join() +``` + +## 🀝 Contributing + +We welcome contributions! Here's how you can help: + +1. **Fork** the repository +2. **Create** a feature branch: `git checkout -b feature/amazing-feature` +3. **Commit** your changes: `git commit -m 'Add amazing feature'` +4. **Push** to the branch: `git push origin feature/amazing-feature` +5. **Open** a Pull Request + +### Development Setup + +```bash +# Clone the repository +git clone https://github.com/krypton-byte/neonize.git +cd neonize + +# Install dependencies with Poetry +poetry install --with dev + +# Or install with pip in development mode +pip install -e . + +# Run the basic example +python examples/basic.py + +# Run tests +python -m pytest + +# Build documentation +cd docs && make html +``` + +### Code Standards + +- Follow **PEP 8** for Python code style +- Use **type hints** for better code documentation +- Write **comprehensive tests** for new features +- Update **documentation** for API changes +- Ensure **backward compatibility** when possible + +## πŸ—„οΈ Database Configuration + +### SQLite (Default) + +Perfect for development and small-scale deployments: + +```python +client = NewClient("my_bot", database="./whatsapp.db") +``` + +### PostgreSQL (Production Recommended) + +For high-performance and scalable applications: + +```python +# Basic connection +client = NewClient("my_bot", database="postgres://username:password@localhost:5432/dbname") + +# With SSL disabled +client = NewClient("my_bot", database="postgres://username:password@localhost:5432/dbname?sslmode=disable") + +# With SSL required +client = NewClient("my_bot", database="postgres://username:password@localhost:5432/dbname?sslmode=require") +``` + +### Connection Pool Settings + +For production applications, configure connection pooling: + +```python +database_url = "postgres://user:pass@localhost:5432/neonize?pool_min_conns=5&pool_max_conns=20" +client = NewClient("production_bot", database=database_url) +``` + +## πŸš€ Quick Integration + +### With FastAPI + +```python +from fastapi import FastAPI +from neonize.aioze.client import NewAClient +from neonize.aioze.events import MessageEv + +app = FastAPI() +whatsapp_client = NewAClient("fastapi_bot") + +@app.on_event("startup") +async def startup_event(): + await whatsapp_client.connect() + +@whatsapp_client.event +async def on_message(client: NewAClient, event: MessageEv): + # Handle WhatsApp messages in your FastAPI app + if event.message.conversation == "/api_status": + await client.reply_message("API is running! βœ…", event.message) + +@app.get("/send-message") +async def send_message(phone: str, message: str): + jid = build_jid(phone) + await whatsapp_client.send_message(jid, text=message) + return {"status": "sent"} +``` + +### With Django + +```python +# apps.py +from django.apps import AppConfig +from neonize.client import NewClient +import threading + +class WhatsAppConfig(AppConfig): + name = 'whatsapp_integration' + + def ready(self): + self.whatsapp_client = NewClient("django_bot") + thread = threading.Thread(target=self.whatsapp_client.connect) + thread.daemon = True + thread.start() +``` + +### With Flask + +```python +from flask import Flask, request, jsonify +from neonize.client import NewClient +import threading + +app = Flask(__name__) +whatsapp_client = NewClient("flask_bot") + +@app.route('/webhook', methods=['POST']) +def webhook(): + data = request.json + phone = data.get('phone') + message = data.get('message') + + if phone and message: + jid = build_jid(phone) + whatsapp_client.send_message(jid, text=message) + return jsonify({"status": "success"}) + + return jsonify({"status": "error"}), 400 + +if __name__ == '__main__': + # Start WhatsApp client in background + thread = threading.Thread(target=whatsapp_client.connect) + thread.daemon = True + thread.start() + + app.run(debug=True) +``` + +## πŸ“„ License + +This project is licensed under the **Apache License 2.0** - see the [LICENSE](LICENSE) file for details. + +## πŸ™ Acknowledgments + +- **[Whatsmeow](https://github.com/tulir/whatsmeow)** - The powerful Go library that powers Neonize +- **[Thundra](https://github.com/krypton-byte/thundra)** - Companion library for easy bot creation +- **Python Community** - For the amazing ecosystem and support +- **Contributors** - All the developers who have contributed to this project + +## πŸ“ž Support + +- πŸ“§ **Issues**: [GitHub Issues](https://github.com/krypton-byte/neonize/issues) +- πŸ’¬ **Discussions**: [GitHub Discussions](https://github.com/krypton-byte/neonize/discussions) +- πŸ“š **Documentation**: [Full Documentation](https://neonize.readthedocs.io/) +- πŸ”— **Related Projects**: [Thundra Framework](https://github.com/krypton-byte/thundra) + +## 🌟 Related Projects + +- **[Thundra](https://github.com/krypton-byte/thundra)** - High-level bot framework built on Neonize +- **[Neonize Dart](https://github.com/krypton-byte/neonize-dart)** - Dart/Flutter wrapper for Neonize +- **[Whatsmeow](https://github.com/tulir/whatsmeow)** - Go WhatsApp Web API library --- + +
+ +**Made with ❀️ for the Python community** + +*If this project helped you, please consider giving it a ⭐ on GitHub!* + +
diff --git a/assets/20250607_2254_Futuristic WhatsApp Backend Visualization_simple_compose_01jx5hh659f7bvbqxc8gedz8r8.png b/assets/20250607_2254_Futuristic WhatsApp Backend Visualization_simple_compose_01jx5hh659f7bvbqxc8gedz8r8.png new file mode 100644 index 00000000..dc74f05d Binary files /dev/null and b/assets/20250607_2254_Futuristic WhatsApp Backend Visualization_simple_compose_01jx5hh659f7bvbqxc8gedz8r8.png differ diff --git a/assets/logo.jpg b/assets/logo.jpg new file mode 100644 index 00000000..801c3f62 Binary files /dev/null and b/assets/logo.jpg differ diff --git a/assets/neonize.png b/assets/neonize.png new file mode 100644 index 00000000..865b84d2 Binary files /dev/null and b/assets/neonize.png differ diff --git a/bump_version.sh b/bump_version.sh new file mode 100644 index 00000000..69e3d1c5 --- /dev/null +++ b/bump_version.sh @@ -0,0 +1,11 @@ +uv run task version neonize --last +uv run task version goneonize --last +if [[ $VERSION_MAJOR == "true" ]];then + uv run task version update major +elif [[ $VERSION_MINOR == "true" ]];then + uv run task version update minor +elif [[ $VERSION_PATCH == "true" ]];then + uv run task version update patch +elif [[ ( $VERSION_MAJOR == "false" && $VERSION_MINOR == "false" && $VERSION_PATCH == "false" && $VERSION_POST == "false" ) || $VERSION_POST == "true" ]]; then + uv run task version update post +fi \ No newline at end of file diff --git a/docs/Makefile b/docs/Makefile index d0c3cbf1..d4bb2cbb 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -5,8 +5,8 @@ # from the environment for the first two. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build -SOURCEDIR = source -BUILDDIR = build +SOURCEDIR = . +BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: diff --git a/docs/source/conf.py b/docs/conf.py similarity index 78% rename from docs/source/conf.py rename to docs/conf.py index c19b1efe..4722ce2a 100644 --- a/docs/source/conf.py +++ b/docs/conf.py @@ -5,32 +5,35 @@ # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information -import sys, os -sys.path.insert(0, os.path.abspath("..")) +import importlib.metadata + + project = "neonize" copyright = "2024, krypton-byte" author = "krypton-byte" +release = importlib.metadata.version("neonize") # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration extensions = [ + "sphinx.ext.coverage", + "sphinx.ext.napoleon", "sphinx.ext.autodoc", "sphinx.ext.viewcode", "sphinx.ext.autosummary", - "myst_parser", - "sphinx_autodoc_typehints" + "sphinx_autodoc_typehints", ] templates_path = ["_templates"] -utosummary_generate = True +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] +autosummary_generate = True autodoc_default_flags = ["members"] -exclude_patterns = ["gocode"] # -- Options for HTML output ------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output -html_theme = "sphinx_rtd_theme" +html_theme = "furo" html_static_path = ["_static"] diff --git a/docs/generate.py b/docs/generate.py deleted file mode 100644 index 5df89494..00000000 --- a/docs/generate.py +++ /dev/null @@ -1,7 +0,0 @@ -import subprocess -from pathlib import Path -import shlex -project_path = Path(__file__).parent.parent -def build(): - subprocess.call(shlex.split("sphinx-apidoc -o docs/source neonize neonize.proto"),cwd=project_path) - subprocess.call(shlex.split("make html"),cwd=project_path / "docs") \ No newline at end of file diff --git a/docs/getstarted.rst b/docs/getstarted.rst new file mode 100644 index 00000000..5cd5b57a --- /dev/null +++ b/docs/getstarted.rst @@ -0,0 +1,81 @@ +Getting Started with Neonize +=========================== + +What is Neonize? +-------------- + +Neonize is a Python library that provides an asynchronous client interface for WhatsApp messaging. It allows developers to build applications that can programmatically send and receive WhatsApp messages, handle various media types, and interact with WhatsApp features. + +Installation +----------- + +You can install Neonize using pip: + +.. code-block:: bash + + pip install neonize + +For the development version, you can install directly from GitHub: + +.. code-block:: bash + + pip install git+https://github.com/krypton-byte/neonize.git + +Requirements +~~~~~~~~~~~ + +- Python 3.10 or higher +- Async/await support + +Basic Usage +---------- + +Here's a simple example of how to use Neonize: + +.. code-block:: python + + import asyncio + from neonize import NewAClient + from neonize.events import MessageEv + + async def handler(client: NewAClient, message: MessageEv): + # Get the chat and text from the message + chat = message.Info.MessageSource.Chat + text = message.Message.conversation + + # Simple ping-pong example + if text == "ping": + await client.send_message(chat, "pong!") + + async def main(): + # Initialize the client + client = NewAClient() + + # Register the message handler + client.register_callback(handler) + + # Connect and start listening + await client.connect() + + # Keep the client running + while client.connected: + await asyncio.sleep(1) + + if __name__ == "__main__": + asyncio.run(main()) + +Features +-------- + +Neonize supports many WhatsApp features, including: + +* Sending and receiving text messages +* Handling media (images, videos, audio, documents) +* Creating and interacting with polls +* Building and sending stickers +* Message editing +* Interactive buttons and lists +* Chat settings management (muting, pinning, archiving) +* And much more! + +For more detailed documentation and examples, please check the API reference and examples sections. diff --git a/docs/source/index.rst b/docs/index.rst similarity index 54% rename from docs/source/index.rst rename to docs/index.rst index 8c268003..67bfff8e 100644 --- a/docs/source/index.rst +++ b/docs/index.rst @@ -1,5 +1,5 @@ .. neonize documentation master file, created by - sphinx-quickstart on Wed Jan 3 13:47:34 2024. + sphinx-quickstart on Thu Jun 6 16:48:12 2024. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. @@ -10,12 +10,25 @@ Welcome to neonize's documentation! :maxdepth: 2 :caption: Contents: - modules + getstarted +.. toctree:: + :maxdepth: 2 + :caption: API Reference: + + source/modules + +.. toctree:: + :maxdepth: 1 + :caption: Development: + + GitHub Repository + Issue Tracker Indices and tables ================== + * :ref:`genindex` * :ref:`modindex` * :ref:`search` diff --git a/docs/make.bat b/docs/make.bat index 747ffb7b..32bb2452 100644 --- a/docs/make.bat +++ b/docs/make.bat @@ -7,8 +7,8 @@ REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) -set SOURCEDIR=source -set BUILDDIR=build +set SOURCEDIR=. +set BUILDDIR=_build %SPHINXBUILD% >NUL 2>NUL if errorlevel 9009 ( diff --git a/docs/source/getstarted.rst b/docs/source/getstarted.rst new file mode 100644 index 00000000..e69de29b diff --git a/docs/source/modules.rst b/docs/source/modules.rst index 39d19b54..ab84b907 100644 --- a/docs/source/modules.rst +++ b/docs/source/modules.rst @@ -5,4 +5,3 @@ neonize :maxdepth: 4 neonize - neonize.proto diff --git a/docs/source/neonize.proto.rst b/docs/source/neonize.proto.rst index 3f172b36..cc6a0ac5 100644 --- a/docs/source/neonize.proto.rst +++ b/docs/source/neonize.proto.rst @@ -12,14 +12,6 @@ neonize.proto.Neonize\_pb2 module :undoc-members: :show-inheritance: -neonize.proto.def\_pb2 module ------------------------------ - -.. automodule:: neonize.proto.def_pb2 - :members: - :undoc-members: - :show-inheritance: - Module contents --------------- diff --git a/docs/source/neonize.rst b/docs/source/neonize.rst index f0093011..ef5de062 100644 --- a/docs/source/neonize.rst +++ b/docs/source/neonize.rst @@ -1,9 +1,26 @@ neonize package =============== +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + neonize.proto + neonize.utils + Submodules ---------- +neonize.builder module +---------------------- + +.. automodule:: neonize.builder + :members: + :undoc-members: + :show-inheritance: + neonize.client module --------------------- @@ -12,6 +29,30 @@ neonize.client module :undoc-members: :show-inheritance: +neonize.const module +-------------------- + +.. automodule:: neonize.const + :members: + :undoc-members: + :show-inheritance: + +neonize.download module +----------------------- + +.. automodule:: neonize.download + :members: + :undoc-members: + :show-inheritance: + +neonize.events module +--------------------- + +.. automodule:: neonize.events + :members: + :undoc-members: + :show-inheritance: + neonize.exc module ------------------ @@ -20,10 +61,18 @@ neonize.exc module :undoc-members: :show-inheritance: -neonize.utils module +neonize.neonize\-linux\-amd64 module +------------------------------------ + +.. automodule:: neonize.neonize-linux-amd64 + :members: + :undoc-members: + :show-inheritance: + +neonize.types module -------------------- -.. automodule:: neonize.utils +.. automodule:: neonize.types :members: :undoc-members: :show-inheritance: diff --git a/docs/source/neonize.utils.rst b/docs/source/neonize.utils.rst index 8317365b..580f6811 100644 --- a/docs/source/neonize.utils.rst +++ b/docs/source/neonize.utils.rst @@ -4,6 +4,14 @@ neonize.utils package Submodules ---------- +neonize.utils.calc module +------------------------- + +.. automodule:: neonize.utils.calc + :members: + :undoc-members: + :show-inheritance: + neonize.utils.enum module ------------------------- @@ -12,6 +20,14 @@ neonize.utils.enum module :undoc-members: :show-inheritance: +neonize.utils.ffmpeg module +--------------------------- + +.. automodule:: neonize.utils.ffmpeg + :members: + :undoc-members: + :show-inheritance: + neonize.utils.iofile module --------------------------- @@ -28,6 +44,38 @@ neonize.utils.jid module :undoc-members: :show-inheritance: +neonize.utils.log module +------------------------ + +.. automodule:: neonize.utils.log + :members: + :undoc-members: + :show-inheritance: + +neonize.utils.message module +---------------------------- + +.. automodule:: neonize.utils.message + :members: + :undoc-members: + :show-inheritance: + +neonize.utils.platform module +----------------------------- + +.. automodule:: neonize.utils.platform + :members: + :undoc-members: + :show-inheritance: + +neonize.utils.thumbnail module +------------------------------ + +.. automodule:: neonize.utils.thumbnail + :members: + :undoc-members: + :show-inheritance: + Module contents --------------- diff --git a/examples/async_basic.py b/examples/async_basic.py new file mode 100644 index 00000000..3e35e5d0 --- /dev/null +++ b/examples/async_basic.py @@ -0,0 +1,342 @@ +import asyncio +import logging +import os +import sys +from datetime import timedelta +from neonize.aioze.client import NewAClient, ClientFactory +from neonize.aioze.events import ConnectedEv, MessageEv, PairStatusEv, ReceiptEv, CallOfferEv, event +from neonize.proto.waE2E.WAWebProtobufsE2E_pb2 import ( + Message, + FutureProofMessage, + InteractiveMessage, + MessageContextInfo, + DeviceListMetadata, +) +from neonize.types import MessageServerID +from neonize.utils import log +from neonize.utils.enum import ReceiptType, VoteType +import signal + + +sys.path.insert(0, os.getcwd()) + + +def interrupted(*_): + loop = asyncio.get_event_loop() + asyncio.run_coroutine_threadsafe(ClientFactory.stop(), loop) + + +log.setLevel(logging.DEBUG) +signal.signal(signal.SIGINT, interrupted) + + +client = NewAClient("db.sqlite3") + + +@client.event(ConnectedEv) +async def on_connected(_: NewAClient, __: ConnectedEv): + log.info("⚑ Connected") + + +@client.event(ReceiptEv) +async def on_receipt(_: NewAClient, receipt: ReceiptEv): + log.debug(receipt) + + +@client.event(CallOfferEv) +async def on_call(_: NewAClient, call: CallOfferEv): + log.debug(call) + + +@client.event(MessageEv) +async def on_message(client: NewAClient, message: MessageEv): + await handler(client, message) + + +async def handler(client: NewAClient, message: MessageEv): + text = message.Message.conversation or message.Message.extendedTextMessage.text + chat = message.Info.MessageSource.Chat + match text: + case "ping": + result = await client.reply_message("pong", message) + case "stop": + print("Stopping client...") + await client.stop() + case "_test_link_preview": + await client.send_message( + chat, "Test https://github.com/krypton-byte/neonize", link_preview=True + ) + case "_sticker": + await client.send_sticker( + chat, + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + ) + case "_sticker_exif": + await client.send_sticker( + chat, + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + name="@Neonize", + packname="2024", + ) + case "_image": + await client.send_image( + chat, + "https://download.samplelib.com/png/sample-boat-400x300.png", + caption="Test", + quoted=message, + ) + case "_video": + await client.send_video( + chat, + "https://download.samplelib.com/mp4/sample-5s.mp4", + caption="Test", + quoted=message, + ) + case "_audio": + await client.send_audio( + chat, + "https://download.samplelib.com/mp3/sample-12s.mp3", + quoted=message, + ) + case "_ptt": + await client.send_audio( + chat, + "https://download.samplelib.com/mp3/sample-12s.mp3", + ptt=True, + quoted=message, + ) + case "_doc": + await client.send_document( + chat, + "https://download.samplelib.com/xls/sample-heavy-1.xls", + caption="Test", + filename="test.xls", + quoted=message, + ) + case "debug": + result = await client.send_message(chat, message.__str__()) + await client.send_message(chat, result.__str__()) + case "viewonce": + await client.send_image( + chat, + "https://pbs.twimg.com/media/GC3ywBMb0AAAEWO?format=jpg&name=medium", + viewonce=True, + ) + case "profile_pict": + await client.send_message(chat, (await client.get_profile_picture(chat)).__str__()) + case "status_privacy": + await client.send_message(chat, (await client.get_status_privacy()).__str__()) + case "read": + await client.send_message( + chat, + ( + await client.mark_read( + message.Info.ID, + chat=message.Info.MessageSource.Chat, + sender=message.Info.MessageSource.Sender, + receipt=ReceiptType.READ, + ) + ).__str__(), + ) + case "read_channel": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + err = await client.follow_newsletter(metadata.ID) + await client.send_message(chat, "error: " + err.__str__()) + resp = await client.newsletter_mark_viewed(metadata.ID, [MessageServerID(0)]) + await client.send_message(chat, resp.__str__() + "\n" + metadata.__str__()) + case "logout": + await client.logout() + case "send_react_channel": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + data_msg = await client.get_newsletter_messages(metadata.ID, 2, MessageServerID(0)) + await client.send_message(chat, data_msg.__str__()) + for _ in data_msg: + await client.newsletter_send_reaction(metadata.ID, MessageServerID(0), "πŸ—Ώ", "") + case "subscribe_channel_updates": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + result = await client.newsletter_subscribe_live_updates(metadata.ID) + await client.send_message(chat, result.__str__()) + case "mute_channel": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + await client.send_message( + chat, + (await client.newsletter_toggle_mute(metadata.ID, False)).__str__(), + ) + case "set_diseapearing": + await client.send_message( + chat, + (await client.set_default_disappearing_timer(timedelta(days=7))).__str__(), + ) + case "test_contacts": + await client.send_message(chat, (await client.contact.get_all_contacts()).__str__()) + case "build_sticker": + await client.send_message( + chat, + await client.build_sticker_message( + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + message, + "2024", + "neonize", + ), + ) + case "build_video": + await client.send_message( + chat, + await client.build_video_message( + "https://download.samplelib.com/mp4/sample-5s.mp4", "Test", message + ), + ) + case "build_image": + await client.send_message( + chat, + await client.build_image_message( + "https://download.samplelib.com/png/sample-boat-400x300.png", + "Test", + message, + ), + ) + case "build_document": + await client.send_message( + chat, + await client.build_document_message( + "https://download.samplelib.com/xls/sample-heavy-1.xls", + "Test", + "title", + "sample-heavy-1.xls", + quoted=message, + ), + ) + # ChatSettingsStore + case "put_muted_until": + await client.chat_settings.put_muted_until(chat, timedelta(seconds=5)) + case "put_pinned_enable": + await client.chat_settings.put_pinned(chat, True) + case "put_pinned_disable": + await client.chat_settings.put_pinned(chat, False) + case "put_archived_enable": + await client.chat_settings.put_archived(chat, True) + case "put_archived_disable": + await client.chat_settings.put_archived(chat, False) + case "get_chat_settings": + await client.send_message( + chat, (await client.chat_settings.get_chat_settings(chat)).__str__() + ) + case "poll_vote": + await client.send_message( + chat, + await client.build_poll_vote_creation( + "Food", + ["Pizza", "Burger", "Sushi"], + VoteType.SINGLE, + ), + ) + case "wait": + await client.send_message(chat, "Waiting for 5 seconds...") + await asyncio.sleep(5) + await client.send_message(chat, "Done waiting!") + case "shutdown": + event.set() + case "send_react": + await client.send_message( + chat, + await client.build_reaction( + chat, message.Info.MessageSource.Sender, message.Info.ID, reaction="πŸ—Ώ" + ), + ) + case "edit_message": + text = "Hello World" + id_msg = None + for i in range(1, len(text) + 1): + if id_msg is None: + msg = await client.send_message( + message.Info.MessageSource.Chat, Message( + conversation=text[:i]) + ) + id_msg = msg.ID + await client.edit_message( + message.Info.MessageSource.Chat, id_msg, Message( + conversation=text[:i]) + ) + case "button": + await client.send_message( + message.Info.MessageSource.Chat, + Message( + viewOnceMessage=FutureProofMessage( + message=Message( + messageContextInfo=MessageContextInfo( + deviceListMetadata=DeviceListMetadata(), + deviceListMetadataVersion=2, + ), + interactiveMessage=InteractiveMessage( + body=InteractiveMessage.Body( + text="Body Message"), + footer=InteractiveMessage.Footer( + text="@krypton-byte"), + header=InteractiveMessage.Header( + title="Title Message", + subtitle="Subtitle Message", + hasMediaAttachment=False, + ), + nativeFlowMessage=InteractiveMessage.NativeFlowMessage( + buttons=[ + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="single_select", + buttonParamsJSON='{"title":"List Buttons","sections":[{"title":"title","highlight_label":"label","rows":[{"header":"header","title":"title","description":"description","id":"select 1"},{"header":"header","title":"title","description":"description","id":"select 2"}]}]}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="quick_reply", + buttonParamsJSON='{"display_text":"Quick URL","url":"https://www.google.com","merchant_url":"https://www.google.com"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_call", + buttonParamsJSON='{"display_text":"Quick Call","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_copy", + buttonParamsJSON='{"display_text":"Quick Copy","id":"123456789","copy_code":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_remainder", + buttonParamsJSON='{"display_text":"Reminder","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_cancel_remainder", + buttonParamsJSON='{"display_text":"Cancel Reminder","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="address_message", + buttonParamsJSON='{"display_text":"Address","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="send_location", buttonParamsJSON="" + ), + ] + ), + ), + ) + ) + ), + ) + + +@client.event(PairStatusEv) +async def PairStatusMessage(_: NewAClient, message: PairStatusEv): + log.info(f"logged as {message.ID.User}") + + +async def connect(): + await client.connect() + # Do something else + await client.idle() # Necessary to keep receiving events + + +if __name__ == "__main__": + client.loop.run_until_complete(connect()) diff --git a/examples/async_oneshot.py b/examples/async_oneshot.py new file mode 100644 index 00000000..6a6f0b0e --- /dev/null +++ b/examples/async_oneshot.py @@ -0,0 +1,40 @@ +import asyncio +import logging +import os +import signal +import sys +import traceback +from neonize.aioze.client import NewAClient +from neonize.utils import jid, log + +sys.path.insert(0, os.getcwd()) + +client = NewAClient("db.sqlite3") +log.setLevel(logging.DEBUG) + + +async def on_exit(): + await client.stop() + + +async def greet(): + for signame in {"SIGINT", "SIGTERM", "SIGABRT"}: + client.loop.add_signal_handler( + getattr(signal, signame), + lambda: asyncio.create_task(on_exit()), + ) + await client.connect() + while not client.connected: # Do not rely on this to detect if client is still connected + await asyncio.sleep(0.1) + await client.send_message( + jid.build_jid("123456789"), + "Hey There!", + ) + await client.stop() + + +try: + if __name__ == "__main__": + client.loop.run_until_complete(greet()) +except Exception: + traceback.print_exc() diff --git a/examples/basic.py b/examples/basic.py index 8d4d17d6..4461b99e 100644 --- a/examples/basic.py +++ b/examples/basic.py @@ -1,45 +1,340 @@ -import sys, os - -sys.path.insert(0, os.getcwd()) -from PIL import Image -import time -import random -import base64 -from io import BytesIO +import logging +import os +import signal +import sys +from datetime import timedelta from neonize.client import NewClient -from neonize.proto.def_pb2 import ( +from neonize.events import ( + ConnectedEv, + MessageEv, + PairStatusEv, + event, + ReceiptEv, + CallOfferEv, +) +from neonize.proto.waE2E.WAWebProtobufsE2E_pb2 import ( Message, - ImageMessage, - ContextInfo, - ExtendedTextMessage, - StickerMessage, - Chat, - VideoMessage, + FutureProofMessage, + InteractiveMessage, + MessageContextInfo, + DeviceListMetadata, ) -from neonize.proto.Neonize_pb2 import Message, MessageInfo -from neonize.utils import Jid2String, MediaType -from neonize.utils import ChatPresence, ChatPresenceMedia -import magic -import time - - -def onQr(client: NewClient, data_qr: bytes): - print("qr", data_qr) - - -def onMessage(client: NewClient, message: Message): - match message.Message.extendedTextMessage.text: - case "test": - client.send_message(message.Info.MessageSource.Chat, client.get_contact_qr_link()) - case "request": - client.send_message(message.Info.MessageSource.Chat, client.get_group_request_participants(message.Info.MessageSource.Chat).__str__()) - case "list_groups": - client.send_message(message.Info.MessageSource.Chat, client.get_joined_groups().__str__()) - case "get_linked": - client.send_message(message.Info.MessageSource.Chat, client.get_linked_group_participants(message.Info.MessageSource.Chat).__str__()) - case "newsletter": - client.send_message(message.Info.MessageSource.Chat, client.get_newsletter_info(message.Info.MessageSource.Chat).__str__()) - case "newsletter_link": - client.send_message(message.Info.MessageSource.Chat, client.get_newsletter_info_with_invite('https://whatsapp.com/channel/0029Va7gIOyBKfi4aw2cYy24').__str__()) -client = NewClient("krypton.so", messageCallback=onMessage, qrCallback=onQr) -client.connect() +from neonize.types import MessageServerID +from neonize.utils import log, build_jid +from neonize.utils.enum import ReceiptType, VoteType + +sys.path.insert(0, os.getcwd()) + + +def interrupted(*_): + event.set() + + +log.setLevel(logging.DEBUG) +signal.signal(signal.SIGINT, interrupted) + + +client = NewClient("db.sqlite3") + + +@client.event(ConnectedEv) +def on_connected(_: NewClient, __: ConnectedEv): + log.info("⚑ Connected") + + +@client.event(ReceiptEv) +def on_receipt(_: NewClient, receipt: ReceiptEv): + log.debug(receipt) + + +@client.event(CallOfferEv) +def on_call(_: NewClient, call: CallOfferEv): + log.debug(call) + + +@client.event(MessageEv) +def on_message(client: NewClient, message: MessageEv): + handler(client, message) + + +def handler(client: NewClient, message: MessageEv): + text = message.Message.conversation or message.Message.extendedTextMessage.text + chat = message.Info.MessageSource.Chat + match text: + case "up-sw": + client.send_video( + build_jid( + "status@broadcast"), "https://download.samplelib.com/mp4/sample-5s.mp4" + ) + case "ping": + client.reply_message("pong", message) + case "_test_link_preview": + client.send_message( + chat, "Test https://github.com/krypton-byte/neonize", link_preview=True + ) + case "_sticker": + client.send_sticker( + chat, + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + ) + case "_sticker_exif": + client.send_sticker( + chat, + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + name="@Neonize", + packname="2024", + ) + case "_image": + client.send_image( + chat, + "https://download.samplelib.com/png/sample-boat-400x300.png", + caption="Test", + quoted=message, + ) + case "_video": + client.send_video( + chat, + "https://download.samplelib.com/mp4/sample-5s.mp4", + caption="Test", + quoted=message, + ) + case "_audio": + client.send_audio( + chat, + "https://download.samplelib.com/mp3/sample-12s.mp3", + quoted=message, + ) + case "_ptt": + client.send_audio( + chat, + "https://download.samplelib.com/mp3/sample-12s.mp3", + ptt=True, + quoted=message, + ) + case "_doc": + client.send_document( + chat, + "https://download.samplelib.com/xls/sample-heavy-1.xls", + caption="Test", + filename="test.xls", + quoted=message, + ) + case "debug": + client.send_message(chat, message.__str__()) + case "viewonce": + client.send_image( + chat, + "https://pbs.twimg.com/media/GC3ywBMb0AAAEWO?format=jpg&name=medium", + viewonce=True, + ) + case "profile_pict": + client.send_message( + chat, client.get_profile_picture(chat).__str__()) + case "status_privacy": + client.send_message(chat, client.get_status_privacy().__str__()) + case "read": + client.send_message( + chat, + client.mark_read( + message.Info.ID, + chat=message.Info.MessageSource.Chat, + sender=message.Info.MessageSource.Sender, + receipt=ReceiptType.READ, + ).__str__(), + ) + case "read_channel": + metadata = client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + err = client.follow_newsletter(metadata.ID) + client.send_message(chat, "error: " + err.__str__()) + resp = client.newsletter_mark_viewed( + metadata.ID, [MessageServerID(0)]) + client.send_message( + chat, + resp.__str__() + + "\n" + + metadata.__str__()) + case "logout": + client.logout() + case "send_react_channel": + metadata = client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + data_msg = client.get_newsletter_messages( + metadata.ID, 2, MessageServerID(0)) + client.send_message(chat, data_msg.__str__()) + for _ in data_msg: + client.newsletter_send_reaction( + metadata.ID, MessageServerID(0), "πŸ—Ώ", "") + case "subscribe_channel_updates": + metadata = client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + result = client.newsletter_subscribe_live_updates(metadata.ID) + client.send_message(chat, result.__str__()) + case "mute_channel": + metadata = client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + client.send_message( + chat, client.newsletter_toggle_mute( + metadata.ID, False).__str__()) + case "set_diseapearing": + client.send_message( + chat, client.set_default_disappearing_timer( + timedelta(days=7)).__str__() + ) + case "test_contacts": + client.send_message( + chat, client.contact.get_all_contacts().__str__()) + case "build_sticker": + client.send_message( + chat, + client.build_sticker_message( + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + message, + "2024", + "neonize", + ), + ) + case "build_video": + client.send_message( + chat, + client.build_video_message( + "https://download.samplelib.com/mp4/sample-5s.mp4", "Test", message + ), + ) + case "build_image": + client.send_message( + chat, + client.build_image_message( + "https://download.samplelib.com/png/sample-boat-400x300.png", + "Test", + message, + ), + ) + case "build_document": + client.send_message( + chat, + client.build_document_message( + "https://download.samplelib.com/xls/sample-heavy-1.xls", + "Test", + "title", + "sample-heavy-1.xls", + quoted=message, + ), + ) + # ChatSettingsStore + case "put_muted_until": + client.chat_settings.put_muted_until(chat, timedelta(seconds=5)) + case "put_pinned_enable": + client.chat_settings.put_pinned(chat, True) + case "put_pinned_disable": + client.chat_settings.put_pinned(chat, False) + case "put_archived_enable": + client.chat_settings.put_archived(chat, True) + case "put_archived_disable": + client.chat_settings.put_archived(chat, False) + case "get_chat_settings": + client.send_message( + chat, client.chat_settings.get_chat_settings(chat).__str__()) + case "poll_vote": + client.send_message( + chat, + client.build_poll_vote_creation( + "Food", + ["Pizza", "Burger", "Sushi"], + VoteType.SINGLE, + ), + ) + case "send_react": + client.send_message( + chat, + client.build_reaction( + chat, message.Info.MessageSource.Sender, message.Info.ID, reaction="πŸ—Ώ" + ), + ) + case "edit_message": + text = "Hello World" + id_msg = None + for i in range(1, len(text) + 1): + if id_msg is None: + msg = client.send_message( + message.Info.MessageSource.Chat, Message( + conversation=text[:i]) + ) + id_msg = msg.ID + client.edit_message( + message.Info.MessageSource.Chat, id_msg, Message( + conversation=text[:i]) + ) + case "button": + client.send_message( + message.Info.MessageSource.Chat, + Message( + viewOnceMessage=FutureProofMessage( + message=Message( + messageContextInfo=MessageContextInfo( + deviceListMetadata=DeviceListMetadata(), + deviceListMetadataVersion=2, + ), + interactiveMessage=InteractiveMessage( + body=InteractiveMessage.Body( + text="Body Message"), + footer=InteractiveMessage.Footer( + text="@krypton-byte"), + header=InteractiveMessage.Header( + title="Title Message", + subtitle="Subtitle Message", + hasMediaAttachment=False, + ), + nativeFlowMessage=InteractiveMessage.NativeFlowMessage( + buttons=[ + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="single_select", + buttonParamsJSON='{"title":"List Buttons","sections":[{"title":"title","highlight_label":"label","rows":[{"header":"header","title":"title","description":"description","id":"select 1"},{"header":"header","title":"title","description":"description","id":"select 2"}]}]}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="quick_reply", + buttonParamsJSON='{"display_text":"Quick URL","url":"https://www.google.com","merchant_url":"https://www.google.com"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_call", + buttonParamsJSON='{"display_text":"Quick Call","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_copy", + buttonParamsJSON='{"display_text":"Quick Copy","id":"123456789","copy_code":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_remainder", + buttonParamsJSON='{"display_text":"Reminder","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_cancel_remainder", + buttonParamsJSON='{"display_text":"Cancel Reminder","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="address_message", + buttonParamsJSON='{"display_text":"Address","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="send_location", buttonParamsJSON="" + ), + ] + ), + ), + ) + ) + ), + ) + + +@client.event(PairStatusEv) +def PairStatusMessage(_: NewClient, message: PairStatusEv): + log.info(f"logged as {message.ID.User}") + + +if __name__ == "__main__": + client.connect() diff --git a/examples/multisession.py b/examples/multisession.py new file mode 100644 index 00000000..05229f4a --- /dev/null +++ b/examples/multisession.py @@ -0,0 +1,318 @@ +import logging +import os +import signal +import sys +from datetime import timedelta +from neonize.client import ClientFactory, NewClient +from neonize.events import ( + ConnectedEv, + MessageEv, + PairStatusEv, + event, + ReceiptEv, + CallOfferEv, +) + +from neonize.proto.waE2E.WAWebProtobufsE2E_pb2 import ( + Message, + FutureProofMessage, + InteractiveMessage, + MessageContextInfo, + DeviceListMetadata, +) +from neonize.types import MessageServerID +from neonize.utils import log +from neonize.utils.enum import ReceiptType + +sys.path.insert(0, os.getcwd()) + + +def interrupted(*_): + event.set() + + +log.setLevel(logging.DEBUG) +signal.signal(signal.SIGINT, interrupted) + + +client_factory = ClientFactory("db.sqlite3") + +# create clients from preconfigured sessions +sessions = client_factory.get_all_devices() +for device in sessions: + client_factory.new_client(device.JID) +# if new_client jid parameter is not passed, it will create a new client + +# or create a new client +# from uuid import uuid4 +# client_factory.new_client(uuid=uuid4().hex[:5]) + + +@client_factory.event(ConnectedEv) +def on_connected(_: NewClient, __: ConnectedEv): + log.info("⚑ Connected") + + +@client_factory.event(ReceiptEv) +def on_receipt(_: NewClient, receipt: ReceiptEv): + log.debug(receipt) + + +@client_factory.event(CallOfferEv) +def on_call(_: NewClient, call: CallOfferEv): + log.debug(call) + + +@client_factory.event(MessageEv) +def on_message(client: NewClient, message: MessageEv): + handler(client, message) + + +def handler(client: NewClient, message: MessageEv): + text = message.Message.conversation or message.Message.extendedTextMessage.text + chat = message.Info.MessageSource.Chat + match text: + case "ping": + client.reply_message("pong", message) + case "_test_link_preview": + client.send_message( + chat, "Test https://github.com/krypton-byte/neonize", link_preview=True + ) + case "_sticker": + client.send_sticker( + chat, + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + ) + case "_sticker_exif": + client.send_sticker( + chat, + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + name="@Neonize", + packname="2024", + ) + case "_image": + client.send_image( + chat, + "https://download.samplelib.com/png/sample-boat-400x300.png", + caption="Test", + quoted=message, + ) + case "_video": + client.send_video( + chat, + "https://download.samplelib.com/mp4/sample-5s.mp4", + caption="Test", + quoted=message, + ) + case "_audio": + client.send_audio( + chat, + "https://download.samplelib.com/mp3/sample-12s.mp3", + quoted=message, + ) + case "_ptt": + client.send_audio( + chat, + "https://download.samplelib.com/mp3/sample-12s.mp3", + ptt=True, + quoted=message, + ) + case "_doc": + client.send_document( + chat, + "https://download.samplelib.com/xls/sample-heavy-1.xls", + caption="Test", + filename="test.xls", + quoted=message, + ) + case "debug": + client.send_message(chat, message.__str__()) + case "viewonce": + client.send_image( + chat, + "https://pbs.twimg.com/media/GC3ywBMb0AAAEWO?format=jpg&name=medium", + viewonce=True, + ) + case "profile_pict": + client.send_message( + chat, client.get_profile_picture(chat).__str__()) + case "status_privacy": + client.send_message(chat, client.get_status_privacy().__str__()) + case "read": + client.send_message( + chat, + client.mark_read( + message.Info.ID, + chat=message.Info.MessageSource.Chat, + sender=message.Info.MessageSource.Sender, + receipt=ReceiptType.READ, + ).__str__(), + ) + case "read_channel": + metadata = client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + err = client.follow_newsletter(metadata.ID) + client.send_message(chat, "error: " + err.__str__()) + resp = client.newsletter_mark_viewed( + metadata.ID, [MessageServerID(0)]) + client.send_message( + chat, + resp.__str__() + + "\n" + + metadata.__str__()) + case "logout": + client.logout() + case "send_react_channel": + metadata = client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + data_msg = client.get_newsletter_messages( + metadata.ID, 2, MessageServerID(0)) + client.send_message(chat, data_msg.__str__()) + for _ in data_msg: + client.newsletter_send_reaction( + metadata.ID, MessageServerID(0), "πŸ—Ώ", "") + case "subscribe_channel_updates": + metadata = client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + result = client.newsletter_subscribe_live_updates(metadata.ID) + client.send_message(chat, result.__str__()) + case "mute_channel": + metadata = client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + client.send_message( + chat, client.newsletter_toggle_mute( + metadata.ID, False).__str__()) + case "set_diseapearing": + client.send_message( + chat, client.set_default_disappearing_timer( + timedelta(days=7)).__str__() + ) + case "test_contacts": + client.send_message( + chat, client.contact.get_all_contacts().__str__()) + case "build_sticker": + client.send_message( + chat, + client.build_sticker_message( + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + message, + "2024", + "neonize", + ), + ) + case "build_video": + client.send_message( + chat, + client.build_video_message( + "https://download.samplelib.com/mp4/sample-5s.mp4", "Test", message + ), + ) + case "build_image": + client.send_message( + chat, + client.build_image_message( + "https://download.samplelib.com/png/sample-boat-400x300.png", + "Test", + message, + ), + ) + case "build_document": + client.send_message( + chat, + client.build_document_message( + "https://download.samplelib.com/xls/sample-heavy-1.xls", + "Test", + "title", + "sample-heavy-1.xls", + quoted=message, + ), + ) + # ChatSettingsStore + case "put_muted_until": + client.chat_settings.put_muted_until(chat, timedelta(seconds=5)) + case "put_pinned_enable": + client.chat_settings.put_pinned(chat, True) + case "put_pinned_disable": + client.chat_settings.put_pinned(chat, False) + case "put_archived_enable": + client.chat_settings.put_archived(chat, True) + case "put_archived_disable": + client.chat_settings.put_archived(chat, False) + case "get_chat_settings": + client.send_message( + chat, client.chat_settings.get_chat_settings(chat).__str__()) + case "button": + client.send_message( + message.Info.MessageSource.Chat, + Message( + viewOnceMessage=FutureProofMessage( + message=Message( + messageContextInfo=MessageContextInfo( + deviceListMetadata=DeviceListMetadata(), + deviceListMetadataVersion=2, + ), + interactiveMessage=InteractiveMessage( + body=InteractiveMessage.Body( + text="Body Message"), + footer=InteractiveMessage.Footer( + text="@krypton-byte"), + header=InteractiveMessage.Header( + title="Title Message", + subtitle="Subtitle Message", + hasMediaAttachment=False, + ), + nativeFlowMessage=InteractiveMessage.NativeFlowMessage( + buttons=[ + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="single_select", + buttonParamsJSON='{"title":"List Buttons","sections":[{"title":"title","highlight_label":"label","rows":[{"header":"header","title":"title","description":"description","id":"select 1"},{"header":"header","title":"title","description":"description","id":"select 2"}]}]}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="quick_reply", + buttonParamsJSON='{"display_text":"Quick URL","url":"https://www.google.com","merchant_url":"https://www.google.com"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_call", + buttonParamsJSON='{"display_text":"Quick Call","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_copy", + buttonParamsJSON='{"display_text":"Quick Copy","id":"123456789","copy_code":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_remainder", + buttonParamsJSON='{"display_text":"Reminder","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_cancel_remainder", + buttonParamsJSON='{"display_text":"Cancel Reminder","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="address_message", + buttonParamsJSON='{"display_text":"Address","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="send_location", buttonParamsJSON="" + ), + ] + ), + ), + ) + ) + ), + ) + + +@client_factory.event(PairStatusEv) +def PairStatusMessage(_: NewClient, message: PairStatusEv): + log.info(f"logged as {message.ID.User}") + + +if __name__ == "__main__": + # all created clients will be automatically logged in and receive all + # events + client_factory.run() diff --git a/examples/multisession_async.py b/examples/multisession_async.py new file mode 100644 index 00000000..290929c1 --- /dev/null +++ b/examples/multisession_async.py @@ -0,0 +1,330 @@ +import asyncio +import logging +import os +import sys +from datetime import timedelta +from neonize.aioze.client import ClientFactory, NewAClient +from neonize.aioze.events import ( + ConnectedEv, + MessageEv, + PairStatusEv, + ReceiptEv, + event, + CallOfferEv, +) + +from neonize.proto.waE2E.WAWebProtobufsE2E_pb2 import ( + Message, + FutureProofMessage, + InteractiveMessage, + MessageContextInfo, + DeviceListMetadata, +) +from neonize.types import MessageServerID +from neonize.utils import log +from neonize.utils.enum import ReceiptType +import signal + + +sys.path.insert(0, os.getcwd()) + + +def interrupted(*_): + loop = asyncio.get_event_loop() + asyncio.run_coroutine_threadsafe(ClientFactory.stop(), loop) + + +log.setLevel(logging.DEBUG) +signal.signal(signal.SIGINT, interrupted) + + +client_factory = ClientFactory("db.sqlite3") + +# create clients from preconfigured sessions +sessions = client_factory.get_all_devices() +for device in sessions: + client_factory.new_client(device.JID) +# if new_client jid parameter is not passed, it will create a new client + +# or create a new client +# from uuid import uuid4 +# client_factory.new_client(uuid=uuid4().hex[:5]) + + +@client_factory.event(ConnectedEv) +async def on_connected(_: NewAClient, __: ConnectedEv): + log.info("⚑ Connected") + + +@client_factory.event(ReceiptEv) +async def on_receipt(_: NewAClient, receipt: ReceiptEv): + log.debug(receipt) + + +@client_factory.event(CallOfferEv) +async def on_call(_: NewAClient, call: CallOfferEv): + log.debug(call) + + +@client_factory.event(MessageEv) +async def on_message(client: NewAClient, message: MessageEv): + await handler(client, message) + + +async def handler(client: NewAClient, message: MessageEv): + text = message.Message.conversation or message.Message.extendedTextMessage.text + chat = message.Info.MessageSource.Chat + match text: + case "ping": + await client.reply_message("pong", message) + case "_test_link_preview": + await client.send_message( + chat, "Test https://github.com/krypton-byte/neonize", link_preview=True + ) + case "stop_all": + await client_factory.stop() + case "_sticker": + await client.send_sticker( + chat, + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + ) + case "_sticker_exif": + await client.send_sticker( + chat, + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + name="@Neonize", + packname="2024", + ) + case "_image": + await client.send_image( + chat, + "https://download.samplelib.com/png/sample-boat-400x300.png", + caption="Test", + quoted=message, + ) + case "_video": + await client.send_video( + chat, + "https://download.samplelib.com/mp4/sample-5s.mp4", + caption="Test", + quoted=message, + ) + case "wait": + await client.send_message(chat, "Waiting for 5 seconds...") + await asyncio.sleep(5) + await client.send_message(chat, "Done waiting!") + case "shutdown": + event.set() + case "_audio": + await client.send_audio( + chat, + "https://download.samplelib.com/mp3/sample-12s.mp3", + quoted=message, + ) + case "_ptt": + await client.send_audio( + chat, + "https://download.samplelib.com/mp3/sample-12s.mp3", + ptt=True, + quoted=message, + ) + case "_doc": + await client.send_document( + chat, + "https://download.samplelib.com/xls/sample-heavy-1.xls", + caption="Test", + filename="test.xls", + quoted=message, + ) + case "debug": + await client.send_message(chat, message.__str__()) + case "viewonce": + await client.send_image( + chat, + "https://pbs.twimg.com/media/GC3ywBMb0AAAEWO?format=jpg&name=medium", + viewonce=True, + ) + case "profile_pict": + await client.send_message(chat, (await client.get_profile_picture(chat)).__str__()) + case "status_privacy": + await client.send_message(chat, (await client.get_status_privacy()).__str__()) + case "read": + await client.send_message( + chat, + ( + await client.mark_read( + message.Info.ID, + chat=message.Info.MessageSource.Chat, + sender=message.Info.MessageSource.Sender, + receipt=ReceiptType.READ, + ) + ).__str__(), + ) + case "read_channel": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + err = await client.follow_newsletter(metadata.ID) + await client.send_message(chat, "error: " + err.__str__()) + resp = await client.newsletter_mark_viewed(metadata.ID, [MessageServerID(0)]) + await client.send_message(chat, resp.__str__() + "\n" + metadata.__str__()) + case "logout": + await client.logout() + case "send_react_channel": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + data_msg = await client.get_newsletter_messages(metadata.ID, 2, MessageServerID(0)) + await client.send_message(chat, data_msg.__str__()) + for _ in data_msg: + await client.newsletter_send_reaction(metadata.ID, MessageServerID(0), "πŸ—Ώ", "") + case "subscribe_channel_updates": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + result = await client.newsletter_subscribe_live_updates(metadata.ID) + await client.send_message(chat, result.__str__()) + case "mute_channel": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + await client.send_message( + chat, + (await client.newsletter_toggle_mute(metadata.ID, False)).__str__(), + ) + case "set_diseapearing": + await client.send_message( + chat, + (await client.set_default_disappearing_timer(timedelta(days=7))).__str__(), + ) + case "test_contacts": + await client.send_message(chat, (await client.contact.get_all_contacts()).__str__()) + case "build_sticker": + await client.send_message( + chat, + await client.build_sticker_message( + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + message, + "2024", + "neonize", + ), + ) + case "build_video": + await client.send_message( + chat, + await client.build_video_message( + "https://download.samplelib.com/mp4/sample-5s.mp4", "Test", message + ), + ) + case "build_image": + await client.send_message( + chat, + await client.build_image_message( + "https://download.samplelib.com/png/sample-boat-400x300.png", + "Test", + message, + ), + ) + case "build_document": + await client.send_message( + chat, + await client.build_document_message( + "https://download.samplelib.com/xls/sample-heavy-1.xls", + "Test", + "title", + "sample-heavy-1.xls", + quoted=message, + ), + ) + # ChatSettingsStore + case "put_muted_until": + await client.chat_settings.put_muted_until(chat, timedelta(seconds=5)) + case "put_pinned_enable": + await client.chat_settings.put_pinned(chat, True) + case "put_pinned_disable": + await client.chat_settings.put_pinned(chat, False) + case "put_archived_enable": + await client.chat_settings.put_archived(chat, True) + case "put_archived_disable": + await client.chat_settings.put_archived(chat, False) + case "get_chat_settings": + await client.send_message( + chat, (await client.chat_settings.get_chat_settings(chat)).__str__() + ) + case "button": + await client.send_message( + message.Info.MessageSource.Chat, + Message( + viewOnceMessage=FutureProofMessage( + message=Message( + messageContextInfo=MessageContextInfo( + deviceListMetadata=DeviceListMetadata(), + deviceListMetadataVersion=2, + ), + interactiveMessage=InteractiveMessage( + body=InteractiveMessage.Body( + text="Body Message"), + footer=InteractiveMessage.Footer( + text="@krypton-byte"), + header=InteractiveMessage.Header( + title="Title Message", + subtitle="Subtitle Message", + hasMediaAttachment=False, + ), + nativeFlowMessage=InteractiveMessage.NativeFlowMessage( + buttons=[ + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="single_select", + buttonParamsJSON='{"title":"List Buttons","sections":[{"title":"title","highlight_label":"label","rows":[{"header":"header","title":"title","description":"description","id":"select 1"},{"header":"header","title":"title","description":"description","id":"select 2"}]}]}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="quick_reply", + buttonParamsJSON='{"display_text":"Quick URL","url":"https://www.google.com","merchant_url":"https://www.google.com"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_call", + buttonParamsJSON='{"display_text":"Quick Call","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_copy", + buttonParamsJSON='{"display_text":"Quick Copy","id":"123456789","copy_code":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_remainder", + buttonParamsJSON='{"display_text":"Reminder","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_cancel_remainder", + buttonParamsJSON='{"display_text":"Cancel Reminder","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="address_message", + buttonParamsJSON='{"display_text":"Address","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="send_location", buttonParamsJSON="" + ), + ] + ), + ), + ) + ) + ), + ) + + +@client_factory.event(PairStatusEv) +async def PairStatusMessage(_: NewAClient, message: PairStatusEv): + log.info(f"logged as {message.ID.User}") + + +async def run_factory(): + await client_factory.run() + # Do something else + await client_factory.idle_all() + + +if __name__ == "__main__": + # all created clients will be automatically logged in and receive all + # events + client_factory.loop.run_until_complete(run_factory()) diff --git a/examples/paircode.py b/examples/paircode.py new file mode 100644 index 00000000..d2f6c024 --- /dev/null +++ b/examples/paircode.py @@ -0,0 +1,356 @@ +import asyncio +import logging +import os +import sys +from datetime import timedelta +from neonize.aioze.client import NewAClient, ClientFactory +from neonize.aioze.events import ConnectedEv, MessageEv, PairStatusEv, ReceiptEv, CallOfferEv, event +from neonize.proto.waE2E.WAWebProtobufsE2E_pb2 import ( + Message, + FutureProofMessage, + InteractiveMessage, + MessageContextInfo, + DeviceListMetadata, +) +from neonize.types import MessageServerID +from neonize.utils import log +from neonize.utils.enum import ReceiptType, VoteType +import signal + + +sys.path.insert(0, os.getcwd()) + + +def interrupted(*_): + loop = asyncio.get_event_loop() + asyncio.run_coroutine_threadsafe(ClientFactory.stop(), loop) + + +log.setLevel(logging.DEBUG) +signal.signal(signal.SIGINT, interrupted) + + +client = NewAClient("db.sqlite3") + + +@client.event(ConnectedEv) +async def on_connected(_: NewAClient, __: ConnectedEv): + log.info("⚑ Connected") + + +@client.event(ReceiptEv) +async def on_receipt(_: NewAClient, receipt: ReceiptEv): + log.debug(receipt) + + +@client.event(CallOfferEv) +async def on_call(_: NewAClient, call: CallOfferEv): + log.debug(call) + + +@client.event(MessageEv) +async def on_message(client: NewAClient, message: MessageEv): + await handler(client, message) + + +async def handler(client: NewAClient, message: MessageEv): + text = message.Message.conversation or message.Message.extendedTextMessage.text + chat = message.Info.MessageSource.Chat + match text: + case "ping": + await client.reply_message("pong", message) + case "stop": + print("Stopping client...") + await client.stop() + case "_test_link_preview": + await client.send_message( + chat, "Test https://github.com/krypton-byte/neonize", link_preview=True + ) + case "_sticker": + await client.send_sticker( + chat, + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + ) + case "_sticker_exif": + await client.send_sticker( + chat, + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + name="@Neonize", + packname="2024", + ) + case "_image": + await client.send_image( + chat, + "https://download.samplelib.com/png/sample-boat-400x300.png", + caption="Test", + quoted=message, + ) + case "_video": + await client.send_video( + chat, + "https://download.samplelib.com/mp4/sample-5s.mp4", + caption="Test", + quoted=message, + ) + case "_audio": + await client.send_audio( + chat, + "https://download.samplelib.com/mp3/sample-12s.mp3", + quoted=message, + ) + case "_ptt": + await client.send_audio( + chat, + "https://download.samplelib.com/mp3/sample-12s.mp3", + ptt=True, + quoted=message, + ) + case "_doc": + await client.send_document( + chat, + "https://download.samplelib.com/xls/sample-heavy-1.xls", + caption="Test", + filename="test.xls", + quoted=message, + ) + case "debug": + await client.send_message(chat, message.__str__()) + case "viewonce": + await client.send_image( + chat, + "https://pbs.twimg.com/media/GC3ywBMb0AAAEWO?format=jpg&name=medium", + viewonce=True, + ) + case "profile_pict": + await client.send_message(chat, (await client.get_profile_picture(chat)).__str__()) + case "status_privacy": + await client.send_message(chat, (await client.get_status_privacy()).__str__()) + case "read": + await client.send_message( + chat, + ( + await client.mark_read( + message.Info.ID, + chat=message.Info.MessageSource.Chat, + sender=message.Info.MessageSource.Sender, + receipt=ReceiptType.READ, + ) + ).__str__(), + ) + case "read_channel": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + err = await client.follow_newsletter(metadata.ID) + await client.send_message(chat, "error: " + err.__str__()) + resp = await client.newsletter_mark_viewed(metadata.ID, [MessageServerID(0)]) + await client.send_message(chat, resp.__str__() + "\n" + metadata.__str__()) + case "logout": + await client.logout() + case "send_react_channel": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + data_msg = await client.get_newsletter_messages(metadata.ID, 2, MessageServerID(0)) + await client.send_message(chat, data_msg.__str__()) + for _ in data_msg: + await client.newsletter_send_reaction(metadata.ID, MessageServerID(0), "πŸ—Ώ", "") + case "subscribe_channel_updates": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + result = await client.newsletter_subscribe_live_updates(metadata.ID) + await client.send_message(chat, result.__str__()) + case "mute_channel": + metadata = await client.get_newsletter_info_with_invite( + "https://whatsapp.com/channel/0029Va4K0PZ5a245NkngBA2M" + ) + await client.send_message( + chat, + (await client.newsletter_toggle_mute(metadata.ID, False)).__str__(), + ) + case "set_diseapearing": + await client.send_message( + chat, + (await client.set_default_disappearing_timer(timedelta(days=7))).__str__(), + ) + case "test_contacts": + await client.send_message(chat, (await client.contact.get_all_contacts()).__str__()) + case "build_sticker": + await client.send_message( + chat, + await client.build_sticker_message( + "https://mystickermania.com/cdn/stickers/anime/spy-family-anya-smirk-512x512.png", + message, + "2024", + "neonize", + ), + ) + case "build_video": + await client.send_message( + chat, + await client.build_video_message( + "https://download.samplelib.com/mp4/sample-5s.mp4", "Test", message + ), + ) + case "build_image": + await client.send_message( + chat, + await client.build_image_message( + "https://download.samplelib.com/png/sample-boat-400x300.png", + "Test", + message, + ), + ) + case "build_document": + await client.send_message( + chat, + await client.build_document_message( + "https://download.samplelib.com/xls/sample-heavy-1.xls", + "Test", + "title", + "sample-heavy-1.xls", + quoted=message, + ), + ) + # ChatSettingsStore + case "put_muted_until": + await client.chat_settings.put_muted_until(chat, timedelta(seconds=5)) + case "put_pinned_enable": + await client.chat_settings.put_pinned(chat, True) + case "put_pinned_disable": + await client.chat_settings.put_pinned(chat, False) + case "put_archived_enable": + await client.chat_settings.put_archived(chat, True) + case "put_archived_disable": + await client.chat_settings.put_archived(chat, False) + case "get_chat_settings": + await client.send_message( + chat, (await client.chat_settings.get_chat_settings(chat)).__str__() + ) + case "poll_vote": + await client.send_message( + chat, + await client.build_poll_vote_creation( + "Food", + ["Pizza", "Burger", "Sushi"], + VoteType.SINGLE, + ), + ) + case "wait": + await client.send_message(chat, "Waiting for 5 seconds...") + await asyncio.sleep(5) + await client.send_message(chat, "Done waiting!") + case "shutdown": + event.set() + case "send_react": + await client.send_message( + chat, + await client.build_reaction( + chat, message.Info.MessageSource.Sender, message.Info.ID, reaction="πŸ—Ώ" + ), + ) + case "edit_message": + text = "Hello World" + id_msg = None + for i in range(1, len(text) + 1): + if id_msg is None: + msg = await client.send_message( + message.Info.MessageSource.Chat, Message( + conversation=text[:i]) + ) + id_msg = msg.ID + await client.edit_message( + message.Info.MessageSource.Chat, id_msg, Message( + conversation=text[:i]) + ) + case "button": + await client.send_message( + message.Info.MessageSource.Chat, + Message( + viewOnceMessage=FutureProofMessage( + message=Message( + messageContextInfo=MessageContextInfo( + deviceListMetadata=DeviceListMetadata(), + deviceListMetadataVersion=2, + ), + interactiveMessage=InteractiveMessage( + body=InteractiveMessage.Body( + text="Body Message"), + footer=InteractiveMessage.Footer( + text="@krypton-byte"), + header=InteractiveMessage.Header( + title="Title Message", + subtitle="Subtitle Message", + hasMediaAttachment=False, + ), + nativeFlowMessage=InteractiveMessage.NativeFlowMessage( + buttons=[ + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="single_select", + buttonParamsJSON='{"title":"List Buttons","sections":[{"title":"title","highlight_label":"label","rows":[{"header":"header","title":"title","description":"description","id":"select 1"},{"header":"header","title":"title","description":"description","id":"select 2"}]}]}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="quick_reply", + buttonParamsJSON='{"display_text":"Quick URL","url":"https://www.google.com","merchant_url":"https://www.google.com"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_call", + buttonParamsJSON='{"display_text":"Quick Call","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_copy", + buttonParamsJSON='{"display_text":"Quick Copy","id":"123456789","copy_code":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_remainder", + buttonParamsJSON='{"display_text":"Reminder","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="cta_cancel_remainder", + buttonParamsJSON='{"display_text":"Cancel Reminder","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="address_message", + buttonParamsJSON='{"display_text":"Address","id":"message"}', + ), + InteractiveMessage.NativeFlowMessage.NativeFlowButton( + name="send_location", buttonParamsJSON="" + ), + ] + ), + ), + ) + ) + ), + ) + + +@client.event(PairStatusEv) +async def PairStatusMessage(_: NewAClient, message: PairStatusEv): + log.info(f"logged as {message.ID.User}") + + +@client.paircode +async def default_blocking( + client: NewAClient, code: str, connected: bool = True): + """ + A default callback function that handles the pair code event. + This function is called when the pair code event occurs, and it blocks the execution until the event is processed. + + :param client: The client instance that triggered the event. + :type client: NewAClient + :param code: The pair code as a string. + :type code: str + :param connected: A boolean indicating if the client is connected. + :type connected: bool + """ + if connected: + log.info("Pair code successfully processed: %s", code) + else: + log.info("Pair code: %s", code) + + +if __name__ == "__main__": + loop = asyncio.get_event_loop() + loop.run_until_complete(client.connect()) diff --git a/goneonize/Neonize.proto b/goneonize/Neonize.proto new file mode 100644 index 00000000..c3cd14d8 --- /dev/null +++ b/goneonize/Neonize.proto @@ -0,0 +1,936 @@ +syntax = "proto2"; +import "waVnameCert/WAWebProtobufsVnameCert.proto"; +import "waE2E/WAWebProtobufsE2E.proto"; +import "waWeb/WAWebProtobufsWeb.proto"; +import "waSyncAction/WASyncAction.proto"; +import "waHistorySync/WAWebProtobufsHistorySync.proto"; +option go_package = "./defproto"; +package neonize; + +//types +message JID { + required string User = 1; + required uint32 RawAgent = 2; + required uint32 Device = 3; + required uint32 Integrator= 4; + required string Server=5; + optional bool IsEmpty = 6 [default = false]; +} +message MessageInfo{ + required MessageSource MessageSource = 1; + required string ID = 2; + required int64 ServerID = 3; + required string Type = 4; + required string Pushname = 5; + required int64 Timestamp = 6; + required string Category = 7; + required bool Multicast = 8; + required string MediaType = 9; + required string Edit = 10; //enum + optional VerifiedName VerifiedName = 11; + optional DeviceSentMeta DeviceSentMeta = 12; +} +message UploadResponse { + required string url = 1; + required string DirectPath = 2; + required string Handle = 3; + required bytes MediaKey = 4; + required bytes FileEncSHA256 = 5; + required bytes FileSHA256 = 6; + required uint32 FileLength = 7; +} + +enum AddressingMode { + PN = 1; + LID = 2; +} +message BroadcastRecipient { + required JID LID = 1; + required JID PN = 2; +} +message MessageSource { + required JID Chat = 1; + required JID Sender = 2; + required bool IsFromMe = 3; + required bool IsGroup = 4; + optional AddressingMode AddressingMode = 5; + required JID SenderAlt = 6; + required JID RecipientAlt = 7; + required JID BroadcastListOwner = 8; + repeated BroadcastRecipient BroadcastRecipients = 9; +} +message DeviceSentMeta { + required string DestinationJID = 1; + required string Phash = 2; +} +// message MessageInfo{ +// required MessageSource MessageSource = 1; +// required string ID = 2; +// required string ServerID=3; +// required string Type = 4; +// required string PushName = 5; +// required uint64 Timestamp = 6; +// required string Category = 7; +// required bool Multicast = 8; +// required string MediaType = 9; +// required string EditAttribute = 10; + +// } +message VerifiedName { + optional WAWebProtobufsVnameCert.VerifiedNameCertificate Certificate = 1; + optional WAWebProtobufsVnameCert.VerifiedNameCertificate.Details Details = 2; +} +message IsOnWhatsAppResponse { + required string Query = 1; + required JID JID = 2; + required bool IsIn = 3; + optional VerifiedName VerifiedName = 4; +} + +message UserInfo { + optional VerifiedName VerifiedName = 1; + required string Status = 2; + required string PictureID = 3; + repeated JID Devices = 4; +} + +message Device { + optional JID JID = 1; + optional JID LID = 2; + required string Platform = 3; + required string BussinessName = 4; + required string PushName = 5; + required bool Initialized = 6; +} + + +// GROUP +message GroupName { + required string Name = 1; + required int64 NameSetAt=2; + required JID NameSetBy=3; +} +message GroupTopic{ + required string Topic = 1; + required string TopicID = 2; + required int64 TopicSetAt = 3; + required JID TopicSetBy = 4; + required bool TopicDeleted = 5; +} +message GroupLocked { + required bool isLocked = 1; +} +message GroupAnnounce { + required bool IsAnnounce = 1; + required string AnnounceVersionID = 2; +} +message GroupEphemeral{ + required bool IsEphemeral = 1; + required uint32 DisappearingTimer = 2; +} +message GroupIncognito{ + required bool IsIncognito = 1; +} +message GroupParent { + required bool IsParent = 1; + required string DefaultMembershipApprovalMode = 2; +} +message GroupLinkedParent { + required JID LinkedParentJID = 1; +} +message GroupIsDefaultSub { + required bool IsDefaultSubGroup = 1; +} +message GroupParticipantAddRequest { + required string Code = 1; + required float Expiration = 2; +} +message GroupParticipant { + optional JID JID = 1; + required JID LID = 2; + required JID PhoneNumber = 3; + required bool IsAdmin = 4; + required bool IsSuperAdmin = 5; + required string DisplayName = 6; + required int32 Error = 7; + optional GroupParticipantAddRequest AddRequest = 8; +} +message GroupInfo{ + required JID OwnerJID=2; + required JID JID=1; + required JID OwnerPN=3; + required GroupName GroupName = 4; + required GroupTopic GroupTopic = 5; + required GroupLocked GroupLocked = 6; + required GroupAnnounce GroupAnnounce = 7; + required GroupEphemeral GroupEphemeral = 8; + required GroupIncognito GroupIncognito = 9; + required GroupParent GroupParent = 10; + required GroupLinkedParent GroupLinkedParent = 11; + required GroupIsDefaultSub GroupIsDefaultSub = 12; + required float GroupCreated = 13; + required string ParticipantVersionID = 14; + repeated GroupParticipant Participants = 15; + enum GroupMemberAddMode { + GroupMemberAddModeAdmin = 1; + } +} +message MessageDebugTimings{ + required int64 Queue = 1; + required int64 Marshal = 2; + required int64 GetParticipants = 3; + required int64 GetDevices = 4; + required int64 GroupEncrypt = 5; + required int64 PeerEncrypt = 6; + required int64 Send = 7; + required int64 Resp = 8; + required int64 Retry = 9; +} +message SendResponse { + required int64 Timestamp = 1; + required string ID = 2; + required int64 ServerID = 3; + required MessageDebugTimings DebugTimings = 4; + optional WAWebProtobufsE2E.Message Message = 5; +} + +message SendMessageReturnFunction { + optional string Error = 1; + optional SendResponse SendResponse = 2; +} + + + + + + + + +//Function +message GetGroupInfoReturnFunction{ + optional GroupInfo GroupInfo = 1; + optional string Error = 2; +} +message JoinGroupWithLinkReturnFunction{ + optional string Error = 1; + optional JID Jid = 2; +} +message GetJIDFromStoreReturnFunction{ + optional string Error = 1; + optional JID Jid = 2; +} +message GetGroupInviteLinkReturnFunction{ + optional string InviteLink = 1; + optional string Error = 2; +} +message DownloadReturnFunction { + optional bytes Binary = 1; + optional string Error = 2; +} +message UploadReturnFunction { + optional UploadResponse UploadResponse = 1; + optional string Error = 2; +} + +message SetGroupPhotoReturnFunction { + required string PictureID = 1; + optional string Error = 2; +} +message IsOnWhatsAppReturnFunction { + repeated IsOnWhatsAppResponse IsOnWhatsAppResponse = 1; + optional string Error = 2; +} +message GetUserInfoSingleReturnFunction { + optional JID JID = 1; + optional UserInfo UserInfo = 2; +} +message GetUserInfoReturnFunction { + repeated GetUserInfoSingleReturnFunction UsersInfo = 1; + optional string Error = 2; +} +message BuildPollVoteReturnFunction { + optional WAWebProtobufsE2E.Message PollVote = 1; + optional string Error = 2; +} +message CreateNewsLetterReturnFunction{ + optional NewsletterMetadata NewsletterMetadata = 1; + optional string Error = 2; +} +message GetBlocklistReturnFunction{ + optional Blocklist Blocklist = 1; + optional string Error = 2; +} +message GetContactQRLinkReturnFunction { + required string Link = 1; + optional string Error = 2; +} +message GroupParticipantRequest { + optional JID Participant = 1; + optional uint64 TimeAt = 2; +} +message GetGroupRequestParticipantsReturnFunction { + repeated GroupParticipantRequest Participants = 1; + optional string Error = 2; +} +message GetJoinedGroupsReturnFunction { + repeated GroupInfo Group = 1; + optional string Error = 2; +} +message ReqCreateGroup { + required string name = 1; + repeated JID Participants = 2; + required string CreateKey = 3; + optional GroupParent GroupParent = 4; + optional GroupLinkedParent GroupLinkedParent = 5; +} +message JIDArray { + repeated JID JIDS = 1; +} + +message ArrayString { + repeated string data = 1; +} +message NewsLetterMessageMeta { + required int64 EditTS = 1; + required int64 OriginalTS = 2; +} +message GroupDelete { + required bool Deleted = 1; + required string DeletedReason = 2; +} +message Message { + required MessageInfo Info = 1; + optional WAWebProtobufsE2E.Message Message = 2; + required bool IsEphemeral = 3; + required bool IsViewOnce = 4; + required bool IsViewOnceV2 = 5; + required bool IsViewOnceV2Extension = 6; + required bool IsDocumentWithCaption = 7; + required bool IsLottieSticker = 8; + required bool IsEdit = 9; + optional WAWebProtobufsWeb.WebMessageInfo SourceWebMsg = 10; + required string UnavailableRequestID = 11; + required int64 RetryCount = 12; + optional NewsLetterMessageMeta NewsLetterMeta = 13; + optional WAWebProtobufsE2E.Message Raw = 14; +} +message CreateNewsletterParams { + required string Name = 1; + required string Description = 2; + required bytes Picture = 3; +} +message WrappedNewsletterState { + enum NewsletterState { + ACTIVE = 1; + SUSPENDED = 2; + GEOSUSPENDED = 3; + } + required NewsletterState Type = 1; +} +message NewsletterText { + required string Text = 1; + required string ID = 2; + required int64 UpdateTime = 3; +} +message ProfilePictureInfo { + optional string URL = 1; + optional string ID = 2; + optional string Type = 3; + optional string DirectPath = 4; + optional bytes Hash = 5; +} +message NewsletterReactionSettings { + enum NewsletterReactionsMode { + ALL = 1; + BASIC = 2; + NONE = 3; + BLOCKLIST = 4; + } + required NewsletterReactionsMode Value = 1; +} +message NewsletterSetting { + required NewsletterReactionSettings ReactionCodes = 1; +} +message NewsletterThreadMetadata { + enum NewsletterVerificationState { + VERIFIED = 1; + UNVERIFIED = 2; + } + required int64 CreationTime = 1; + required string InviteCode = 2; + required NewsletterText Name = 3; + required NewsletterText Description = 4; + required int64 SubscriberCount = 5; + required NewsletterVerificationState VerificationState = 6; + optional ProfilePictureInfo Picture = 7; + required ProfilePictureInfo Preview = 8; + required NewsletterSetting Settings = 9; + +} +enum NewsletterRole { + SUBSCRIBER = 1; + GUEST = 2; + ADMIN = 3; + OWNER = 4; +} +enum NewsletterMuteState { + ON = 1; + OFF = 2; +} +message NewsletterViewerMetadata { + required NewsletterMuteState Mute= 1; + required NewsletterRole Role = 2; +} +message NewsletterMetadata { + required JID ID = 1; + required WrappedNewsletterState State = 2; + required NewsletterThreadMetadata ThreadMeta = 3; + optional NewsletterViewerMetadata ViewerMeta = 4; + +} + +message Blocklist { + required string DHash = 1; + repeated JID JIDs = 2; +} +message Reaction { + required string type = 1; + required int64 count = 2; +} +message NewsletterMessage { + required int64 MessageServerID = 1; + required int64 ViewsCount = 2; + repeated Reaction ReactionCounts = 3; + required WAWebProtobufsE2E.Message Message = 4; +} + +message GetNewsletterMessageUpdateReturnFunction { + repeated NewsletterMessage NewsletterMessage = 1; + optional string Error = 2; +} + +message PrivacySettings { + enum PrivacySetting { + UNDEFINED = 1; + ALL = 2; + CONTACTS = 3; + CONTACT_BLACKLIST = 4; + MATCH_LAST_SEEN = 5; + KNOWN = 6; + NONE = 7; + } + required PrivacySetting GroupAdd = 1; + required PrivacySetting LastSeen = 2; + required PrivacySetting Status = 3; + required PrivacySetting Profile = 4; + required PrivacySetting ReadReceipts = 5; + required PrivacySetting CallAdd = 6; + required PrivacySetting Online = 7; +} + +message NodeAttrs { + required string name = 1; + oneof Value { + bool boolean = 2; + int64 integer = 3; + string text = 4; + JID jid = 5; + } +} + +message Node { + required string Tag = 1; + repeated NodeAttrs Attrs = 2; + repeated Node Nodes = 3; + optional bool Nil = 4 [default=false]; + optional bytes Bytes = 5; +} + +message InfoQuery { + required string Namespace = 1; + required string Type = 2; + required string To = 3; + repeated Node Content = 4; +} + +message GetProfilePictureParams { + optional bool Preview = 1; + optional string ExistingID = 2; + optional bool IsCommunity = 3; +} + +message GetProfilePictureReturnFunction{ + optional ProfilePictureInfo Picture = 1; + optional string Error = 2; +} +message StatusPrivacy { + enum StatusPrivacyType { + CONTACTS = 1; + BLACKLIST = 2; + WHITELIST = 3; + } + required StatusPrivacyType Type = 1; + repeated JID List = 2; + required bool IsDefault = 3; +} +message GetStatusPrivacyReturnFunction { + repeated StatusPrivacy StatusPrivacy = 1; + optional string Error = 2; +} + +message GroupLinkTarget { + required JID JID = 1; + required GroupName GroupName = 2; + required GroupIsDefaultSub GroupIsDefaultSub = 3; +} +message GroupLinkChange { + enum ChangeType { + PARENT = 1; + SUB = 2; + SIBLING = 3; + } + required ChangeType Type = 1; + required string UnlinkReason = 2; + required GroupLinkTarget Group = 3; +} +message GetSubGroupsReturnFunction{ + repeated GroupLinkTarget GroupLinkTarget = 1; + optional string Error = 2; +} +message GetSubscribedNewslettersReturnFunction { + repeated NewsletterMetadata Newsletter = 1; + optional string Error = 2; +} +message GetUserDevicesreturnFunction { + repeated JID JID =1; + optional string Error = 2; +} +message NewsletterSubscribeLiveUpdatesReturnFunction { + optional int64 Duration = 1; + optional string Error = 2; +} +message PairPhoneParams{ + optional string phone = 1; + optional bool showPushNotification = 2; + optional int32 clientType = 3; + optional string clientDisplayName = 4; +} + +message ContactQRLinkTarget { + required JID JID = 1; + required string Type = 2; + required string PushName = 3; +} + +message ResolveContactQRLinkReturnFunction { + optional ContactQRLinkTarget ContactQrLink = 1; + optional string Error = 2; +} +message BusinessMessageLinkTarget { + required JID JID = 1; + required string PushName = 2; + required string VerifiedName = 3; + required bool IsSigned = 4; + required string VerifiedLevel = 5; + required string Message = 6; +} +message ResolveBusinessMessageLinkReturnFunction { + optional BusinessMessageLinkTarget MessageLinkTarget = 1; + optional string Error =2; +} +message MutationInfo { + repeated string Index = 1; + required int32 Version = 2; + required WASyncAction.SyncActionValue Value = 3; +} +message PatchInfo { + enum WAPatchName { + CRITICAL_BLOCK = 1; + CRITICAL_UNBLOCK_LOW = 2; + REGULAR_LOW = 3; + REGULAR_HIGH = 4; + REGULAR = 5; + } + required int64 Timestamp = 1; + required WAPatchName Type = 2; + repeated MutationInfo Mutations = 3; +} +message ContactsPutPushNameReturnFunction{ + required bool Status = 1; + optional string PreviousName = 2; + optional string Error = 3; +} +message ContactEntry { + required JID JID = 1; + required string FirstName = 2; + required string FullName = 3; +} +message ContactEntryArray { + repeated ContactEntry ContactEntry = 1; +} +message SetPrivacySettingReturnFunction { + optional PrivacySettings settings = 1; + optional string Error = 2; +} +message ContactsGetContactReturnFunction{ + optional ContactInfo ContactInfo = 1; + optional string Error = 2; +} +message ContactInfo { + required bool Found = 1; + required string FirstName = 2; + required string FullName = 3; + required string PushName = 4; + required string BusinessName = 5; + required string RedactedPhone = 6; +} +message Contact{ + required JID JID = 1; + required ContactInfo Info = 2; +} +message ContactsGetAllContactsReturnFunction{ + repeated Contact Contact = 1; + optional string Error = 2; +} +// events +message QR{ //1 + repeated string Codes = 1; +} +message PairStatus { //2 + enum PStatus { + ERROR = 1; + SUCCESS = 2; + } + required JID ID = 1; + required string BusinessName = 2; + required string Platform = 3; + required PStatus Status = 4; + optional string Error = 5; +} +message Connected { + required bool status = 1; +} // 3 + +message KeepAliveTimeout { // 4 + required int64 ErrorCount = 1; + required int64 LastSuccess = 2; +} + +message KeepAliveRestored{} //5 + +enum ConnectFailureReason { + GENERIC = 1; + LOGGED_OUT = 2; + TEMP_BANNED = 3; + MAIN_DEVICE_GONE = 4; + UNKNOWN_LOGOUT = 5; + CLIENT_OUTDATED = 6; + BAD_USER_AGENT = 7; + INTERNAL_SERVER_ERROR = 8; + EXPERIMENTAL = 9; + SERVICE_UNAVAILABLE = 10; +} +message LoggedOut { // 6 + required bool OnConnect = 1; + required ConnectFailureReason Reason = 2; +} +message StreamReplaced {} //7 +message TemporaryBan { // 8 + enum TempBanReason { + SEND_TO_TOO_MANY_PEOPLE = 1; + BLOCKED_BY_USERS = 2; + CREATED_TOO_MANY_GROUPS = 3; + SENT_TOO_MANY_SAME_MESSAGE = 4; + BROADCAST_LIST = 5; + } + required TempBanReason Code = 1; + required int64 Expire = 2; +} + +message ConnectFailure { //9 + required ConnectFailureReason Reason = 1; + required string Message = 2; + required Node Raw = 3; +} + +message ClientOutdated{} // 10 + +message StreamError { // 11 + required string Code = 1; + required Node Raw = 4; +} + +message Disconnected{ + required bool status = 1; +} // 12 + +message HistorySync { // 13 + required WAWebProtobufsHistorySync.HistorySync Data = 1; +} + +//message DecryptFailMode // 14 +//message UndecryptableMessage // 15 +//message NewsLetterMessageMeta (Defined) // 16 +// Message (Defined) // 17 +message Receipt { //18 + enum ReceiptType { + DELIVERED = 1; + SENDER = 2; + RETRY = 3; + READ = 4; + READ_SELF = 5; + PLAYED = 6; + PLAYED_SELF = 7; + SERVER_ERROR = 8; + INACTIVE = 9; + PEER_MSG = 10; + HISTORY_SYNC = 11; + } + required MessageSource MessageSource = 1; + repeated string MessageIDs = 2; + required int64 Timestamp = 3; + required ReceiptType Type = 4; +} + +message ChatPresence { //19 + enum ChatPresence { + COMPOSING = 1; + PAUSED = 2; + } + enum ChatPresenceMedia { + TEXT = 1; + AUDIO = 2; + } + required MessageSource MessageSource = 1; + required ChatPresence State = 2; + required ChatPresenceMedia Media = 3; +} + +message Presence { // 20 + required JID From = 1; + required bool Unavailable = 2; + required int64 LastSeen = 3; +} + +message JoinedGroup { // 21 + required string Reason = 1; + required string Type = 2; + required string CreateKey = 3; + required GroupInfo GroupInfo = 4; +} +message GroupInfoEvent { //22 + required JID JID = 1; + required string Notify = 2; + optional JID Sender = 3; + required int64 Timestamp = 4; + optional GroupName Name = 5; + optional GroupTopic Topic = 6; + optional GroupLocked Locked = 7; + optional GroupAnnounce Announce = 8; + optional GroupEphemeral Ephemeral =9; + optional GroupDelete Delete = 10; + optional GroupLinkChange Link = 11; + optional GroupLinkChange Unlink = 12; + optional string NewInviteLink = 13; + required string PrevParticipantsVersionID = 14; + required string ParticipantVersionID = 15; + required string JoinReason = 16; + repeated JID Join = 17; + repeated JID Leave = 18; + repeated JID Promote = 19; + repeated JID Demote = 20; + repeated Node UnknownChanges = 21; + +} +message Picture { // 23 + required JID JID = 1; + required JID Author = 2; + required int64 Timestamp = 3; + required bool Remove = 4; +} + +message IdentityChange { // 24 + required JID JID = 1; + required int64 Timestamp = 2; + required bool Implicit = 3; +} + +message privacySettingsEvent { // 25 + required PrivacySettings NewSettings = 1; + required bool GroupAddChanged = 2; + required bool LastSeenChanged = 3; + required bool StatusChanged = 4; + required bool ProfileChanged = 5; + required bool ReadReceiptsChanged = 6; + required bool OnlineChanged = 7; + required bool CallAddChanged = 8; +} + +message OfflineSyncPreview { //26 + required int32 Total = 1; + required int32 AppDataChanges = 2; + required int32 Message = 3; + required int32 Notifications = 4; + required int32 Receipts = 5; +} + +message OfflineSyncCompleted { // 27 + required int32 Count = 1; +} +//MediaRetryError (not implemented yet) // 28 +//MediaRetry(not implemented yet) // 29 + +message BlocklistEvent { // 30 + enum Actions { + DEFAULT = 1; + MODIFY = 2; + } + required Actions Action = 1; + required string DHASH = 2; + required string PrevDHash = 3; + repeated BlocklistChange Changes = 4; +} + +message BlocklistChange { // 31 + enum Action { + BLOCK = 1; + UNBLOCK = 2; + } + required JID JID = 1; + required Action BlockAction = 2; +} + +message NewsletterJoin { // 32 + required NewsletterMetadata NewsletterMetadata = 1; +} +message NewsletterLeave { // 33 + required JID ID = 1; + required NewsletterRole Role = 2; +} + +message NewsletterMuteChange { // 34 + required JID ID = 1; + required NewsletterMuteState Mute = 2; +} + +message NewsletterLiveUpdate { //35 + required JID JID = 1; + required int64 TIME = 2; + repeated NewsletterMessage Messages = 3; +} +// call events +message BasicCallMeta { + required JID from = 1; + required int64 timestamp = 2; + required JID callCreator = 3; + required JID callCreatorAlt = 4; + required string callID = 5; +} +message CallRemoteMeta { + required string remotePlatform = 1; + required string remoteVersion = 2; +} +//events +message CallOffer { + required BasicCallMeta basicCallMeta = 1; + required CallRemoteMeta callRemoteMeta = 2; + required Node data = 3; + +} +message CallAccept { + required BasicCallMeta basicCallMeta = 1; + required CallRemoteMeta callRemoteMeta = 2; + required Node data = 3; + +} +message CallPreAccept { + required BasicCallMeta basicCallMeta = 1; + required CallRemoteMeta callRemoteMeta = 2; + required Node data = 3; + +} +message CallTransport { + required BasicCallMeta basicCallMeta = 1; + required CallRemoteMeta callRemoteMeta = 2; + required Node data = 3; + +} +message CallOfferNotice { + required BasicCallMeta basicCallMeta = 1; + required string media = 2; + required string type = 3; + required Node data = 4; + +} +message CallRelayLatency { + required BasicCallMeta basicCallMeta = 1; + required Node data = 2; +} +message CallTerminate { + required BasicCallMeta basicCallMeta = 1; + required string reason = 2; + required Node data = 3; +} +message UnknownCallEvent { + required Node node = 1; +} +message UndecryptableMessage { + required MessageInfo Info = 1; + required bool IsUnavailable = 2; + enum DecryptFailModeT { + DECRYPT_FAIL_SHOW = 1; + DECRYPT_FAIL_HIDE = 2; + } + required DecryptFailModeT DecryptFailMode = 3; +} +message UpdateGroupParticipantsReturnFunction { + optional string Error = 1; + repeated GroupParticipant participants = 2; +} + +message GetMessageForRetryReturnFunction{ + optional bool isEmpty = 1 [default=false]; + optional WAWebProtobufsE2E.Message Message = 2; + optional string Error = 3; +} + + +//chat_setting_store +message LocalChatSettings { + required bool Found = 1; + required double MutedUntil = 2; + required bool Pinned = 3; + required bool Archived = 4; +} + +// New Verision for Function +message ReturnFunctionWithError { + optional string Error = 1; + oneof Return { + LocalChatSettings LocalChatSettings = 2; + WAWebProtobufsE2E.PollVoteMessage PollVoteMessage = 3; + JIDArray GetLinkedGroupsParticipants = 4; + } + +} + +message SendRequestExtra { + required string ID = 1; + required JID InlineBotJID = 2; + required bool Peer = 3; + required int64 Timeout = 4; + required string MediaHandle = 5; +} + +message BuildMessageReturnFunction{ + optional string Error = 1; + required WAWebProtobufsE2E.Message Message = 2; +} + +message LogEntry { + required string Message = 1; + required string Level = 2; + required string Name = 3; +} + +message Stop{} \ No newline at end of file diff --git a/goneonize/build_python_proto.py b/goneonize/build_python_proto.py new file mode 100644 index 00000000..65a950ad --- /dev/null +++ b/goneonize/build_python_proto.py @@ -0,0 +1,10 @@ +from pathlib import Path + +for fp in (Path(__file__).parent.parent / "proto").iterdir(): + if fp.is_file() and not (fp.name.startswith( + "__init__") and "sys.path" in fp.read_text()): + text = fp.read_text() + fp.write_text( + "import sys\nfrom pathlib import Path\nsys.path.insert(0, Path(__file__).parent.__str__())\n" + + text + ) diff --git a/goneonize/chat_settings_store.go b/goneonize/chat_settings_store.go new file mode 100644 index 00000000..7abd19ab --- /dev/null +++ b/goneonize/chat_settings_store.go @@ -0,0 +1,53 @@ +package main + +/* + + #include + #include + #include +*/ + +import ( + "C" + + "github.com/krypton-byte/neonize/defproto" + "github.com/krypton-byte/neonize/utils" +) + +import ( + "context" + "time" + + "google.golang.org/protobuf/proto" +) + +//export PutMutedUntil +func PutMutedUntil(id *C.char, user *C.uchar, userSize C.int, mutedUntil C.float) *C.char { + var JID defproto.JID + proto.Unmarshal(getByteByAddr(user, userSize), &JID) + err := clients[C.GoString(id)].Store.ChatSettings.PutMutedUntil(context.Background(), utils.DecodeJidProto(&JID), time.Unix(int64(mutedUntil), 0)) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export GetChatSettings +func GetChatSettings(id *C.char, user *C.uchar, userSize C.int) *C.struct_BytesReturn { + var JID defproto.JID + proto.Unmarshal(getByteByAddr(user, userSize), &JID) + local_chat_settings, err := clients[C.GoString(id)].Store.ChatSettings.GetChatSettings(context.Background(), utils.DecodeJidProto(&JID)) + return_ := defproto.ReturnFunctionWithError{} + if err != nil { + return_.Error = proto.String(err.Error()) + } + return_.Return = &defproto.ReturnFunctionWithError_LocalChatSettings{ + LocalChatSettings: &defproto.LocalChatSettings{ + Found: proto.Bool(local_chat_settings.Found), + MutedUntil: proto.Float64(float64(local_chat_settings.MutedUntil.Unix())), + Pinned: proto.Bool(local_chat_settings.Pinned), + Archived: proto.Bool(local_chat_settings.Pinned), + }, + } + return ProtoReturnV3(&return_) +} diff --git a/goneonize/contact_store.go b/goneonize/contact_store.go new file mode 100644 index 00000000..dce40c0c --- /dev/null +++ b/goneonize/contact_store.go @@ -0,0 +1,110 @@ +package main + +import ( + "C" + + "github.com/krypton-byte/neonize/defproto" + "github.com/krypton-byte/neonize/utils" + "google.golang.org/protobuf/proto" +) + +import ( + "context" + + "go.mau.fi/whatsmeow/store" +) + +//export PutPushName +func PutPushName(id *C.char, user *C.uchar, userSize C.int, pushname *C.char) *C.struct_BytesReturn { + var userJID defproto.JID + err := proto.Unmarshal(getByteByAddr(user, userSize), &userJID) + if err != nil { + panic(err) + } + return_ := defproto.ContactsPutPushNameReturnFunction{} + status, prev_name, err := clients[C.GoString(id)].Store.Contacts.PutPushName(context.Background(), utils.DecodeJidProto(&userJID), C.GoString(pushname)) + return_.PreviousName = proto.String(prev_name) + return_.Status = &status + if err != nil { + return_.Error = proto.String(err.Error()) + } + return ProtoReturnV3(&return_) +} + +//export PutBusinessName +func PutBusinessName(id *C.char, user *C.uchar, userSize C.int, businessName *C.char) *C.struct_BytesReturn { + var userJID defproto.JID + err := proto.Unmarshal(getByteByAddr(user, userSize), &userJID) + if err != nil { + panic(err) + } + return_ := defproto.ContactsPutPushNameReturnFunction{} + status, prev_name, err := clients[C.GoString(id)].Store.Contacts.PutBusinessName(context.Background(), utils.DecodeJidProto(&userJID), C.GoString(businessName)) + return_.PreviousName = proto.String(prev_name) + return_.Status = &status + if err != nil { + return_.Error = proto.String(err.Error()) + } + return ProtoReturnV3(&return_) +} + +//export PutContactName +func PutContactName(id *C.char, user *C.uchar, userSize C.int, fullName, firstName *C.char) *C.char { + var userJID defproto.JID + err := proto.Unmarshal(getByteByAddr(user, userSize), &userJID) + if err != nil { + panic(err) + } + err_ := clients[C.GoString(id)].Store.Contacts.PutContactName(context.Background(), utils.DecodeJidProto(&userJID), C.GoString(fullName), C.GoString(firstName)) + if err_ != nil { + return C.CString(err_.Error()) + } + return C.CString("") +} + +//export PutAllContactNames +func PutAllContactNames(id *C.char, contacts *C.uchar, contactsSize C.int) *C.char { + var entry defproto.ContactEntryArray + err := proto.Unmarshal(getByteByAddr(contacts, contactsSize), &entry) + if err != nil { + panic(err) + } + contactEntry := make([]store.ContactEntry, len(entry.ContactEntry)) + for i, centry := range entry.ContactEntry { + contactEntry[i] = *utils.DecodeContactEntry(centry) + } + err_r := clients[C.GoString(id)].Store.Contacts.PutAllContactNames(context.Background(), contactEntry) + if err_r != nil { + return C.CString(err_r.Error()) + } + return C.CString("") +} + +//export GetContact +func GetContact(id *C.char, user *C.uchar, userSize C.int) *C.struct_BytesReturn { + var userJID defproto.JID + err := proto.Unmarshal(getByteByAddr(user, userSize), &userJID) + if err != nil { + panic(err) + } + contact_info, err_ := clients[C.GoString(id)].Store.Contacts.GetContact(context.Background(), utils.DecodeJidProto(&userJID)) + return_ := defproto.ContactsGetContactReturnFunction{ + ContactInfo: utils.EncodeContactInfo(contact_info), + } + if err_ != nil { + return_.Error = proto.String(err_.Error()) + } + return ProtoReturnV3(&return_) +} + +//export GetAllContacts +func GetAllContacts(id *C.char) *C.struct_BytesReturn { + contacts, err := clients[C.GoString(id)].Store.Contacts.GetAllContacts(context.Background()) + return_ := defproto.ContactsGetAllContactsReturnFunction{ + Contact: utils.EncodeContacts(contacts), + } + if err != nil { + return_.Error = proto.String(err.Error()) + } + return ProtoReturnV3(&return_) +} diff --git a/goneonize/defproto/.sha b/goneonize/defproto/.sha new file mode 100644 index 00000000..717fd216 --- /dev/null +++ b/goneonize/defproto/.sha @@ -0,0 +1 @@ +eb9b4a17c85c3247f175da557f6b8b4b5b013ea3 \ No newline at end of file diff --git a/goneonize/defproto/Neonize.pb.go b/goneonize/defproto/Neonize.pb.go new file mode 100644 index 00000000..a16c4e80 --- /dev/null +++ b/goneonize/defproto/Neonize.pb.go @@ -0,0 +1,11073 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc v6.32.1 +// source: Neonize.proto + +package defproto + +import ( + waE2E "go.mau.fi/whatsmeow/proto/waE2E" + waHistorySync "go.mau.fi/whatsmeow/proto/waHistorySync" + waSyncAction "go.mau.fi/whatsmeow/proto/waSyncAction" + waVnameCert "go.mau.fi/whatsmeow/proto/waVnameCert" + waWeb "go.mau.fi/whatsmeow/proto/waWeb" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type AddressingMode int32 + +const ( + AddressingMode_PN AddressingMode = 1 + AddressingMode_LID AddressingMode = 2 +) + +// Enum value maps for AddressingMode. +var ( + AddressingMode_name = map[int32]string{ + 1: "PN", + 2: "LID", + } + AddressingMode_value = map[string]int32{ + "PN": 1, + "LID": 2, + } +) + +func (x AddressingMode) Enum() *AddressingMode { + p := new(AddressingMode) + *p = x + return p +} + +func (x AddressingMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AddressingMode) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[0].Descriptor() +} + +func (AddressingMode) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[0] +} + +func (x AddressingMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *AddressingMode) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = AddressingMode(num) + return nil +} + +// Deprecated: Use AddressingMode.Descriptor instead. +func (AddressingMode) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{0} +} + +type NewsletterRole int32 + +const ( + NewsletterRole_SUBSCRIBER NewsletterRole = 1 + NewsletterRole_GUEST NewsletterRole = 2 + NewsletterRole_ADMIN NewsletterRole = 3 + NewsletterRole_OWNER NewsletterRole = 4 +) + +// Enum value maps for NewsletterRole. +var ( + NewsletterRole_name = map[int32]string{ + 1: "SUBSCRIBER", + 2: "GUEST", + 3: "ADMIN", + 4: "OWNER", + } + NewsletterRole_value = map[string]int32{ + "SUBSCRIBER": 1, + "GUEST": 2, + "ADMIN": 3, + "OWNER": 4, + } +) + +func (x NewsletterRole) Enum() *NewsletterRole { + p := new(NewsletterRole) + *p = x + return p +} + +func (x NewsletterRole) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NewsletterRole) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[1].Descriptor() +} + +func (NewsletterRole) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[1] +} + +func (x NewsletterRole) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *NewsletterRole) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = NewsletterRole(num) + return nil +} + +// Deprecated: Use NewsletterRole.Descriptor instead. +func (NewsletterRole) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{1} +} + +type NewsletterMuteState int32 + +const ( + NewsletterMuteState_ON NewsletterMuteState = 1 + NewsletterMuteState_OFF NewsletterMuteState = 2 +) + +// Enum value maps for NewsletterMuteState. +var ( + NewsletterMuteState_name = map[int32]string{ + 1: "ON", + 2: "OFF", + } + NewsletterMuteState_value = map[string]int32{ + "ON": 1, + "OFF": 2, + } +) + +func (x NewsletterMuteState) Enum() *NewsletterMuteState { + p := new(NewsletterMuteState) + *p = x + return p +} + +func (x NewsletterMuteState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NewsletterMuteState) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[2].Descriptor() +} + +func (NewsletterMuteState) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[2] +} + +func (x NewsletterMuteState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *NewsletterMuteState) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = NewsletterMuteState(num) + return nil +} + +// Deprecated: Use NewsletterMuteState.Descriptor instead. +func (NewsletterMuteState) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{2} +} + +type ConnectFailureReason int32 + +const ( + ConnectFailureReason_GENERIC ConnectFailureReason = 1 + ConnectFailureReason_LOGGED_OUT ConnectFailureReason = 2 + ConnectFailureReason_TEMP_BANNED ConnectFailureReason = 3 + ConnectFailureReason_MAIN_DEVICE_GONE ConnectFailureReason = 4 + ConnectFailureReason_UNKNOWN_LOGOUT ConnectFailureReason = 5 + ConnectFailureReason_CLIENT_OUTDATED ConnectFailureReason = 6 + ConnectFailureReason_BAD_USER_AGENT ConnectFailureReason = 7 + ConnectFailureReason_INTERNAL_SERVER_ERROR ConnectFailureReason = 8 + ConnectFailureReason_EXPERIMENTAL ConnectFailureReason = 9 + ConnectFailureReason_SERVICE_UNAVAILABLE ConnectFailureReason = 10 +) + +// Enum value maps for ConnectFailureReason. +var ( + ConnectFailureReason_name = map[int32]string{ + 1: "GENERIC", + 2: "LOGGED_OUT", + 3: "TEMP_BANNED", + 4: "MAIN_DEVICE_GONE", + 5: "UNKNOWN_LOGOUT", + 6: "CLIENT_OUTDATED", + 7: "BAD_USER_AGENT", + 8: "INTERNAL_SERVER_ERROR", + 9: "EXPERIMENTAL", + 10: "SERVICE_UNAVAILABLE", + } + ConnectFailureReason_value = map[string]int32{ + "GENERIC": 1, + "LOGGED_OUT": 2, + "TEMP_BANNED": 3, + "MAIN_DEVICE_GONE": 4, + "UNKNOWN_LOGOUT": 5, + "CLIENT_OUTDATED": 6, + "BAD_USER_AGENT": 7, + "INTERNAL_SERVER_ERROR": 8, + "EXPERIMENTAL": 9, + "SERVICE_UNAVAILABLE": 10, + } +) + +func (x ConnectFailureReason) Enum() *ConnectFailureReason { + p := new(ConnectFailureReason) + *p = x + return p +} + +func (x ConnectFailureReason) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ConnectFailureReason) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[3].Descriptor() +} + +func (ConnectFailureReason) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[3] +} + +func (x ConnectFailureReason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ConnectFailureReason) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ConnectFailureReason(num) + return nil +} + +// Deprecated: Use ConnectFailureReason.Descriptor instead. +func (ConnectFailureReason) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{3} +} + +type GroupInfo_GroupMemberAddMode int32 + +const ( + GroupInfo_GroupMemberAddModeAdmin GroupInfo_GroupMemberAddMode = 1 +) + +// Enum value maps for GroupInfo_GroupMemberAddMode. +var ( + GroupInfo_GroupMemberAddMode_name = map[int32]string{ + 1: "GroupMemberAddModeAdmin", + } + GroupInfo_GroupMemberAddMode_value = map[string]int32{ + "GroupMemberAddModeAdmin": 1, + } +) + +func (x GroupInfo_GroupMemberAddMode) Enum() *GroupInfo_GroupMemberAddMode { + p := new(GroupInfo_GroupMemberAddMode) + *p = x + return p +} + +func (x GroupInfo_GroupMemberAddMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GroupInfo_GroupMemberAddMode) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[4].Descriptor() +} + +func (GroupInfo_GroupMemberAddMode) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[4] +} + +func (x GroupInfo_GroupMemberAddMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *GroupInfo_GroupMemberAddMode) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = GroupInfo_GroupMemberAddMode(num) + return nil +} + +// Deprecated: Use GroupInfo_GroupMemberAddMode.Descriptor instead. +func (GroupInfo_GroupMemberAddMode) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{21, 0} +} + +type WrappedNewsletterState_NewsletterState int32 + +const ( + WrappedNewsletterState_ACTIVE WrappedNewsletterState_NewsletterState = 1 + WrappedNewsletterState_SUSPENDED WrappedNewsletterState_NewsletterState = 2 + WrappedNewsletterState_GEOSUSPENDED WrappedNewsletterState_NewsletterState = 3 +) + +// Enum value maps for WrappedNewsletterState_NewsletterState. +var ( + WrappedNewsletterState_NewsletterState_name = map[int32]string{ + 1: "ACTIVE", + 2: "SUSPENDED", + 3: "GEOSUSPENDED", + } + WrappedNewsletterState_NewsletterState_value = map[string]int32{ + "ACTIVE": 1, + "SUSPENDED": 2, + "GEOSUSPENDED": 3, + } +) + +func (x WrappedNewsletterState_NewsletterState) Enum() *WrappedNewsletterState_NewsletterState { + p := new(WrappedNewsletterState_NewsletterState) + *p = x + return p +} + +func (x WrappedNewsletterState_NewsletterState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WrappedNewsletterState_NewsletterState) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[5].Descriptor() +} + +func (WrappedNewsletterState_NewsletterState) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[5] +} + +func (x WrappedNewsletterState_NewsletterState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *WrappedNewsletterState_NewsletterState) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = WrappedNewsletterState_NewsletterState(num) + return nil +} + +// Deprecated: Use WrappedNewsletterState_NewsletterState.Descriptor instead. +func (WrappedNewsletterState_NewsletterState) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{49, 0} +} + +type NewsletterReactionSettings_NewsletterReactionsMode int32 + +const ( + NewsletterReactionSettings_ALL NewsletterReactionSettings_NewsletterReactionsMode = 1 + NewsletterReactionSettings_BASIC NewsletterReactionSettings_NewsletterReactionsMode = 2 + NewsletterReactionSettings_NONE NewsletterReactionSettings_NewsletterReactionsMode = 3 + NewsletterReactionSettings_BLOCKLIST NewsletterReactionSettings_NewsletterReactionsMode = 4 +) + +// Enum value maps for NewsletterReactionSettings_NewsletterReactionsMode. +var ( + NewsletterReactionSettings_NewsletterReactionsMode_name = map[int32]string{ + 1: "ALL", + 2: "BASIC", + 3: "NONE", + 4: "BLOCKLIST", + } + NewsletterReactionSettings_NewsletterReactionsMode_value = map[string]int32{ + "ALL": 1, + "BASIC": 2, + "NONE": 3, + "BLOCKLIST": 4, + } +) + +func (x NewsletterReactionSettings_NewsletterReactionsMode) Enum() *NewsletterReactionSettings_NewsletterReactionsMode { + p := new(NewsletterReactionSettings_NewsletterReactionsMode) + *p = x + return p +} + +func (x NewsletterReactionSettings_NewsletterReactionsMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NewsletterReactionSettings_NewsletterReactionsMode) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[6].Descriptor() +} + +func (NewsletterReactionSettings_NewsletterReactionsMode) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[6] +} + +func (x NewsletterReactionSettings_NewsletterReactionsMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *NewsletterReactionSettings_NewsletterReactionsMode) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = NewsletterReactionSettings_NewsletterReactionsMode(num) + return nil +} + +// Deprecated: Use NewsletterReactionSettings_NewsletterReactionsMode.Descriptor instead. +func (NewsletterReactionSettings_NewsletterReactionsMode) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{52, 0} +} + +type NewsletterThreadMetadata_NewsletterVerificationState int32 + +const ( + NewsletterThreadMetadata_VERIFIED NewsletterThreadMetadata_NewsletterVerificationState = 1 + NewsletterThreadMetadata_UNVERIFIED NewsletterThreadMetadata_NewsletterVerificationState = 2 +) + +// Enum value maps for NewsletterThreadMetadata_NewsletterVerificationState. +var ( + NewsletterThreadMetadata_NewsletterVerificationState_name = map[int32]string{ + 1: "VERIFIED", + 2: "UNVERIFIED", + } + NewsletterThreadMetadata_NewsletterVerificationState_value = map[string]int32{ + "VERIFIED": 1, + "UNVERIFIED": 2, + } +) + +func (x NewsletterThreadMetadata_NewsletterVerificationState) Enum() *NewsletterThreadMetadata_NewsletterVerificationState { + p := new(NewsletterThreadMetadata_NewsletterVerificationState) + *p = x + return p +} + +func (x NewsletterThreadMetadata_NewsletterVerificationState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NewsletterThreadMetadata_NewsletterVerificationState) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[7].Descriptor() +} + +func (NewsletterThreadMetadata_NewsletterVerificationState) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[7] +} + +func (x NewsletterThreadMetadata_NewsletterVerificationState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *NewsletterThreadMetadata_NewsletterVerificationState) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = NewsletterThreadMetadata_NewsletterVerificationState(num) + return nil +} + +// Deprecated: Use NewsletterThreadMetadata_NewsletterVerificationState.Descriptor instead. +func (NewsletterThreadMetadata_NewsletterVerificationState) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{54, 0} +} + +type PrivacySettings_PrivacySetting int32 + +const ( + PrivacySettings_UNDEFINED PrivacySettings_PrivacySetting = 1 + PrivacySettings_ALL PrivacySettings_PrivacySetting = 2 + PrivacySettings_CONTACTS PrivacySettings_PrivacySetting = 3 + PrivacySettings_CONTACT_BLACKLIST PrivacySettings_PrivacySetting = 4 + PrivacySettings_MATCH_LAST_SEEN PrivacySettings_PrivacySetting = 5 + PrivacySettings_KNOWN PrivacySettings_PrivacySetting = 6 + PrivacySettings_NONE PrivacySettings_PrivacySetting = 7 +) + +// Enum value maps for PrivacySettings_PrivacySetting. +var ( + PrivacySettings_PrivacySetting_name = map[int32]string{ + 1: "UNDEFINED", + 2: "ALL", + 3: "CONTACTS", + 4: "CONTACT_BLACKLIST", + 5: "MATCH_LAST_SEEN", + 6: "KNOWN", + 7: "NONE", + } + PrivacySettings_PrivacySetting_value = map[string]int32{ + "UNDEFINED": 1, + "ALL": 2, + "CONTACTS": 3, + "CONTACT_BLACKLIST": 4, + "MATCH_LAST_SEEN": 5, + "KNOWN": 6, + "NONE": 7, + } +) + +func (x PrivacySettings_PrivacySetting) Enum() *PrivacySettings_PrivacySetting { + p := new(PrivacySettings_PrivacySetting) + *p = x + return p +} + +func (x PrivacySettings_PrivacySetting) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrivacySettings_PrivacySetting) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[8].Descriptor() +} + +func (PrivacySettings_PrivacySetting) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[8] +} + +func (x PrivacySettings_PrivacySetting) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *PrivacySettings_PrivacySetting) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = PrivacySettings_PrivacySetting(num) + return nil +} + +// Deprecated: Use PrivacySettings_PrivacySetting.Descriptor instead. +func (PrivacySettings_PrivacySetting) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{61, 0} +} + +type StatusPrivacy_StatusPrivacyType int32 + +const ( + StatusPrivacy_CONTACTS StatusPrivacy_StatusPrivacyType = 1 + StatusPrivacy_BLACKLIST StatusPrivacy_StatusPrivacyType = 2 + StatusPrivacy_WHITELIST StatusPrivacy_StatusPrivacyType = 3 +) + +// Enum value maps for StatusPrivacy_StatusPrivacyType. +var ( + StatusPrivacy_StatusPrivacyType_name = map[int32]string{ + 1: "CONTACTS", + 2: "BLACKLIST", + 3: "WHITELIST", + } + StatusPrivacy_StatusPrivacyType_value = map[string]int32{ + "CONTACTS": 1, + "BLACKLIST": 2, + "WHITELIST": 3, + } +) + +func (x StatusPrivacy_StatusPrivacyType) Enum() *StatusPrivacy_StatusPrivacyType { + p := new(StatusPrivacy_StatusPrivacyType) + *p = x + return p +} + +func (x StatusPrivacy_StatusPrivacyType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StatusPrivacy_StatusPrivacyType) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[9].Descriptor() +} + +func (StatusPrivacy_StatusPrivacyType) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[9] +} + +func (x StatusPrivacy_StatusPrivacyType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *StatusPrivacy_StatusPrivacyType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = StatusPrivacy_StatusPrivacyType(num) + return nil +} + +// Deprecated: Use StatusPrivacy_StatusPrivacyType.Descriptor instead. +func (StatusPrivacy_StatusPrivacyType) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{67, 0} +} + +type GroupLinkChange_ChangeType int32 + +const ( + GroupLinkChange_PARENT GroupLinkChange_ChangeType = 1 + GroupLinkChange_SUB GroupLinkChange_ChangeType = 2 + GroupLinkChange_SIBLING GroupLinkChange_ChangeType = 3 +) + +// Enum value maps for GroupLinkChange_ChangeType. +var ( + GroupLinkChange_ChangeType_name = map[int32]string{ + 1: "PARENT", + 2: "SUB", + 3: "SIBLING", + } + GroupLinkChange_ChangeType_value = map[string]int32{ + "PARENT": 1, + "SUB": 2, + "SIBLING": 3, + } +) + +func (x GroupLinkChange_ChangeType) Enum() *GroupLinkChange_ChangeType { + p := new(GroupLinkChange_ChangeType) + *p = x + return p +} + +func (x GroupLinkChange_ChangeType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GroupLinkChange_ChangeType) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[10].Descriptor() +} + +func (GroupLinkChange_ChangeType) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[10] +} + +func (x GroupLinkChange_ChangeType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *GroupLinkChange_ChangeType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = GroupLinkChange_ChangeType(num) + return nil +} + +// Deprecated: Use GroupLinkChange_ChangeType.Descriptor instead. +func (GroupLinkChange_ChangeType) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{70, 0} +} + +type PatchInfo_WAPatchName int32 + +const ( + PatchInfo_CRITICAL_BLOCK PatchInfo_WAPatchName = 1 + PatchInfo_CRITICAL_UNBLOCK_LOW PatchInfo_WAPatchName = 2 + PatchInfo_REGULAR_LOW PatchInfo_WAPatchName = 3 + PatchInfo_REGULAR_HIGH PatchInfo_WAPatchName = 4 + PatchInfo_REGULAR PatchInfo_WAPatchName = 5 +) + +// Enum value maps for PatchInfo_WAPatchName. +var ( + PatchInfo_WAPatchName_name = map[int32]string{ + 1: "CRITICAL_BLOCK", + 2: "CRITICAL_UNBLOCK_LOW", + 3: "REGULAR_LOW", + 4: "REGULAR_HIGH", + 5: "REGULAR", + } + PatchInfo_WAPatchName_value = map[string]int32{ + "CRITICAL_BLOCK": 1, + "CRITICAL_UNBLOCK_LOW": 2, + "REGULAR_LOW": 3, + "REGULAR_HIGH": 4, + "REGULAR": 5, + } +) + +func (x PatchInfo_WAPatchName) Enum() *PatchInfo_WAPatchName { + p := new(PatchInfo_WAPatchName) + *p = x + return p +} + +func (x PatchInfo_WAPatchName) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatchInfo_WAPatchName) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[11].Descriptor() +} + +func (PatchInfo_WAPatchName) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[11] +} + +func (x PatchInfo_WAPatchName) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *PatchInfo_WAPatchName) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = PatchInfo_WAPatchName(num) + return nil +} + +// Deprecated: Use PatchInfo_WAPatchName.Descriptor instead. +func (PatchInfo_WAPatchName) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{81, 0} +} + +type PairStatus_PStatus int32 + +const ( + PairStatus_ERROR PairStatus_PStatus = 1 + PairStatus_SUCCESS PairStatus_PStatus = 2 +) + +// Enum value maps for PairStatus_PStatus. +var ( + PairStatus_PStatus_name = map[int32]string{ + 1: "ERROR", + 2: "SUCCESS", + } + PairStatus_PStatus_value = map[string]int32{ + "ERROR": 1, + "SUCCESS": 2, + } +) + +func (x PairStatus_PStatus) Enum() *PairStatus_PStatus { + p := new(PairStatus_PStatus) + *p = x + return p +} + +func (x PairStatus_PStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PairStatus_PStatus) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[12].Descriptor() +} + +func (PairStatus_PStatus) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[12] +} + +func (x PairStatus_PStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *PairStatus_PStatus) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = PairStatus_PStatus(num) + return nil +} + +// Deprecated: Use PairStatus_PStatus.Descriptor instead. +func (PairStatus_PStatus) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{91, 0} +} + +type TemporaryBan_TempBanReason int32 + +const ( + TemporaryBan_SEND_TO_TOO_MANY_PEOPLE TemporaryBan_TempBanReason = 1 + TemporaryBan_BLOCKED_BY_USERS TemporaryBan_TempBanReason = 2 + TemporaryBan_CREATED_TOO_MANY_GROUPS TemporaryBan_TempBanReason = 3 + TemporaryBan_SENT_TOO_MANY_SAME_MESSAGE TemporaryBan_TempBanReason = 4 + TemporaryBan_BROADCAST_LIST TemporaryBan_TempBanReason = 5 +) + +// Enum value maps for TemporaryBan_TempBanReason. +var ( + TemporaryBan_TempBanReason_name = map[int32]string{ + 1: "SEND_TO_TOO_MANY_PEOPLE", + 2: "BLOCKED_BY_USERS", + 3: "CREATED_TOO_MANY_GROUPS", + 4: "SENT_TOO_MANY_SAME_MESSAGE", + 5: "BROADCAST_LIST", + } + TemporaryBan_TempBanReason_value = map[string]int32{ + "SEND_TO_TOO_MANY_PEOPLE": 1, + "BLOCKED_BY_USERS": 2, + "CREATED_TOO_MANY_GROUPS": 3, + "SENT_TOO_MANY_SAME_MESSAGE": 4, + "BROADCAST_LIST": 5, + } +) + +func (x TemporaryBan_TempBanReason) Enum() *TemporaryBan_TempBanReason { + p := new(TemporaryBan_TempBanReason) + *p = x + return p +} + +func (x TemporaryBan_TempBanReason) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TemporaryBan_TempBanReason) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[13].Descriptor() +} + +func (TemporaryBan_TempBanReason) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[13] +} + +func (x TemporaryBan_TempBanReason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *TemporaryBan_TempBanReason) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = TemporaryBan_TempBanReason(num) + return nil +} + +// Deprecated: Use TemporaryBan_TempBanReason.Descriptor instead. +func (TemporaryBan_TempBanReason) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{97, 0} +} + +type Receipt_ReceiptType int32 + +const ( + Receipt_DELIVERED Receipt_ReceiptType = 1 + Receipt_SENDER Receipt_ReceiptType = 2 + Receipt_RETRY Receipt_ReceiptType = 3 + Receipt_READ Receipt_ReceiptType = 4 + Receipt_READ_SELF Receipt_ReceiptType = 5 + Receipt_PLAYED Receipt_ReceiptType = 6 + Receipt_PLAYED_SELF Receipt_ReceiptType = 7 + Receipt_SERVER_ERROR Receipt_ReceiptType = 8 + Receipt_INACTIVE Receipt_ReceiptType = 9 + Receipt_PEER_MSG Receipt_ReceiptType = 10 + Receipt_HISTORY_SYNC Receipt_ReceiptType = 11 +) + +// Enum value maps for Receipt_ReceiptType. +var ( + Receipt_ReceiptType_name = map[int32]string{ + 1: "DELIVERED", + 2: "SENDER", + 3: "RETRY", + 4: "READ", + 5: "READ_SELF", + 6: "PLAYED", + 7: "PLAYED_SELF", + 8: "SERVER_ERROR", + 9: "INACTIVE", + 10: "PEER_MSG", + 11: "HISTORY_SYNC", + } + Receipt_ReceiptType_value = map[string]int32{ + "DELIVERED": 1, + "SENDER": 2, + "RETRY": 3, + "READ": 4, + "READ_SELF": 5, + "PLAYED": 6, + "PLAYED_SELF": 7, + "SERVER_ERROR": 8, + "INACTIVE": 9, + "PEER_MSG": 10, + "HISTORY_SYNC": 11, + } +) + +func (x Receipt_ReceiptType) Enum() *Receipt_ReceiptType { + p := new(Receipt_ReceiptType) + *p = x + return p +} + +func (x Receipt_ReceiptType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Receipt_ReceiptType) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[14].Descriptor() +} + +func (Receipt_ReceiptType) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[14] +} + +func (x Receipt_ReceiptType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *Receipt_ReceiptType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = Receipt_ReceiptType(num) + return nil +} + +// Deprecated: Use Receipt_ReceiptType.Descriptor instead. +func (Receipt_ReceiptType) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{103, 0} +} + +type ChatPresence_ChatPresence int32 + +const ( + ChatPresence_COMPOSING ChatPresence_ChatPresence = 1 + ChatPresence_PAUSED ChatPresence_ChatPresence = 2 +) + +// Enum value maps for ChatPresence_ChatPresence. +var ( + ChatPresence_ChatPresence_name = map[int32]string{ + 1: "COMPOSING", + 2: "PAUSED", + } + ChatPresence_ChatPresence_value = map[string]int32{ + "COMPOSING": 1, + "PAUSED": 2, + } +) + +func (x ChatPresence_ChatPresence) Enum() *ChatPresence_ChatPresence { + p := new(ChatPresence_ChatPresence) + *p = x + return p +} + +func (x ChatPresence_ChatPresence) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ChatPresence_ChatPresence) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[15].Descriptor() +} + +func (ChatPresence_ChatPresence) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[15] +} + +func (x ChatPresence_ChatPresence) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ChatPresence_ChatPresence) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ChatPresence_ChatPresence(num) + return nil +} + +// Deprecated: Use ChatPresence_ChatPresence.Descriptor instead. +func (ChatPresence_ChatPresence) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{104, 0} +} + +type ChatPresence_ChatPresenceMedia int32 + +const ( + ChatPresence_TEXT ChatPresence_ChatPresenceMedia = 1 + ChatPresence_AUDIO ChatPresence_ChatPresenceMedia = 2 +) + +// Enum value maps for ChatPresence_ChatPresenceMedia. +var ( + ChatPresence_ChatPresenceMedia_name = map[int32]string{ + 1: "TEXT", + 2: "AUDIO", + } + ChatPresence_ChatPresenceMedia_value = map[string]int32{ + "TEXT": 1, + "AUDIO": 2, + } +) + +func (x ChatPresence_ChatPresenceMedia) Enum() *ChatPresence_ChatPresenceMedia { + p := new(ChatPresence_ChatPresenceMedia) + *p = x + return p +} + +func (x ChatPresence_ChatPresenceMedia) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ChatPresence_ChatPresenceMedia) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[16].Descriptor() +} + +func (ChatPresence_ChatPresenceMedia) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[16] +} + +func (x ChatPresence_ChatPresenceMedia) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ChatPresence_ChatPresenceMedia) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ChatPresence_ChatPresenceMedia(num) + return nil +} + +// Deprecated: Use ChatPresence_ChatPresenceMedia.Descriptor instead. +func (ChatPresence_ChatPresenceMedia) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{104, 1} +} + +type BlocklistEvent_Actions int32 + +const ( + BlocklistEvent_DEFAULT BlocklistEvent_Actions = 1 + BlocklistEvent_MODIFY BlocklistEvent_Actions = 2 +) + +// Enum value maps for BlocklistEvent_Actions. +var ( + BlocklistEvent_Actions_name = map[int32]string{ + 1: "DEFAULT", + 2: "MODIFY", + } + BlocklistEvent_Actions_value = map[string]int32{ + "DEFAULT": 1, + "MODIFY": 2, + } +) + +func (x BlocklistEvent_Actions) Enum() *BlocklistEvent_Actions { + p := new(BlocklistEvent_Actions) + *p = x + return p +} + +func (x BlocklistEvent_Actions) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BlocklistEvent_Actions) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[17].Descriptor() +} + +func (BlocklistEvent_Actions) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[17] +} + +func (x BlocklistEvent_Actions) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *BlocklistEvent_Actions) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = BlocklistEvent_Actions(num) + return nil +} + +// Deprecated: Use BlocklistEvent_Actions.Descriptor instead. +func (BlocklistEvent_Actions) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{113, 0} +} + +type BlocklistChange_Action int32 + +const ( + BlocklistChange_BLOCK BlocklistChange_Action = 1 + BlocklistChange_UNBLOCK BlocklistChange_Action = 2 +) + +// Enum value maps for BlocklistChange_Action. +var ( + BlocklistChange_Action_name = map[int32]string{ + 1: "BLOCK", + 2: "UNBLOCK", + } + BlocklistChange_Action_value = map[string]int32{ + "BLOCK": 1, + "UNBLOCK": 2, + } +) + +func (x BlocklistChange_Action) Enum() *BlocklistChange_Action { + p := new(BlocklistChange_Action) + *p = x + return p +} + +func (x BlocklistChange_Action) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BlocklistChange_Action) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[18].Descriptor() +} + +func (BlocklistChange_Action) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[18] +} + +func (x BlocklistChange_Action) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *BlocklistChange_Action) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = BlocklistChange_Action(num) + return nil +} + +// Deprecated: Use BlocklistChange_Action.Descriptor instead. +func (BlocklistChange_Action) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{114, 0} +} + +type UndecryptableMessage_DecryptFailModeT int32 + +const ( + UndecryptableMessage_DECRYPT_FAIL_SHOW UndecryptableMessage_DecryptFailModeT = 1 + UndecryptableMessage_DECRYPT_FAIL_HIDE UndecryptableMessage_DecryptFailModeT = 2 +) + +// Enum value maps for UndecryptableMessage_DecryptFailModeT. +var ( + UndecryptableMessage_DecryptFailModeT_name = map[int32]string{ + 1: "DECRYPT_FAIL_SHOW", + 2: "DECRYPT_FAIL_HIDE", + } + UndecryptableMessage_DecryptFailModeT_value = map[string]int32{ + "DECRYPT_FAIL_SHOW": 1, + "DECRYPT_FAIL_HIDE": 2, + } +) + +func (x UndecryptableMessage_DecryptFailModeT) Enum() *UndecryptableMessage_DecryptFailModeT { + p := new(UndecryptableMessage_DecryptFailModeT) + *p = x + return p +} + +func (x UndecryptableMessage_DecryptFailModeT) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (UndecryptableMessage_DecryptFailModeT) Descriptor() protoreflect.EnumDescriptor { + return file_Neonize_proto_enumTypes[19].Descriptor() +} + +func (UndecryptableMessage_DecryptFailModeT) Type() protoreflect.EnumType { + return &file_Neonize_proto_enumTypes[19] +} + +func (x UndecryptableMessage_DecryptFailModeT) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *UndecryptableMessage_DecryptFailModeT) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = UndecryptableMessage_DecryptFailModeT(num) + return nil +} + +// Deprecated: Use UndecryptableMessage_DecryptFailModeT.Descriptor instead. +func (UndecryptableMessage_DecryptFailModeT) EnumDescriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{129, 0} +} + +// types +type JID struct { + state protoimpl.MessageState `protogen:"open.v1"` + User *string `protobuf:"bytes,1,req,name=User" json:"User,omitempty"` + RawAgent *uint32 `protobuf:"varint,2,req,name=RawAgent" json:"RawAgent,omitempty"` + Device *uint32 `protobuf:"varint,3,req,name=Device" json:"Device,omitempty"` + Integrator *uint32 `protobuf:"varint,4,req,name=Integrator" json:"Integrator,omitempty"` + Server *string `protobuf:"bytes,5,req,name=Server" json:"Server,omitempty"` + IsEmpty *bool `protobuf:"varint,6,opt,name=IsEmpty,def=0" json:"IsEmpty,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Default values for JID fields. +const ( + Default_JID_IsEmpty = bool(false) +) + +func (x *JID) Reset() { + *x = JID{} + mi := &file_Neonize_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *JID) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JID) ProtoMessage() {} + +func (x *JID) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JID.ProtoReflect.Descriptor instead. +func (*JID) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{0} +} + +func (x *JID) GetUser() string { + if x != nil && x.User != nil { + return *x.User + } + return "" +} + +func (x *JID) GetRawAgent() uint32 { + if x != nil && x.RawAgent != nil { + return *x.RawAgent + } + return 0 +} + +func (x *JID) GetDevice() uint32 { + if x != nil && x.Device != nil { + return *x.Device + } + return 0 +} + +func (x *JID) GetIntegrator() uint32 { + if x != nil && x.Integrator != nil { + return *x.Integrator + } + return 0 +} + +func (x *JID) GetServer() string { + if x != nil && x.Server != nil { + return *x.Server + } + return "" +} + +func (x *JID) GetIsEmpty() bool { + if x != nil && x.IsEmpty != nil { + return *x.IsEmpty + } + return Default_JID_IsEmpty +} + +type MessageInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + MessageSource *MessageSource `protobuf:"bytes,1,req,name=MessageSource" json:"MessageSource,omitempty"` + ID *string `protobuf:"bytes,2,req,name=ID" json:"ID,omitempty"` + ServerID *int64 `protobuf:"varint,3,req,name=ServerID" json:"ServerID,omitempty"` + Type *string `protobuf:"bytes,4,req,name=Type" json:"Type,omitempty"` + Pushname *string `protobuf:"bytes,5,req,name=Pushname" json:"Pushname,omitempty"` + Timestamp *int64 `protobuf:"varint,6,req,name=Timestamp" json:"Timestamp,omitempty"` + Category *string `protobuf:"bytes,7,req,name=Category" json:"Category,omitempty"` + Multicast *bool `protobuf:"varint,8,req,name=Multicast" json:"Multicast,omitempty"` + MediaType *string `protobuf:"bytes,9,req,name=MediaType" json:"MediaType,omitempty"` + Edit *string `protobuf:"bytes,10,req,name=Edit" json:"Edit,omitempty"` //enum + VerifiedName *VerifiedName `protobuf:"bytes,11,opt,name=VerifiedName" json:"VerifiedName,omitempty"` + DeviceSentMeta *DeviceSentMeta `protobuf:"bytes,12,opt,name=DeviceSentMeta" json:"DeviceSentMeta,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MessageInfo) Reset() { + *x = MessageInfo{} + mi := &file_Neonize_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MessageInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageInfo) ProtoMessage() {} + +func (x *MessageInfo) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MessageInfo.ProtoReflect.Descriptor instead. +func (*MessageInfo) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{1} +} + +func (x *MessageInfo) GetMessageSource() *MessageSource { + if x != nil { + return x.MessageSource + } + return nil +} + +func (x *MessageInfo) GetID() string { + if x != nil && x.ID != nil { + return *x.ID + } + return "" +} + +func (x *MessageInfo) GetServerID() int64 { + if x != nil && x.ServerID != nil { + return *x.ServerID + } + return 0 +} + +func (x *MessageInfo) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *MessageInfo) GetPushname() string { + if x != nil && x.Pushname != nil { + return *x.Pushname + } + return "" +} + +func (x *MessageInfo) GetTimestamp() int64 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *MessageInfo) GetCategory() string { + if x != nil && x.Category != nil { + return *x.Category + } + return "" +} + +func (x *MessageInfo) GetMulticast() bool { + if x != nil && x.Multicast != nil { + return *x.Multicast + } + return false +} + +func (x *MessageInfo) GetMediaType() string { + if x != nil && x.MediaType != nil { + return *x.MediaType + } + return "" +} + +func (x *MessageInfo) GetEdit() string { + if x != nil && x.Edit != nil { + return *x.Edit + } + return "" +} + +func (x *MessageInfo) GetVerifiedName() *VerifiedName { + if x != nil { + return x.VerifiedName + } + return nil +} + +func (x *MessageInfo) GetDeviceSentMeta() *DeviceSentMeta { + if x != nil { + return x.DeviceSentMeta + } + return nil +} + +type UploadResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Url *string `protobuf:"bytes,1,req,name=url" json:"url,omitempty"` + DirectPath *string `protobuf:"bytes,2,req,name=DirectPath" json:"DirectPath,omitempty"` + Handle *string `protobuf:"bytes,3,req,name=Handle" json:"Handle,omitempty"` + MediaKey []byte `protobuf:"bytes,4,req,name=MediaKey" json:"MediaKey,omitempty"` + FileEncSHA256 []byte `protobuf:"bytes,5,req,name=FileEncSHA256" json:"FileEncSHA256,omitempty"` + FileSHA256 []byte `protobuf:"bytes,6,req,name=FileSHA256" json:"FileSHA256,omitempty"` + FileLength *uint32 `protobuf:"varint,7,req,name=FileLength" json:"FileLength,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UploadResponse) Reset() { + *x = UploadResponse{} + mi := &file_Neonize_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UploadResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadResponse) ProtoMessage() {} + +func (x *UploadResponse) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadResponse.ProtoReflect.Descriptor instead. +func (*UploadResponse) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{2} +} + +func (x *UploadResponse) GetUrl() string { + if x != nil && x.Url != nil { + return *x.Url + } + return "" +} + +func (x *UploadResponse) GetDirectPath() string { + if x != nil && x.DirectPath != nil { + return *x.DirectPath + } + return "" +} + +func (x *UploadResponse) GetHandle() string { + if x != nil && x.Handle != nil { + return *x.Handle + } + return "" +} + +func (x *UploadResponse) GetMediaKey() []byte { + if x != nil { + return x.MediaKey + } + return nil +} + +func (x *UploadResponse) GetFileEncSHA256() []byte { + if x != nil { + return x.FileEncSHA256 + } + return nil +} + +func (x *UploadResponse) GetFileSHA256() []byte { + if x != nil { + return x.FileSHA256 + } + return nil +} + +func (x *UploadResponse) GetFileLength() uint32 { + if x != nil && x.FileLength != nil { + return *x.FileLength + } + return 0 +} + +type BroadcastRecipient struct { + state protoimpl.MessageState `protogen:"open.v1"` + LID *JID `protobuf:"bytes,1,req,name=LID" json:"LID,omitempty"` + PN *JID `protobuf:"bytes,2,req,name=PN" json:"PN,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BroadcastRecipient) Reset() { + *x = BroadcastRecipient{} + mi := &file_Neonize_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BroadcastRecipient) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BroadcastRecipient) ProtoMessage() {} + +func (x *BroadcastRecipient) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BroadcastRecipient.ProtoReflect.Descriptor instead. +func (*BroadcastRecipient) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{3} +} + +func (x *BroadcastRecipient) GetLID() *JID { + if x != nil { + return x.LID + } + return nil +} + +func (x *BroadcastRecipient) GetPN() *JID { + if x != nil { + return x.PN + } + return nil +} + +type MessageSource struct { + state protoimpl.MessageState `protogen:"open.v1"` + Chat *JID `protobuf:"bytes,1,req,name=Chat" json:"Chat,omitempty"` + Sender *JID `protobuf:"bytes,2,req,name=Sender" json:"Sender,omitempty"` + IsFromMe *bool `protobuf:"varint,3,req,name=IsFromMe" json:"IsFromMe,omitempty"` + IsGroup *bool `protobuf:"varint,4,req,name=IsGroup" json:"IsGroup,omitempty"` + AddressingMode *AddressingMode `protobuf:"varint,5,opt,name=AddressingMode,enum=neonize.AddressingMode" json:"AddressingMode,omitempty"` + SenderAlt *JID `protobuf:"bytes,6,req,name=SenderAlt" json:"SenderAlt,omitempty"` + RecipientAlt *JID `protobuf:"bytes,7,req,name=RecipientAlt" json:"RecipientAlt,omitempty"` + BroadcastListOwner *JID `protobuf:"bytes,8,req,name=BroadcastListOwner" json:"BroadcastListOwner,omitempty"` + BroadcastRecipients []*BroadcastRecipient `protobuf:"bytes,9,rep,name=BroadcastRecipients" json:"BroadcastRecipients,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MessageSource) Reset() { + *x = MessageSource{} + mi := &file_Neonize_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MessageSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageSource) ProtoMessage() {} + +func (x *MessageSource) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MessageSource.ProtoReflect.Descriptor instead. +func (*MessageSource) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{4} +} + +func (x *MessageSource) GetChat() *JID { + if x != nil { + return x.Chat + } + return nil +} + +func (x *MessageSource) GetSender() *JID { + if x != nil { + return x.Sender + } + return nil +} + +func (x *MessageSource) GetIsFromMe() bool { + if x != nil && x.IsFromMe != nil { + return *x.IsFromMe + } + return false +} + +func (x *MessageSource) GetIsGroup() bool { + if x != nil && x.IsGroup != nil { + return *x.IsGroup + } + return false +} + +func (x *MessageSource) GetAddressingMode() AddressingMode { + if x != nil && x.AddressingMode != nil { + return *x.AddressingMode + } + return AddressingMode_PN +} + +func (x *MessageSource) GetSenderAlt() *JID { + if x != nil { + return x.SenderAlt + } + return nil +} + +func (x *MessageSource) GetRecipientAlt() *JID { + if x != nil { + return x.RecipientAlt + } + return nil +} + +func (x *MessageSource) GetBroadcastListOwner() *JID { + if x != nil { + return x.BroadcastListOwner + } + return nil +} + +func (x *MessageSource) GetBroadcastRecipients() []*BroadcastRecipient { + if x != nil { + return x.BroadcastRecipients + } + return nil +} + +type DeviceSentMeta struct { + state protoimpl.MessageState `protogen:"open.v1"` + DestinationJID *string `protobuf:"bytes,1,req,name=DestinationJID" json:"DestinationJID,omitempty"` + Phash *string `protobuf:"bytes,2,req,name=Phash" json:"Phash,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviceSentMeta) Reset() { + *x = DeviceSentMeta{} + mi := &file_Neonize_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviceSentMeta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceSentMeta) ProtoMessage() {} + +func (x *DeviceSentMeta) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviceSentMeta.ProtoReflect.Descriptor instead. +func (*DeviceSentMeta) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{5} +} + +func (x *DeviceSentMeta) GetDestinationJID() string { + if x != nil && x.DestinationJID != nil { + return *x.DestinationJID + } + return "" +} + +func (x *DeviceSentMeta) GetPhash() string { + if x != nil && x.Phash != nil { + return *x.Phash + } + return "" +} + +// } +type VerifiedName struct { + state protoimpl.MessageState `protogen:"open.v1"` + Certificate *waVnameCert.VerifiedNameCertificate `protobuf:"bytes,1,opt,name=Certificate" json:"Certificate,omitempty"` + Details *waVnameCert.VerifiedNameCertificate_Details `protobuf:"bytes,2,opt,name=Details" json:"Details,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VerifiedName) Reset() { + *x = VerifiedName{} + mi := &file_Neonize_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VerifiedName) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VerifiedName) ProtoMessage() {} + +func (x *VerifiedName) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VerifiedName.ProtoReflect.Descriptor instead. +func (*VerifiedName) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{6} +} + +func (x *VerifiedName) GetCertificate() *waVnameCert.VerifiedNameCertificate { + if x != nil { + return x.Certificate + } + return nil +} + +func (x *VerifiedName) GetDetails() *waVnameCert.VerifiedNameCertificate_Details { + if x != nil { + return x.Details + } + return nil +} + +type IsOnWhatsAppResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Query *string `protobuf:"bytes,1,req,name=Query" json:"Query,omitempty"` + JID *JID `protobuf:"bytes,2,req,name=JID" json:"JID,omitempty"` + IsIn *bool `protobuf:"varint,3,req,name=IsIn" json:"IsIn,omitempty"` + VerifiedName *VerifiedName `protobuf:"bytes,4,opt,name=VerifiedName" json:"VerifiedName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IsOnWhatsAppResponse) Reset() { + *x = IsOnWhatsAppResponse{} + mi := &file_Neonize_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IsOnWhatsAppResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IsOnWhatsAppResponse) ProtoMessage() {} + +func (x *IsOnWhatsAppResponse) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IsOnWhatsAppResponse.ProtoReflect.Descriptor instead. +func (*IsOnWhatsAppResponse) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{7} +} + +func (x *IsOnWhatsAppResponse) GetQuery() string { + if x != nil && x.Query != nil { + return *x.Query + } + return "" +} + +func (x *IsOnWhatsAppResponse) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *IsOnWhatsAppResponse) GetIsIn() bool { + if x != nil && x.IsIn != nil { + return *x.IsIn + } + return false +} + +func (x *IsOnWhatsAppResponse) GetVerifiedName() *VerifiedName { + if x != nil { + return x.VerifiedName + } + return nil +} + +type UserInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + VerifiedName *VerifiedName `protobuf:"bytes,1,opt,name=VerifiedName" json:"VerifiedName,omitempty"` + Status *string `protobuf:"bytes,2,req,name=Status" json:"Status,omitempty"` + PictureID *string `protobuf:"bytes,3,req,name=PictureID" json:"PictureID,omitempty"` + Devices []*JID `protobuf:"bytes,4,rep,name=Devices" json:"Devices,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserInfo) Reset() { + *x = UserInfo{} + mi := &file_Neonize_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserInfo) ProtoMessage() {} + +func (x *UserInfo) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. +func (*UserInfo) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{8} +} + +func (x *UserInfo) GetVerifiedName() *VerifiedName { + if x != nil { + return x.VerifiedName + } + return nil +} + +func (x *UserInfo) GetStatus() string { + if x != nil && x.Status != nil { + return *x.Status + } + return "" +} + +func (x *UserInfo) GetPictureID() string { + if x != nil && x.PictureID != nil { + return *x.PictureID + } + return "" +} + +func (x *UserInfo) GetDevices() []*JID { + if x != nil { + return x.Devices + } + return nil +} + +type Device struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,opt,name=JID" json:"JID,omitempty"` + LID *JID `protobuf:"bytes,2,opt,name=LID" json:"LID,omitempty"` + Platform *string `protobuf:"bytes,3,req,name=Platform" json:"Platform,omitempty"` + BussinessName *string `protobuf:"bytes,4,req,name=BussinessName" json:"BussinessName,omitempty"` + PushName *string `protobuf:"bytes,5,req,name=PushName" json:"PushName,omitempty"` + Initialized *bool `protobuf:"varint,6,req,name=Initialized" json:"Initialized,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Device) Reset() { + *x = Device{} + mi := &file_Neonize_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Device) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Device) ProtoMessage() {} + +func (x *Device) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Device.ProtoReflect.Descriptor instead. +func (*Device) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{9} +} + +func (x *Device) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *Device) GetLID() *JID { + if x != nil { + return x.LID + } + return nil +} + +func (x *Device) GetPlatform() string { + if x != nil && x.Platform != nil { + return *x.Platform + } + return "" +} + +func (x *Device) GetBussinessName() string { + if x != nil && x.BussinessName != nil { + return *x.BussinessName + } + return "" +} + +func (x *Device) GetPushName() string { + if x != nil && x.PushName != nil { + return *x.PushName + } + return "" +} + +func (x *Device) GetInitialized() bool { + if x != nil && x.Initialized != nil { + return *x.Initialized + } + return false +} + +// GROUP +type GroupName struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name *string `protobuf:"bytes,1,req,name=Name" json:"Name,omitempty"` + NameSetAt *int64 `protobuf:"varint,2,req,name=NameSetAt" json:"NameSetAt,omitempty"` + NameSetBy *JID `protobuf:"bytes,3,req,name=NameSetBy" json:"NameSetBy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupName) Reset() { + *x = GroupName{} + mi := &file_Neonize_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupName) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupName) ProtoMessage() {} + +func (x *GroupName) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupName.ProtoReflect.Descriptor instead. +func (*GroupName) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{10} +} + +func (x *GroupName) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *GroupName) GetNameSetAt() int64 { + if x != nil && x.NameSetAt != nil { + return *x.NameSetAt + } + return 0 +} + +func (x *GroupName) GetNameSetBy() *JID { + if x != nil { + return x.NameSetBy + } + return nil +} + +type GroupTopic struct { + state protoimpl.MessageState `protogen:"open.v1"` + Topic *string `protobuf:"bytes,1,req,name=Topic" json:"Topic,omitempty"` + TopicID *string `protobuf:"bytes,2,req,name=TopicID" json:"TopicID,omitempty"` + TopicSetAt *int64 `protobuf:"varint,3,req,name=TopicSetAt" json:"TopicSetAt,omitempty"` + TopicSetBy *JID `protobuf:"bytes,4,req,name=TopicSetBy" json:"TopicSetBy,omitempty"` + TopicDeleted *bool `protobuf:"varint,5,req,name=TopicDeleted" json:"TopicDeleted,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupTopic) Reset() { + *x = GroupTopic{} + mi := &file_Neonize_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupTopic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupTopic) ProtoMessage() {} + +func (x *GroupTopic) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupTopic.ProtoReflect.Descriptor instead. +func (*GroupTopic) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{11} +} + +func (x *GroupTopic) GetTopic() string { + if x != nil && x.Topic != nil { + return *x.Topic + } + return "" +} + +func (x *GroupTopic) GetTopicID() string { + if x != nil && x.TopicID != nil { + return *x.TopicID + } + return "" +} + +func (x *GroupTopic) GetTopicSetAt() int64 { + if x != nil && x.TopicSetAt != nil { + return *x.TopicSetAt + } + return 0 +} + +func (x *GroupTopic) GetTopicSetBy() *JID { + if x != nil { + return x.TopicSetBy + } + return nil +} + +func (x *GroupTopic) GetTopicDeleted() bool { + if x != nil && x.TopicDeleted != nil { + return *x.TopicDeleted + } + return false +} + +type GroupLocked struct { + state protoimpl.MessageState `protogen:"open.v1"` + IsLocked *bool `protobuf:"varint,1,req,name=isLocked" json:"isLocked,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupLocked) Reset() { + *x = GroupLocked{} + mi := &file_Neonize_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupLocked) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupLocked) ProtoMessage() {} + +func (x *GroupLocked) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupLocked.ProtoReflect.Descriptor instead. +func (*GroupLocked) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{12} +} + +func (x *GroupLocked) GetIsLocked() bool { + if x != nil && x.IsLocked != nil { + return *x.IsLocked + } + return false +} + +type GroupAnnounce struct { + state protoimpl.MessageState `protogen:"open.v1"` + IsAnnounce *bool `protobuf:"varint,1,req,name=IsAnnounce" json:"IsAnnounce,omitempty"` + AnnounceVersionID *string `protobuf:"bytes,2,req,name=AnnounceVersionID" json:"AnnounceVersionID,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupAnnounce) Reset() { + *x = GroupAnnounce{} + mi := &file_Neonize_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupAnnounce) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupAnnounce) ProtoMessage() {} + +func (x *GroupAnnounce) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupAnnounce.ProtoReflect.Descriptor instead. +func (*GroupAnnounce) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{13} +} + +func (x *GroupAnnounce) GetIsAnnounce() bool { + if x != nil && x.IsAnnounce != nil { + return *x.IsAnnounce + } + return false +} + +func (x *GroupAnnounce) GetAnnounceVersionID() string { + if x != nil && x.AnnounceVersionID != nil { + return *x.AnnounceVersionID + } + return "" +} + +type GroupEphemeral struct { + state protoimpl.MessageState `protogen:"open.v1"` + IsEphemeral *bool `protobuf:"varint,1,req,name=IsEphemeral" json:"IsEphemeral,omitempty"` + DisappearingTimer *uint32 `protobuf:"varint,2,req,name=DisappearingTimer" json:"DisappearingTimer,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupEphemeral) Reset() { + *x = GroupEphemeral{} + mi := &file_Neonize_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupEphemeral) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupEphemeral) ProtoMessage() {} + +func (x *GroupEphemeral) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupEphemeral.ProtoReflect.Descriptor instead. +func (*GroupEphemeral) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{14} +} + +func (x *GroupEphemeral) GetIsEphemeral() bool { + if x != nil && x.IsEphemeral != nil { + return *x.IsEphemeral + } + return false +} + +func (x *GroupEphemeral) GetDisappearingTimer() uint32 { + if x != nil && x.DisappearingTimer != nil { + return *x.DisappearingTimer + } + return 0 +} + +type GroupIncognito struct { + state protoimpl.MessageState `protogen:"open.v1"` + IsIncognito *bool `protobuf:"varint,1,req,name=IsIncognito" json:"IsIncognito,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupIncognito) Reset() { + *x = GroupIncognito{} + mi := &file_Neonize_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupIncognito) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupIncognito) ProtoMessage() {} + +func (x *GroupIncognito) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupIncognito.ProtoReflect.Descriptor instead. +func (*GroupIncognito) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{15} +} + +func (x *GroupIncognito) GetIsIncognito() bool { + if x != nil && x.IsIncognito != nil { + return *x.IsIncognito + } + return false +} + +type GroupParent struct { + state protoimpl.MessageState `protogen:"open.v1"` + IsParent *bool `protobuf:"varint,1,req,name=IsParent" json:"IsParent,omitempty"` + DefaultMembershipApprovalMode *string `protobuf:"bytes,2,req,name=DefaultMembershipApprovalMode" json:"DefaultMembershipApprovalMode,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupParent) Reset() { + *x = GroupParent{} + mi := &file_Neonize_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupParent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupParent) ProtoMessage() {} + +func (x *GroupParent) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupParent.ProtoReflect.Descriptor instead. +func (*GroupParent) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{16} +} + +func (x *GroupParent) GetIsParent() bool { + if x != nil && x.IsParent != nil { + return *x.IsParent + } + return false +} + +func (x *GroupParent) GetDefaultMembershipApprovalMode() string { + if x != nil && x.DefaultMembershipApprovalMode != nil { + return *x.DefaultMembershipApprovalMode + } + return "" +} + +type GroupLinkedParent struct { + state protoimpl.MessageState `protogen:"open.v1"` + LinkedParentJID *JID `protobuf:"bytes,1,req,name=LinkedParentJID" json:"LinkedParentJID,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupLinkedParent) Reset() { + *x = GroupLinkedParent{} + mi := &file_Neonize_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupLinkedParent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupLinkedParent) ProtoMessage() {} + +func (x *GroupLinkedParent) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupLinkedParent.ProtoReflect.Descriptor instead. +func (*GroupLinkedParent) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{17} +} + +func (x *GroupLinkedParent) GetLinkedParentJID() *JID { + if x != nil { + return x.LinkedParentJID + } + return nil +} + +type GroupIsDefaultSub struct { + state protoimpl.MessageState `protogen:"open.v1"` + IsDefaultSubGroup *bool `protobuf:"varint,1,req,name=IsDefaultSubGroup" json:"IsDefaultSubGroup,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupIsDefaultSub) Reset() { + *x = GroupIsDefaultSub{} + mi := &file_Neonize_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupIsDefaultSub) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupIsDefaultSub) ProtoMessage() {} + +func (x *GroupIsDefaultSub) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupIsDefaultSub.ProtoReflect.Descriptor instead. +func (*GroupIsDefaultSub) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{18} +} + +func (x *GroupIsDefaultSub) GetIsDefaultSubGroup() bool { + if x != nil && x.IsDefaultSubGroup != nil { + return *x.IsDefaultSubGroup + } + return false +} + +type GroupParticipantAddRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Code *string `protobuf:"bytes,1,req,name=Code" json:"Code,omitempty"` + Expiration *float32 `protobuf:"fixed32,2,req,name=Expiration" json:"Expiration,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupParticipantAddRequest) Reset() { + *x = GroupParticipantAddRequest{} + mi := &file_Neonize_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupParticipantAddRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupParticipantAddRequest) ProtoMessage() {} + +func (x *GroupParticipantAddRequest) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupParticipantAddRequest.ProtoReflect.Descriptor instead. +func (*GroupParticipantAddRequest) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{19} +} + +func (x *GroupParticipantAddRequest) GetCode() string { + if x != nil && x.Code != nil { + return *x.Code + } + return "" +} + +func (x *GroupParticipantAddRequest) GetExpiration() float32 { + if x != nil && x.Expiration != nil { + return *x.Expiration + } + return 0 +} + +type GroupParticipant struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,opt,name=JID" json:"JID,omitempty"` + LID *JID `protobuf:"bytes,2,req,name=LID" json:"LID,omitempty"` + PhoneNumber *JID `protobuf:"bytes,3,req,name=PhoneNumber" json:"PhoneNumber,omitempty"` + IsAdmin *bool `protobuf:"varint,4,req,name=IsAdmin" json:"IsAdmin,omitempty"` + IsSuperAdmin *bool `protobuf:"varint,5,req,name=IsSuperAdmin" json:"IsSuperAdmin,omitempty"` + DisplayName *string `protobuf:"bytes,6,req,name=DisplayName" json:"DisplayName,omitempty"` + Error *int32 `protobuf:"varint,7,req,name=Error" json:"Error,omitempty"` + AddRequest *GroupParticipantAddRequest `protobuf:"bytes,8,opt,name=AddRequest" json:"AddRequest,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupParticipant) Reset() { + *x = GroupParticipant{} + mi := &file_Neonize_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupParticipant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupParticipant) ProtoMessage() {} + +func (x *GroupParticipant) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupParticipant.ProtoReflect.Descriptor instead. +func (*GroupParticipant) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{20} +} + +func (x *GroupParticipant) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *GroupParticipant) GetLID() *JID { + if x != nil { + return x.LID + } + return nil +} + +func (x *GroupParticipant) GetPhoneNumber() *JID { + if x != nil { + return x.PhoneNumber + } + return nil +} + +func (x *GroupParticipant) GetIsAdmin() bool { + if x != nil && x.IsAdmin != nil { + return *x.IsAdmin + } + return false +} + +func (x *GroupParticipant) GetIsSuperAdmin() bool { + if x != nil && x.IsSuperAdmin != nil { + return *x.IsSuperAdmin + } + return false +} + +func (x *GroupParticipant) GetDisplayName() string { + if x != nil && x.DisplayName != nil { + return *x.DisplayName + } + return "" +} + +func (x *GroupParticipant) GetError() int32 { + if x != nil && x.Error != nil { + return *x.Error + } + return 0 +} + +func (x *GroupParticipant) GetAddRequest() *GroupParticipantAddRequest { + if x != nil { + return x.AddRequest + } + return nil +} + +type GroupInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + OwnerJID *JID `protobuf:"bytes,2,req,name=OwnerJID" json:"OwnerJID,omitempty"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + OwnerPN *JID `protobuf:"bytes,3,req,name=OwnerPN" json:"OwnerPN,omitempty"` + GroupName *GroupName `protobuf:"bytes,4,req,name=GroupName" json:"GroupName,omitempty"` + GroupTopic *GroupTopic `protobuf:"bytes,5,req,name=GroupTopic" json:"GroupTopic,omitempty"` + GroupLocked *GroupLocked `protobuf:"bytes,6,req,name=GroupLocked" json:"GroupLocked,omitempty"` + GroupAnnounce *GroupAnnounce `protobuf:"bytes,7,req,name=GroupAnnounce" json:"GroupAnnounce,omitempty"` + GroupEphemeral *GroupEphemeral `protobuf:"bytes,8,req,name=GroupEphemeral" json:"GroupEphemeral,omitempty"` + GroupIncognito *GroupIncognito `protobuf:"bytes,9,req,name=GroupIncognito" json:"GroupIncognito,omitempty"` + GroupParent *GroupParent `protobuf:"bytes,10,req,name=GroupParent" json:"GroupParent,omitempty"` + GroupLinkedParent *GroupLinkedParent `protobuf:"bytes,11,req,name=GroupLinkedParent" json:"GroupLinkedParent,omitempty"` + GroupIsDefaultSub *GroupIsDefaultSub `protobuf:"bytes,12,req,name=GroupIsDefaultSub" json:"GroupIsDefaultSub,omitempty"` + GroupCreated *float32 `protobuf:"fixed32,13,req,name=GroupCreated" json:"GroupCreated,omitempty"` + ParticipantVersionID *string `protobuf:"bytes,14,req,name=ParticipantVersionID" json:"ParticipantVersionID,omitempty"` + Participants []*GroupParticipant `protobuf:"bytes,15,rep,name=Participants" json:"Participants,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupInfo) Reset() { + *x = GroupInfo{} + mi := &file_Neonize_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupInfo) ProtoMessage() {} + +func (x *GroupInfo) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupInfo.ProtoReflect.Descriptor instead. +func (*GroupInfo) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{21} +} + +func (x *GroupInfo) GetOwnerJID() *JID { + if x != nil { + return x.OwnerJID + } + return nil +} + +func (x *GroupInfo) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *GroupInfo) GetOwnerPN() *JID { + if x != nil { + return x.OwnerPN + } + return nil +} + +func (x *GroupInfo) GetGroupName() *GroupName { + if x != nil { + return x.GroupName + } + return nil +} + +func (x *GroupInfo) GetGroupTopic() *GroupTopic { + if x != nil { + return x.GroupTopic + } + return nil +} + +func (x *GroupInfo) GetGroupLocked() *GroupLocked { + if x != nil { + return x.GroupLocked + } + return nil +} + +func (x *GroupInfo) GetGroupAnnounce() *GroupAnnounce { + if x != nil { + return x.GroupAnnounce + } + return nil +} + +func (x *GroupInfo) GetGroupEphemeral() *GroupEphemeral { + if x != nil { + return x.GroupEphemeral + } + return nil +} + +func (x *GroupInfo) GetGroupIncognito() *GroupIncognito { + if x != nil { + return x.GroupIncognito + } + return nil +} + +func (x *GroupInfo) GetGroupParent() *GroupParent { + if x != nil { + return x.GroupParent + } + return nil +} + +func (x *GroupInfo) GetGroupLinkedParent() *GroupLinkedParent { + if x != nil { + return x.GroupLinkedParent + } + return nil +} + +func (x *GroupInfo) GetGroupIsDefaultSub() *GroupIsDefaultSub { + if x != nil { + return x.GroupIsDefaultSub + } + return nil +} + +func (x *GroupInfo) GetGroupCreated() float32 { + if x != nil && x.GroupCreated != nil { + return *x.GroupCreated + } + return 0 +} + +func (x *GroupInfo) GetParticipantVersionID() string { + if x != nil && x.ParticipantVersionID != nil { + return *x.ParticipantVersionID + } + return "" +} + +func (x *GroupInfo) GetParticipants() []*GroupParticipant { + if x != nil { + return x.Participants + } + return nil +} + +type MessageDebugTimings struct { + state protoimpl.MessageState `protogen:"open.v1"` + Queue *int64 `protobuf:"varint,1,req,name=Queue" json:"Queue,omitempty"` + Marshal_ *int64 `protobuf:"varint,2,req,name=Marshal" json:"Marshal,omitempty"` + GetParticipants *int64 `protobuf:"varint,3,req,name=GetParticipants" json:"GetParticipants,omitempty"` + GetDevices *int64 `protobuf:"varint,4,req,name=GetDevices" json:"GetDevices,omitempty"` + GroupEncrypt *int64 `protobuf:"varint,5,req,name=GroupEncrypt" json:"GroupEncrypt,omitempty"` + PeerEncrypt *int64 `protobuf:"varint,6,req,name=PeerEncrypt" json:"PeerEncrypt,omitempty"` + Send *int64 `protobuf:"varint,7,req,name=Send" json:"Send,omitempty"` + Resp *int64 `protobuf:"varint,8,req,name=Resp" json:"Resp,omitempty"` + Retry *int64 `protobuf:"varint,9,req,name=Retry" json:"Retry,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MessageDebugTimings) Reset() { + *x = MessageDebugTimings{} + mi := &file_Neonize_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MessageDebugTimings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageDebugTimings) ProtoMessage() {} + +func (x *MessageDebugTimings) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MessageDebugTimings.ProtoReflect.Descriptor instead. +func (*MessageDebugTimings) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{22} +} + +func (x *MessageDebugTimings) GetQueue() int64 { + if x != nil && x.Queue != nil { + return *x.Queue + } + return 0 +} + +func (x *MessageDebugTimings) GetMarshal_() int64 { + if x != nil && x.Marshal_ != nil { + return *x.Marshal_ + } + return 0 +} + +func (x *MessageDebugTimings) GetGetParticipants() int64 { + if x != nil && x.GetParticipants != nil { + return *x.GetParticipants + } + return 0 +} + +func (x *MessageDebugTimings) GetGetDevices() int64 { + if x != nil && x.GetDevices != nil { + return *x.GetDevices + } + return 0 +} + +func (x *MessageDebugTimings) GetGroupEncrypt() int64 { + if x != nil && x.GroupEncrypt != nil { + return *x.GroupEncrypt + } + return 0 +} + +func (x *MessageDebugTimings) GetPeerEncrypt() int64 { + if x != nil && x.PeerEncrypt != nil { + return *x.PeerEncrypt + } + return 0 +} + +func (x *MessageDebugTimings) GetSend() int64 { + if x != nil && x.Send != nil { + return *x.Send + } + return 0 +} + +func (x *MessageDebugTimings) GetResp() int64 { + if x != nil && x.Resp != nil { + return *x.Resp + } + return 0 +} + +func (x *MessageDebugTimings) GetRetry() int64 { + if x != nil && x.Retry != nil { + return *x.Retry + } + return 0 +} + +type SendResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Timestamp *int64 `protobuf:"varint,1,req,name=Timestamp" json:"Timestamp,omitempty"` + ID *string `protobuf:"bytes,2,req,name=ID" json:"ID,omitempty"` + ServerID *int64 `protobuf:"varint,3,req,name=ServerID" json:"ServerID,omitempty"` + DebugTimings *MessageDebugTimings `protobuf:"bytes,4,req,name=DebugTimings" json:"DebugTimings,omitempty"` + Message *waE2E.Message `protobuf:"bytes,5,opt,name=Message" json:"Message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SendResponse) Reset() { + *x = SendResponse{} + mi := &file_Neonize_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SendResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendResponse) ProtoMessage() {} + +func (x *SendResponse) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendResponse.ProtoReflect.Descriptor instead. +func (*SendResponse) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{23} +} + +func (x *SendResponse) GetTimestamp() int64 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *SendResponse) GetID() string { + if x != nil && x.ID != nil { + return *x.ID + } + return "" +} + +func (x *SendResponse) GetServerID() int64 { + if x != nil && x.ServerID != nil { + return *x.ServerID + } + return 0 +} + +func (x *SendResponse) GetDebugTimings() *MessageDebugTimings { + if x != nil { + return x.DebugTimings + } + return nil +} + +func (x *SendResponse) GetMessage() *waE2E.Message { + if x != nil { + return x.Message + } + return nil +} + +type SendMessageReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Error *string `protobuf:"bytes,1,opt,name=Error" json:"Error,omitempty"` + SendResponse *SendResponse `protobuf:"bytes,2,opt,name=SendResponse" json:"SendResponse,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SendMessageReturnFunction) Reset() { + *x = SendMessageReturnFunction{} + mi := &file_Neonize_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SendMessageReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendMessageReturnFunction) ProtoMessage() {} + +func (x *SendMessageReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendMessageReturnFunction.ProtoReflect.Descriptor instead. +func (*SendMessageReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{24} +} + +func (x *SendMessageReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *SendMessageReturnFunction) GetSendResponse() *SendResponse { + if x != nil { + return x.SendResponse + } + return nil +} + +// Function +type GetGroupInfoReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupInfo *GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo" json:"GroupInfo,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetGroupInfoReturnFunction) Reset() { + *x = GetGroupInfoReturnFunction{} + mi := &file_Neonize_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetGroupInfoReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGroupInfoReturnFunction) ProtoMessage() {} + +func (x *GetGroupInfoReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetGroupInfoReturnFunction.ProtoReflect.Descriptor instead. +func (*GetGroupInfoReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{25} +} + +func (x *GetGroupInfoReturnFunction) GetGroupInfo() *GroupInfo { + if x != nil { + return x.GroupInfo + } + return nil +} + +func (x *GetGroupInfoReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type JoinGroupWithLinkReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Error *string `protobuf:"bytes,1,opt,name=Error" json:"Error,omitempty"` + Jid *JID `protobuf:"bytes,2,opt,name=Jid" json:"Jid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *JoinGroupWithLinkReturnFunction) Reset() { + *x = JoinGroupWithLinkReturnFunction{} + mi := &file_Neonize_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *JoinGroupWithLinkReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JoinGroupWithLinkReturnFunction) ProtoMessage() {} + +func (x *JoinGroupWithLinkReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JoinGroupWithLinkReturnFunction.ProtoReflect.Descriptor instead. +func (*JoinGroupWithLinkReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{26} +} + +func (x *JoinGroupWithLinkReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *JoinGroupWithLinkReturnFunction) GetJid() *JID { + if x != nil { + return x.Jid + } + return nil +} + +type GetJIDFromStoreReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Error *string `protobuf:"bytes,1,opt,name=Error" json:"Error,omitempty"` + Jid *JID `protobuf:"bytes,2,opt,name=Jid" json:"Jid,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetJIDFromStoreReturnFunction) Reset() { + *x = GetJIDFromStoreReturnFunction{} + mi := &file_Neonize_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetJIDFromStoreReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetJIDFromStoreReturnFunction) ProtoMessage() {} + +func (x *GetJIDFromStoreReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetJIDFromStoreReturnFunction.ProtoReflect.Descriptor instead. +func (*GetJIDFromStoreReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{27} +} + +func (x *GetJIDFromStoreReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *GetJIDFromStoreReturnFunction) GetJid() *JID { + if x != nil { + return x.Jid + } + return nil +} + +type GetGroupInviteLinkReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + InviteLink *string `protobuf:"bytes,1,opt,name=InviteLink" json:"InviteLink,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetGroupInviteLinkReturnFunction) Reset() { + *x = GetGroupInviteLinkReturnFunction{} + mi := &file_Neonize_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetGroupInviteLinkReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGroupInviteLinkReturnFunction) ProtoMessage() {} + +func (x *GetGroupInviteLinkReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetGroupInviteLinkReturnFunction.ProtoReflect.Descriptor instead. +func (*GetGroupInviteLinkReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{28} +} + +func (x *GetGroupInviteLinkReturnFunction) GetInviteLink() string { + if x != nil && x.InviteLink != nil { + return *x.InviteLink + } + return "" +} + +func (x *GetGroupInviteLinkReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type DownloadReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Binary []byte `protobuf:"bytes,1,opt,name=Binary" json:"Binary,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DownloadReturnFunction) Reset() { + *x = DownloadReturnFunction{} + mi := &file_Neonize_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DownloadReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DownloadReturnFunction) ProtoMessage() {} + +func (x *DownloadReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DownloadReturnFunction.ProtoReflect.Descriptor instead. +func (*DownloadReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{29} +} + +func (x *DownloadReturnFunction) GetBinary() []byte { + if x != nil { + return x.Binary + } + return nil +} + +func (x *DownloadReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type UploadReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + UploadResponse *UploadResponse `protobuf:"bytes,1,opt,name=UploadResponse" json:"UploadResponse,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UploadReturnFunction) Reset() { + *x = UploadReturnFunction{} + mi := &file_Neonize_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UploadReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadReturnFunction) ProtoMessage() {} + +func (x *UploadReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadReturnFunction.ProtoReflect.Descriptor instead. +func (*UploadReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{30} +} + +func (x *UploadReturnFunction) GetUploadResponse() *UploadResponse { + if x != nil { + return x.UploadResponse + } + return nil +} + +func (x *UploadReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type SetGroupPhotoReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + PictureID *string `protobuf:"bytes,1,req,name=PictureID" json:"PictureID,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetGroupPhotoReturnFunction) Reset() { + *x = SetGroupPhotoReturnFunction{} + mi := &file_Neonize_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetGroupPhotoReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetGroupPhotoReturnFunction) ProtoMessage() {} + +func (x *SetGroupPhotoReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetGroupPhotoReturnFunction.ProtoReflect.Descriptor instead. +func (*SetGroupPhotoReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{31} +} + +func (x *SetGroupPhotoReturnFunction) GetPictureID() string { + if x != nil && x.PictureID != nil { + return *x.PictureID + } + return "" +} + +func (x *SetGroupPhotoReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type IsOnWhatsAppReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + IsOnWhatsAppResponse []*IsOnWhatsAppResponse `protobuf:"bytes,1,rep,name=IsOnWhatsAppResponse" json:"IsOnWhatsAppResponse,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IsOnWhatsAppReturnFunction) Reset() { + *x = IsOnWhatsAppReturnFunction{} + mi := &file_Neonize_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IsOnWhatsAppReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IsOnWhatsAppReturnFunction) ProtoMessage() {} + +func (x *IsOnWhatsAppReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IsOnWhatsAppReturnFunction.ProtoReflect.Descriptor instead. +func (*IsOnWhatsAppReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{32} +} + +func (x *IsOnWhatsAppReturnFunction) GetIsOnWhatsAppResponse() []*IsOnWhatsAppResponse { + if x != nil { + return x.IsOnWhatsAppResponse + } + return nil +} + +func (x *IsOnWhatsAppReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type GetUserInfoSingleReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,opt,name=JID" json:"JID,omitempty"` + UserInfo *UserInfo `protobuf:"bytes,2,opt,name=UserInfo" json:"UserInfo,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUserInfoSingleReturnFunction) Reset() { + *x = GetUserInfoSingleReturnFunction{} + mi := &file_Neonize_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUserInfoSingleReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserInfoSingleReturnFunction) ProtoMessage() {} + +func (x *GetUserInfoSingleReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserInfoSingleReturnFunction.ProtoReflect.Descriptor instead. +func (*GetUserInfoSingleReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{33} +} + +func (x *GetUserInfoSingleReturnFunction) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *GetUserInfoSingleReturnFunction) GetUserInfo() *UserInfo { + if x != nil { + return x.UserInfo + } + return nil +} + +type GetUserInfoReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + UsersInfo []*GetUserInfoSingleReturnFunction `protobuf:"bytes,1,rep,name=UsersInfo" json:"UsersInfo,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUserInfoReturnFunction) Reset() { + *x = GetUserInfoReturnFunction{} + mi := &file_Neonize_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUserInfoReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserInfoReturnFunction) ProtoMessage() {} + +func (x *GetUserInfoReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserInfoReturnFunction.ProtoReflect.Descriptor instead. +func (*GetUserInfoReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{34} +} + +func (x *GetUserInfoReturnFunction) GetUsersInfo() []*GetUserInfoSingleReturnFunction { + if x != nil { + return x.UsersInfo + } + return nil +} + +func (x *GetUserInfoReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type BuildPollVoteReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + PollVote *waE2E.Message `protobuf:"bytes,1,opt,name=PollVote" json:"PollVote,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BuildPollVoteReturnFunction) Reset() { + *x = BuildPollVoteReturnFunction{} + mi := &file_Neonize_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BuildPollVoteReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildPollVoteReturnFunction) ProtoMessage() {} + +func (x *BuildPollVoteReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildPollVoteReturnFunction.ProtoReflect.Descriptor instead. +func (*BuildPollVoteReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{35} +} + +func (x *BuildPollVoteReturnFunction) GetPollVote() *waE2E.Message { + if x != nil { + return x.PollVote + } + return nil +} + +func (x *BuildPollVoteReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type CreateNewsLetterReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + NewsletterMetadata *NewsletterMetadata `protobuf:"bytes,1,opt,name=NewsletterMetadata" json:"NewsletterMetadata,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateNewsLetterReturnFunction) Reset() { + *x = CreateNewsLetterReturnFunction{} + mi := &file_Neonize_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateNewsLetterReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNewsLetterReturnFunction) ProtoMessage() {} + +func (x *CreateNewsLetterReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNewsLetterReturnFunction.ProtoReflect.Descriptor instead. +func (*CreateNewsLetterReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{36} +} + +func (x *CreateNewsLetterReturnFunction) GetNewsletterMetadata() *NewsletterMetadata { + if x != nil { + return x.NewsletterMetadata + } + return nil +} + +func (x *CreateNewsLetterReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type GetBlocklistReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Blocklist *Blocklist `protobuf:"bytes,1,opt,name=Blocklist" json:"Blocklist,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetBlocklistReturnFunction) Reset() { + *x = GetBlocklistReturnFunction{} + mi := &file_Neonize_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetBlocklistReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetBlocklistReturnFunction) ProtoMessage() {} + +func (x *GetBlocklistReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetBlocklistReturnFunction.ProtoReflect.Descriptor instead. +func (*GetBlocklistReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{37} +} + +func (x *GetBlocklistReturnFunction) GetBlocklist() *Blocklist { + if x != nil { + return x.Blocklist + } + return nil +} + +func (x *GetBlocklistReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type GetContactQRLinkReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Link *string `protobuf:"bytes,1,req,name=Link" json:"Link,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetContactQRLinkReturnFunction) Reset() { + *x = GetContactQRLinkReturnFunction{} + mi := &file_Neonize_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetContactQRLinkReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetContactQRLinkReturnFunction) ProtoMessage() {} + +func (x *GetContactQRLinkReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetContactQRLinkReturnFunction.ProtoReflect.Descriptor instead. +func (*GetContactQRLinkReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{38} +} + +func (x *GetContactQRLinkReturnFunction) GetLink() string { + if x != nil && x.Link != nil { + return *x.Link + } + return "" +} + +func (x *GetContactQRLinkReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type GroupParticipantRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Participant *JID `protobuf:"bytes,1,opt,name=Participant" json:"Participant,omitempty"` + TimeAt *uint64 `protobuf:"varint,2,opt,name=TimeAt" json:"TimeAt,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupParticipantRequest) Reset() { + *x = GroupParticipantRequest{} + mi := &file_Neonize_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupParticipantRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupParticipantRequest) ProtoMessage() {} + +func (x *GroupParticipantRequest) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupParticipantRequest.ProtoReflect.Descriptor instead. +func (*GroupParticipantRequest) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{39} +} + +func (x *GroupParticipantRequest) GetParticipant() *JID { + if x != nil { + return x.Participant + } + return nil +} + +func (x *GroupParticipantRequest) GetTimeAt() uint64 { + if x != nil && x.TimeAt != nil { + return *x.TimeAt + } + return 0 +} + +type GetGroupRequestParticipantsReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Participants []*GroupParticipantRequest `protobuf:"bytes,1,rep,name=Participants" json:"Participants,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetGroupRequestParticipantsReturnFunction) Reset() { + *x = GetGroupRequestParticipantsReturnFunction{} + mi := &file_Neonize_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetGroupRequestParticipantsReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetGroupRequestParticipantsReturnFunction) ProtoMessage() {} + +func (x *GetGroupRequestParticipantsReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetGroupRequestParticipantsReturnFunction.ProtoReflect.Descriptor instead. +func (*GetGroupRequestParticipantsReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{40} +} + +func (x *GetGroupRequestParticipantsReturnFunction) GetParticipants() []*GroupParticipantRequest { + if x != nil { + return x.Participants + } + return nil +} + +func (x *GetGroupRequestParticipantsReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type GetJoinedGroupsReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Group []*GroupInfo `protobuf:"bytes,1,rep,name=Group" json:"Group,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetJoinedGroupsReturnFunction) Reset() { + *x = GetJoinedGroupsReturnFunction{} + mi := &file_Neonize_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetJoinedGroupsReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetJoinedGroupsReturnFunction) ProtoMessage() {} + +func (x *GetJoinedGroupsReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetJoinedGroupsReturnFunction.ProtoReflect.Descriptor instead. +func (*GetJoinedGroupsReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{41} +} + +func (x *GetJoinedGroupsReturnFunction) GetGroup() []*GroupInfo { + if x != nil { + return x.Group + } + return nil +} + +func (x *GetJoinedGroupsReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type ReqCreateGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + Participants []*JID `protobuf:"bytes,2,rep,name=Participants" json:"Participants,omitempty"` + CreateKey *string `protobuf:"bytes,3,req,name=CreateKey" json:"CreateKey,omitempty"` + GroupParent *GroupParent `protobuf:"bytes,4,opt,name=GroupParent" json:"GroupParent,omitempty"` + GroupLinkedParent *GroupLinkedParent `protobuf:"bytes,5,opt,name=GroupLinkedParent" json:"GroupLinkedParent,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReqCreateGroup) Reset() { + *x = ReqCreateGroup{} + mi := &file_Neonize_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReqCreateGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqCreateGroup) ProtoMessage() {} + +func (x *ReqCreateGroup) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReqCreateGroup.ProtoReflect.Descriptor instead. +func (*ReqCreateGroup) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{42} +} + +func (x *ReqCreateGroup) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *ReqCreateGroup) GetParticipants() []*JID { + if x != nil { + return x.Participants + } + return nil +} + +func (x *ReqCreateGroup) GetCreateKey() string { + if x != nil && x.CreateKey != nil { + return *x.CreateKey + } + return "" +} + +func (x *ReqCreateGroup) GetGroupParent() *GroupParent { + if x != nil { + return x.GroupParent + } + return nil +} + +func (x *ReqCreateGroup) GetGroupLinkedParent() *GroupLinkedParent { + if x != nil { + return x.GroupLinkedParent + } + return nil +} + +type JIDArray struct { + state protoimpl.MessageState `protogen:"open.v1"` + JIDS []*JID `protobuf:"bytes,1,rep,name=JIDS" json:"JIDS,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *JIDArray) Reset() { + *x = JIDArray{} + mi := &file_Neonize_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *JIDArray) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JIDArray) ProtoMessage() {} + +func (x *JIDArray) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JIDArray.ProtoReflect.Descriptor instead. +func (*JIDArray) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{43} +} + +func (x *JIDArray) GetJIDS() []*JID { + if x != nil { + return x.JIDS + } + return nil +} + +type ArrayString struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data []string `protobuf:"bytes,1,rep,name=data" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ArrayString) Reset() { + *x = ArrayString{} + mi := &file_Neonize_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ArrayString) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArrayString) ProtoMessage() {} + +func (x *ArrayString) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArrayString.ProtoReflect.Descriptor instead. +func (*ArrayString) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{44} +} + +func (x *ArrayString) GetData() []string { + if x != nil { + return x.Data + } + return nil +} + +type NewsLetterMessageMeta struct { + state protoimpl.MessageState `protogen:"open.v1"` + EditTS *int64 `protobuf:"varint,1,req,name=EditTS" json:"EditTS,omitempty"` + OriginalTS *int64 `protobuf:"varint,2,req,name=OriginalTS" json:"OriginalTS,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsLetterMessageMeta) Reset() { + *x = NewsLetterMessageMeta{} + mi := &file_Neonize_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsLetterMessageMeta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsLetterMessageMeta) ProtoMessage() {} + +func (x *NewsLetterMessageMeta) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsLetterMessageMeta.ProtoReflect.Descriptor instead. +func (*NewsLetterMessageMeta) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{45} +} + +func (x *NewsLetterMessageMeta) GetEditTS() int64 { + if x != nil && x.EditTS != nil { + return *x.EditTS + } + return 0 +} + +func (x *NewsLetterMessageMeta) GetOriginalTS() int64 { + if x != nil && x.OriginalTS != nil { + return *x.OriginalTS + } + return 0 +} + +type GroupDelete struct { + state protoimpl.MessageState `protogen:"open.v1"` + Deleted *bool `protobuf:"varint,1,req,name=Deleted" json:"Deleted,omitempty"` + DeletedReason *string `protobuf:"bytes,2,req,name=DeletedReason" json:"DeletedReason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupDelete) Reset() { + *x = GroupDelete{} + mi := &file_Neonize_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupDelete) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupDelete) ProtoMessage() {} + +func (x *GroupDelete) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupDelete.ProtoReflect.Descriptor instead. +func (*GroupDelete) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{46} +} + +func (x *GroupDelete) GetDeleted() bool { + if x != nil && x.Deleted != nil { + return *x.Deleted + } + return false +} + +func (x *GroupDelete) GetDeletedReason() string { + if x != nil && x.DeletedReason != nil { + return *x.DeletedReason + } + return "" +} + +type Message struct { + state protoimpl.MessageState `protogen:"open.v1"` + Info *MessageInfo `protobuf:"bytes,1,req,name=Info" json:"Info,omitempty"` + Message *waE2E.Message `protobuf:"bytes,2,opt,name=Message" json:"Message,omitempty"` + IsEphemeral *bool `protobuf:"varint,3,req,name=IsEphemeral" json:"IsEphemeral,omitempty"` + IsViewOnce *bool `protobuf:"varint,4,req,name=IsViewOnce" json:"IsViewOnce,omitempty"` + IsViewOnceV2 *bool `protobuf:"varint,5,req,name=IsViewOnceV2" json:"IsViewOnceV2,omitempty"` + IsViewOnceV2Extension *bool `protobuf:"varint,6,req,name=IsViewOnceV2Extension" json:"IsViewOnceV2Extension,omitempty"` + IsDocumentWithCaption *bool `protobuf:"varint,7,req,name=IsDocumentWithCaption" json:"IsDocumentWithCaption,omitempty"` + IsLottieSticker *bool `protobuf:"varint,8,req,name=IsLottieSticker" json:"IsLottieSticker,omitempty"` + IsEdit *bool `protobuf:"varint,9,req,name=IsEdit" json:"IsEdit,omitempty"` + SourceWebMsg *waWeb.WebMessageInfo `protobuf:"bytes,10,opt,name=SourceWebMsg" json:"SourceWebMsg,omitempty"` + UnavailableRequestID *string `protobuf:"bytes,11,req,name=UnavailableRequestID" json:"UnavailableRequestID,omitempty"` + RetryCount *int64 `protobuf:"varint,12,req,name=RetryCount" json:"RetryCount,omitempty"` + NewsLetterMeta *NewsLetterMessageMeta `protobuf:"bytes,13,opt,name=NewsLetterMeta" json:"NewsLetterMeta,omitempty"` + Raw *waE2E.Message `protobuf:"bytes,14,opt,name=Raw" json:"Raw,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Message) Reset() { + *x = Message{} + mi := &file_Neonize_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Message) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Message) ProtoMessage() {} + +func (x *Message) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Message.ProtoReflect.Descriptor instead. +func (*Message) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{47} +} + +func (x *Message) GetInfo() *MessageInfo { + if x != nil { + return x.Info + } + return nil +} + +func (x *Message) GetMessage() *waE2E.Message { + if x != nil { + return x.Message + } + return nil +} + +func (x *Message) GetIsEphemeral() bool { + if x != nil && x.IsEphemeral != nil { + return *x.IsEphemeral + } + return false +} + +func (x *Message) GetIsViewOnce() bool { + if x != nil && x.IsViewOnce != nil { + return *x.IsViewOnce + } + return false +} + +func (x *Message) GetIsViewOnceV2() bool { + if x != nil && x.IsViewOnceV2 != nil { + return *x.IsViewOnceV2 + } + return false +} + +func (x *Message) GetIsViewOnceV2Extension() bool { + if x != nil && x.IsViewOnceV2Extension != nil { + return *x.IsViewOnceV2Extension + } + return false +} + +func (x *Message) GetIsDocumentWithCaption() bool { + if x != nil && x.IsDocumentWithCaption != nil { + return *x.IsDocumentWithCaption + } + return false +} + +func (x *Message) GetIsLottieSticker() bool { + if x != nil && x.IsLottieSticker != nil { + return *x.IsLottieSticker + } + return false +} + +func (x *Message) GetIsEdit() bool { + if x != nil && x.IsEdit != nil { + return *x.IsEdit + } + return false +} + +func (x *Message) GetSourceWebMsg() *waWeb.WebMessageInfo { + if x != nil { + return x.SourceWebMsg + } + return nil +} + +func (x *Message) GetUnavailableRequestID() string { + if x != nil && x.UnavailableRequestID != nil { + return *x.UnavailableRequestID + } + return "" +} + +func (x *Message) GetRetryCount() int64 { + if x != nil && x.RetryCount != nil { + return *x.RetryCount + } + return 0 +} + +func (x *Message) GetNewsLetterMeta() *NewsLetterMessageMeta { + if x != nil { + return x.NewsLetterMeta + } + return nil +} + +func (x *Message) GetRaw() *waE2E.Message { + if x != nil { + return x.Raw + } + return nil +} + +type CreateNewsletterParams struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name *string `protobuf:"bytes,1,req,name=Name" json:"Name,omitempty"` + Description *string `protobuf:"bytes,2,req,name=Description" json:"Description,omitempty"` + Picture []byte `protobuf:"bytes,3,req,name=Picture" json:"Picture,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateNewsletterParams) Reset() { + *x = CreateNewsletterParams{} + mi := &file_Neonize_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateNewsletterParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNewsletterParams) ProtoMessage() {} + +func (x *CreateNewsletterParams) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNewsletterParams.ProtoReflect.Descriptor instead. +func (*CreateNewsletterParams) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{48} +} + +func (x *CreateNewsletterParams) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *CreateNewsletterParams) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *CreateNewsletterParams) GetPicture() []byte { + if x != nil { + return x.Picture + } + return nil +} + +type WrappedNewsletterState struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type *WrappedNewsletterState_NewsletterState `protobuf:"varint,1,req,name=Type,enum=neonize.WrappedNewsletterState_NewsletterState" json:"Type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WrappedNewsletterState) Reset() { + *x = WrappedNewsletterState{} + mi := &file_Neonize_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WrappedNewsletterState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WrappedNewsletterState) ProtoMessage() {} + +func (x *WrappedNewsletterState) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WrappedNewsletterState.ProtoReflect.Descriptor instead. +func (*WrappedNewsletterState) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{49} +} + +func (x *WrappedNewsletterState) GetType() WrappedNewsletterState_NewsletterState { + if x != nil && x.Type != nil { + return *x.Type + } + return WrappedNewsletterState_ACTIVE +} + +type NewsletterText struct { + state protoimpl.MessageState `protogen:"open.v1"` + Text *string `protobuf:"bytes,1,req,name=Text" json:"Text,omitempty"` + ID *string `protobuf:"bytes,2,req,name=ID" json:"ID,omitempty"` + UpdateTime *int64 `protobuf:"varint,3,req,name=UpdateTime" json:"UpdateTime,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterText) Reset() { + *x = NewsletterText{} + mi := &file_Neonize_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterText) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterText) ProtoMessage() {} + +func (x *NewsletterText) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterText.ProtoReflect.Descriptor instead. +func (*NewsletterText) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{50} +} + +func (x *NewsletterText) GetText() string { + if x != nil && x.Text != nil { + return *x.Text + } + return "" +} + +func (x *NewsletterText) GetID() string { + if x != nil && x.ID != nil { + return *x.ID + } + return "" +} + +func (x *NewsletterText) GetUpdateTime() int64 { + if x != nil && x.UpdateTime != nil { + return *x.UpdateTime + } + return 0 +} + +type ProfilePictureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + URL *string `protobuf:"bytes,1,opt,name=URL" json:"URL,omitempty"` + ID *string `protobuf:"bytes,2,opt,name=ID" json:"ID,omitempty"` + Type *string `protobuf:"bytes,3,opt,name=Type" json:"Type,omitempty"` + DirectPath *string `protobuf:"bytes,4,opt,name=DirectPath" json:"DirectPath,omitempty"` + Hash []byte `protobuf:"bytes,5,opt,name=Hash" json:"Hash,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProfilePictureInfo) Reset() { + *x = ProfilePictureInfo{} + mi := &file_Neonize_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProfilePictureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProfilePictureInfo) ProtoMessage() {} + +func (x *ProfilePictureInfo) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProfilePictureInfo.ProtoReflect.Descriptor instead. +func (*ProfilePictureInfo) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{51} +} + +func (x *ProfilePictureInfo) GetURL() string { + if x != nil && x.URL != nil { + return *x.URL + } + return "" +} + +func (x *ProfilePictureInfo) GetID() string { + if x != nil && x.ID != nil { + return *x.ID + } + return "" +} + +func (x *ProfilePictureInfo) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *ProfilePictureInfo) GetDirectPath() string { + if x != nil && x.DirectPath != nil { + return *x.DirectPath + } + return "" +} + +func (x *ProfilePictureInfo) GetHash() []byte { + if x != nil { + return x.Hash + } + return nil +} + +type NewsletterReactionSettings struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value *NewsletterReactionSettings_NewsletterReactionsMode `protobuf:"varint,1,req,name=Value,enum=neonize.NewsletterReactionSettings_NewsletterReactionsMode" json:"Value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterReactionSettings) Reset() { + *x = NewsletterReactionSettings{} + mi := &file_Neonize_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterReactionSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterReactionSettings) ProtoMessage() {} + +func (x *NewsletterReactionSettings) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterReactionSettings.ProtoReflect.Descriptor instead. +func (*NewsletterReactionSettings) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{52} +} + +func (x *NewsletterReactionSettings) GetValue() NewsletterReactionSettings_NewsletterReactionsMode { + if x != nil && x.Value != nil { + return *x.Value + } + return NewsletterReactionSettings_ALL +} + +type NewsletterSetting struct { + state protoimpl.MessageState `protogen:"open.v1"` + ReactionCodes *NewsletterReactionSettings `protobuf:"bytes,1,req,name=ReactionCodes" json:"ReactionCodes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterSetting) Reset() { + *x = NewsletterSetting{} + mi := &file_Neonize_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterSetting) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterSetting) ProtoMessage() {} + +func (x *NewsletterSetting) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterSetting.ProtoReflect.Descriptor instead. +func (*NewsletterSetting) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{53} +} + +func (x *NewsletterSetting) GetReactionCodes() *NewsletterReactionSettings { + if x != nil { + return x.ReactionCodes + } + return nil +} + +type NewsletterThreadMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + CreationTime *int64 `protobuf:"varint,1,req,name=CreationTime" json:"CreationTime,omitempty"` + InviteCode *string `protobuf:"bytes,2,req,name=InviteCode" json:"InviteCode,omitempty"` + Name *NewsletterText `protobuf:"bytes,3,req,name=Name" json:"Name,omitempty"` + Description *NewsletterText `protobuf:"bytes,4,req,name=Description" json:"Description,omitempty"` + SubscriberCount *int64 `protobuf:"varint,5,req,name=SubscriberCount" json:"SubscriberCount,omitempty"` + VerificationState *NewsletterThreadMetadata_NewsletterVerificationState `protobuf:"varint,6,req,name=VerificationState,enum=neonize.NewsletterThreadMetadata_NewsletterVerificationState" json:"VerificationState,omitempty"` + Picture *ProfilePictureInfo `protobuf:"bytes,7,opt,name=Picture" json:"Picture,omitempty"` + Preview *ProfilePictureInfo `protobuf:"bytes,8,req,name=Preview" json:"Preview,omitempty"` + Settings *NewsletterSetting `protobuf:"bytes,9,req,name=Settings" json:"Settings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterThreadMetadata) Reset() { + *x = NewsletterThreadMetadata{} + mi := &file_Neonize_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterThreadMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterThreadMetadata) ProtoMessage() {} + +func (x *NewsletterThreadMetadata) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterThreadMetadata.ProtoReflect.Descriptor instead. +func (*NewsletterThreadMetadata) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{54} +} + +func (x *NewsletterThreadMetadata) GetCreationTime() int64 { + if x != nil && x.CreationTime != nil { + return *x.CreationTime + } + return 0 +} + +func (x *NewsletterThreadMetadata) GetInviteCode() string { + if x != nil && x.InviteCode != nil { + return *x.InviteCode + } + return "" +} + +func (x *NewsletterThreadMetadata) GetName() *NewsletterText { + if x != nil { + return x.Name + } + return nil +} + +func (x *NewsletterThreadMetadata) GetDescription() *NewsletterText { + if x != nil { + return x.Description + } + return nil +} + +func (x *NewsletterThreadMetadata) GetSubscriberCount() int64 { + if x != nil && x.SubscriberCount != nil { + return *x.SubscriberCount + } + return 0 +} + +func (x *NewsletterThreadMetadata) GetVerificationState() NewsletterThreadMetadata_NewsletterVerificationState { + if x != nil && x.VerificationState != nil { + return *x.VerificationState + } + return NewsletterThreadMetadata_VERIFIED +} + +func (x *NewsletterThreadMetadata) GetPicture() *ProfilePictureInfo { + if x != nil { + return x.Picture + } + return nil +} + +func (x *NewsletterThreadMetadata) GetPreview() *ProfilePictureInfo { + if x != nil { + return x.Preview + } + return nil +} + +func (x *NewsletterThreadMetadata) GetSettings() *NewsletterSetting { + if x != nil { + return x.Settings + } + return nil +} + +type NewsletterViewerMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + Mute *NewsletterMuteState `protobuf:"varint,1,req,name=Mute,enum=neonize.NewsletterMuteState" json:"Mute,omitempty"` + Role *NewsletterRole `protobuf:"varint,2,req,name=Role,enum=neonize.NewsletterRole" json:"Role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterViewerMetadata) Reset() { + *x = NewsletterViewerMetadata{} + mi := &file_Neonize_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterViewerMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterViewerMetadata) ProtoMessage() {} + +func (x *NewsletterViewerMetadata) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterViewerMetadata.ProtoReflect.Descriptor instead. +func (*NewsletterViewerMetadata) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{55} +} + +func (x *NewsletterViewerMetadata) GetMute() NewsletterMuteState { + if x != nil && x.Mute != nil { + return *x.Mute + } + return NewsletterMuteState_ON +} + +func (x *NewsletterViewerMetadata) GetRole() NewsletterRole { + if x != nil && x.Role != nil { + return *x.Role + } + return NewsletterRole_SUBSCRIBER +} + +type NewsletterMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + ID *JID `protobuf:"bytes,1,req,name=ID" json:"ID,omitempty"` + State *WrappedNewsletterState `protobuf:"bytes,2,req,name=State" json:"State,omitempty"` + ThreadMeta *NewsletterThreadMetadata `protobuf:"bytes,3,req,name=ThreadMeta" json:"ThreadMeta,omitempty"` + ViewerMeta *NewsletterViewerMetadata `protobuf:"bytes,4,opt,name=ViewerMeta" json:"ViewerMeta,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterMetadata) Reset() { + *x = NewsletterMetadata{} + mi := &file_Neonize_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterMetadata) ProtoMessage() {} + +func (x *NewsletterMetadata) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterMetadata.ProtoReflect.Descriptor instead. +func (*NewsletterMetadata) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{56} +} + +func (x *NewsletterMetadata) GetID() *JID { + if x != nil { + return x.ID + } + return nil +} + +func (x *NewsletterMetadata) GetState() *WrappedNewsletterState { + if x != nil { + return x.State + } + return nil +} + +func (x *NewsletterMetadata) GetThreadMeta() *NewsletterThreadMetadata { + if x != nil { + return x.ThreadMeta + } + return nil +} + +func (x *NewsletterMetadata) GetViewerMeta() *NewsletterViewerMetadata { + if x != nil { + return x.ViewerMeta + } + return nil +} + +type Blocklist struct { + state protoimpl.MessageState `protogen:"open.v1"` + DHash *string `protobuf:"bytes,1,req,name=DHash" json:"DHash,omitempty"` + JIDs []*JID `protobuf:"bytes,2,rep,name=JIDs" json:"JIDs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Blocklist) Reset() { + *x = Blocklist{} + mi := &file_Neonize_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Blocklist) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Blocklist) ProtoMessage() {} + +func (x *Blocklist) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Blocklist.ProtoReflect.Descriptor instead. +func (*Blocklist) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{57} +} + +func (x *Blocklist) GetDHash() string { + if x != nil && x.DHash != nil { + return *x.DHash + } + return "" +} + +func (x *Blocklist) GetJIDs() []*JID { + if x != nil { + return x.JIDs + } + return nil +} + +type Reaction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type *string `protobuf:"bytes,1,req,name=type" json:"type,omitempty"` + Count *int64 `protobuf:"varint,2,req,name=count" json:"count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Reaction) Reset() { + *x = Reaction{} + mi := &file_Neonize_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Reaction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Reaction) ProtoMessage() {} + +func (x *Reaction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Reaction.ProtoReflect.Descriptor instead. +func (*Reaction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{58} +} + +func (x *Reaction) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *Reaction) GetCount() int64 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +type NewsletterMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + MessageServerID *int64 `protobuf:"varint,1,req,name=MessageServerID" json:"MessageServerID,omitempty"` + ViewsCount *int64 `protobuf:"varint,2,req,name=ViewsCount" json:"ViewsCount,omitempty"` + ReactionCounts []*Reaction `protobuf:"bytes,3,rep,name=ReactionCounts" json:"ReactionCounts,omitempty"` + Message *waE2E.Message `protobuf:"bytes,4,req,name=Message" json:"Message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterMessage) Reset() { + *x = NewsletterMessage{} + mi := &file_Neonize_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterMessage) ProtoMessage() {} + +func (x *NewsletterMessage) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterMessage.ProtoReflect.Descriptor instead. +func (*NewsletterMessage) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{59} +} + +func (x *NewsletterMessage) GetMessageServerID() int64 { + if x != nil && x.MessageServerID != nil { + return *x.MessageServerID + } + return 0 +} + +func (x *NewsletterMessage) GetViewsCount() int64 { + if x != nil && x.ViewsCount != nil { + return *x.ViewsCount + } + return 0 +} + +func (x *NewsletterMessage) GetReactionCounts() []*Reaction { + if x != nil { + return x.ReactionCounts + } + return nil +} + +func (x *NewsletterMessage) GetMessage() *waE2E.Message { + if x != nil { + return x.Message + } + return nil +} + +type GetNewsletterMessageUpdateReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + NewsletterMessage []*NewsletterMessage `protobuf:"bytes,1,rep,name=NewsletterMessage" json:"NewsletterMessage,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNewsletterMessageUpdateReturnFunction) Reset() { + *x = GetNewsletterMessageUpdateReturnFunction{} + mi := &file_Neonize_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNewsletterMessageUpdateReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNewsletterMessageUpdateReturnFunction) ProtoMessage() {} + +func (x *GetNewsletterMessageUpdateReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNewsletterMessageUpdateReturnFunction.ProtoReflect.Descriptor instead. +func (*GetNewsletterMessageUpdateReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{60} +} + +func (x *GetNewsletterMessageUpdateReturnFunction) GetNewsletterMessage() []*NewsletterMessage { + if x != nil { + return x.NewsletterMessage + } + return nil +} + +func (x *GetNewsletterMessageUpdateReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type PrivacySettings struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupAdd *PrivacySettings_PrivacySetting `protobuf:"varint,1,req,name=GroupAdd,enum=neonize.PrivacySettings_PrivacySetting" json:"GroupAdd,omitempty"` + LastSeen *PrivacySettings_PrivacySetting `protobuf:"varint,2,req,name=LastSeen,enum=neonize.PrivacySettings_PrivacySetting" json:"LastSeen,omitempty"` + Status *PrivacySettings_PrivacySetting `protobuf:"varint,3,req,name=Status,enum=neonize.PrivacySettings_PrivacySetting" json:"Status,omitempty"` + Profile *PrivacySettings_PrivacySetting `protobuf:"varint,4,req,name=Profile,enum=neonize.PrivacySettings_PrivacySetting" json:"Profile,omitempty"` + ReadReceipts *PrivacySettings_PrivacySetting `protobuf:"varint,5,req,name=ReadReceipts,enum=neonize.PrivacySettings_PrivacySetting" json:"ReadReceipts,omitempty"` + CallAdd *PrivacySettings_PrivacySetting `protobuf:"varint,6,req,name=CallAdd,enum=neonize.PrivacySettings_PrivacySetting" json:"CallAdd,omitempty"` + Online *PrivacySettings_PrivacySetting `protobuf:"varint,7,req,name=Online,enum=neonize.PrivacySettings_PrivacySetting" json:"Online,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PrivacySettings) Reset() { + *x = PrivacySettings{} + mi := &file_Neonize_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PrivacySettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivacySettings) ProtoMessage() {} + +func (x *PrivacySettings) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[61] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrivacySettings.ProtoReflect.Descriptor instead. +func (*PrivacySettings) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{61} +} + +func (x *PrivacySettings) GetGroupAdd() PrivacySettings_PrivacySetting { + if x != nil && x.GroupAdd != nil { + return *x.GroupAdd + } + return PrivacySettings_UNDEFINED +} + +func (x *PrivacySettings) GetLastSeen() PrivacySettings_PrivacySetting { + if x != nil && x.LastSeen != nil { + return *x.LastSeen + } + return PrivacySettings_UNDEFINED +} + +func (x *PrivacySettings) GetStatus() PrivacySettings_PrivacySetting { + if x != nil && x.Status != nil { + return *x.Status + } + return PrivacySettings_UNDEFINED +} + +func (x *PrivacySettings) GetProfile() PrivacySettings_PrivacySetting { + if x != nil && x.Profile != nil { + return *x.Profile + } + return PrivacySettings_UNDEFINED +} + +func (x *PrivacySettings) GetReadReceipts() PrivacySettings_PrivacySetting { + if x != nil && x.ReadReceipts != nil { + return *x.ReadReceipts + } + return PrivacySettings_UNDEFINED +} + +func (x *PrivacySettings) GetCallAdd() PrivacySettings_PrivacySetting { + if x != nil && x.CallAdd != nil { + return *x.CallAdd + } + return PrivacySettings_UNDEFINED +} + +func (x *PrivacySettings) GetOnline() PrivacySettings_PrivacySetting { + if x != nil && x.Online != nil { + return *x.Online + } + return PrivacySettings_UNDEFINED +} + +type NodeAttrs struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` + // Types that are valid to be assigned to Value: + // + // *NodeAttrs_Boolean + // *NodeAttrs_Integer + // *NodeAttrs_Text + // *NodeAttrs_Jid + Value isNodeAttrs_Value `protobuf_oneof:"Value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeAttrs) Reset() { + *x = NodeAttrs{} + mi := &file_Neonize_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeAttrs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeAttrs) ProtoMessage() {} + +func (x *NodeAttrs) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeAttrs.ProtoReflect.Descriptor instead. +func (*NodeAttrs) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{62} +} + +func (x *NodeAttrs) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *NodeAttrs) GetValue() isNodeAttrs_Value { + if x != nil { + return x.Value + } + return nil +} + +func (x *NodeAttrs) GetBoolean() bool { + if x != nil { + if x, ok := x.Value.(*NodeAttrs_Boolean); ok { + return x.Boolean + } + } + return false +} + +func (x *NodeAttrs) GetInteger() int64 { + if x != nil { + if x, ok := x.Value.(*NodeAttrs_Integer); ok { + return x.Integer + } + } + return 0 +} + +func (x *NodeAttrs) GetText() string { + if x != nil { + if x, ok := x.Value.(*NodeAttrs_Text); ok { + return x.Text + } + } + return "" +} + +func (x *NodeAttrs) GetJid() *JID { + if x != nil { + if x, ok := x.Value.(*NodeAttrs_Jid); ok { + return x.Jid + } + } + return nil +} + +type isNodeAttrs_Value interface { + isNodeAttrs_Value() +} + +type NodeAttrs_Boolean struct { + Boolean bool `protobuf:"varint,2,opt,name=boolean,oneof"` +} + +type NodeAttrs_Integer struct { + Integer int64 `protobuf:"varint,3,opt,name=integer,oneof"` +} + +type NodeAttrs_Text struct { + Text string `protobuf:"bytes,4,opt,name=text,oneof"` +} + +type NodeAttrs_Jid struct { + Jid *JID `protobuf:"bytes,5,opt,name=jid,oneof"` +} + +func (*NodeAttrs_Boolean) isNodeAttrs_Value() {} + +func (*NodeAttrs_Integer) isNodeAttrs_Value() {} + +func (*NodeAttrs_Text) isNodeAttrs_Value() {} + +func (*NodeAttrs_Jid) isNodeAttrs_Value() {} + +type Node struct { + state protoimpl.MessageState `protogen:"open.v1"` + Tag *string `protobuf:"bytes,1,req,name=Tag" json:"Tag,omitempty"` + Attrs []*NodeAttrs `protobuf:"bytes,2,rep,name=Attrs" json:"Attrs,omitempty"` + Nodes []*Node `protobuf:"bytes,3,rep,name=Nodes" json:"Nodes,omitempty"` + Nil *bool `protobuf:"varint,4,opt,name=Nil,def=0" json:"Nil,omitempty"` + Bytes []byte `protobuf:"bytes,5,opt,name=Bytes" json:"Bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Default values for Node fields. +const ( + Default_Node_Nil = bool(false) +) + +func (x *Node) Reset() { + *x = Node{} + mi := &file_Neonize_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Node) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Node) ProtoMessage() {} + +func (x *Node) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[63] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Node.ProtoReflect.Descriptor instead. +func (*Node) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{63} +} + +func (x *Node) GetTag() string { + if x != nil && x.Tag != nil { + return *x.Tag + } + return "" +} + +func (x *Node) GetAttrs() []*NodeAttrs { + if x != nil { + return x.Attrs + } + return nil +} + +func (x *Node) GetNodes() []*Node { + if x != nil { + return x.Nodes + } + return nil +} + +func (x *Node) GetNil() bool { + if x != nil && x.Nil != nil { + return *x.Nil + } + return Default_Node_Nil +} + +func (x *Node) GetBytes() []byte { + if x != nil { + return x.Bytes + } + return nil +} + +type InfoQuery struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace *string `protobuf:"bytes,1,req,name=Namespace" json:"Namespace,omitempty"` + Type *string `protobuf:"bytes,2,req,name=Type" json:"Type,omitempty"` + To *string `protobuf:"bytes,3,req,name=To" json:"To,omitempty"` + Content []*Node `protobuf:"bytes,4,rep,name=Content" json:"Content,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InfoQuery) Reset() { + *x = InfoQuery{} + mi := &file_Neonize_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InfoQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InfoQuery) ProtoMessage() {} + +func (x *InfoQuery) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[64] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InfoQuery.ProtoReflect.Descriptor instead. +func (*InfoQuery) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{64} +} + +func (x *InfoQuery) GetNamespace() string { + if x != nil && x.Namespace != nil { + return *x.Namespace + } + return "" +} + +func (x *InfoQuery) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *InfoQuery) GetTo() string { + if x != nil && x.To != nil { + return *x.To + } + return "" +} + +func (x *InfoQuery) GetContent() []*Node { + if x != nil { + return x.Content + } + return nil +} + +type GetProfilePictureParams struct { + state protoimpl.MessageState `protogen:"open.v1"` + Preview *bool `protobuf:"varint,1,opt,name=Preview" json:"Preview,omitempty"` + ExistingID *string `protobuf:"bytes,2,opt,name=ExistingID" json:"ExistingID,omitempty"` + IsCommunity *bool `protobuf:"varint,3,opt,name=IsCommunity" json:"IsCommunity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetProfilePictureParams) Reset() { + *x = GetProfilePictureParams{} + mi := &file_Neonize_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetProfilePictureParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProfilePictureParams) ProtoMessage() {} + +func (x *GetProfilePictureParams) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[65] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProfilePictureParams.ProtoReflect.Descriptor instead. +func (*GetProfilePictureParams) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{65} +} + +func (x *GetProfilePictureParams) GetPreview() bool { + if x != nil && x.Preview != nil { + return *x.Preview + } + return false +} + +func (x *GetProfilePictureParams) GetExistingID() string { + if x != nil && x.ExistingID != nil { + return *x.ExistingID + } + return "" +} + +func (x *GetProfilePictureParams) GetIsCommunity() bool { + if x != nil && x.IsCommunity != nil { + return *x.IsCommunity + } + return false +} + +type GetProfilePictureReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Picture *ProfilePictureInfo `protobuf:"bytes,1,opt,name=Picture" json:"Picture,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetProfilePictureReturnFunction) Reset() { + *x = GetProfilePictureReturnFunction{} + mi := &file_Neonize_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetProfilePictureReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProfilePictureReturnFunction) ProtoMessage() {} + +func (x *GetProfilePictureReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[66] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProfilePictureReturnFunction.ProtoReflect.Descriptor instead. +func (*GetProfilePictureReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{66} +} + +func (x *GetProfilePictureReturnFunction) GetPicture() *ProfilePictureInfo { + if x != nil { + return x.Picture + } + return nil +} + +func (x *GetProfilePictureReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type StatusPrivacy struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type *StatusPrivacy_StatusPrivacyType `protobuf:"varint,1,req,name=Type,enum=neonize.StatusPrivacy_StatusPrivacyType" json:"Type,omitempty"` + List []*JID `protobuf:"bytes,2,rep,name=List" json:"List,omitempty"` + IsDefault *bool `protobuf:"varint,3,req,name=IsDefault" json:"IsDefault,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StatusPrivacy) Reset() { + *x = StatusPrivacy{} + mi := &file_Neonize_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StatusPrivacy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusPrivacy) ProtoMessage() {} + +func (x *StatusPrivacy) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[67] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatusPrivacy.ProtoReflect.Descriptor instead. +func (*StatusPrivacy) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{67} +} + +func (x *StatusPrivacy) GetType() StatusPrivacy_StatusPrivacyType { + if x != nil && x.Type != nil { + return *x.Type + } + return StatusPrivacy_CONTACTS +} + +func (x *StatusPrivacy) GetList() []*JID { + if x != nil { + return x.List + } + return nil +} + +func (x *StatusPrivacy) GetIsDefault() bool { + if x != nil && x.IsDefault != nil { + return *x.IsDefault + } + return false +} + +type GetStatusPrivacyReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + StatusPrivacy []*StatusPrivacy `protobuf:"bytes,1,rep,name=StatusPrivacy" json:"StatusPrivacy,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetStatusPrivacyReturnFunction) Reset() { + *x = GetStatusPrivacyReturnFunction{} + mi := &file_Neonize_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetStatusPrivacyReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStatusPrivacyReturnFunction) ProtoMessage() {} + +func (x *GetStatusPrivacyReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[68] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStatusPrivacyReturnFunction.ProtoReflect.Descriptor instead. +func (*GetStatusPrivacyReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{68} +} + +func (x *GetStatusPrivacyReturnFunction) GetStatusPrivacy() []*StatusPrivacy { + if x != nil { + return x.StatusPrivacy + } + return nil +} + +func (x *GetStatusPrivacyReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type GroupLinkTarget struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + GroupName *GroupName `protobuf:"bytes,2,req,name=GroupName" json:"GroupName,omitempty"` + GroupIsDefaultSub *GroupIsDefaultSub `protobuf:"bytes,3,req,name=GroupIsDefaultSub" json:"GroupIsDefaultSub,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupLinkTarget) Reset() { + *x = GroupLinkTarget{} + mi := &file_Neonize_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupLinkTarget) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupLinkTarget) ProtoMessage() {} + +func (x *GroupLinkTarget) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[69] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupLinkTarget.ProtoReflect.Descriptor instead. +func (*GroupLinkTarget) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{69} +} + +func (x *GroupLinkTarget) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *GroupLinkTarget) GetGroupName() *GroupName { + if x != nil { + return x.GroupName + } + return nil +} + +func (x *GroupLinkTarget) GetGroupIsDefaultSub() *GroupIsDefaultSub { + if x != nil { + return x.GroupIsDefaultSub + } + return nil +} + +type GroupLinkChange struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type *GroupLinkChange_ChangeType `protobuf:"varint,1,req,name=Type,enum=neonize.GroupLinkChange_ChangeType" json:"Type,omitempty"` + UnlinkReason *string `protobuf:"bytes,2,req,name=UnlinkReason" json:"UnlinkReason,omitempty"` + Group *GroupLinkTarget `protobuf:"bytes,3,req,name=Group" json:"Group,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupLinkChange) Reset() { + *x = GroupLinkChange{} + mi := &file_Neonize_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupLinkChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupLinkChange) ProtoMessage() {} + +func (x *GroupLinkChange) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[70] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupLinkChange.ProtoReflect.Descriptor instead. +func (*GroupLinkChange) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{70} +} + +func (x *GroupLinkChange) GetType() GroupLinkChange_ChangeType { + if x != nil && x.Type != nil { + return *x.Type + } + return GroupLinkChange_PARENT +} + +func (x *GroupLinkChange) GetUnlinkReason() string { + if x != nil && x.UnlinkReason != nil { + return *x.UnlinkReason + } + return "" +} + +func (x *GroupLinkChange) GetGroup() *GroupLinkTarget { + if x != nil { + return x.Group + } + return nil +} + +type GetSubGroupsReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupLinkTarget []*GroupLinkTarget `protobuf:"bytes,1,rep,name=GroupLinkTarget" json:"GroupLinkTarget,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSubGroupsReturnFunction) Reset() { + *x = GetSubGroupsReturnFunction{} + mi := &file_Neonize_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSubGroupsReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSubGroupsReturnFunction) ProtoMessage() {} + +func (x *GetSubGroupsReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[71] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSubGroupsReturnFunction.ProtoReflect.Descriptor instead. +func (*GetSubGroupsReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{71} +} + +func (x *GetSubGroupsReturnFunction) GetGroupLinkTarget() []*GroupLinkTarget { + if x != nil { + return x.GroupLinkTarget + } + return nil +} + +func (x *GetSubGroupsReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type GetSubscribedNewslettersReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Newsletter []*NewsletterMetadata `protobuf:"bytes,1,rep,name=Newsletter" json:"Newsletter,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSubscribedNewslettersReturnFunction) Reset() { + *x = GetSubscribedNewslettersReturnFunction{} + mi := &file_Neonize_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSubscribedNewslettersReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSubscribedNewslettersReturnFunction) ProtoMessage() {} + +func (x *GetSubscribedNewslettersReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[72] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSubscribedNewslettersReturnFunction.ProtoReflect.Descriptor instead. +func (*GetSubscribedNewslettersReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{72} +} + +func (x *GetSubscribedNewslettersReturnFunction) GetNewsletter() []*NewsletterMetadata { + if x != nil { + return x.Newsletter + } + return nil +} + +func (x *GetSubscribedNewslettersReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type GetUserDevicesreturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID []*JID `protobuf:"bytes,1,rep,name=JID" json:"JID,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetUserDevicesreturnFunction) Reset() { + *x = GetUserDevicesreturnFunction{} + mi := &file_Neonize_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetUserDevicesreturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetUserDevicesreturnFunction) ProtoMessage() {} + +func (x *GetUserDevicesreturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[73] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetUserDevicesreturnFunction.ProtoReflect.Descriptor instead. +func (*GetUserDevicesreturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{73} +} + +func (x *GetUserDevicesreturnFunction) GetJID() []*JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *GetUserDevicesreturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type NewsletterSubscribeLiveUpdatesReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Duration *int64 `protobuf:"varint,1,opt,name=Duration" json:"Duration,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterSubscribeLiveUpdatesReturnFunction) Reset() { + *x = NewsletterSubscribeLiveUpdatesReturnFunction{} + mi := &file_Neonize_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterSubscribeLiveUpdatesReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterSubscribeLiveUpdatesReturnFunction) ProtoMessage() {} + +func (x *NewsletterSubscribeLiveUpdatesReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[74] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterSubscribeLiveUpdatesReturnFunction.ProtoReflect.Descriptor instead. +func (*NewsletterSubscribeLiveUpdatesReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{74} +} + +func (x *NewsletterSubscribeLiveUpdatesReturnFunction) GetDuration() int64 { + if x != nil && x.Duration != nil { + return *x.Duration + } + return 0 +} + +func (x *NewsletterSubscribeLiveUpdatesReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type PairPhoneParams struct { + state protoimpl.MessageState `protogen:"open.v1"` + Phone *string `protobuf:"bytes,1,opt,name=phone" json:"phone,omitempty"` + ShowPushNotification *bool `protobuf:"varint,2,opt,name=showPushNotification" json:"showPushNotification,omitempty"` + ClientType *int32 `protobuf:"varint,3,opt,name=clientType" json:"clientType,omitempty"` + ClientDisplayName *string `protobuf:"bytes,4,opt,name=clientDisplayName" json:"clientDisplayName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PairPhoneParams) Reset() { + *x = PairPhoneParams{} + mi := &file_Neonize_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PairPhoneParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PairPhoneParams) ProtoMessage() {} + +func (x *PairPhoneParams) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[75] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PairPhoneParams.ProtoReflect.Descriptor instead. +func (*PairPhoneParams) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{75} +} + +func (x *PairPhoneParams) GetPhone() string { + if x != nil && x.Phone != nil { + return *x.Phone + } + return "" +} + +func (x *PairPhoneParams) GetShowPushNotification() bool { + if x != nil && x.ShowPushNotification != nil { + return *x.ShowPushNotification + } + return false +} + +func (x *PairPhoneParams) GetClientType() int32 { + if x != nil && x.ClientType != nil { + return *x.ClientType + } + return 0 +} + +func (x *PairPhoneParams) GetClientDisplayName() string { + if x != nil && x.ClientDisplayName != nil { + return *x.ClientDisplayName + } + return "" +} + +type ContactQRLinkTarget struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + Type *string `protobuf:"bytes,2,req,name=Type" json:"Type,omitempty"` + PushName *string `protobuf:"bytes,3,req,name=PushName" json:"PushName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContactQRLinkTarget) Reset() { + *x = ContactQRLinkTarget{} + mi := &file_Neonize_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContactQRLinkTarget) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContactQRLinkTarget) ProtoMessage() {} + +func (x *ContactQRLinkTarget) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[76] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContactQRLinkTarget.ProtoReflect.Descriptor instead. +func (*ContactQRLinkTarget) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{76} +} + +func (x *ContactQRLinkTarget) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *ContactQRLinkTarget) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *ContactQRLinkTarget) GetPushName() string { + if x != nil && x.PushName != nil { + return *x.PushName + } + return "" +} + +type ResolveContactQRLinkReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + ContactQrLink *ContactQRLinkTarget `protobuf:"bytes,1,opt,name=ContactQrLink" json:"ContactQrLink,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResolveContactQRLinkReturnFunction) Reset() { + *x = ResolveContactQRLinkReturnFunction{} + mi := &file_Neonize_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResolveContactQRLinkReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolveContactQRLinkReturnFunction) ProtoMessage() {} + +func (x *ResolveContactQRLinkReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[77] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolveContactQRLinkReturnFunction.ProtoReflect.Descriptor instead. +func (*ResolveContactQRLinkReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{77} +} + +func (x *ResolveContactQRLinkReturnFunction) GetContactQrLink() *ContactQRLinkTarget { + if x != nil { + return x.ContactQrLink + } + return nil +} + +func (x *ResolveContactQRLinkReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type BusinessMessageLinkTarget struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + PushName *string `protobuf:"bytes,2,req,name=PushName" json:"PushName,omitempty"` + VerifiedName *string `protobuf:"bytes,3,req,name=VerifiedName" json:"VerifiedName,omitempty"` + IsSigned *bool `protobuf:"varint,4,req,name=IsSigned" json:"IsSigned,omitempty"` + VerifiedLevel *string `protobuf:"bytes,5,req,name=VerifiedLevel" json:"VerifiedLevel,omitempty"` + Message *string `protobuf:"bytes,6,req,name=Message" json:"Message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BusinessMessageLinkTarget) Reset() { + *x = BusinessMessageLinkTarget{} + mi := &file_Neonize_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BusinessMessageLinkTarget) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BusinessMessageLinkTarget) ProtoMessage() {} + +func (x *BusinessMessageLinkTarget) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[78] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BusinessMessageLinkTarget.ProtoReflect.Descriptor instead. +func (*BusinessMessageLinkTarget) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{78} +} + +func (x *BusinessMessageLinkTarget) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *BusinessMessageLinkTarget) GetPushName() string { + if x != nil && x.PushName != nil { + return *x.PushName + } + return "" +} + +func (x *BusinessMessageLinkTarget) GetVerifiedName() string { + if x != nil && x.VerifiedName != nil { + return *x.VerifiedName + } + return "" +} + +func (x *BusinessMessageLinkTarget) GetIsSigned() bool { + if x != nil && x.IsSigned != nil { + return *x.IsSigned + } + return false +} + +func (x *BusinessMessageLinkTarget) GetVerifiedLevel() string { + if x != nil && x.VerifiedLevel != nil { + return *x.VerifiedLevel + } + return "" +} + +func (x *BusinessMessageLinkTarget) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +type ResolveBusinessMessageLinkReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + MessageLinkTarget *BusinessMessageLinkTarget `protobuf:"bytes,1,opt,name=MessageLinkTarget" json:"MessageLinkTarget,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResolveBusinessMessageLinkReturnFunction) Reset() { + *x = ResolveBusinessMessageLinkReturnFunction{} + mi := &file_Neonize_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResolveBusinessMessageLinkReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResolveBusinessMessageLinkReturnFunction) ProtoMessage() {} + +func (x *ResolveBusinessMessageLinkReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[79] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResolveBusinessMessageLinkReturnFunction.ProtoReflect.Descriptor instead. +func (*ResolveBusinessMessageLinkReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{79} +} + +func (x *ResolveBusinessMessageLinkReturnFunction) GetMessageLinkTarget() *BusinessMessageLinkTarget { + if x != nil { + return x.MessageLinkTarget + } + return nil +} + +func (x *ResolveBusinessMessageLinkReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type MutationInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Index []string `protobuf:"bytes,1,rep,name=Index" json:"Index,omitempty"` + Version *int32 `protobuf:"varint,2,req,name=Version" json:"Version,omitempty"` + Value *waSyncAction.SyncActionValue `protobuf:"bytes,3,req,name=Value" json:"Value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MutationInfo) Reset() { + *x = MutationInfo{} + mi := &file_Neonize_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MutationInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MutationInfo) ProtoMessage() {} + +func (x *MutationInfo) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[80] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MutationInfo.ProtoReflect.Descriptor instead. +func (*MutationInfo) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{80} +} + +func (x *MutationInfo) GetIndex() []string { + if x != nil { + return x.Index + } + return nil +} + +func (x *MutationInfo) GetVersion() int32 { + if x != nil && x.Version != nil { + return *x.Version + } + return 0 +} + +func (x *MutationInfo) GetValue() *waSyncAction.SyncActionValue { + if x != nil { + return x.Value + } + return nil +} + +type PatchInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Timestamp *int64 `protobuf:"varint,1,req,name=Timestamp" json:"Timestamp,omitempty"` + Type *PatchInfo_WAPatchName `protobuf:"varint,2,req,name=Type,enum=neonize.PatchInfo_WAPatchName" json:"Type,omitempty"` + Mutations []*MutationInfo `protobuf:"bytes,3,rep,name=Mutations" json:"Mutations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PatchInfo) Reset() { + *x = PatchInfo{} + mi := &file_Neonize_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PatchInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchInfo) ProtoMessage() {} + +func (x *PatchInfo) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[81] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatchInfo.ProtoReflect.Descriptor instead. +func (*PatchInfo) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{81} +} + +func (x *PatchInfo) GetTimestamp() int64 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *PatchInfo) GetType() PatchInfo_WAPatchName { + if x != nil && x.Type != nil { + return *x.Type + } + return PatchInfo_CRITICAL_BLOCK +} + +func (x *PatchInfo) GetMutations() []*MutationInfo { + if x != nil { + return x.Mutations + } + return nil +} + +type ContactsPutPushNameReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status *bool `protobuf:"varint,1,req,name=Status" json:"Status,omitempty"` + PreviousName *string `protobuf:"bytes,2,opt,name=PreviousName" json:"PreviousName,omitempty"` + Error *string `protobuf:"bytes,3,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContactsPutPushNameReturnFunction) Reset() { + *x = ContactsPutPushNameReturnFunction{} + mi := &file_Neonize_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContactsPutPushNameReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContactsPutPushNameReturnFunction) ProtoMessage() {} + +func (x *ContactsPutPushNameReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[82] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContactsPutPushNameReturnFunction.ProtoReflect.Descriptor instead. +func (*ContactsPutPushNameReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{82} +} + +func (x *ContactsPutPushNameReturnFunction) GetStatus() bool { + if x != nil && x.Status != nil { + return *x.Status + } + return false +} + +func (x *ContactsPutPushNameReturnFunction) GetPreviousName() string { + if x != nil && x.PreviousName != nil { + return *x.PreviousName + } + return "" +} + +func (x *ContactsPutPushNameReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type ContactEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + FirstName *string `protobuf:"bytes,2,req,name=FirstName" json:"FirstName,omitempty"` + FullName *string `protobuf:"bytes,3,req,name=FullName" json:"FullName,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContactEntry) Reset() { + *x = ContactEntry{} + mi := &file_Neonize_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContactEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContactEntry) ProtoMessage() {} + +func (x *ContactEntry) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[83] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContactEntry.ProtoReflect.Descriptor instead. +func (*ContactEntry) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{83} +} + +func (x *ContactEntry) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *ContactEntry) GetFirstName() string { + if x != nil && x.FirstName != nil { + return *x.FirstName + } + return "" +} + +func (x *ContactEntry) GetFullName() string { + if x != nil && x.FullName != nil { + return *x.FullName + } + return "" +} + +type ContactEntryArray struct { + state protoimpl.MessageState `protogen:"open.v1"` + ContactEntry []*ContactEntry `protobuf:"bytes,1,rep,name=ContactEntry" json:"ContactEntry,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContactEntryArray) Reset() { + *x = ContactEntryArray{} + mi := &file_Neonize_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContactEntryArray) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContactEntryArray) ProtoMessage() {} + +func (x *ContactEntryArray) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[84] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContactEntryArray.ProtoReflect.Descriptor instead. +func (*ContactEntryArray) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{84} +} + +func (x *ContactEntryArray) GetContactEntry() []*ContactEntry { + if x != nil { + return x.ContactEntry + } + return nil +} + +type SetPrivacySettingReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Settings *PrivacySettings `protobuf:"bytes,1,opt,name=settings" json:"settings,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetPrivacySettingReturnFunction) Reset() { + *x = SetPrivacySettingReturnFunction{} + mi := &file_Neonize_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetPrivacySettingReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetPrivacySettingReturnFunction) ProtoMessage() {} + +func (x *SetPrivacySettingReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[85] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetPrivacySettingReturnFunction.ProtoReflect.Descriptor instead. +func (*SetPrivacySettingReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{85} +} + +func (x *SetPrivacySettingReturnFunction) GetSettings() *PrivacySettings { + if x != nil { + return x.Settings + } + return nil +} + +func (x *SetPrivacySettingReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type ContactsGetContactReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + ContactInfo *ContactInfo `protobuf:"bytes,1,opt,name=ContactInfo" json:"ContactInfo,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContactsGetContactReturnFunction) Reset() { + *x = ContactsGetContactReturnFunction{} + mi := &file_Neonize_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContactsGetContactReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContactsGetContactReturnFunction) ProtoMessage() {} + +func (x *ContactsGetContactReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[86] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContactsGetContactReturnFunction.ProtoReflect.Descriptor instead. +func (*ContactsGetContactReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{86} +} + +func (x *ContactsGetContactReturnFunction) GetContactInfo() *ContactInfo { + if x != nil { + return x.ContactInfo + } + return nil +} + +func (x *ContactsGetContactReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type ContactInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Found *bool `protobuf:"varint,1,req,name=Found" json:"Found,omitempty"` + FirstName *string `protobuf:"bytes,2,req,name=FirstName" json:"FirstName,omitempty"` + FullName *string `protobuf:"bytes,3,req,name=FullName" json:"FullName,omitempty"` + PushName *string `protobuf:"bytes,4,req,name=PushName" json:"PushName,omitempty"` + BusinessName *string `protobuf:"bytes,5,req,name=BusinessName" json:"BusinessName,omitempty"` + RedactedPhone *string `protobuf:"bytes,6,req,name=RedactedPhone" json:"RedactedPhone,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContactInfo) Reset() { + *x = ContactInfo{} + mi := &file_Neonize_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContactInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContactInfo) ProtoMessage() {} + +func (x *ContactInfo) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[87] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContactInfo.ProtoReflect.Descriptor instead. +func (*ContactInfo) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{87} +} + +func (x *ContactInfo) GetFound() bool { + if x != nil && x.Found != nil { + return *x.Found + } + return false +} + +func (x *ContactInfo) GetFirstName() string { + if x != nil && x.FirstName != nil { + return *x.FirstName + } + return "" +} + +func (x *ContactInfo) GetFullName() string { + if x != nil && x.FullName != nil { + return *x.FullName + } + return "" +} + +func (x *ContactInfo) GetPushName() string { + if x != nil && x.PushName != nil { + return *x.PushName + } + return "" +} + +func (x *ContactInfo) GetBusinessName() string { + if x != nil && x.BusinessName != nil { + return *x.BusinessName + } + return "" +} + +func (x *ContactInfo) GetRedactedPhone() string { + if x != nil && x.RedactedPhone != nil { + return *x.RedactedPhone + } + return "" +} + +type Contact struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + Info *ContactInfo `protobuf:"bytes,2,req,name=Info" json:"Info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Contact) Reset() { + *x = Contact{} + mi := &file_Neonize_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Contact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Contact) ProtoMessage() {} + +func (x *Contact) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[88] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Contact.ProtoReflect.Descriptor instead. +func (*Contact) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{88} +} + +func (x *Contact) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *Contact) GetInfo() *ContactInfo { + if x != nil { + return x.Info + } + return nil +} + +type ContactsGetAllContactsReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Contact []*Contact `protobuf:"bytes,1,rep,name=Contact" json:"Contact,omitempty"` + Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContactsGetAllContactsReturnFunction) Reset() { + *x = ContactsGetAllContactsReturnFunction{} + mi := &file_Neonize_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContactsGetAllContactsReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContactsGetAllContactsReturnFunction) ProtoMessage() {} + +func (x *ContactsGetAllContactsReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[89] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContactsGetAllContactsReturnFunction.ProtoReflect.Descriptor instead. +func (*ContactsGetAllContactsReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{89} +} + +func (x *ContactsGetAllContactsReturnFunction) GetContact() []*Contact { + if x != nil { + return x.Contact + } + return nil +} + +func (x *ContactsGetAllContactsReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +// events +type QR struct { + state protoimpl.MessageState `protogen:"open.v1"` + Codes []string `protobuf:"bytes,1,rep,name=Codes" json:"Codes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QR) Reset() { + *x = QR{} + mi := &file_Neonize_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QR) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QR) ProtoMessage() {} + +func (x *QR) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[90] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QR.ProtoReflect.Descriptor instead. +func (*QR) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{90} +} + +func (x *QR) GetCodes() []string { + if x != nil { + return x.Codes + } + return nil +} + +type PairStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + ID *JID `protobuf:"bytes,1,req,name=ID" json:"ID,omitempty"` + BusinessName *string `protobuf:"bytes,2,req,name=BusinessName" json:"BusinessName,omitempty"` + Platform *string `protobuf:"bytes,3,req,name=Platform" json:"Platform,omitempty"` + Status *PairStatus_PStatus `protobuf:"varint,4,req,name=Status,enum=neonize.PairStatus_PStatus" json:"Status,omitempty"` + Error *string `protobuf:"bytes,5,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PairStatus) Reset() { + *x = PairStatus{} + mi := &file_Neonize_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PairStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PairStatus) ProtoMessage() {} + +func (x *PairStatus) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[91] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PairStatus.ProtoReflect.Descriptor instead. +func (*PairStatus) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{91} +} + +func (x *PairStatus) GetID() *JID { + if x != nil { + return x.ID + } + return nil +} + +func (x *PairStatus) GetBusinessName() string { + if x != nil && x.BusinessName != nil { + return *x.BusinessName + } + return "" +} + +func (x *PairStatus) GetPlatform() string { + if x != nil && x.Platform != nil { + return *x.Platform + } + return "" +} + +func (x *PairStatus) GetStatus() PairStatus_PStatus { + if x != nil && x.Status != nil { + return *x.Status + } + return PairStatus_ERROR +} + +func (x *PairStatus) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +type Connected struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status *bool `protobuf:"varint,1,req,name=status" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Connected) Reset() { + *x = Connected{} + mi := &file_Neonize_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Connected) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Connected) ProtoMessage() {} + +func (x *Connected) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[92] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Connected.ProtoReflect.Descriptor instead. +func (*Connected) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{92} +} + +func (x *Connected) GetStatus() bool { + if x != nil && x.Status != nil { + return *x.Status + } + return false +} + +type KeepAliveTimeout struct { + state protoimpl.MessageState `protogen:"open.v1"` + ErrorCount *int64 `protobuf:"varint,1,req,name=ErrorCount" json:"ErrorCount,omitempty"` + LastSuccess *int64 `protobuf:"varint,2,req,name=LastSuccess" json:"LastSuccess,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *KeepAliveTimeout) Reset() { + *x = KeepAliveTimeout{} + mi := &file_Neonize_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *KeepAliveTimeout) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeepAliveTimeout) ProtoMessage() {} + +func (x *KeepAliveTimeout) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[93] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeepAliveTimeout.ProtoReflect.Descriptor instead. +func (*KeepAliveTimeout) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{93} +} + +func (x *KeepAliveTimeout) GetErrorCount() int64 { + if x != nil && x.ErrorCount != nil { + return *x.ErrorCount + } + return 0 +} + +func (x *KeepAliveTimeout) GetLastSuccess() int64 { + if x != nil && x.LastSuccess != nil { + return *x.LastSuccess + } + return 0 +} + +type KeepAliveRestored struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *KeepAliveRestored) Reset() { + *x = KeepAliveRestored{} + mi := &file_Neonize_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *KeepAliveRestored) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeepAliveRestored) ProtoMessage() {} + +func (x *KeepAliveRestored) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[94] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeepAliveRestored.ProtoReflect.Descriptor instead. +func (*KeepAliveRestored) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{94} +} + +type LoggedOut struct { + state protoimpl.MessageState `protogen:"open.v1"` + OnConnect *bool `protobuf:"varint,1,req,name=OnConnect" json:"OnConnect,omitempty"` + Reason *ConnectFailureReason `protobuf:"varint,2,req,name=Reason,enum=neonize.ConnectFailureReason" json:"Reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LoggedOut) Reset() { + *x = LoggedOut{} + mi := &file_Neonize_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LoggedOut) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoggedOut) ProtoMessage() {} + +func (x *LoggedOut) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[95] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoggedOut.ProtoReflect.Descriptor instead. +func (*LoggedOut) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{95} +} + +func (x *LoggedOut) GetOnConnect() bool { + if x != nil && x.OnConnect != nil { + return *x.OnConnect + } + return false +} + +func (x *LoggedOut) GetReason() ConnectFailureReason { + if x != nil && x.Reason != nil { + return *x.Reason + } + return ConnectFailureReason_GENERIC +} + +type StreamReplaced struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StreamReplaced) Reset() { + *x = StreamReplaced{} + mi := &file_Neonize_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StreamReplaced) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamReplaced) ProtoMessage() {} + +func (x *StreamReplaced) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[96] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamReplaced.ProtoReflect.Descriptor instead. +func (*StreamReplaced) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{96} +} + +type TemporaryBan struct { + state protoimpl.MessageState `protogen:"open.v1"` + Code *TemporaryBan_TempBanReason `protobuf:"varint,1,req,name=Code,enum=neonize.TemporaryBan_TempBanReason" json:"Code,omitempty"` + Expire *int64 `protobuf:"varint,2,req,name=Expire" json:"Expire,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TemporaryBan) Reset() { + *x = TemporaryBan{} + mi := &file_Neonize_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TemporaryBan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TemporaryBan) ProtoMessage() {} + +func (x *TemporaryBan) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[97] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TemporaryBan.ProtoReflect.Descriptor instead. +func (*TemporaryBan) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{97} +} + +func (x *TemporaryBan) GetCode() TemporaryBan_TempBanReason { + if x != nil && x.Code != nil { + return *x.Code + } + return TemporaryBan_SEND_TO_TOO_MANY_PEOPLE +} + +func (x *TemporaryBan) GetExpire() int64 { + if x != nil && x.Expire != nil { + return *x.Expire + } + return 0 +} + +type ConnectFailure struct { + state protoimpl.MessageState `protogen:"open.v1"` + Reason *ConnectFailureReason `protobuf:"varint,1,req,name=Reason,enum=neonize.ConnectFailureReason" json:"Reason,omitempty"` + Message *string `protobuf:"bytes,2,req,name=Message" json:"Message,omitempty"` + Raw *Node `protobuf:"bytes,3,req,name=Raw" json:"Raw,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConnectFailure) Reset() { + *x = ConnectFailure{} + mi := &file_Neonize_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConnectFailure) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConnectFailure) ProtoMessage() {} + +func (x *ConnectFailure) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[98] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConnectFailure.ProtoReflect.Descriptor instead. +func (*ConnectFailure) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{98} +} + +func (x *ConnectFailure) GetReason() ConnectFailureReason { + if x != nil && x.Reason != nil { + return *x.Reason + } + return ConnectFailureReason_GENERIC +} + +func (x *ConnectFailure) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *ConnectFailure) GetRaw() *Node { + if x != nil { + return x.Raw + } + return nil +} + +type ClientOutdated struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClientOutdated) Reset() { + *x = ClientOutdated{} + mi := &file_Neonize_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClientOutdated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClientOutdated) ProtoMessage() {} + +func (x *ClientOutdated) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[99] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClientOutdated.ProtoReflect.Descriptor instead. +func (*ClientOutdated) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{99} +} + +type StreamError struct { + state protoimpl.MessageState `protogen:"open.v1"` + Code *string `protobuf:"bytes,1,req,name=Code" json:"Code,omitempty"` + Raw *Node `protobuf:"bytes,4,req,name=Raw" json:"Raw,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StreamError) Reset() { + *x = StreamError{} + mi := &file_Neonize_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StreamError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamError) ProtoMessage() {} + +func (x *StreamError) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[100] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StreamError.ProtoReflect.Descriptor instead. +func (*StreamError) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{100} +} + +func (x *StreamError) GetCode() string { + if x != nil && x.Code != nil { + return *x.Code + } + return "" +} + +func (x *StreamError) GetRaw() *Node { + if x != nil { + return x.Raw + } + return nil +} + +type Disconnected struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status *bool `protobuf:"varint,1,req,name=status" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Disconnected) Reset() { + *x = Disconnected{} + mi := &file_Neonize_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Disconnected) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Disconnected) ProtoMessage() {} + +func (x *Disconnected) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[101] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Disconnected.ProtoReflect.Descriptor instead. +func (*Disconnected) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{101} +} + +func (x *Disconnected) GetStatus() bool { + if x != nil && x.Status != nil { + return *x.Status + } + return false +} + +type HistorySync struct { + state protoimpl.MessageState `protogen:"open.v1"` + Data *waHistorySync.HistorySync `protobuf:"bytes,1,req,name=Data" json:"Data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HistorySync) Reset() { + *x = HistorySync{} + mi := &file_Neonize_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HistorySync) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HistorySync) ProtoMessage() {} + +func (x *HistorySync) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[102] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HistorySync.ProtoReflect.Descriptor instead. +func (*HistorySync) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{102} +} + +func (x *HistorySync) GetData() *waHistorySync.HistorySync { + if x != nil { + return x.Data + } + return nil +} + +// message DecryptFailMode // 14 +// message UndecryptableMessage // 15 +// message NewsLetterMessageMeta (Defined) // 16 +// Message (Defined) // 17 +type Receipt struct { + state protoimpl.MessageState `protogen:"open.v1"` + MessageSource *MessageSource `protobuf:"bytes,1,req,name=MessageSource" json:"MessageSource,omitempty"` + MessageIDs []string `protobuf:"bytes,2,rep,name=MessageIDs" json:"MessageIDs,omitempty"` + Timestamp *int64 `protobuf:"varint,3,req,name=Timestamp" json:"Timestamp,omitempty"` + Type *Receipt_ReceiptType `protobuf:"varint,4,req,name=Type,enum=neonize.Receipt_ReceiptType" json:"Type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Receipt) Reset() { + *x = Receipt{} + mi := &file_Neonize_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Receipt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Receipt) ProtoMessage() {} + +func (x *Receipt) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[103] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Receipt.ProtoReflect.Descriptor instead. +func (*Receipt) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{103} +} + +func (x *Receipt) GetMessageSource() *MessageSource { + if x != nil { + return x.MessageSource + } + return nil +} + +func (x *Receipt) GetMessageIDs() []string { + if x != nil { + return x.MessageIDs + } + return nil +} + +func (x *Receipt) GetTimestamp() int64 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *Receipt) GetType() Receipt_ReceiptType { + if x != nil && x.Type != nil { + return *x.Type + } + return Receipt_DELIVERED +} + +type ChatPresence struct { + state protoimpl.MessageState `protogen:"open.v1"` + MessageSource *MessageSource `protobuf:"bytes,1,req,name=MessageSource" json:"MessageSource,omitempty"` + State *ChatPresence_ChatPresence `protobuf:"varint,2,req,name=State,enum=neonize.ChatPresence_ChatPresence" json:"State,omitempty"` + Media *ChatPresence_ChatPresenceMedia `protobuf:"varint,3,req,name=Media,enum=neonize.ChatPresence_ChatPresenceMedia" json:"Media,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChatPresence) Reset() { + *x = ChatPresence{} + mi := &file_Neonize_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChatPresence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChatPresence) ProtoMessage() {} + +func (x *ChatPresence) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[104] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChatPresence.ProtoReflect.Descriptor instead. +func (*ChatPresence) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{104} +} + +func (x *ChatPresence) GetMessageSource() *MessageSource { + if x != nil { + return x.MessageSource + } + return nil +} + +func (x *ChatPresence) GetState() ChatPresence_ChatPresence { + if x != nil && x.State != nil { + return *x.State + } + return ChatPresence_COMPOSING +} + +func (x *ChatPresence) GetMedia() ChatPresence_ChatPresenceMedia { + if x != nil && x.Media != nil { + return *x.Media + } + return ChatPresence_TEXT +} + +type Presence struct { + state protoimpl.MessageState `protogen:"open.v1"` + From *JID `protobuf:"bytes,1,req,name=From" json:"From,omitempty"` + Unavailable *bool `protobuf:"varint,2,req,name=Unavailable" json:"Unavailable,omitempty"` + LastSeen *int64 `protobuf:"varint,3,req,name=LastSeen" json:"LastSeen,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Presence) Reset() { + *x = Presence{} + mi := &file_Neonize_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Presence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Presence) ProtoMessage() {} + +func (x *Presence) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[105] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Presence.ProtoReflect.Descriptor instead. +func (*Presence) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{105} +} + +func (x *Presence) GetFrom() *JID { + if x != nil { + return x.From + } + return nil +} + +func (x *Presence) GetUnavailable() bool { + if x != nil && x.Unavailable != nil { + return *x.Unavailable + } + return false +} + +func (x *Presence) GetLastSeen() int64 { + if x != nil && x.LastSeen != nil { + return *x.LastSeen + } + return 0 +} + +type JoinedGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + Reason *string `protobuf:"bytes,1,req,name=Reason" json:"Reason,omitempty"` + Type *string `protobuf:"bytes,2,req,name=Type" json:"Type,omitempty"` + CreateKey *string `protobuf:"bytes,3,req,name=CreateKey" json:"CreateKey,omitempty"` + GroupInfo *GroupInfo `protobuf:"bytes,4,req,name=GroupInfo" json:"GroupInfo,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *JoinedGroup) Reset() { + *x = JoinedGroup{} + mi := &file_Neonize_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *JoinedGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JoinedGroup) ProtoMessage() {} + +func (x *JoinedGroup) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[106] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JoinedGroup.ProtoReflect.Descriptor instead. +func (*JoinedGroup) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{106} +} + +func (x *JoinedGroup) GetReason() string { + if x != nil && x.Reason != nil { + return *x.Reason + } + return "" +} + +func (x *JoinedGroup) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *JoinedGroup) GetCreateKey() string { + if x != nil && x.CreateKey != nil { + return *x.CreateKey + } + return "" +} + +func (x *JoinedGroup) GetGroupInfo() *GroupInfo { + if x != nil { + return x.GroupInfo + } + return nil +} + +type GroupInfoEvent struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + Notify *string `protobuf:"bytes,2,req,name=Notify" json:"Notify,omitempty"` + Sender *JID `protobuf:"bytes,3,opt,name=Sender" json:"Sender,omitempty"` + Timestamp *int64 `protobuf:"varint,4,req,name=Timestamp" json:"Timestamp,omitempty"` + Name *GroupName `protobuf:"bytes,5,opt,name=Name" json:"Name,omitempty"` + Topic *GroupTopic `protobuf:"bytes,6,opt,name=Topic" json:"Topic,omitempty"` + Locked *GroupLocked `protobuf:"bytes,7,opt,name=Locked" json:"Locked,omitempty"` + Announce *GroupAnnounce `protobuf:"bytes,8,opt,name=Announce" json:"Announce,omitempty"` + Ephemeral *GroupEphemeral `protobuf:"bytes,9,opt,name=Ephemeral" json:"Ephemeral,omitempty"` + Delete *GroupDelete `protobuf:"bytes,10,opt,name=Delete" json:"Delete,omitempty"` + Link *GroupLinkChange `protobuf:"bytes,11,opt,name=Link" json:"Link,omitempty"` + Unlink *GroupLinkChange `protobuf:"bytes,12,opt,name=Unlink" json:"Unlink,omitempty"` + NewInviteLink *string `protobuf:"bytes,13,opt,name=NewInviteLink" json:"NewInviteLink,omitempty"` + PrevParticipantsVersionID *string `protobuf:"bytes,14,req,name=PrevParticipantsVersionID" json:"PrevParticipantsVersionID,omitempty"` + ParticipantVersionID *string `protobuf:"bytes,15,req,name=ParticipantVersionID" json:"ParticipantVersionID,omitempty"` + JoinReason *string `protobuf:"bytes,16,req,name=JoinReason" json:"JoinReason,omitempty"` + Join []*JID `protobuf:"bytes,17,rep,name=Join" json:"Join,omitempty"` + Leave []*JID `protobuf:"bytes,18,rep,name=Leave" json:"Leave,omitempty"` + Promote []*JID `protobuf:"bytes,19,rep,name=Promote" json:"Promote,omitempty"` + Demote []*JID `protobuf:"bytes,20,rep,name=Demote" json:"Demote,omitempty"` + UnknownChanges []*Node `protobuf:"bytes,21,rep,name=UnknownChanges" json:"UnknownChanges,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GroupInfoEvent) Reset() { + *x = GroupInfoEvent{} + mi := &file_Neonize_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GroupInfoEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GroupInfoEvent) ProtoMessage() {} + +func (x *GroupInfoEvent) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[107] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GroupInfoEvent.ProtoReflect.Descriptor instead. +func (*GroupInfoEvent) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{107} +} + +func (x *GroupInfoEvent) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *GroupInfoEvent) GetNotify() string { + if x != nil && x.Notify != nil { + return *x.Notify + } + return "" +} + +func (x *GroupInfoEvent) GetSender() *JID { + if x != nil { + return x.Sender + } + return nil +} + +func (x *GroupInfoEvent) GetTimestamp() int64 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *GroupInfoEvent) GetName() *GroupName { + if x != nil { + return x.Name + } + return nil +} + +func (x *GroupInfoEvent) GetTopic() *GroupTopic { + if x != nil { + return x.Topic + } + return nil +} + +func (x *GroupInfoEvent) GetLocked() *GroupLocked { + if x != nil { + return x.Locked + } + return nil +} + +func (x *GroupInfoEvent) GetAnnounce() *GroupAnnounce { + if x != nil { + return x.Announce + } + return nil +} + +func (x *GroupInfoEvent) GetEphemeral() *GroupEphemeral { + if x != nil { + return x.Ephemeral + } + return nil +} + +func (x *GroupInfoEvent) GetDelete() *GroupDelete { + if x != nil { + return x.Delete + } + return nil +} + +func (x *GroupInfoEvent) GetLink() *GroupLinkChange { + if x != nil { + return x.Link + } + return nil +} + +func (x *GroupInfoEvent) GetUnlink() *GroupLinkChange { + if x != nil { + return x.Unlink + } + return nil +} + +func (x *GroupInfoEvent) GetNewInviteLink() string { + if x != nil && x.NewInviteLink != nil { + return *x.NewInviteLink + } + return "" +} + +func (x *GroupInfoEvent) GetPrevParticipantsVersionID() string { + if x != nil && x.PrevParticipantsVersionID != nil { + return *x.PrevParticipantsVersionID + } + return "" +} + +func (x *GroupInfoEvent) GetParticipantVersionID() string { + if x != nil && x.ParticipantVersionID != nil { + return *x.ParticipantVersionID + } + return "" +} + +func (x *GroupInfoEvent) GetJoinReason() string { + if x != nil && x.JoinReason != nil { + return *x.JoinReason + } + return "" +} + +func (x *GroupInfoEvent) GetJoin() []*JID { + if x != nil { + return x.Join + } + return nil +} + +func (x *GroupInfoEvent) GetLeave() []*JID { + if x != nil { + return x.Leave + } + return nil +} + +func (x *GroupInfoEvent) GetPromote() []*JID { + if x != nil { + return x.Promote + } + return nil +} + +func (x *GroupInfoEvent) GetDemote() []*JID { + if x != nil { + return x.Demote + } + return nil +} + +func (x *GroupInfoEvent) GetUnknownChanges() []*Node { + if x != nil { + return x.UnknownChanges + } + return nil +} + +type Picture struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + Author *JID `protobuf:"bytes,2,req,name=Author" json:"Author,omitempty"` + Timestamp *int64 `protobuf:"varint,3,req,name=Timestamp" json:"Timestamp,omitempty"` + Remove *bool `protobuf:"varint,4,req,name=Remove" json:"Remove,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Picture) Reset() { + *x = Picture{} + mi := &file_Neonize_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Picture) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Picture) ProtoMessage() {} + +func (x *Picture) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[108] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Picture.ProtoReflect.Descriptor instead. +func (*Picture) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{108} +} + +func (x *Picture) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *Picture) GetAuthor() *JID { + if x != nil { + return x.Author + } + return nil +} + +func (x *Picture) GetTimestamp() int64 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *Picture) GetRemove() bool { + if x != nil && x.Remove != nil { + return *x.Remove + } + return false +} + +type IdentityChange struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + Timestamp *int64 `protobuf:"varint,2,req,name=Timestamp" json:"Timestamp,omitempty"` + Implicit *bool `protobuf:"varint,3,req,name=Implicit" json:"Implicit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IdentityChange) Reset() { + *x = IdentityChange{} + mi := &file_Neonize_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IdentityChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IdentityChange) ProtoMessage() {} + +func (x *IdentityChange) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[109] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IdentityChange.ProtoReflect.Descriptor instead. +func (*IdentityChange) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{109} +} + +func (x *IdentityChange) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *IdentityChange) GetTimestamp() int64 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *IdentityChange) GetImplicit() bool { + if x != nil && x.Implicit != nil { + return *x.Implicit + } + return false +} + +type PrivacySettingsEvent struct { + state protoimpl.MessageState `protogen:"open.v1"` + NewSettings *PrivacySettings `protobuf:"bytes,1,req,name=NewSettings" json:"NewSettings,omitempty"` + GroupAddChanged *bool `protobuf:"varint,2,req,name=GroupAddChanged" json:"GroupAddChanged,omitempty"` + LastSeenChanged *bool `protobuf:"varint,3,req,name=LastSeenChanged" json:"LastSeenChanged,omitempty"` + StatusChanged *bool `protobuf:"varint,4,req,name=StatusChanged" json:"StatusChanged,omitempty"` + ProfileChanged *bool `protobuf:"varint,5,req,name=ProfileChanged" json:"ProfileChanged,omitempty"` + ReadReceiptsChanged *bool `protobuf:"varint,6,req,name=ReadReceiptsChanged" json:"ReadReceiptsChanged,omitempty"` + OnlineChanged *bool `protobuf:"varint,7,req,name=OnlineChanged" json:"OnlineChanged,omitempty"` + CallAddChanged *bool `protobuf:"varint,8,req,name=CallAddChanged" json:"CallAddChanged,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PrivacySettingsEvent) Reset() { + *x = PrivacySettingsEvent{} + mi := &file_Neonize_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PrivacySettingsEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivacySettingsEvent) ProtoMessage() {} + +func (x *PrivacySettingsEvent) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[110] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrivacySettingsEvent.ProtoReflect.Descriptor instead. +func (*PrivacySettingsEvent) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{110} +} + +func (x *PrivacySettingsEvent) GetNewSettings() *PrivacySettings { + if x != nil { + return x.NewSettings + } + return nil +} + +func (x *PrivacySettingsEvent) GetGroupAddChanged() bool { + if x != nil && x.GroupAddChanged != nil { + return *x.GroupAddChanged + } + return false +} + +func (x *PrivacySettingsEvent) GetLastSeenChanged() bool { + if x != nil && x.LastSeenChanged != nil { + return *x.LastSeenChanged + } + return false +} + +func (x *PrivacySettingsEvent) GetStatusChanged() bool { + if x != nil && x.StatusChanged != nil { + return *x.StatusChanged + } + return false +} + +func (x *PrivacySettingsEvent) GetProfileChanged() bool { + if x != nil && x.ProfileChanged != nil { + return *x.ProfileChanged + } + return false +} + +func (x *PrivacySettingsEvent) GetReadReceiptsChanged() bool { + if x != nil && x.ReadReceiptsChanged != nil { + return *x.ReadReceiptsChanged + } + return false +} + +func (x *PrivacySettingsEvent) GetOnlineChanged() bool { + if x != nil && x.OnlineChanged != nil { + return *x.OnlineChanged + } + return false +} + +func (x *PrivacySettingsEvent) GetCallAddChanged() bool { + if x != nil && x.CallAddChanged != nil { + return *x.CallAddChanged + } + return false +} + +type OfflineSyncPreview struct { + state protoimpl.MessageState `protogen:"open.v1"` + Total *int32 `protobuf:"varint,1,req,name=Total" json:"Total,omitempty"` + AppDataChanges *int32 `protobuf:"varint,2,req,name=AppDataChanges" json:"AppDataChanges,omitempty"` + Message *int32 `protobuf:"varint,3,req,name=Message" json:"Message,omitempty"` + Notifications *int32 `protobuf:"varint,4,req,name=Notifications" json:"Notifications,omitempty"` + Receipts *int32 `protobuf:"varint,5,req,name=Receipts" json:"Receipts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OfflineSyncPreview) Reset() { + *x = OfflineSyncPreview{} + mi := &file_Neonize_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfflineSyncPreview) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfflineSyncPreview) ProtoMessage() {} + +func (x *OfflineSyncPreview) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[111] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfflineSyncPreview.ProtoReflect.Descriptor instead. +func (*OfflineSyncPreview) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{111} +} + +func (x *OfflineSyncPreview) GetTotal() int32 { + if x != nil && x.Total != nil { + return *x.Total + } + return 0 +} + +func (x *OfflineSyncPreview) GetAppDataChanges() int32 { + if x != nil && x.AppDataChanges != nil { + return *x.AppDataChanges + } + return 0 +} + +func (x *OfflineSyncPreview) GetMessage() int32 { + if x != nil && x.Message != nil { + return *x.Message + } + return 0 +} + +func (x *OfflineSyncPreview) GetNotifications() int32 { + if x != nil && x.Notifications != nil { + return *x.Notifications + } + return 0 +} + +func (x *OfflineSyncPreview) GetReceipts() int32 { + if x != nil && x.Receipts != nil { + return *x.Receipts + } + return 0 +} + +type OfflineSyncCompleted struct { + state protoimpl.MessageState `protogen:"open.v1"` + Count *int32 `protobuf:"varint,1,req,name=Count" json:"Count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OfflineSyncCompleted) Reset() { + *x = OfflineSyncCompleted{} + mi := &file_Neonize_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfflineSyncCompleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfflineSyncCompleted) ProtoMessage() {} + +func (x *OfflineSyncCompleted) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[112] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfflineSyncCompleted.ProtoReflect.Descriptor instead. +func (*OfflineSyncCompleted) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{112} +} + +func (x *OfflineSyncCompleted) GetCount() int32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +type BlocklistEvent struct { + state protoimpl.MessageState `protogen:"open.v1"` + Action *BlocklistEvent_Actions `protobuf:"varint,1,req,name=Action,enum=neonize.BlocklistEvent_Actions" json:"Action,omitempty"` + DHASH *string `protobuf:"bytes,2,req,name=DHASH" json:"DHASH,omitempty"` + PrevDHash *string `protobuf:"bytes,3,req,name=PrevDHash" json:"PrevDHash,omitempty"` + Changes []*BlocklistChange `protobuf:"bytes,4,rep,name=Changes" json:"Changes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlocklistEvent) Reset() { + *x = BlocklistEvent{} + mi := &file_Neonize_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlocklistEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlocklistEvent) ProtoMessage() {} + +func (x *BlocklistEvent) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[113] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlocklistEvent.ProtoReflect.Descriptor instead. +func (*BlocklistEvent) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{113} +} + +func (x *BlocklistEvent) GetAction() BlocklistEvent_Actions { + if x != nil && x.Action != nil { + return *x.Action + } + return BlocklistEvent_DEFAULT +} + +func (x *BlocklistEvent) GetDHASH() string { + if x != nil && x.DHASH != nil { + return *x.DHASH + } + return "" +} + +func (x *BlocklistEvent) GetPrevDHash() string { + if x != nil && x.PrevDHash != nil { + return *x.PrevDHash + } + return "" +} + +func (x *BlocklistEvent) GetChanges() []*BlocklistChange { + if x != nil { + return x.Changes + } + return nil +} + +type BlocklistChange struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + BlockAction *BlocklistChange_Action `protobuf:"varint,2,req,name=BlockAction,enum=neonize.BlocklistChange_Action" json:"BlockAction,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BlocklistChange) Reset() { + *x = BlocklistChange{} + mi := &file_Neonize_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BlocklistChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlocklistChange) ProtoMessage() {} + +func (x *BlocklistChange) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[114] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BlocklistChange.ProtoReflect.Descriptor instead. +func (*BlocklistChange) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{114} +} + +func (x *BlocklistChange) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *BlocklistChange) GetBlockAction() BlocklistChange_Action { + if x != nil && x.BlockAction != nil { + return *x.BlockAction + } + return BlocklistChange_BLOCK +} + +type NewsletterJoin struct { + state protoimpl.MessageState `protogen:"open.v1"` + NewsletterMetadata *NewsletterMetadata `protobuf:"bytes,1,req,name=NewsletterMetadata" json:"NewsletterMetadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterJoin) Reset() { + *x = NewsletterJoin{} + mi := &file_Neonize_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterJoin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterJoin) ProtoMessage() {} + +func (x *NewsletterJoin) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[115] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterJoin.ProtoReflect.Descriptor instead. +func (*NewsletterJoin) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{115} +} + +func (x *NewsletterJoin) GetNewsletterMetadata() *NewsletterMetadata { + if x != nil { + return x.NewsletterMetadata + } + return nil +} + +type NewsletterLeave struct { + state protoimpl.MessageState `protogen:"open.v1"` + ID *JID `protobuf:"bytes,1,req,name=ID" json:"ID,omitempty"` + Role *NewsletterRole `protobuf:"varint,2,req,name=Role,enum=neonize.NewsletterRole" json:"Role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterLeave) Reset() { + *x = NewsletterLeave{} + mi := &file_Neonize_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterLeave) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterLeave) ProtoMessage() {} + +func (x *NewsletterLeave) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[116] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterLeave.ProtoReflect.Descriptor instead. +func (*NewsletterLeave) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{116} +} + +func (x *NewsletterLeave) GetID() *JID { + if x != nil { + return x.ID + } + return nil +} + +func (x *NewsletterLeave) GetRole() NewsletterRole { + if x != nil && x.Role != nil { + return *x.Role + } + return NewsletterRole_SUBSCRIBER +} + +type NewsletterMuteChange struct { + state protoimpl.MessageState `protogen:"open.v1"` + ID *JID `protobuf:"bytes,1,req,name=ID" json:"ID,omitempty"` + Mute *NewsletterMuteState `protobuf:"varint,2,req,name=Mute,enum=neonize.NewsletterMuteState" json:"Mute,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterMuteChange) Reset() { + *x = NewsletterMuteChange{} + mi := &file_Neonize_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterMuteChange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterMuteChange) ProtoMessage() {} + +func (x *NewsletterMuteChange) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[117] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterMuteChange.ProtoReflect.Descriptor instead. +func (*NewsletterMuteChange) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{117} +} + +func (x *NewsletterMuteChange) GetID() *JID { + if x != nil { + return x.ID + } + return nil +} + +func (x *NewsletterMuteChange) GetMute() NewsletterMuteState { + if x != nil && x.Mute != nil { + return *x.Mute + } + return NewsletterMuteState_ON +} + +type NewsletterLiveUpdate struct { + state protoimpl.MessageState `protogen:"open.v1"` + JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` + TIME *int64 `protobuf:"varint,2,req,name=TIME" json:"TIME,omitempty"` + Messages []*NewsletterMessage `protobuf:"bytes,3,rep,name=Messages" json:"Messages,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewsletterLiveUpdate) Reset() { + *x = NewsletterLiveUpdate{} + mi := &file_Neonize_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewsletterLiveUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewsletterLiveUpdate) ProtoMessage() {} + +func (x *NewsletterLiveUpdate) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[118] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewsletterLiveUpdate.ProtoReflect.Descriptor instead. +func (*NewsletterLiveUpdate) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{118} +} + +func (x *NewsletterLiveUpdate) GetJID() *JID { + if x != nil { + return x.JID + } + return nil +} + +func (x *NewsletterLiveUpdate) GetTIME() int64 { + if x != nil && x.TIME != nil { + return *x.TIME + } + return 0 +} + +func (x *NewsletterLiveUpdate) GetMessages() []*NewsletterMessage { + if x != nil { + return x.Messages + } + return nil +} + +// call events +type BasicCallMeta struct { + state protoimpl.MessageState `protogen:"open.v1"` + From *JID `protobuf:"bytes,1,req,name=from" json:"from,omitempty"` + Timestamp *int64 `protobuf:"varint,2,req,name=timestamp" json:"timestamp,omitempty"` + CallCreator *JID `protobuf:"bytes,3,req,name=callCreator" json:"callCreator,omitempty"` + CallCreatorAlt *JID `protobuf:"bytes,4,req,name=callCreatorAlt" json:"callCreatorAlt,omitempty"` + CallID *string `protobuf:"bytes,5,req,name=callID" json:"callID,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BasicCallMeta) Reset() { + *x = BasicCallMeta{} + mi := &file_Neonize_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BasicCallMeta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasicCallMeta) ProtoMessage() {} + +func (x *BasicCallMeta) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[119] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BasicCallMeta.ProtoReflect.Descriptor instead. +func (*BasicCallMeta) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{119} +} + +func (x *BasicCallMeta) GetFrom() *JID { + if x != nil { + return x.From + } + return nil +} + +func (x *BasicCallMeta) GetTimestamp() int64 { + if x != nil && x.Timestamp != nil { + return *x.Timestamp + } + return 0 +} + +func (x *BasicCallMeta) GetCallCreator() *JID { + if x != nil { + return x.CallCreator + } + return nil +} + +func (x *BasicCallMeta) GetCallCreatorAlt() *JID { + if x != nil { + return x.CallCreatorAlt + } + return nil +} + +func (x *BasicCallMeta) GetCallID() string { + if x != nil && x.CallID != nil { + return *x.CallID + } + return "" +} + +type CallRemoteMeta struct { + state protoimpl.MessageState `protogen:"open.v1"` + RemotePlatform *string `protobuf:"bytes,1,req,name=remotePlatform" json:"remotePlatform,omitempty"` + RemoteVersion *string `protobuf:"bytes,2,req,name=remoteVersion" json:"remoteVersion,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallRemoteMeta) Reset() { + *x = CallRemoteMeta{} + mi := &file_Neonize_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallRemoteMeta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallRemoteMeta) ProtoMessage() {} + +func (x *CallRemoteMeta) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[120] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallRemoteMeta.ProtoReflect.Descriptor instead. +func (*CallRemoteMeta) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{120} +} + +func (x *CallRemoteMeta) GetRemotePlatform() string { + if x != nil && x.RemotePlatform != nil { + return *x.RemotePlatform + } + return "" +} + +func (x *CallRemoteMeta) GetRemoteVersion() string { + if x != nil && x.RemoteVersion != nil { + return *x.RemoteVersion + } + return "" +} + +// events +type CallOffer struct { + state protoimpl.MessageState `protogen:"open.v1"` + BasicCallMeta *BasicCallMeta `protobuf:"bytes,1,req,name=basicCallMeta" json:"basicCallMeta,omitempty"` + CallRemoteMeta *CallRemoteMeta `protobuf:"bytes,2,req,name=callRemoteMeta" json:"callRemoteMeta,omitempty"` + Data *Node `protobuf:"bytes,3,req,name=data" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallOffer) Reset() { + *x = CallOffer{} + mi := &file_Neonize_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallOffer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallOffer) ProtoMessage() {} + +func (x *CallOffer) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[121] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallOffer.ProtoReflect.Descriptor instead. +func (*CallOffer) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{121} +} + +func (x *CallOffer) GetBasicCallMeta() *BasicCallMeta { + if x != nil { + return x.BasicCallMeta + } + return nil +} + +func (x *CallOffer) GetCallRemoteMeta() *CallRemoteMeta { + if x != nil { + return x.CallRemoteMeta + } + return nil +} + +func (x *CallOffer) GetData() *Node { + if x != nil { + return x.Data + } + return nil +} + +type CallAccept struct { + state protoimpl.MessageState `protogen:"open.v1"` + BasicCallMeta *BasicCallMeta `protobuf:"bytes,1,req,name=basicCallMeta" json:"basicCallMeta,omitempty"` + CallRemoteMeta *CallRemoteMeta `protobuf:"bytes,2,req,name=callRemoteMeta" json:"callRemoteMeta,omitempty"` + Data *Node `protobuf:"bytes,3,req,name=data" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallAccept) Reset() { + *x = CallAccept{} + mi := &file_Neonize_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallAccept) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallAccept) ProtoMessage() {} + +func (x *CallAccept) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[122] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallAccept.ProtoReflect.Descriptor instead. +func (*CallAccept) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{122} +} + +func (x *CallAccept) GetBasicCallMeta() *BasicCallMeta { + if x != nil { + return x.BasicCallMeta + } + return nil +} + +func (x *CallAccept) GetCallRemoteMeta() *CallRemoteMeta { + if x != nil { + return x.CallRemoteMeta + } + return nil +} + +func (x *CallAccept) GetData() *Node { + if x != nil { + return x.Data + } + return nil +} + +type CallPreAccept struct { + state protoimpl.MessageState `protogen:"open.v1"` + BasicCallMeta *BasicCallMeta `protobuf:"bytes,1,req,name=basicCallMeta" json:"basicCallMeta,omitempty"` + CallRemoteMeta *CallRemoteMeta `protobuf:"bytes,2,req,name=callRemoteMeta" json:"callRemoteMeta,omitempty"` + Data *Node `protobuf:"bytes,3,req,name=data" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallPreAccept) Reset() { + *x = CallPreAccept{} + mi := &file_Neonize_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallPreAccept) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallPreAccept) ProtoMessage() {} + +func (x *CallPreAccept) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[123] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallPreAccept.ProtoReflect.Descriptor instead. +func (*CallPreAccept) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{123} +} + +func (x *CallPreAccept) GetBasicCallMeta() *BasicCallMeta { + if x != nil { + return x.BasicCallMeta + } + return nil +} + +func (x *CallPreAccept) GetCallRemoteMeta() *CallRemoteMeta { + if x != nil { + return x.CallRemoteMeta + } + return nil +} + +func (x *CallPreAccept) GetData() *Node { + if x != nil { + return x.Data + } + return nil +} + +type CallTransport struct { + state protoimpl.MessageState `protogen:"open.v1"` + BasicCallMeta *BasicCallMeta `protobuf:"bytes,1,req,name=basicCallMeta" json:"basicCallMeta,omitempty"` + CallRemoteMeta *CallRemoteMeta `protobuf:"bytes,2,req,name=callRemoteMeta" json:"callRemoteMeta,omitempty"` + Data *Node `protobuf:"bytes,3,req,name=data" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallTransport) Reset() { + *x = CallTransport{} + mi := &file_Neonize_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallTransport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallTransport) ProtoMessage() {} + +func (x *CallTransport) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[124] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallTransport.ProtoReflect.Descriptor instead. +func (*CallTransport) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{124} +} + +func (x *CallTransport) GetBasicCallMeta() *BasicCallMeta { + if x != nil { + return x.BasicCallMeta + } + return nil +} + +func (x *CallTransport) GetCallRemoteMeta() *CallRemoteMeta { + if x != nil { + return x.CallRemoteMeta + } + return nil +} + +func (x *CallTransport) GetData() *Node { + if x != nil { + return x.Data + } + return nil +} + +type CallOfferNotice struct { + state protoimpl.MessageState `protogen:"open.v1"` + BasicCallMeta *BasicCallMeta `protobuf:"bytes,1,req,name=basicCallMeta" json:"basicCallMeta,omitempty"` + Media *string `protobuf:"bytes,2,req,name=media" json:"media,omitempty"` + Type *string `protobuf:"bytes,3,req,name=type" json:"type,omitempty"` + Data *Node `protobuf:"bytes,4,req,name=data" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallOfferNotice) Reset() { + *x = CallOfferNotice{} + mi := &file_Neonize_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallOfferNotice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallOfferNotice) ProtoMessage() {} + +func (x *CallOfferNotice) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[125] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallOfferNotice.ProtoReflect.Descriptor instead. +func (*CallOfferNotice) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{125} +} + +func (x *CallOfferNotice) GetBasicCallMeta() *BasicCallMeta { + if x != nil { + return x.BasicCallMeta + } + return nil +} + +func (x *CallOfferNotice) GetMedia() string { + if x != nil && x.Media != nil { + return *x.Media + } + return "" +} + +func (x *CallOfferNotice) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *CallOfferNotice) GetData() *Node { + if x != nil { + return x.Data + } + return nil +} + +type CallRelayLatency struct { + state protoimpl.MessageState `protogen:"open.v1"` + BasicCallMeta *BasicCallMeta `protobuf:"bytes,1,req,name=basicCallMeta" json:"basicCallMeta,omitempty"` + Data *Node `protobuf:"bytes,2,req,name=data" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallRelayLatency) Reset() { + *x = CallRelayLatency{} + mi := &file_Neonize_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallRelayLatency) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallRelayLatency) ProtoMessage() {} + +func (x *CallRelayLatency) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[126] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallRelayLatency.ProtoReflect.Descriptor instead. +func (*CallRelayLatency) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{126} +} + +func (x *CallRelayLatency) GetBasicCallMeta() *BasicCallMeta { + if x != nil { + return x.BasicCallMeta + } + return nil +} + +func (x *CallRelayLatency) GetData() *Node { + if x != nil { + return x.Data + } + return nil +} + +type CallTerminate struct { + state protoimpl.MessageState `protogen:"open.v1"` + BasicCallMeta *BasicCallMeta `protobuf:"bytes,1,req,name=basicCallMeta" json:"basicCallMeta,omitempty"` + Reason *string `protobuf:"bytes,2,req,name=reason" json:"reason,omitempty"` + Data *Node `protobuf:"bytes,3,req,name=data" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallTerminate) Reset() { + *x = CallTerminate{} + mi := &file_Neonize_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallTerminate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallTerminate) ProtoMessage() {} + +func (x *CallTerminate) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[127] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallTerminate.ProtoReflect.Descriptor instead. +func (*CallTerminate) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{127} +} + +func (x *CallTerminate) GetBasicCallMeta() *BasicCallMeta { + if x != nil { + return x.BasicCallMeta + } + return nil +} + +func (x *CallTerminate) GetReason() string { + if x != nil && x.Reason != nil { + return *x.Reason + } + return "" +} + +func (x *CallTerminate) GetData() *Node { + if x != nil { + return x.Data + } + return nil +} + +type UnknownCallEvent struct { + state protoimpl.MessageState `protogen:"open.v1"` + Node *Node `protobuf:"bytes,1,req,name=node" json:"node,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnknownCallEvent) Reset() { + *x = UnknownCallEvent{} + mi := &file_Neonize_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnknownCallEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnknownCallEvent) ProtoMessage() {} + +func (x *UnknownCallEvent) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[128] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnknownCallEvent.ProtoReflect.Descriptor instead. +func (*UnknownCallEvent) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{128} +} + +func (x *UnknownCallEvent) GetNode() *Node { + if x != nil { + return x.Node + } + return nil +} + +type UndecryptableMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + Info *MessageInfo `protobuf:"bytes,1,req,name=Info" json:"Info,omitempty"` + IsUnavailable *bool `protobuf:"varint,2,req,name=IsUnavailable" json:"IsUnavailable,omitempty"` + DecryptFailMode *UndecryptableMessage_DecryptFailModeT `protobuf:"varint,3,req,name=DecryptFailMode,enum=neonize.UndecryptableMessage_DecryptFailModeT" json:"DecryptFailMode,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UndecryptableMessage) Reset() { + *x = UndecryptableMessage{} + mi := &file_Neonize_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UndecryptableMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UndecryptableMessage) ProtoMessage() {} + +func (x *UndecryptableMessage) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[129] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UndecryptableMessage.ProtoReflect.Descriptor instead. +func (*UndecryptableMessage) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{129} +} + +func (x *UndecryptableMessage) GetInfo() *MessageInfo { + if x != nil { + return x.Info + } + return nil +} + +func (x *UndecryptableMessage) GetIsUnavailable() bool { + if x != nil && x.IsUnavailable != nil { + return *x.IsUnavailable + } + return false +} + +func (x *UndecryptableMessage) GetDecryptFailMode() UndecryptableMessage_DecryptFailModeT { + if x != nil && x.DecryptFailMode != nil { + return *x.DecryptFailMode + } + return UndecryptableMessage_DECRYPT_FAIL_SHOW +} + +type UpdateGroupParticipantsReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Error *string `protobuf:"bytes,1,opt,name=Error" json:"Error,omitempty"` + Participants []*GroupParticipant `protobuf:"bytes,2,rep,name=participants" json:"participants,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateGroupParticipantsReturnFunction) Reset() { + *x = UpdateGroupParticipantsReturnFunction{} + mi := &file_Neonize_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateGroupParticipantsReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateGroupParticipantsReturnFunction) ProtoMessage() {} + +func (x *UpdateGroupParticipantsReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[130] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateGroupParticipantsReturnFunction.ProtoReflect.Descriptor instead. +func (*UpdateGroupParticipantsReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{130} +} + +func (x *UpdateGroupParticipantsReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *UpdateGroupParticipantsReturnFunction) GetParticipants() []*GroupParticipant { + if x != nil { + return x.Participants + } + return nil +} + +type GetMessageForRetryReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + IsEmpty *bool `protobuf:"varint,1,opt,name=isEmpty,def=0" json:"isEmpty,omitempty"` + Message *waE2E.Message `protobuf:"bytes,2,opt,name=Message" json:"Message,omitempty"` + Error *string `protobuf:"bytes,3,opt,name=Error" json:"Error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Default values for GetMessageForRetryReturnFunction fields. +const ( + Default_GetMessageForRetryReturnFunction_IsEmpty = bool(false) +) + +func (x *GetMessageForRetryReturnFunction) Reset() { + *x = GetMessageForRetryReturnFunction{} + mi := &file_Neonize_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetMessageForRetryReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMessageForRetryReturnFunction) ProtoMessage() {} + +func (x *GetMessageForRetryReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[131] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMessageForRetryReturnFunction.ProtoReflect.Descriptor instead. +func (*GetMessageForRetryReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{131} +} + +func (x *GetMessageForRetryReturnFunction) GetIsEmpty() bool { + if x != nil && x.IsEmpty != nil { + return *x.IsEmpty + } + return Default_GetMessageForRetryReturnFunction_IsEmpty +} + +func (x *GetMessageForRetryReturnFunction) GetMessage() *waE2E.Message { + if x != nil { + return x.Message + } + return nil +} + +func (x *GetMessageForRetryReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +// chat_setting_store +type LocalChatSettings struct { + state protoimpl.MessageState `protogen:"open.v1"` + Found *bool `protobuf:"varint,1,req,name=Found" json:"Found,omitempty"` + MutedUntil *float64 `protobuf:"fixed64,2,req,name=MutedUntil" json:"MutedUntil,omitempty"` + Pinned *bool `protobuf:"varint,3,req,name=Pinned" json:"Pinned,omitempty"` + Archived *bool `protobuf:"varint,4,req,name=Archived" json:"Archived,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LocalChatSettings) Reset() { + *x = LocalChatSettings{} + mi := &file_Neonize_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LocalChatSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LocalChatSettings) ProtoMessage() {} + +func (x *LocalChatSettings) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[132] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LocalChatSettings.ProtoReflect.Descriptor instead. +func (*LocalChatSettings) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{132} +} + +func (x *LocalChatSettings) GetFound() bool { + if x != nil && x.Found != nil { + return *x.Found + } + return false +} + +func (x *LocalChatSettings) GetMutedUntil() float64 { + if x != nil && x.MutedUntil != nil { + return *x.MutedUntil + } + return 0 +} + +func (x *LocalChatSettings) GetPinned() bool { + if x != nil && x.Pinned != nil { + return *x.Pinned + } + return false +} + +func (x *LocalChatSettings) GetArchived() bool { + if x != nil && x.Archived != nil { + return *x.Archived + } + return false +} + +// New Verision for Function +type ReturnFunctionWithError struct { + state protoimpl.MessageState `protogen:"open.v1"` + Error *string `protobuf:"bytes,1,opt,name=Error" json:"Error,omitempty"` + // Types that are valid to be assigned to Return: + // + // *ReturnFunctionWithError_LocalChatSettings + // *ReturnFunctionWithError_PollVoteMessage + // *ReturnFunctionWithError_GetLinkedGroupsParticipants + Return isReturnFunctionWithError_Return `protobuf_oneof:"Return"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReturnFunctionWithError) Reset() { + *x = ReturnFunctionWithError{} + mi := &file_Neonize_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReturnFunctionWithError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReturnFunctionWithError) ProtoMessage() {} + +func (x *ReturnFunctionWithError) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[133] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReturnFunctionWithError.ProtoReflect.Descriptor instead. +func (*ReturnFunctionWithError) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{133} +} + +func (x *ReturnFunctionWithError) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *ReturnFunctionWithError) GetReturn() isReturnFunctionWithError_Return { + if x != nil { + return x.Return + } + return nil +} + +func (x *ReturnFunctionWithError) GetLocalChatSettings() *LocalChatSettings { + if x != nil { + if x, ok := x.Return.(*ReturnFunctionWithError_LocalChatSettings); ok { + return x.LocalChatSettings + } + } + return nil +} + +func (x *ReturnFunctionWithError) GetPollVoteMessage() *waE2E.PollVoteMessage { + if x != nil { + if x, ok := x.Return.(*ReturnFunctionWithError_PollVoteMessage); ok { + return x.PollVoteMessage + } + } + return nil +} + +func (x *ReturnFunctionWithError) GetGetLinkedGroupsParticipants() *JIDArray { + if x != nil { + if x, ok := x.Return.(*ReturnFunctionWithError_GetLinkedGroupsParticipants); ok { + return x.GetLinkedGroupsParticipants + } + } + return nil +} + +type isReturnFunctionWithError_Return interface { + isReturnFunctionWithError_Return() +} + +type ReturnFunctionWithError_LocalChatSettings struct { + LocalChatSettings *LocalChatSettings `protobuf:"bytes,2,opt,name=LocalChatSettings,oneof"` +} + +type ReturnFunctionWithError_PollVoteMessage struct { + PollVoteMessage *waE2E.PollVoteMessage `protobuf:"bytes,3,opt,name=PollVoteMessage,oneof"` +} + +type ReturnFunctionWithError_GetLinkedGroupsParticipants struct { + GetLinkedGroupsParticipants *JIDArray `protobuf:"bytes,4,opt,name=GetLinkedGroupsParticipants,oneof"` +} + +func (*ReturnFunctionWithError_LocalChatSettings) isReturnFunctionWithError_Return() {} + +func (*ReturnFunctionWithError_PollVoteMessage) isReturnFunctionWithError_Return() {} + +func (*ReturnFunctionWithError_GetLinkedGroupsParticipants) isReturnFunctionWithError_Return() {} + +type SendRequestExtra struct { + state protoimpl.MessageState `protogen:"open.v1"` + ID *string `protobuf:"bytes,1,req,name=ID" json:"ID,omitempty"` + InlineBotJID *JID `protobuf:"bytes,2,req,name=InlineBotJID" json:"InlineBotJID,omitempty"` + Peer *bool `protobuf:"varint,3,req,name=Peer" json:"Peer,omitempty"` + Timeout *int64 `protobuf:"varint,4,req,name=Timeout" json:"Timeout,omitempty"` + MediaHandle *string `protobuf:"bytes,5,req,name=MediaHandle" json:"MediaHandle,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SendRequestExtra) Reset() { + *x = SendRequestExtra{} + mi := &file_Neonize_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SendRequestExtra) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendRequestExtra) ProtoMessage() {} + +func (x *SendRequestExtra) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[134] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendRequestExtra.ProtoReflect.Descriptor instead. +func (*SendRequestExtra) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{134} +} + +func (x *SendRequestExtra) GetID() string { + if x != nil && x.ID != nil { + return *x.ID + } + return "" +} + +func (x *SendRequestExtra) GetInlineBotJID() *JID { + if x != nil { + return x.InlineBotJID + } + return nil +} + +func (x *SendRequestExtra) GetPeer() bool { + if x != nil && x.Peer != nil { + return *x.Peer + } + return false +} + +func (x *SendRequestExtra) GetTimeout() int64 { + if x != nil && x.Timeout != nil { + return *x.Timeout + } + return 0 +} + +func (x *SendRequestExtra) GetMediaHandle() string { + if x != nil && x.MediaHandle != nil { + return *x.MediaHandle + } + return "" +} + +type BuildMessageReturnFunction struct { + state protoimpl.MessageState `protogen:"open.v1"` + Error *string `protobuf:"bytes,1,opt,name=Error" json:"Error,omitempty"` + Message *waE2E.Message `protobuf:"bytes,2,req,name=Message" json:"Message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BuildMessageReturnFunction) Reset() { + *x = BuildMessageReturnFunction{} + mi := &file_Neonize_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BuildMessageReturnFunction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildMessageReturnFunction) ProtoMessage() {} + +func (x *BuildMessageReturnFunction) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[135] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildMessageReturnFunction.ProtoReflect.Descriptor instead. +func (*BuildMessageReturnFunction) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{135} +} + +func (x *BuildMessageReturnFunction) GetError() string { + if x != nil && x.Error != nil { + return *x.Error + } + return "" +} + +func (x *BuildMessageReturnFunction) GetMessage() *waE2E.Message { + if x != nil { + return x.Message + } + return nil +} + +type LogEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + Message *string `protobuf:"bytes,1,req,name=Message" json:"Message,omitempty"` + Level *string `protobuf:"bytes,2,req,name=Level" json:"Level,omitempty"` + Name *string `protobuf:"bytes,3,req,name=Name" json:"Name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LogEntry) Reset() { + *x = LogEntry{} + mi := &file_Neonize_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LogEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LogEntry) ProtoMessage() {} + +func (x *LogEntry) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[136] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LogEntry.ProtoReflect.Descriptor instead. +func (*LogEntry) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{136} +} + +func (x *LogEntry) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +func (x *LogEntry) GetLevel() string { + if x != nil && x.Level != nil { + return *x.Level + } + return "" +} + +func (x *LogEntry) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +type Stop struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Stop) Reset() { + *x = Stop{} + mi := &file_Neonize_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Stop) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Stop) ProtoMessage() {} + +func (x *Stop) ProtoReflect() protoreflect.Message { + mi := &file_Neonize_proto_msgTypes[137] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Stop.ProtoReflect.Descriptor instead. +func (*Stop) Descriptor() ([]byte, []int) { + return file_Neonize_proto_rawDescGZIP(), []int{137} +} + +var File_Neonize_proto protoreflect.FileDescriptor + +const file_Neonize_proto_rawDesc = "" + + "\n" + + "\rNeonize.proto\x12\aneonize\x1a)waVnameCert/WAWebProtobufsVnameCert.proto\x1a\x1dwaE2E/WAWebProtobufsE2E.proto\x1a\x1dwaWeb/WAWebProtobufsWeb.proto\x1a\x1fwaSyncAction/WASyncAction.proto\x1a-waHistorySync/WAWebProtobufsHistorySync.proto\"\xa6\x01\n" + + "\x03JID\x12\x12\n" + + "\x04User\x18\x01 \x02(\tR\x04User\x12\x1a\n" + + "\bRawAgent\x18\x02 \x02(\rR\bRawAgent\x12\x16\n" + + "\x06Device\x18\x03 \x02(\rR\x06Device\x12\x1e\n" + + "\n" + + "Integrator\x18\x04 \x02(\rR\n" + + "Integrator\x12\x16\n" + + "\x06Server\x18\x05 \x02(\tR\x06Server\x12\x1f\n" + + "\aIsEmpty\x18\x06 \x01(\b:\x05falseR\aIsEmpty\"\xad\x03\n" + + "\vMessageInfo\x12<\n" + + "\rMessageSource\x18\x01 \x02(\v2\x16.neonize.MessageSourceR\rMessageSource\x12\x0e\n" + + "\x02ID\x18\x02 \x02(\tR\x02ID\x12\x1a\n" + + "\bServerID\x18\x03 \x02(\x03R\bServerID\x12\x12\n" + + "\x04Type\x18\x04 \x02(\tR\x04Type\x12\x1a\n" + + "\bPushname\x18\x05 \x02(\tR\bPushname\x12\x1c\n" + + "\tTimestamp\x18\x06 \x02(\x03R\tTimestamp\x12\x1a\n" + + "\bCategory\x18\a \x02(\tR\bCategory\x12\x1c\n" + + "\tMulticast\x18\b \x02(\bR\tMulticast\x12\x1c\n" + + "\tMediaType\x18\t \x02(\tR\tMediaType\x12\x12\n" + + "\x04Edit\x18\n" + + " \x02(\tR\x04Edit\x129\n" + + "\fVerifiedName\x18\v \x01(\v2\x15.neonize.VerifiedNameR\fVerifiedName\x12?\n" + + "\x0eDeviceSentMeta\x18\f \x01(\v2\x17.neonize.DeviceSentMetaR\x0eDeviceSentMeta\"\xdc\x01\n" + + "\x0eUploadResponse\x12\x10\n" + + "\x03url\x18\x01 \x02(\tR\x03url\x12\x1e\n" + + "\n" + + "DirectPath\x18\x02 \x02(\tR\n" + + "DirectPath\x12\x16\n" + + "\x06Handle\x18\x03 \x02(\tR\x06Handle\x12\x1a\n" + + "\bMediaKey\x18\x04 \x02(\fR\bMediaKey\x12$\n" + + "\rFileEncSHA256\x18\x05 \x02(\fR\rFileEncSHA256\x12\x1e\n" + + "\n" + + "FileSHA256\x18\x06 \x02(\fR\n" + + "FileSHA256\x12\x1e\n" + + "\n" + + "FileLength\x18\a \x02(\rR\n" + + "FileLength\"R\n" + + "\x12BroadcastRecipient\x12\x1e\n" + + "\x03LID\x18\x01 \x02(\v2\f.neonize.JIDR\x03LID\x12\x1c\n" + + "\x02PN\x18\x02 \x02(\v2\f.neonize.JIDR\x02PN\"\xb9\x03\n" + + "\rMessageSource\x12 \n" + + "\x04Chat\x18\x01 \x02(\v2\f.neonize.JIDR\x04Chat\x12$\n" + + "\x06Sender\x18\x02 \x02(\v2\f.neonize.JIDR\x06Sender\x12\x1a\n" + + "\bIsFromMe\x18\x03 \x02(\bR\bIsFromMe\x12\x18\n" + + "\aIsGroup\x18\x04 \x02(\bR\aIsGroup\x12?\n" + + "\x0eAddressingMode\x18\x05 \x01(\x0e2\x17.neonize.AddressingModeR\x0eAddressingMode\x12*\n" + + "\tSenderAlt\x18\x06 \x02(\v2\f.neonize.JIDR\tSenderAlt\x120\n" + + "\fRecipientAlt\x18\a \x02(\v2\f.neonize.JIDR\fRecipientAlt\x12<\n" + + "\x12BroadcastListOwner\x18\b \x02(\v2\f.neonize.JIDR\x12BroadcastListOwner\x12M\n" + + "\x13BroadcastRecipients\x18\t \x03(\v2\x1b.neonize.BroadcastRecipientR\x13BroadcastRecipients\"N\n" + + "\x0eDeviceSentMeta\x12&\n" + + "\x0eDestinationJID\x18\x01 \x02(\tR\x0eDestinationJID\x12\x14\n" + + "\x05Phash\x18\x02 \x02(\tR\x05Phash\"\xb6\x01\n" + + "\fVerifiedName\x12R\n" + + "\vCertificate\x18\x01 \x01(\v20.WAWebProtobufsVnameCert.VerifiedNameCertificateR\vCertificate\x12R\n" + + "\aDetails\x18\x02 \x01(\v28.WAWebProtobufsVnameCert.VerifiedNameCertificate.DetailsR\aDetails\"\x9b\x01\n" + + "\x14IsOnWhatsAppResponse\x12\x14\n" + + "\x05Query\x18\x01 \x02(\tR\x05Query\x12\x1e\n" + + "\x03JID\x18\x02 \x02(\v2\f.neonize.JIDR\x03JID\x12\x12\n" + + "\x04IsIn\x18\x03 \x02(\bR\x04IsIn\x129\n" + + "\fVerifiedName\x18\x04 \x01(\v2\x15.neonize.VerifiedNameR\fVerifiedName\"\xa3\x01\n" + + "\bUserInfo\x129\n" + + "\fVerifiedName\x18\x01 \x01(\v2\x15.neonize.VerifiedNameR\fVerifiedName\x12\x16\n" + + "\x06Status\x18\x02 \x02(\tR\x06Status\x12\x1c\n" + + "\tPictureID\x18\x03 \x02(\tR\tPictureID\x12&\n" + + "\aDevices\x18\x04 \x03(\v2\f.neonize.JIDR\aDevices\"\xc8\x01\n" + + "\x06Device\x12\x1e\n" + + "\x03JID\x18\x01 \x01(\v2\f.neonize.JIDR\x03JID\x12\x1e\n" + + "\x03LID\x18\x02 \x01(\v2\f.neonize.JIDR\x03LID\x12\x1a\n" + + "\bPlatform\x18\x03 \x02(\tR\bPlatform\x12$\n" + + "\rBussinessName\x18\x04 \x02(\tR\rBussinessName\x12\x1a\n" + + "\bPushName\x18\x05 \x02(\tR\bPushName\x12 \n" + + "\vInitialized\x18\x06 \x02(\bR\vInitialized\"i\n" + + "\tGroupName\x12\x12\n" + + "\x04Name\x18\x01 \x02(\tR\x04Name\x12\x1c\n" + + "\tNameSetAt\x18\x02 \x02(\x03R\tNameSetAt\x12*\n" + + "\tNameSetBy\x18\x03 \x02(\v2\f.neonize.JIDR\tNameSetBy\"\xae\x01\n" + + "\n" + + "GroupTopic\x12\x14\n" + + "\x05Topic\x18\x01 \x02(\tR\x05Topic\x12\x18\n" + + "\aTopicID\x18\x02 \x02(\tR\aTopicID\x12\x1e\n" + + "\n" + + "TopicSetAt\x18\x03 \x02(\x03R\n" + + "TopicSetAt\x12,\n" + + "\n" + + "TopicSetBy\x18\x04 \x02(\v2\f.neonize.JIDR\n" + + "TopicSetBy\x12\"\n" + + "\fTopicDeleted\x18\x05 \x02(\bR\fTopicDeleted\")\n" + + "\vGroupLocked\x12\x1a\n" + + "\bisLocked\x18\x01 \x02(\bR\bisLocked\"]\n" + + "\rGroupAnnounce\x12\x1e\n" + + "\n" + + "IsAnnounce\x18\x01 \x02(\bR\n" + + "IsAnnounce\x12,\n" + + "\x11AnnounceVersionID\x18\x02 \x02(\tR\x11AnnounceVersionID\"`\n" + + "\x0eGroupEphemeral\x12 \n" + + "\vIsEphemeral\x18\x01 \x02(\bR\vIsEphemeral\x12,\n" + + "\x11DisappearingTimer\x18\x02 \x02(\rR\x11DisappearingTimer\"2\n" + + "\x0eGroupIncognito\x12 \n" + + "\vIsIncognito\x18\x01 \x02(\bR\vIsIncognito\"o\n" + + "\vGroupParent\x12\x1a\n" + + "\bIsParent\x18\x01 \x02(\bR\bIsParent\x12D\n" + + "\x1dDefaultMembershipApprovalMode\x18\x02 \x02(\tR\x1dDefaultMembershipApprovalMode\"K\n" + + "\x11GroupLinkedParent\x126\n" + + "\x0fLinkedParentJID\x18\x01 \x02(\v2\f.neonize.JIDR\x0fLinkedParentJID\"A\n" + + "\x11GroupIsDefaultSub\x12,\n" + + "\x11IsDefaultSubGroup\x18\x01 \x02(\bR\x11IsDefaultSubGroup\"P\n" + + "\x1aGroupParticipantAddRequest\x12\x12\n" + + "\x04Code\x18\x01 \x02(\tR\x04Code\x12\x1e\n" + + "\n" + + "Expiration\x18\x02 \x02(\x02R\n" + + "Expiration\"\xbd\x02\n" + + "\x10GroupParticipant\x12\x1e\n" + + "\x03JID\x18\x01 \x01(\v2\f.neonize.JIDR\x03JID\x12\x1e\n" + + "\x03LID\x18\x02 \x02(\v2\f.neonize.JIDR\x03LID\x12.\n" + + "\vPhoneNumber\x18\x03 \x02(\v2\f.neonize.JIDR\vPhoneNumber\x12\x18\n" + + "\aIsAdmin\x18\x04 \x02(\bR\aIsAdmin\x12\"\n" + + "\fIsSuperAdmin\x18\x05 \x02(\bR\fIsSuperAdmin\x12 \n" + + "\vDisplayName\x18\x06 \x02(\tR\vDisplayName\x12\x14\n" + + "\x05Error\x18\a \x02(\x05R\x05Error\x12C\n" + + "\n" + + "AddRequest\x18\b \x01(\v2#.neonize.GroupParticipantAddRequestR\n" + + "AddRequest\"\xf2\x06\n" + + "\tGroupInfo\x12(\n" + + "\bOwnerJID\x18\x02 \x02(\v2\f.neonize.JIDR\bOwnerJID\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x12&\n" + + "\aOwnerPN\x18\x03 \x02(\v2\f.neonize.JIDR\aOwnerPN\x120\n" + + "\tGroupName\x18\x04 \x02(\v2\x12.neonize.GroupNameR\tGroupName\x123\n" + + "\n" + + "GroupTopic\x18\x05 \x02(\v2\x13.neonize.GroupTopicR\n" + + "GroupTopic\x126\n" + + "\vGroupLocked\x18\x06 \x02(\v2\x14.neonize.GroupLockedR\vGroupLocked\x12<\n" + + "\rGroupAnnounce\x18\a \x02(\v2\x16.neonize.GroupAnnounceR\rGroupAnnounce\x12?\n" + + "\x0eGroupEphemeral\x18\b \x02(\v2\x17.neonize.GroupEphemeralR\x0eGroupEphemeral\x12?\n" + + "\x0eGroupIncognito\x18\t \x02(\v2\x17.neonize.GroupIncognitoR\x0eGroupIncognito\x126\n" + + "\vGroupParent\x18\n" + + " \x02(\v2\x14.neonize.GroupParentR\vGroupParent\x12H\n" + + "\x11GroupLinkedParent\x18\v \x02(\v2\x1a.neonize.GroupLinkedParentR\x11GroupLinkedParent\x12H\n" + + "\x11GroupIsDefaultSub\x18\f \x02(\v2\x1a.neonize.GroupIsDefaultSubR\x11GroupIsDefaultSub\x12\"\n" + + "\fGroupCreated\x18\r \x02(\x02R\fGroupCreated\x122\n" + + "\x14ParticipantVersionID\x18\x0e \x02(\tR\x14ParticipantVersionID\x12=\n" + + "\fParticipants\x18\x0f \x03(\v2\x19.neonize.GroupParticipantR\fParticipants\"1\n" + + "\x12GroupMemberAddMode\x12\x1b\n" + + "\x17GroupMemberAddModeAdmin\x10\x01\"\x93\x02\n" + + "\x13MessageDebugTimings\x12\x14\n" + + "\x05Queue\x18\x01 \x02(\x03R\x05Queue\x12\x18\n" + + "\aMarshal\x18\x02 \x02(\x03R\aMarshal\x12(\n" + + "\x0fGetParticipants\x18\x03 \x02(\x03R\x0fGetParticipants\x12\x1e\n" + + "\n" + + "GetDevices\x18\x04 \x02(\x03R\n" + + "GetDevices\x12\"\n" + + "\fGroupEncrypt\x18\x05 \x02(\x03R\fGroupEncrypt\x12 \n" + + "\vPeerEncrypt\x18\x06 \x02(\x03R\vPeerEncrypt\x12\x12\n" + + "\x04Send\x18\a \x02(\x03R\x04Send\x12\x12\n" + + "\x04Resp\x18\b \x02(\x03R\x04Resp\x12\x14\n" + + "\x05Retry\x18\t \x02(\x03R\x05Retry\"\xd0\x01\n" + + "\fSendResponse\x12\x1c\n" + + "\tTimestamp\x18\x01 \x02(\x03R\tTimestamp\x12\x0e\n" + + "\x02ID\x18\x02 \x02(\tR\x02ID\x12\x1a\n" + + "\bServerID\x18\x03 \x02(\x03R\bServerID\x12@\n" + + "\fDebugTimings\x18\x04 \x02(\v2\x1c.neonize.MessageDebugTimingsR\fDebugTimings\x124\n" + + "\aMessage\x18\x05 \x01(\v2\x1a.WAWebProtobufsE2E.MessageR\aMessage\"l\n" + + "\x19SendMessageReturnFunction\x12\x14\n" + + "\x05Error\x18\x01 \x01(\tR\x05Error\x129\n" + + "\fSendResponse\x18\x02 \x01(\v2\x15.neonize.SendResponseR\fSendResponse\"d\n" + + "\x1aGetGroupInfoReturnFunction\x120\n" + + "\tGroupInfo\x18\x01 \x01(\v2\x12.neonize.GroupInfoR\tGroupInfo\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"W\n" + + "\x1fJoinGroupWithLinkReturnFunction\x12\x14\n" + + "\x05Error\x18\x01 \x01(\tR\x05Error\x12\x1e\n" + + "\x03Jid\x18\x02 \x01(\v2\f.neonize.JIDR\x03Jid\"U\n" + + "\x1dGetJIDFromStoreReturnFunction\x12\x14\n" + + "\x05Error\x18\x01 \x01(\tR\x05Error\x12\x1e\n" + + "\x03Jid\x18\x02 \x01(\v2\f.neonize.JIDR\x03Jid\"X\n" + + " GetGroupInviteLinkReturnFunction\x12\x1e\n" + + "\n" + + "InviteLink\x18\x01 \x01(\tR\n" + + "InviteLink\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"F\n" + + "\x16DownloadReturnFunction\x12\x16\n" + + "\x06Binary\x18\x01 \x01(\fR\x06Binary\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"m\n" + + "\x14UploadReturnFunction\x12?\n" + + "\x0eUploadResponse\x18\x01 \x01(\v2\x17.neonize.UploadResponseR\x0eUploadResponse\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"Q\n" + + "\x1bSetGroupPhotoReturnFunction\x12\x1c\n" + + "\tPictureID\x18\x01 \x02(\tR\tPictureID\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"\x85\x01\n" + + "\x1aIsOnWhatsAppReturnFunction\x12Q\n" + + "\x14IsOnWhatsAppResponse\x18\x01 \x03(\v2\x1d.neonize.IsOnWhatsAppResponseR\x14IsOnWhatsAppResponse\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"p\n" + + "\x1fGetUserInfoSingleReturnFunction\x12\x1e\n" + + "\x03JID\x18\x01 \x01(\v2\f.neonize.JIDR\x03JID\x12-\n" + + "\bUserInfo\x18\x02 \x01(\v2\x11.neonize.UserInfoR\bUserInfo\"y\n" + + "\x19GetUserInfoReturnFunction\x12F\n" + + "\tUsersInfo\x18\x01 \x03(\v2(.neonize.GetUserInfoSingleReturnFunctionR\tUsersInfo\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"k\n" + + "\x1bBuildPollVoteReturnFunction\x126\n" + + "\bPollVote\x18\x01 \x01(\v2\x1a.WAWebProtobufsE2E.MessageR\bPollVote\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"\x83\x01\n" + + "\x1eCreateNewsLetterReturnFunction\x12K\n" + + "\x12NewsletterMetadata\x18\x01 \x01(\v2\x1b.neonize.NewsletterMetadataR\x12NewsletterMetadata\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"d\n" + + "\x1aGetBlocklistReturnFunction\x120\n" + + "\tBlocklist\x18\x01 \x01(\v2\x12.neonize.BlocklistR\tBlocklist\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"J\n" + + "\x1eGetContactQRLinkReturnFunction\x12\x12\n" + + "\x04Link\x18\x01 \x02(\tR\x04Link\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"a\n" + + "\x17GroupParticipantRequest\x12.\n" + + "\vParticipant\x18\x01 \x01(\v2\f.neonize.JIDR\vParticipant\x12\x16\n" + + "\x06TimeAt\x18\x02 \x01(\x04R\x06TimeAt\"\x87\x01\n" + + ")GetGroupRequestParticipantsReturnFunction\x12D\n" + + "\fParticipants\x18\x01 \x03(\v2 .neonize.GroupParticipantRequestR\fParticipants\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"_\n" + + "\x1dGetJoinedGroupsReturnFunction\x12(\n" + + "\x05Group\x18\x01 \x03(\v2\x12.neonize.GroupInfoR\x05Group\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"\xf6\x01\n" + + "\x0eReqCreateGroup\x12\x12\n" + + "\x04name\x18\x01 \x02(\tR\x04name\x120\n" + + "\fParticipants\x18\x02 \x03(\v2\f.neonize.JIDR\fParticipants\x12\x1c\n" + + "\tCreateKey\x18\x03 \x02(\tR\tCreateKey\x126\n" + + "\vGroupParent\x18\x04 \x01(\v2\x14.neonize.GroupParentR\vGroupParent\x12H\n" + + "\x11GroupLinkedParent\x18\x05 \x01(\v2\x1a.neonize.GroupLinkedParentR\x11GroupLinkedParent\",\n" + + "\bJIDArray\x12 \n" + + "\x04JIDS\x18\x01 \x03(\v2\f.neonize.JIDR\x04JIDS\"!\n" + + "\vArrayString\x12\x12\n" + + "\x04data\x18\x01 \x03(\tR\x04data\"O\n" + + "\x15NewsLetterMessageMeta\x12\x16\n" + + "\x06EditTS\x18\x01 \x02(\x03R\x06EditTS\x12\x1e\n" + + "\n" + + "OriginalTS\x18\x02 \x02(\x03R\n" + + "OriginalTS\"M\n" + + "\vGroupDelete\x12\x18\n" + + "\aDeleted\x18\x01 \x02(\bR\aDeleted\x12$\n" + + "\rDeletedReason\x18\x02 \x02(\tR\rDeletedReason\"\x8e\x05\n" + + "\aMessage\x12(\n" + + "\x04Info\x18\x01 \x02(\v2\x14.neonize.MessageInfoR\x04Info\x124\n" + + "\aMessage\x18\x02 \x01(\v2\x1a.WAWebProtobufsE2E.MessageR\aMessage\x12 \n" + + "\vIsEphemeral\x18\x03 \x02(\bR\vIsEphemeral\x12\x1e\n" + + "\n" + + "IsViewOnce\x18\x04 \x02(\bR\n" + + "IsViewOnce\x12\"\n" + + "\fIsViewOnceV2\x18\x05 \x02(\bR\fIsViewOnceV2\x124\n" + + "\x15IsViewOnceV2Extension\x18\x06 \x02(\bR\x15IsViewOnceV2Extension\x124\n" + + "\x15IsDocumentWithCaption\x18\a \x02(\bR\x15IsDocumentWithCaption\x12(\n" + + "\x0fIsLottieSticker\x18\b \x02(\bR\x0fIsLottieSticker\x12\x16\n" + + "\x06IsEdit\x18\t \x02(\bR\x06IsEdit\x12E\n" + + "\fSourceWebMsg\x18\n" + + " \x01(\v2!.WAWebProtobufsWeb.WebMessageInfoR\fSourceWebMsg\x122\n" + + "\x14UnavailableRequestID\x18\v \x02(\tR\x14UnavailableRequestID\x12\x1e\n" + + "\n" + + "RetryCount\x18\f \x02(\x03R\n" + + "RetryCount\x12F\n" + + "\x0eNewsLetterMeta\x18\r \x01(\v2\x1e.neonize.NewsLetterMessageMetaR\x0eNewsLetterMeta\x12,\n" + + "\x03Raw\x18\x0e \x01(\v2\x1a.WAWebProtobufsE2E.MessageR\x03Raw\"h\n" + + "\x16CreateNewsletterParams\x12\x12\n" + + "\x04Name\x18\x01 \x02(\tR\x04Name\x12 \n" + + "\vDescription\x18\x02 \x02(\tR\vDescription\x12\x18\n" + + "\aPicture\x18\x03 \x02(\fR\aPicture\"\x9d\x01\n" + + "\x16WrappedNewsletterState\x12C\n" + + "\x04Type\x18\x01 \x02(\x0e2/.neonize.WrappedNewsletterState.NewsletterStateR\x04Type\">\n" + + "\x0fNewsletterState\x12\n" + + "\n" + + "\x06ACTIVE\x10\x01\x12\r\n" + + "\tSUSPENDED\x10\x02\x12\x10\n" + + "\fGEOSUSPENDED\x10\x03\"T\n" + + "\x0eNewsletterText\x12\x12\n" + + "\x04Text\x18\x01 \x02(\tR\x04Text\x12\x0e\n" + + "\x02ID\x18\x02 \x02(\tR\x02ID\x12\x1e\n" + + "\n" + + "UpdateTime\x18\x03 \x02(\x03R\n" + + "UpdateTime\"~\n" + + "\x12ProfilePictureInfo\x12\x10\n" + + "\x03URL\x18\x01 \x01(\tR\x03URL\x12\x0e\n" + + "\x02ID\x18\x02 \x01(\tR\x02ID\x12\x12\n" + + "\x04Type\x18\x03 \x01(\tR\x04Type\x12\x1e\n" + + "\n" + + "DirectPath\x18\x04 \x01(\tR\n" + + "DirectPath\x12\x12\n" + + "\x04Hash\x18\x05 \x01(\fR\x04Hash\"\xb7\x01\n" + + "\x1aNewsletterReactionSettings\x12Q\n" + + "\x05Value\x18\x01 \x02(\x0e2;.neonize.NewsletterReactionSettings.NewsletterReactionsModeR\x05Value\"F\n" + + "\x17NewsletterReactionsMode\x12\a\n" + + "\x03ALL\x10\x01\x12\t\n" + + "\x05BASIC\x10\x02\x12\b\n" + + "\x04NONE\x10\x03\x12\r\n" + + "\tBLOCKLIST\x10\x04\"^\n" + + "\x11NewsletterSetting\x12I\n" + + "\rReactionCodes\x18\x01 \x02(\v2#.neonize.NewsletterReactionSettingsR\rReactionCodes\"\xc0\x04\n" + + "\x18NewsletterThreadMetadata\x12\"\n" + + "\fCreationTime\x18\x01 \x02(\x03R\fCreationTime\x12\x1e\n" + + "\n" + + "InviteCode\x18\x02 \x02(\tR\n" + + "InviteCode\x12+\n" + + "\x04Name\x18\x03 \x02(\v2\x17.neonize.NewsletterTextR\x04Name\x129\n" + + "\vDescription\x18\x04 \x02(\v2\x17.neonize.NewsletterTextR\vDescription\x12(\n" + + "\x0fSubscriberCount\x18\x05 \x02(\x03R\x0fSubscriberCount\x12k\n" + + "\x11VerificationState\x18\x06 \x02(\x0e2=.neonize.NewsletterThreadMetadata.NewsletterVerificationStateR\x11VerificationState\x125\n" + + "\aPicture\x18\a \x01(\v2\x1b.neonize.ProfilePictureInfoR\aPicture\x125\n" + + "\aPreview\x18\b \x02(\v2\x1b.neonize.ProfilePictureInfoR\aPreview\x126\n" + + "\bSettings\x18\t \x02(\v2\x1a.neonize.NewsletterSettingR\bSettings\";\n" + + "\x1bNewsletterVerificationState\x12\f\n" + + "\bVERIFIED\x10\x01\x12\x0e\n" + + "\n" + + "UNVERIFIED\x10\x02\"y\n" + + "\x18NewsletterViewerMetadata\x120\n" + + "\x04Mute\x18\x01 \x02(\x0e2\x1c.neonize.NewsletterMuteStateR\x04Mute\x12+\n" + + "\x04Role\x18\x02 \x02(\x0e2\x17.neonize.NewsletterRoleR\x04Role\"\xef\x01\n" + + "\x12NewsletterMetadata\x12\x1c\n" + + "\x02ID\x18\x01 \x02(\v2\f.neonize.JIDR\x02ID\x125\n" + + "\x05State\x18\x02 \x02(\v2\x1f.neonize.WrappedNewsletterStateR\x05State\x12A\n" + + "\n" + + "ThreadMeta\x18\x03 \x02(\v2!.neonize.NewsletterThreadMetadataR\n" + + "ThreadMeta\x12A\n" + + "\n" + + "ViewerMeta\x18\x04 \x01(\v2!.neonize.NewsletterViewerMetadataR\n" + + "ViewerMeta\"C\n" + + "\tBlocklist\x12\x14\n" + + "\x05DHash\x18\x01 \x02(\tR\x05DHash\x12 \n" + + "\x04JIDs\x18\x02 \x03(\v2\f.neonize.JIDR\x04JIDs\"4\n" + + "\bReaction\x12\x12\n" + + "\x04type\x18\x01 \x02(\tR\x04type\x12\x14\n" + + "\x05count\x18\x02 \x02(\x03R\x05count\"\xce\x01\n" + + "\x11NewsletterMessage\x12(\n" + + "\x0fMessageServerID\x18\x01 \x02(\x03R\x0fMessageServerID\x12\x1e\n" + + "\n" + + "ViewsCount\x18\x02 \x02(\x03R\n" + + "ViewsCount\x129\n" + + "\x0eReactionCounts\x18\x03 \x03(\v2\x11.neonize.ReactionR\x0eReactionCounts\x124\n" + + "\aMessage\x18\x04 \x02(\v2\x1a.WAWebProtobufsE2E.MessageR\aMessage\"\x8a\x01\n" + + "(GetNewsletterMessageUpdateReturnFunction\x12H\n" + + "\x11NewsletterMessage\x18\x01 \x03(\v2\x1a.neonize.NewsletterMessageR\x11NewsletterMessage\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"\xe9\x04\n" + + "\x0fPrivacySettings\x12C\n" + + "\bGroupAdd\x18\x01 \x02(\x0e2'.neonize.PrivacySettings.PrivacySettingR\bGroupAdd\x12C\n" + + "\bLastSeen\x18\x02 \x02(\x0e2'.neonize.PrivacySettings.PrivacySettingR\bLastSeen\x12?\n" + + "\x06Status\x18\x03 \x02(\x0e2'.neonize.PrivacySettings.PrivacySettingR\x06Status\x12A\n" + + "\aProfile\x18\x04 \x02(\x0e2'.neonize.PrivacySettings.PrivacySettingR\aProfile\x12K\n" + + "\fReadReceipts\x18\x05 \x02(\x0e2'.neonize.PrivacySettings.PrivacySettingR\fReadReceipts\x12A\n" + + "\aCallAdd\x18\x06 \x02(\x0e2'.neonize.PrivacySettings.PrivacySettingR\aCallAdd\x12?\n" + + "\x06Online\x18\a \x02(\x0e2'.neonize.PrivacySettings.PrivacySettingR\x06Online\"w\n" + + "\x0ePrivacySetting\x12\r\n" + + "\tUNDEFINED\x10\x01\x12\a\n" + + "\x03ALL\x10\x02\x12\f\n" + + "\bCONTACTS\x10\x03\x12\x15\n" + + "\x11CONTACT_BLACKLIST\x10\x04\x12\x13\n" + + "\x0fMATCH_LAST_SEEN\x10\x05\x12\t\n" + + "\x05KNOWN\x10\x06\x12\b\n" + + "\x04NONE\x10\a\"\x98\x01\n" + + "\tNodeAttrs\x12\x12\n" + + "\x04name\x18\x01 \x02(\tR\x04name\x12\x1a\n" + + "\aboolean\x18\x02 \x01(\bH\x00R\aboolean\x12\x1a\n" + + "\ainteger\x18\x03 \x01(\x03H\x00R\ainteger\x12\x14\n" + + "\x04text\x18\x04 \x01(\tH\x00R\x04text\x12 \n" + + "\x03jid\x18\x05 \x01(\v2\f.neonize.JIDH\x00R\x03jidB\a\n" + + "\x05Value\"\x96\x01\n" + + "\x04Node\x12\x10\n" + + "\x03Tag\x18\x01 \x02(\tR\x03Tag\x12(\n" + + "\x05Attrs\x18\x02 \x03(\v2\x12.neonize.NodeAttrsR\x05Attrs\x12#\n" + + "\x05Nodes\x18\x03 \x03(\v2\r.neonize.NodeR\x05Nodes\x12\x17\n" + + "\x03Nil\x18\x04 \x01(\b:\x05falseR\x03Nil\x12\x14\n" + + "\x05Bytes\x18\x05 \x01(\fR\x05Bytes\"v\n" + + "\tInfoQuery\x12\x1c\n" + + "\tNamespace\x18\x01 \x02(\tR\tNamespace\x12\x12\n" + + "\x04Type\x18\x02 \x02(\tR\x04Type\x12\x0e\n" + + "\x02To\x18\x03 \x02(\tR\x02To\x12'\n" + + "\aContent\x18\x04 \x03(\v2\r.neonize.NodeR\aContent\"u\n" + + "\x17GetProfilePictureParams\x12\x18\n" + + "\aPreview\x18\x01 \x01(\bR\aPreview\x12\x1e\n" + + "\n" + + "ExistingID\x18\x02 \x01(\tR\n" + + "ExistingID\x12 \n" + + "\vIsCommunity\x18\x03 \x01(\bR\vIsCommunity\"n\n" + + "\x1fGetProfilePictureReturnFunction\x125\n" + + "\aPicture\x18\x01 \x01(\v2\x1b.neonize.ProfilePictureInfoR\aPicture\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"\xce\x01\n" + + "\rStatusPrivacy\x12<\n" + + "\x04Type\x18\x01 \x02(\x0e2(.neonize.StatusPrivacy.StatusPrivacyTypeR\x04Type\x12 \n" + + "\x04List\x18\x02 \x03(\v2\f.neonize.JIDR\x04List\x12\x1c\n" + + "\tIsDefault\x18\x03 \x02(\bR\tIsDefault\"?\n" + + "\x11StatusPrivacyType\x12\f\n" + + "\bCONTACTS\x10\x01\x12\r\n" + + "\tBLACKLIST\x10\x02\x12\r\n" + + "\tWHITELIST\x10\x03\"t\n" + + "\x1eGetStatusPrivacyReturnFunction\x12<\n" + + "\rStatusPrivacy\x18\x01 \x03(\v2\x16.neonize.StatusPrivacyR\rStatusPrivacy\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"\xad\x01\n" + + "\x0fGroupLinkTarget\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x120\n" + + "\tGroupName\x18\x02 \x02(\v2\x12.neonize.GroupNameR\tGroupName\x12H\n" + + "\x11GroupIsDefaultSub\x18\x03 \x02(\v2\x1a.neonize.GroupIsDefaultSubR\x11GroupIsDefaultSub\"\xce\x01\n" + + "\x0fGroupLinkChange\x127\n" + + "\x04Type\x18\x01 \x02(\x0e2#.neonize.GroupLinkChange.ChangeTypeR\x04Type\x12\"\n" + + "\fUnlinkReason\x18\x02 \x02(\tR\fUnlinkReason\x12.\n" + + "\x05Group\x18\x03 \x02(\v2\x18.neonize.GroupLinkTargetR\x05Group\".\n" + + "\n" + + "ChangeType\x12\n" + + "\n" + + "\x06PARENT\x10\x01\x12\a\n" + + "\x03SUB\x10\x02\x12\v\n" + + "\aSIBLING\x10\x03\"v\n" + + "\x1aGetSubGroupsReturnFunction\x12B\n" + + "\x0fGroupLinkTarget\x18\x01 \x03(\v2\x18.neonize.GroupLinkTargetR\x0fGroupLinkTarget\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"{\n" + + "&GetSubscribedNewslettersReturnFunction\x12;\n" + + "\n" + + "Newsletter\x18\x01 \x03(\v2\x1b.neonize.NewsletterMetadataR\n" + + "Newsletter\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"T\n" + + "\x1cGetUserDevicesreturnFunction\x12\x1e\n" + + "\x03JID\x18\x01 \x03(\v2\f.neonize.JIDR\x03JID\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"`\n" + + ",NewsletterSubscribeLiveUpdatesReturnFunction\x12\x1a\n" + + "\bDuration\x18\x01 \x01(\x03R\bDuration\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"\xa9\x01\n" + + "\x0fPairPhoneParams\x12\x14\n" + + "\x05phone\x18\x01 \x01(\tR\x05phone\x122\n" + + "\x14showPushNotification\x18\x02 \x01(\bR\x14showPushNotification\x12\x1e\n" + + "\n" + + "clientType\x18\x03 \x01(\x05R\n" + + "clientType\x12,\n" + + "\x11clientDisplayName\x18\x04 \x01(\tR\x11clientDisplayName\"e\n" + + "\x13ContactQRLinkTarget\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x12\x12\n" + + "\x04Type\x18\x02 \x02(\tR\x04Type\x12\x1a\n" + + "\bPushName\x18\x03 \x02(\tR\bPushName\"~\n" + + "\"ResolveContactQRLinkReturnFunction\x12B\n" + + "\rContactQrLink\x18\x01 \x01(\v2\x1c.neonize.ContactQRLinkTargetR\rContactQrLink\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"\xd7\x01\n" + + "\x19BusinessMessageLinkTarget\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x12\x1a\n" + + "\bPushName\x18\x02 \x02(\tR\bPushName\x12\"\n" + + "\fVerifiedName\x18\x03 \x02(\tR\fVerifiedName\x12\x1a\n" + + "\bIsSigned\x18\x04 \x02(\bR\bIsSigned\x12$\n" + + "\rVerifiedLevel\x18\x05 \x02(\tR\rVerifiedLevel\x12\x18\n" + + "\aMessage\x18\x06 \x02(\tR\aMessage\"\x92\x01\n" + + "(ResolveBusinessMessageLinkReturnFunction\x12P\n" + + "\x11MessageLinkTarget\x18\x01 \x01(\v2\".neonize.BusinessMessageLinkTargetR\x11MessageLinkTarget\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"s\n" + + "\fMutationInfo\x12\x14\n" + + "\x05Index\x18\x01 \x03(\tR\x05Index\x12\x18\n" + + "\aVersion\x18\x02 \x02(\x05R\aVersion\x123\n" + + "\x05Value\x18\x03 \x02(\v2\x1d.WASyncAction.SyncActionValueR\x05Value\"\xff\x01\n" + + "\tPatchInfo\x12\x1c\n" + + "\tTimestamp\x18\x01 \x02(\x03R\tTimestamp\x122\n" + + "\x04Type\x18\x02 \x02(\x0e2\x1e.neonize.PatchInfo.WAPatchNameR\x04Type\x123\n" + + "\tMutations\x18\x03 \x03(\v2\x15.neonize.MutationInfoR\tMutations\"k\n" + + "\vWAPatchName\x12\x12\n" + + "\x0eCRITICAL_BLOCK\x10\x01\x12\x18\n" + + "\x14CRITICAL_UNBLOCK_LOW\x10\x02\x12\x0f\n" + + "\vREGULAR_LOW\x10\x03\x12\x10\n" + + "\fREGULAR_HIGH\x10\x04\x12\v\n" + + "\aREGULAR\x10\x05\"u\n" + + "!ContactsPutPushNameReturnFunction\x12\x16\n" + + "\x06Status\x18\x01 \x02(\bR\x06Status\x12\"\n" + + "\fPreviousName\x18\x02 \x01(\tR\fPreviousName\x12\x14\n" + + "\x05Error\x18\x03 \x01(\tR\x05Error\"h\n" + + "\fContactEntry\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x12\x1c\n" + + "\tFirstName\x18\x02 \x02(\tR\tFirstName\x12\x1a\n" + + "\bFullName\x18\x03 \x02(\tR\bFullName\"N\n" + + "\x11ContactEntryArray\x129\n" + + "\fContactEntry\x18\x01 \x03(\v2\x15.neonize.ContactEntryR\fContactEntry\"m\n" + + "\x1fSetPrivacySettingReturnFunction\x124\n" + + "\bsettings\x18\x01 \x01(\v2\x18.neonize.PrivacySettingsR\bsettings\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"p\n" + + " ContactsGetContactReturnFunction\x126\n" + + "\vContactInfo\x18\x01 \x01(\v2\x14.neonize.ContactInfoR\vContactInfo\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"\xc3\x01\n" + + "\vContactInfo\x12\x14\n" + + "\x05Found\x18\x01 \x02(\bR\x05Found\x12\x1c\n" + + "\tFirstName\x18\x02 \x02(\tR\tFirstName\x12\x1a\n" + + "\bFullName\x18\x03 \x02(\tR\bFullName\x12\x1a\n" + + "\bPushName\x18\x04 \x02(\tR\bPushName\x12\"\n" + + "\fBusinessName\x18\x05 \x02(\tR\fBusinessName\x12$\n" + + "\rRedactedPhone\x18\x06 \x02(\tR\rRedactedPhone\"S\n" + + "\aContact\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x12(\n" + + "\x04Info\x18\x02 \x02(\v2\x14.neonize.ContactInfoR\x04Info\"h\n" + + "$ContactsGetAllContactsReturnFunction\x12*\n" + + "\aContact\x18\x01 \x03(\v2\x10.neonize.ContactR\aContact\x12\x14\n" + + "\x05Error\x18\x02 \x01(\tR\x05Error\"\x1a\n" + + "\x02QR\x12\x14\n" + + "\x05Codes\x18\x01 \x03(\tR\x05Codes\"\xd8\x01\n" + + "\n" + + "PairStatus\x12\x1c\n" + + "\x02ID\x18\x01 \x02(\v2\f.neonize.JIDR\x02ID\x12\"\n" + + "\fBusinessName\x18\x02 \x02(\tR\fBusinessName\x12\x1a\n" + + "\bPlatform\x18\x03 \x02(\tR\bPlatform\x123\n" + + "\x06Status\x18\x04 \x02(\x0e2\x1b.neonize.PairStatus.PStatusR\x06Status\x12\x14\n" + + "\x05Error\x18\x05 \x01(\tR\x05Error\"!\n" + + "\aPStatus\x12\t\n" + + "\x05ERROR\x10\x01\x12\v\n" + + "\aSUCCESS\x10\x02\"#\n" + + "\tConnected\x12\x16\n" + + "\x06status\x18\x01 \x02(\bR\x06status\"T\n" + + "\x10KeepAliveTimeout\x12\x1e\n" + + "\n" + + "ErrorCount\x18\x01 \x02(\x03R\n" + + "ErrorCount\x12 \n" + + "\vLastSuccess\x18\x02 \x02(\x03R\vLastSuccess\"\x13\n" + + "\x11KeepAliveRestored\"`\n" + + "\tLoggedOut\x12\x1c\n" + + "\tOnConnect\x18\x01 \x02(\bR\tOnConnect\x125\n" + + "\x06Reason\x18\x02 \x02(\x0e2\x1d.neonize.ConnectFailureReasonR\x06Reason\"\x10\n" + + "\x0eStreamReplaced\"\xf5\x01\n" + + "\fTemporaryBan\x127\n" + + "\x04Code\x18\x01 \x02(\x0e2#.neonize.TemporaryBan.TempBanReasonR\x04Code\x12\x16\n" + + "\x06Expire\x18\x02 \x02(\x03R\x06Expire\"\x93\x01\n" + + "\rTempBanReason\x12\x1b\n" + + "\x17SEND_TO_TOO_MANY_PEOPLE\x10\x01\x12\x14\n" + + "\x10BLOCKED_BY_USERS\x10\x02\x12\x1b\n" + + "\x17CREATED_TOO_MANY_GROUPS\x10\x03\x12\x1e\n" + + "\x1aSENT_TOO_MANY_SAME_MESSAGE\x10\x04\x12\x12\n" + + "\x0eBROADCAST_LIST\x10\x05\"\x82\x01\n" + + "\x0eConnectFailure\x125\n" + + "\x06Reason\x18\x01 \x02(\x0e2\x1d.neonize.ConnectFailureReasonR\x06Reason\x12\x18\n" + + "\aMessage\x18\x02 \x02(\tR\aMessage\x12\x1f\n" + + "\x03Raw\x18\x03 \x02(\v2\r.neonize.NodeR\x03Raw\"\x10\n" + + "\x0eClientOutdated\"B\n" + + "\vStreamError\x12\x12\n" + + "\x04Code\x18\x01 \x02(\tR\x04Code\x12\x1f\n" + + "\x03Raw\x18\x04 \x02(\v2\r.neonize.NodeR\x03Raw\"&\n" + + "\fDisconnected\x12\x16\n" + + "\x06status\x18\x01 \x02(\bR\x06status\"I\n" + + "\vHistorySync\x12:\n" + + "\x04Data\x18\x01 \x02(\v2&.WAWebProtobufsHistorySync.HistorySyncR\x04Data\"\xe3\x02\n" + + "\aReceipt\x12<\n" + + "\rMessageSource\x18\x01 \x02(\v2\x16.neonize.MessageSourceR\rMessageSource\x12\x1e\n" + + "\n" + + "MessageIDs\x18\x02 \x03(\tR\n" + + "MessageIDs\x12\x1c\n" + + "\tTimestamp\x18\x03 \x02(\x03R\tTimestamp\x120\n" + + "\x04Type\x18\x04 \x02(\x0e2\x1c.neonize.Receipt.ReceiptTypeR\x04Type\"\xa9\x01\n" + + "\vReceiptType\x12\r\n" + + "\tDELIVERED\x10\x01\x12\n" + + "\n" + + "\x06SENDER\x10\x02\x12\t\n" + + "\x05RETRY\x10\x03\x12\b\n" + + "\x04READ\x10\x04\x12\r\n" + + "\tREAD_SELF\x10\x05\x12\n" + + "\n" + + "\x06PLAYED\x10\x06\x12\x0f\n" + + "\vPLAYED_SELF\x10\a\x12\x10\n" + + "\fSERVER_ERROR\x10\b\x12\f\n" + + "\bINACTIVE\x10\t\x12\f\n" + + "\bPEER_MSG\x10\n" + + "\x12\x10\n" + + "\fHISTORY_SYNC\x10\v\"\x9a\x02\n" + + "\fChatPresence\x12<\n" + + "\rMessageSource\x18\x01 \x02(\v2\x16.neonize.MessageSourceR\rMessageSource\x128\n" + + "\x05State\x18\x02 \x02(\x0e2\".neonize.ChatPresence.ChatPresenceR\x05State\x12=\n" + + "\x05Media\x18\x03 \x02(\x0e2'.neonize.ChatPresence.ChatPresenceMediaR\x05Media\")\n" + + "\fChatPresence\x12\r\n" + + "\tCOMPOSING\x10\x01\x12\n" + + "\n" + + "\x06PAUSED\x10\x02\"(\n" + + "\x11ChatPresenceMedia\x12\b\n" + + "\x04TEXT\x10\x01\x12\t\n" + + "\x05AUDIO\x10\x02\"j\n" + + "\bPresence\x12 \n" + + "\x04From\x18\x01 \x02(\v2\f.neonize.JIDR\x04From\x12 \n" + + "\vUnavailable\x18\x02 \x02(\bR\vUnavailable\x12\x1a\n" + + "\bLastSeen\x18\x03 \x02(\x03R\bLastSeen\"\x89\x01\n" + + "\vJoinedGroup\x12\x16\n" + + "\x06Reason\x18\x01 \x02(\tR\x06Reason\x12\x12\n" + + "\x04Type\x18\x02 \x02(\tR\x04Type\x12\x1c\n" + + "\tCreateKey\x18\x03 \x02(\tR\tCreateKey\x120\n" + + "\tGroupInfo\x18\x04 \x02(\v2\x12.neonize.GroupInfoR\tGroupInfo\"\x89\a\n" + + "\x0eGroupInfoEvent\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x12\x16\n" + + "\x06Notify\x18\x02 \x02(\tR\x06Notify\x12$\n" + + "\x06Sender\x18\x03 \x01(\v2\f.neonize.JIDR\x06Sender\x12\x1c\n" + + "\tTimestamp\x18\x04 \x02(\x03R\tTimestamp\x12&\n" + + "\x04Name\x18\x05 \x01(\v2\x12.neonize.GroupNameR\x04Name\x12)\n" + + "\x05Topic\x18\x06 \x01(\v2\x13.neonize.GroupTopicR\x05Topic\x12,\n" + + "\x06Locked\x18\a \x01(\v2\x14.neonize.GroupLockedR\x06Locked\x122\n" + + "\bAnnounce\x18\b \x01(\v2\x16.neonize.GroupAnnounceR\bAnnounce\x125\n" + + "\tEphemeral\x18\t \x01(\v2\x17.neonize.GroupEphemeralR\tEphemeral\x12,\n" + + "\x06Delete\x18\n" + + " \x01(\v2\x14.neonize.GroupDeleteR\x06Delete\x12,\n" + + "\x04Link\x18\v \x01(\v2\x18.neonize.GroupLinkChangeR\x04Link\x120\n" + + "\x06Unlink\x18\f \x01(\v2\x18.neonize.GroupLinkChangeR\x06Unlink\x12$\n" + + "\rNewInviteLink\x18\r \x01(\tR\rNewInviteLink\x12<\n" + + "\x19PrevParticipantsVersionID\x18\x0e \x02(\tR\x19PrevParticipantsVersionID\x122\n" + + "\x14ParticipantVersionID\x18\x0f \x02(\tR\x14ParticipantVersionID\x12\x1e\n" + + "\n" + + "JoinReason\x18\x10 \x02(\tR\n" + + "JoinReason\x12 \n" + + "\x04Join\x18\x11 \x03(\v2\f.neonize.JIDR\x04Join\x12\"\n" + + "\x05Leave\x18\x12 \x03(\v2\f.neonize.JIDR\x05Leave\x12&\n" + + "\aPromote\x18\x13 \x03(\v2\f.neonize.JIDR\aPromote\x12$\n" + + "\x06Demote\x18\x14 \x03(\v2\f.neonize.JIDR\x06Demote\x125\n" + + "\x0eUnknownChanges\x18\x15 \x03(\v2\r.neonize.NodeR\x0eUnknownChanges\"\x85\x01\n" + + "\aPicture\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x12$\n" + + "\x06Author\x18\x02 \x02(\v2\f.neonize.JIDR\x06Author\x12\x1c\n" + + "\tTimestamp\x18\x03 \x02(\x03R\tTimestamp\x12\x16\n" + + "\x06Remove\x18\x04 \x02(\bR\x06Remove\"j\n" + + "\x0eIdentityChange\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x12\x1c\n" + + "\tTimestamp\x18\x02 \x02(\x03R\tTimestamp\x12\x1a\n" + + "\bImplicit\x18\x03 \x02(\bR\bImplicit\"\xf4\x02\n" + + "\x14privacySettingsEvent\x12:\n" + + "\vNewSettings\x18\x01 \x02(\v2\x18.neonize.PrivacySettingsR\vNewSettings\x12(\n" + + "\x0fGroupAddChanged\x18\x02 \x02(\bR\x0fGroupAddChanged\x12(\n" + + "\x0fLastSeenChanged\x18\x03 \x02(\bR\x0fLastSeenChanged\x12$\n" + + "\rStatusChanged\x18\x04 \x02(\bR\rStatusChanged\x12&\n" + + "\x0eProfileChanged\x18\x05 \x02(\bR\x0eProfileChanged\x120\n" + + "\x13ReadReceiptsChanged\x18\x06 \x02(\bR\x13ReadReceiptsChanged\x12$\n" + + "\rOnlineChanged\x18\a \x02(\bR\rOnlineChanged\x12&\n" + + "\x0eCallAddChanged\x18\b \x02(\bR\x0eCallAddChanged\"\xae\x01\n" + + "\x12OfflineSyncPreview\x12\x14\n" + + "\x05Total\x18\x01 \x02(\x05R\x05Total\x12&\n" + + "\x0eAppDataChanges\x18\x02 \x02(\x05R\x0eAppDataChanges\x12\x18\n" + + "\aMessage\x18\x03 \x02(\x05R\aMessage\x12$\n" + + "\rNotifications\x18\x04 \x02(\x05R\rNotifications\x12\x1a\n" + + "\bReceipts\x18\x05 \x02(\x05R\bReceipts\",\n" + + "\x14OfflineSyncCompleted\x12\x14\n" + + "\x05Count\x18\x01 \x02(\x05R\x05Count\"\xd5\x01\n" + + "\x0eBlocklistEvent\x127\n" + + "\x06Action\x18\x01 \x02(\x0e2\x1f.neonize.BlocklistEvent.ActionsR\x06Action\x12\x14\n" + + "\x05DHASH\x18\x02 \x02(\tR\x05DHASH\x12\x1c\n" + + "\tPrevDHash\x18\x03 \x02(\tR\tPrevDHash\x122\n" + + "\aChanges\x18\x04 \x03(\v2\x18.neonize.BlocklistChangeR\aChanges\"\"\n" + + "\aActions\x12\v\n" + + "\aDEFAULT\x10\x01\x12\n" + + "\n" + + "\x06MODIFY\x10\x02\"\x96\x01\n" + + "\x0fBlocklistChange\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x12A\n" + + "\vBlockAction\x18\x02 \x02(\x0e2\x1f.neonize.BlocklistChange.ActionR\vBlockAction\" \n" + + "\x06Action\x12\t\n" + + "\x05BLOCK\x10\x01\x12\v\n" + + "\aUNBLOCK\x10\x02\"]\n" + + "\x0eNewsletterJoin\x12K\n" + + "\x12NewsletterMetadata\x18\x01 \x02(\v2\x1b.neonize.NewsletterMetadataR\x12NewsletterMetadata\"\\\n" + + "\x0fNewsletterLeave\x12\x1c\n" + + "\x02ID\x18\x01 \x02(\v2\f.neonize.JIDR\x02ID\x12+\n" + + "\x04Role\x18\x02 \x02(\x0e2\x17.neonize.NewsletterRoleR\x04Role\"f\n" + + "\x14NewsletterMuteChange\x12\x1c\n" + + "\x02ID\x18\x01 \x02(\v2\f.neonize.JIDR\x02ID\x120\n" + + "\x04Mute\x18\x02 \x02(\x0e2\x1c.neonize.NewsletterMuteStateR\x04Mute\"\x82\x01\n" + + "\x14NewsletterLiveUpdate\x12\x1e\n" + + "\x03JID\x18\x01 \x02(\v2\f.neonize.JIDR\x03JID\x12\x12\n" + + "\x04TIME\x18\x02 \x02(\x03R\x04TIME\x126\n" + + "\bMessages\x18\x03 \x03(\v2\x1a.neonize.NewsletterMessageR\bMessages\"\xcd\x01\n" + + "\rBasicCallMeta\x12 \n" + + "\x04from\x18\x01 \x02(\v2\f.neonize.JIDR\x04from\x12\x1c\n" + + "\ttimestamp\x18\x02 \x02(\x03R\ttimestamp\x12.\n" + + "\vcallCreator\x18\x03 \x02(\v2\f.neonize.JIDR\vcallCreator\x124\n" + + "\x0ecallCreatorAlt\x18\x04 \x02(\v2\f.neonize.JIDR\x0ecallCreatorAlt\x12\x16\n" + + "\x06callID\x18\x05 \x02(\tR\x06callID\"^\n" + + "\x0eCallRemoteMeta\x12&\n" + + "\x0eremotePlatform\x18\x01 \x02(\tR\x0eremotePlatform\x12$\n" + + "\rremoteVersion\x18\x02 \x02(\tR\rremoteVersion\"\xad\x01\n" + + "\tCallOffer\x12<\n" + + "\rbasicCallMeta\x18\x01 \x02(\v2\x16.neonize.BasicCallMetaR\rbasicCallMeta\x12?\n" + + "\x0ecallRemoteMeta\x18\x02 \x02(\v2\x17.neonize.CallRemoteMetaR\x0ecallRemoteMeta\x12!\n" + + "\x04data\x18\x03 \x02(\v2\r.neonize.NodeR\x04data\"\xae\x01\n" + + "\n" + + "CallAccept\x12<\n" + + "\rbasicCallMeta\x18\x01 \x02(\v2\x16.neonize.BasicCallMetaR\rbasicCallMeta\x12?\n" + + "\x0ecallRemoteMeta\x18\x02 \x02(\v2\x17.neonize.CallRemoteMetaR\x0ecallRemoteMeta\x12!\n" + + "\x04data\x18\x03 \x02(\v2\r.neonize.NodeR\x04data\"\xb1\x01\n" + + "\rCallPreAccept\x12<\n" + + "\rbasicCallMeta\x18\x01 \x02(\v2\x16.neonize.BasicCallMetaR\rbasicCallMeta\x12?\n" + + "\x0ecallRemoteMeta\x18\x02 \x02(\v2\x17.neonize.CallRemoteMetaR\x0ecallRemoteMeta\x12!\n" + + "\x04data\x18\x03 \x02(\v2\r.neonize.NodeR\x04data\"\xb1\x01\n" + + "\rCallTransport\x12<\n" + + "\rbasicCallMeta\x18\x01 \x02(\v2\x16.neonize.BasicCallMetaR\rbasicCallMeta\x12?\n" + + "\x0ecallRemoteMeta\x18\x02 \x02(\v2\x17.neonize.CallRemoteMetaR\x0ecallRemoteMeta\x12!\n" + + "\x04data\x18\x03 \x02(\v2\r.neonize.NodeR\x04data\"\x9c\x01\n" + + "\x0fCallOfferNotice\x12<\n" + + "\rbasicCallMeta\x18\x01 \x02(\v2\x16.neonize.BasicCallMetaR\rbasicCallMeta\x12\x14\n" + + "\x05media\x18\x02 \x02(\tR\x05media\x12\x12\n" + + "\x04type\x18\x03 \x02(\tR\x04type\x12!\n" + + "\x04data\x18\x04 \x02(\v2\r.neonize.NodeR\x04data\"s\n" + + "\x10CallRelayLatency\x12<\n" + + "\rbasicCallMeta\x18\x01 \x02(\v2\x16.neonize.BasicCallMetaR\rbasicCallMeta\x12!\n" + + "\x04data\x18\x02 \x02(\v2\r.neonize.NodeR\x04data\"\x88\x01\n" + + "\rCallTerminate\x12<\n" + + "\rbasicCallMeta\x18\x01 \x02(\v2\x16.neonize.BasicCallMetaR\rbasicCallMeta\x12\x16\n" + + "\x06reason\x18\x02 \x02(\tR\x06reason\x12!\n" + + "\x04data\x18\x03 \x02(\v2\r.neonize.NodeR\x04data\"5\n" + + "\x10UnknownCallEvent\x12!\n" + + "\x04node\x18\x01 \x02(\v2\r.neonize.NodeR\x04node\"\x82\x02\n" + + "\x14UndecryptableMessage\x12(\n" + + "\x04Info\x18\x01 \x02(\v2\x14.neonize.MessageInfoR\x04Info\x12$\n" + + "\rIsUnavailable\x18\x02 \x02(\bR\rIsUnavailable\x12X\n" + + "\x0fDecryptFailMode\x18\x03 \x02(\x0e2..neonize.UndecryptableMessage.DecryptFailModeTR\x0fDecryptFailMode\"@\n" + + "\x10DecryptFailModeT\x12\x15\n" + + "\x11DECRYPT_FAIL_SHOW\x10\x01\x12\x15\n" + + "\x11DECRYPT_FAIL_HIDE\x10\x02\"|\n" + + "%UpdateGroupParticipantsReturnFunction\x12\x14\n" + + "\x05Error\x18\x01 \x01(\tR\x05Error\x12=\n" + + "\fparticipants\x18\x02 \x03(\v2\x19.neonize.GroupParticipantR\fparticipants\"\x8f\x01\n" + + " GetMessageForRetryReturnFunction\x12\x1f\n" + + "\aisEmpty\x18\x01 \x01(\b:\x05falseR\aisEmpty\x124\n" + + "\aMessage\x18\x02 \x01(\v2\x1a.WAWebProtobufsE2E.MessageR\aMessage\x12\x14\n" + + "\x05Error\x18\x03 \x01(\tR\x05Error\"}\n" + + "\x11LocalChatSettings\x12\x14\n" + + "\x05Found\x18\x01 \x02(\bR\x05Found\x12\x1e\n" + + "\n" + + "MutedUntil\x18\x02 \x02(\x01R\n" + + "MutedUntil\x12\x16\n" + + "\x06Pinned\x18\x03 \x02(\bR\x06Pinned\x12\x1a\n" + + "\bArchived\x18\x04 \x02(\bR\bArchived\"\xac\x02\n" + + "\x17ReturnFunctionWithError\x12\x14\n" + + "\x05Error\x18\x01 \x01(\tR\x05Error\x12J\n" + + "\x11LocalChatSettings\x18\x02 \x01(\v2\x1a.neonize.LocalChatSettingsH\x00R\x11LocalChatSettings\x12N\n" + + "\x0fPollVoteMessage\x18\x03 \x01(\v2\".WAWebProtobufsE2E.PollVoteMessageH\x00R\x0fPollVoteMessage\x12U\n" + + "\x1bGetLinkedGroupsParticipants\x18\x04 \x01(\v2\x11.neonize.JIDArrayH\x00R\x1bGetLinkedGroupsParticipantsB\b\n" + + "\x06Return\"\xa4\x01\n" + + "\x10SendRequestExtra\x12\x0e\n" + + "\x02ID\x18\x01 \x02(\tR\x02ID\x120\n" + + "\fInlineBotJID\x18\x02 \x02(\v2\f.neonize.JIDR\fInlineBotJID\x12\x12\n" + + "\x04Peer\x18\x03 \x02(\bR\x04Peer\x12\x18\n" + + "\aTimeout\x18\x04 \x02(\x03R\aTimeout\x12 \n" + + "\vMediaHandle\x18\x05 \x02(\tR\vMediaHandle\"h\n" + + "\x1aBuildMessageReturnFunction\x12\x14\n" + + "\x05Error\x18\x01 \x01(\tR\x05Error\x124\n" + + "\aMessage\x18\x02 \x02(\v2\x1a.WAWebProtobufsE2E.MessageR\aMessage\"N\n" + + "\bLogEntry\x12\x18\n" + + "\aMessage\x18\x01 \x02(\tR\aMessage\x12\x14\n" + + "\x05Level\x18\x02 \x02(\tR\x05Level\x12\x12\n" + + "\x04Name\x18\x03 \x02(\tR\x04Name\"\x06\n" + + "\x04Stop*!\n" + + "\x0eAddressingMode\x12\x06\n" + + "\x02PN\x10\x01\x12\a\n" + + "\x03LID\x10\x02*A\n" + + "\x0eNewsletterRole\x12\x0e\n" + + "\n" + + "SUBSCRIBER\x10\x01\x12\t\n" + + "\x05GUEST\x10\x02\x12\t\n" + + "\x05ADMIN\x10\x03\x12\t\n" + + "\x05OWNER\x10\x04*&\n" + + "\x13NewsletterMuteState\x12\x06\n" + + "\x02ON\x10\x01\x12\a\n" + + "\x03OFF\x10\x02*\xdd\x01\n" + + "\x14ConnectFailureReason\x12\v\n" + + "\aGENERIC\x10\x01\x12\x0e\n" + + "\n" + + "LOGGED_OUT\x10\x02\x12\x0f\n" + + "\vTEMP_BANNED\x10\x03\x12\x14\n" + + "\x10MAIN_DEVICE_GONE\x10\x04\x12\x12\n" + + "\x0eUNKNOWN_LOGOUT\x10\x05\x12\x13\n" + + "\x0fCLIENT_OUTDATED\x10\x06\x12\x12\n" + + "\x0eBAD_USER_AGENT\x10\a\x12\x19\n" + + "\x15INTERNAL_SERVER_ERROR\x10\b\x12\x10\n" + + "\fEXPERIMENTAL\x10\t\x12\x17\n" + + "\x13SERVICE_UNAVAILABLE\x10\n" + + "B\fZ\n" + + "./defproto" + +var ( + file_Neonize_proto_rawDescOnce sync.Once + file_Neonize_proto_rawDescData []byte +) + +func file_Neonize_proto_rawDescGZIP() []byte { + file_Neonize_proto_rawDescOnce.Do(func() { + file_Neonize_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_Neonize_proto_rawDesc), len(file_Neonize_proto_rawDesc))) + }) + return file_Neonize_proto_rawDescData +} + +var file_Neonize_proto_enumTypes = make([]protoimpl.EnumInfo, 20) +var file_Neonize_proto_msgTypes = make([]protoimpl.MessageInfo, 138) +var file_Neonize_proto_goTypes = []any{ + (AddressingMode)(0), // 0: neonize.AddressingMode + (NewsletterRole)(0), // 1: neonize.NewsletterRole + (NewsletterMuteState)(0), // 2: neonize.NewsletterMuteState + (ConnectFailureReason)(0), // 3: neonize.ConnectFailureReason + (GroupInfo_GroupMemberAddMode)(0), // 4: neonize.GroupInfo.GroupMemberAddMode + (WrappedNewsletterState_NewsletterState)(0), // 5: neonize.WrappedNewsletterState.NewsletterState + (NewsletterReactionSettings_NewsletterReactionsMode)(0), // 6: neonize.NewsletterReactionSettings.NewsletterReactionsMode + (NewsletterThreadMetadata_NewsletterVerificationState)(0), // 7: neonize.NewsletterThreadMetadata.NewsletterVerificationState + (PrivacySettings_PrivacySetting)(0), // 8: neonize.PrivacySettings.PrivacySetting + (StatusPrivacy_StatusPrivacyType)(0), // 9: neonize.StatusPrivacy.StatusPrivacyType + (GroupLinkChange_ChangeType)(0), // 10: neonize.GroupLinkChange.ChangeType + (PatchInfo_WAPatchName)(0), // 11: neonize.PatchInfo.WAPatchName + (PairStatus_PStatus)(0), // 12: neonize.PairStatus.PStatus + (TemporaryBan_TempBanReason)(0), // 13: neonize.TemporaryBan.TempBanReason + (Receipt_ReceiptType)(0), // 14: neonize.Receipt.ReceiptType + (ChatPresence_ChatPresence)(0), // 15: neonize.ChatPresence.ChatPresence + (ChatPresence_ChatPresenceMedia)(0), // 16: neonize.ChatPresence.ChatPresenceMedia + (BlocklistEvent_Actions)(0), // 17: neonize.BlocklistEvent.Actions + (BlocklistChange_Action)(0), // 18: neonize.BlocklistChange.Action + (UndecryptableMessage_DecryptFailModeT)(0), // 19: neonize.UndecryptableMessage.DecryptFailModeT + (*JID)(nil), // 20: neonize.JID + (*MessageInfo)(nil), // 21: neonize.MessageInfo + (*UploadResponse)(nil), // 22: neonize.UploadResponse + (*BroadcastRecipient)(nil), // 23: neonize.BroadcastRecipient + (*MessageSource)(nil), // 24: neonize.MessageSource + (*DeviceSentMeta)(nil), // 25: neonize.DeviceSentMeta + (*VerifiedName)(nil), // 26: neonize.VerifiedName + (*IsOnWhatsAppResponse)(nil), // 27: neonize.IsOnWhatsAppResponse + (*UserInfo)(nil), // 28: neonize.UserInfo + (*Device)(nil), // 29: neonize.Device + (*GroupName)(nil), // 30: neonize.GroupName + (*GroupTopic)(nil), // 31: neonize.GroupTopic + (*GroupLocked)(nil), // 32: neonize.GroupLocked + (*GroupAnnounce)(nil), // 33: neonize.GroupAnnounce + (*GroupEphemeral)(nil), // 34: neonize.GroupEphemeral + (*GroupIncognito)(nil), // 35: neonize.GroupIncognito + (*GroupParent)(nil), // 36: neonize.GroupParent + (*GroupLinkedParent)(nil), // 37: neonize.GroupLinkedParent + (*GroupIsDefaultSub)(nil), // 38: neonize.GroupIsDefaultSub + (*GroupParticipantAddRequest)(nil), // 39: neonize.GroupParticipantAddRequest + (*GroupParticipant)(nil), // 40: neonize.GroupParticipant + (*GroupInfo)(nil), // 41: neonize.GroupInfo + (*MessageDebugTimings)(nil), // 42: neonize.MessageDebugTimings + (*SendResponse)(nil), // 43: neonize.SendResponse + (*SendMessageReturnFunction)(nil), // 44: neonize.SendMessageReturnFunction + (*GetGroupInfoReturnFunction)(nil), // 45: neonize.GetGroupInfoReturnFunction + (*JoinGroupWithLinkReturnFunction)(nil), // 46: neonize.JoinGroupWithLinkReturnFunction + (*GetJIDFromStoreReturnFunction)(nil), // 47: neonize.GetJIDFromStoreReturnFunction + (*GetGroupInviteLinkReturnFunction)(nil), // 48: neonize.GetGroupInviteLinkReturnFunction + (*DownloadReturnFunction)(nil), // 49: neonize.DownloadReturnFunction + (*UploadReturnFunction)(nil), // 50: neonize.UploadReturnFunction + (*SetGroupPhotoReturnFunction)(nil), // 51: neonize.SetGroupPhotoReturnFunction + (*IsOnWhatsAppReturnFunction)(nil), // 52: neonize.IsOnWhatsAppReturnFunction + (*GetUserInfoSingleReturnFunction)(nil), // 53: neonize.GetUserInfoSingleReturnFunction + (*GetUserInfoReturnFunction)(nil), // 54: neonize.GetUserInfoReturnFunction + (*BuildPollVoteReturnFunction)(nil), // 55: neonize.BuildPollVoteReturnFunction + (*CreateNewsLetterReturnFunction)(nil), // 56: neonize.CreateNewsLetterReturnFunction + (*GetBlocklistReturnFunction)(nil), // 57: neonize.GetBlocklistReturnFunction + (*GetContactQRLinkReturnFunction)(nil), // 58: neonize.GetContactQRLinkReturnFunction + (*GroupParticipantRequest)(nil), // 59: neonize.GroupParticipantRequest + (*GetGroupRequestParticipantsReturnFunction)(nil), // 60: neonize.GetGroupRequestParticipantsReturnFunction + (*GetJoinedGroupsReturnFunction)(nil), // 61: neonize.GetJoinedGroupsReturnFunction + (*ReqCreateGroup)(nil), // 62: neonize.ReqCreateGroup + (*JIDArray)(nil), // 63: neonize.JIDArray + (*ArrayString)(nil), // 64: neonize.ArrayString + (*NewsLetterMessageMeta)(nil), // 65: neonize.NewsLetterMessageMeta + (*GroupDelete)(nil), // 66: neonize.GroupDelete + (*Message)(nil), // 67: neonize.Message + (*CreateNewsletterParams)(nil), // 68: neonize.CreateNewsletterParams + (*WrappedNewsletterState)(nil), // 69: neonize.WrappedNewsletterState + (*NewsletterText)(nil), // 70: neonize.NewsletterText + (*ProfilePictureInfo)(nil), // 71: neonize.ProfilePictureInfo + (*NewsletterReactionSettings)(nil), // 72: neonize.NewsletterReactionSettings + (*NewsletterSetting)(nil), // 73: neonize.NewsletterSetting + (*NewsletterThreadMetadata)(nil), // 74: neonize.NewsletterThreadMetadata + (*NewsletterViewerMetadata)(nil), // 75: neonize.NewsletterViewerMetadata + (*NewsletterMetadata)(nil), // 76: neonize.NewsletterMetadata + (*Blocklist)(nil), // 77: neonize.Blocklist + (*Reaction)(nil), // 78: neonize.Reaction + (*NewsletterMessage)(nil), // 79: neonize.NewsletterMessage + (*GetNewsletterMessageUpdateReturnFunction)(nil), // 80: neonize.GetNewsletterMessageUpdateReturnFunction + (*PrivacySettings)(nil), // 81: neonize.PrivacySettings + (*NodeAttrs)(nil), // 82: neonize.NodeAttrs + (*Node)(nil), // 83: neonize.Node + (*InfoQuery)(nil), // 84: neonize.InfoQuery + (*GetProfilePictureParams)(nil), // 85: neonize.GetProfilePictureParams + (*GetProfilePictureReturnFunction)(nil), // 86: neonize.GetProfilePictureReturnFunction + (*StatusPrivacy)(nil), // 87: neonize.StatusPrivacy + (*GetStatusPrivacyReturnFunction)(nil), // 88: neonize.GetStatusPrivacyReturnFunction + (*GroupLinkTarget)(nil), // 89: neonize.GroupLinkTarget + (*GroupLinkChange)(nil), // 90: neonize.GroupLinkChange + (*GetSubGroupsReturnFunction)(nil), // 91: neonize.GetSubGroupsReturnFunction + (*GetSubscribedNewslettersReturnFunction)(nil), // 92: neonize.GetSubscribedNewslettersReturnFunction + (*GetUserDevicesreturnFunction)(nil), // 93: neonize.GetUserDevicesreturnFunction + (*NewsletterSubscribeLiveUpdatesReturnFunction)(nil), // 94: neonize.NewsletterSubscribeLiveUpdatesReturnFunction + (*PairPhoneParams)(nil), // 95: neonize.PairPhoneParams + (*ContactQRLinkTarget)(nil), // 96: neonize.ContactQRLinkTarget + (*ResolveContactQRLinkReturnFunction)(nil), // 97: neonize.ResolveContactQRLinkReturnFunction + (*BusinessMessageLinkTarget)(nil), // 98: neonize.BusinessMessageLinkTarget + (*ResolveBusinessMessageLinkReturnFunction)(nil), // 99: neonize.ResolveBusinessMessageLinkReturnFunction + (*MutationInfo)(nil), // 100: neonize.MutationInfo + (*PatchInfo)(nil), // 101: neonize.PatchInfo + (*ContactsPutPushNameReturnFunction)(nil), // 102: neonize.ContactsPutPushNameReturnFunction + (*ContactEntry)(nil), // 103: neonize.ContactEntry + (*ContactEntryArray)(nil), // 104: neonize.ContactEntryArray + (*SetPrivacySettingReturnFunction)(nil), // 105: neonize.SetPrivacySettingReturnFunction + (*ContactsGetContactReturnFunction)(nil), // 106: neonize.ContactsGetContactReturnFunction + (*ContactInfo)(nil), // 107: neonize.ContactInfo + (*Contact)(nil), // 108: neonize.Contact + (*ContactsGetAllContactsReturnFunction)(nil), // 109: neonize.ContactsGetAllContactsReturnFunction + (*QR)(nil), // 110: neonize.QR + (*PairStatus)(nil), // 111: neonize.PairStatus + (*Connected)(nil), // 112: neonize.Connected + (*KeepAliveTimeout)(nil), // 113: neonize.KeepAliveTimeout + (*KeepAliveRestored)(nil), // 114: neonize.KeepAliveRestored + (*LoggedOut)(nil), // 115: neonize.LoggedOut + (*StreamReplaced)(nil), // 116: neonize.StreamReplaced + (*TemporaryBan)(nil), // 117: neonize.TemporaryBan + (*ConnectFailure)(nil), // 118: neonize.ConnectFailure + (*ClientOutdated)(nil), // 119: neonize.ClientOutdated + (*StreamError)(nil), // 120: neonize.StreamError + (*Disconnected)(nil), // 121: neonize.Disconnected + (*HistorySync)(nil), // 122: neonize.HistorySync + (*Receipt)(nil), // 123: neonize.Receipt + (*ChatPresence)(nil), // 124: neonize.ChatPresence + (*Presence)(nil), // 125: neonize.Presence + (*JoinedGroup)(nil), // 126: neonize.JoinedGroup + (*GroupInfoEvent)(nil), // 127: neonize.GroupInfoEvent + (*Picture)(nil), // 128: neonize.Picture + (*IdentityChange)(nil), // 129: neonize.IdentityChange + (*PrivacySettingsEvent)(nil), // 130: neonize.privacySettingsEvent + (*OfflineSyncPreview)(nil), // 131: neonize.OfflineSyncPreview + (*OfflineSyncCompleted)(nil), // 132: neonize.OfflineSyncCompleted + (*BlocklistEvent)(nil), // 133: neonize.BlocklistEvent + (*BlocklistChange)(nil), // 134: neonize.BlocklistChange + (*NewsletterJoin)(nil), // 135: neonize.NewsletterJoin + (*NewsletterLeave)(nil), // 136: neonize.NewsletterLeave + (*NewsletterMuteChange)(nil), // 137: neonize.NewsletterMuteChange + (*NewsletterLiveUpdate)(nil), // 138: neonize.NewsletterLiveUpdate + (*BasicCallMeta)(nil), // 139: neonize.BasicCallMeta + (*CallRemoteMeta)(nil), // 140: neonize.CallRemoteMeta + (*CallOffer)(nil), // 141: neonize.CallOffer + (*CallAccept)(nil), // 142: neonize.CallAccept + (*CallPreAccept)(nil), // 143: neonize.CallPreAccept + (*CallTransport)(nil), // 144: neonize.CallTransport + (*CallOfferNotice)(nil), // 145: neonize.CallOfferNotice + (*CallRelayLatency)(nil), // 146: neonize.CallRelayLatency + (*CallTerminate)(nil), // 147: neonize.CallTerminate + (*UnknownCallEvent)(nil), // 148: neonize.UnknownCallEvent + (*UndecryptableMessage)(nil), // 149: neonize.UndecryptableMessage + (*UpdateGroupParticipantsReturnFunction)(nil), // 150: neonize.UpdateGroupParticipantsReturnFunction + (*GetMessageForRetryReturnFunction)(nil), // 151: neonize.GetMessageForRetryReturnFunction + (*LocalChatSettings)(nil), // 152: neonize.LocalChatSettings + (*ReturnFunctionWithError)(nil), // 153: neonize.ReturnFunctionWithError + (*SendRequestExtra)(nil), // 154: neonize.SendRequestExtra + (*BuildMessageReturnFunction)(nil), // 155: neonize.BuildMessageReturnFunction + (*LogEntry)(nil), // 156: neonize.LogEntry + (*Stop)(nil), // 157: neonize.Stop + (*waVnameCert.VerifiedNameCertificate)(nil), // 158: WAWebProtobufsVnameCert.VerifiedNameCertificate + (*waVnameCert.VerifiedNameCertificate_Details)(nil), // 159: WAWebProtobufsVnameCert.VerifiedNameCertificate.Details + (*waE2E.Message)(nil), // 160: WAWebProtobufsE2E.Message + (*waWeb.WebMessageInfo)(nil), // 161: WAWebProtobufsWeb.WebMessageInfo + (*waSyncAction.SyncActionValue)(nil), // 162: WASyncAction.SyncActionValue + (*waHistorySync.HistorySync)(nil), // 163: WAWebProtobufsHistorySync.HistorySync + (*waE2E.PollVoteMessage)(nil), // 164: WAWebProtobufsE2E.PollVoteMessage +} +var file_Neonize_proto_depIdxs = []int32{ + 24, // 0: neonize.MessageInfo.MessageSource:type_name -> neonize.MessageSource + 26, // 1: neonize.MessageInfo.VerifiedName:type_name -> neonize.VerifiedName + 25, // 2: neonize.MessageInfo.DeviceSentMeta:type_name -> neonize.DeviceSentMeta + 20, // 3: neonize.BroadcastRecipient.LID:type_name -> neonize.JID + 20, // 4: neonize.BroadcastRecipient.PN:type_name -> neonize.JID + 20, // 5: neonize.MessageSource.Chat:type_name -> neonize.JID + 20, // 6: neonize.MessageSource.Sender:type_name -> neonize.JID + 0, // 7: neonize.MessageSource.AddressingMode:type_name -> neonize.AddressingMode + 20, // 8: neonize.MessageSource.SenderAlt:type_name -> neonize.JID + 20, // 9: neonize.MessageSource.RecipientAlt:type_name -> neonize.JID + 20, // 10: neonize.MessageSource.BroadcastListOwner:type_name -> neonize.JID + 23, // 11: neonize.MessageSource.BroadcastRecipients:type_name -> neonize.BroadcastRecipient + 158, // 12: neonize.VerifiedName.Certificate:type_name -> WAWebProtobufsVnameCert.VerifiedNameCertificate + 159, // 13: neonize.VerifiedName.Details:type_name -> WAWebProtobufsVnameCert.VerifiedNameCertificate.Details + 20, // 14: neonize.IsOnWhatsAppResponse.JID:type_name -> neonize.JID + 26, // 15: neonize.IsOnWhatsAppResponse.VerifiedName:type_name -> neonize.VerifiedName + 26, // 16: neonize.UserInfo.VerifiedName:type_name -> neonize.VerifiedName + 20, // 17: neonize.UserInfo.Devices:type_name -> neonize.JID + 20, // 18: neonize.Device.JID:type_name -> neonize.JID + 20, // 19: neonize.Device.LID:type_name -> neonize.JID + 20, // 20: neonize.GroupName.NameSetBy:type_name -> neonize.JID + 20, // 21: neonize.GroupTopic.TopicSetBy:type_name -> neonize.JID + 20, // 22: neonize.GroupLinkedParent.LinkedParentJID:type_name -> neonize.JID + 20, // 23: neonize.GroupParticipant.JID:type_name -> neonize.JID + 20, // 24: neonize.GroupParticipant.LID:type_name -> neonize.JID + 20, // 25: neonize.GroupParticipant.PhoneNumber:type_name -> neonize.JID + 39, // 26: neonize.GroupParticipant.AddRequest:type_name -> neonize.GroupParticipantAddRequest + 20, // 27: neonize.GroupInfo.OwnerJID:type_name -> neonize.JID + 20, // 28: neonize.GroupInfo.JID:type_name -> neonize.JID + 20, // 29: neonize.GroupInfo.OwnerPN:type_name -> neonize.JID + 30, // 30: neonize.GroupInfo.GroupName:type_name -> neonize.GroupName + 31, // 31: neonize.GroupInfo.GroupTopic:type_name -> neonize.GroupTopic + 32, // 32: neonize.GroupInfo.GroupLocked:type_name -> neonize.GroupLocked + 33, // 33: neonize.GroupInfo.GroupAnnounce:type_name -> neonize.GroupAnnounce + 34, // 34: neonize.GroupInfo.GroupEphemeral:type_name -> neonize.GroupEphemeral + 35, // 35: neonize.GroupInfo.GroupIncognito:type_name -> neonize.GroupIncognito + 36, // 36: neonize.GroupInfo.GroupParent:type_name -> neonize.GroupParent + 37, // 37: neonize.GroupInfo.GroupLinkedParent:type_name -> neonize.GroupLinkedParent + 38, // 38: neonize.GroupInfo.GroupIsDefaultSub:type_name -> neonize.GroupIsDefaultSub + 40, // 39: neonize.GroupInfo.Participants:type_name -> neonize.GroupParticipant + 42, // 40: neonize.SendResponse.DebugTimings:type_name -> neonize.MessageDebugTimings + 160, // 41: neonize.SendResponse.Message:type_name -> WAWebProtobufsE2E.Message + 43, // 42: neonize.SendMessageReturnFunction.SendResponse:type_name -> neonize.SendResponse + 41, // 43: neonize.GetGroupInfoReturnFunction.GroupInfo:type_name -> neonize.GroupInfo + 20, // 44: neonize.JoinGroupWithLinkReturnFunction.Jid:type_name -> neonize.JID + 20, // 45: neonize.GetJIDFromStoreReturnFunction.Jid:type_name -> neonize.JID + 22, // 46: neonize.UploadReturnFunction.UploadResponse:type_name -> neonize.UploadResponse + 27, // 47: neonize.IsOnWhatsAppReturnFunction.IsOnWhatsAppResponse:type_name -> neonize.IsOnWhatsAppResponse + 20, // 48: neonize.GetUserInfoSingleReturnFunction.JID:type_name -> neonize.JID + 28, // 49: neonize.GetUserInfoSingleReturnFunction.UserInfo:type_name -> neonize.UserInfo + 53, // 50: neonize.GetUserInfoReturnFunction.UsersInfo:type_name -> neonize.GetUserInfoSingleReturnFunction + 160, // 51: neonize.BuildPollVoteReturnFunction.PollVote:type_name -> WAWebProtobufsE2E.Message + 76, // 52: neonize.CreateNewsLetterReturnFunction.NewsletterMetadata:type_name -> neonize.NewsletterMetadata + 77, // 53: neonize.GetBlocklistReturnFunction.Blocklist:type_name -> neonize.Blocklist + 20, // 54: neonize.GroupParticipantRequest.Participant:type_name -> neonize.JID + 59, // 55: neonize.GetGroupRequestParticipantsReturnFunction.Participants:type_name -> neonize.GroupParticipantRequest + 41, // 56: neonize.GetJoinedGroupsReturnFunction.Group:type_name -> neonize.GroupInfo + 20, // 57: neonize.ReqCreateGroup.Participants:type_name -> neonize.JID + 36, // 58: neonize.ReqCreateGroup.GroupParent:type_name -> neonize.GroupParent + 37, // 59: neonize.ReqCreateGroup.GroupLinkedParent:type_name -> neonize.GroupLinkedParent + 20, // 60: neonize.JIDArray.JIDS:type_name -> neonize.JID + 21, // 61: neonize.Message.Info:type_name -> neonize.MessageInfo + 160, // 62: neonize.Message.Message:type_name -> WAWebProtobufsE2E.Message + 161, // 63: neonize.Message.SourceWebMsg:type_name -> WAWebProtobufsWeb.WebMessageInfo + 65, // 64: neonize.Message.NewsLetterMeta:type_name -> neonize.NewsLetterMessageMeta + 160, // 65: neonize.Message.Raw:type_name -> WAWebProtobufsE2E.Message + 5, // 66: neonize.WrappedNewsletterState.Type:type_name -> neonize.WrappedNewsletterState.NewsletterState + 6, // 67: neonize.NewsletterReactionSettings.Value:type_name -> neonize.NewsletterReactionSettings.NewsletterReactionsMode + 72, // 68: neonize.NewsletterSetting.ReactionCodes:type_name -> neonize.NewsletterReactionSettings + 70, // 69: neonize.NewsletterThreadMetadata.Name:type_name -> neonize.NewsletterText + 70, // 70: neonize.NewsletterThreadMetadata.Description:type_name -> neonize.NewsletterText + 7, // 71: neonize.NewsletterThreadMetadata.VerificationState:type_name -> neonize.NewsletterThreadMetadata.NewsletterVerificationState + 71, // 72: neonize.NewsletterThreadMetadata.Picture:type_name -> neonize.ProfilePictureInfo + 71, // 73: neonize.NewsletterThreadMetadata.Preview:type_name -> neonize.ProfilePictureInfo + 73, // 74: neonize.NewsletterThreadMetadata.Settings:type_name -> neonize.NewsletterSetting + 2, // 75: neonize.NewsletterViewerMetadata.Mute:type_name -> neonize.NewsletterMuteState + 1, // 76: neonize.NewsletterViewerMetadata.Role:type_name -> neonize.NewsletterRole + 20, // 77: neonize.NewsletterMetadata.ID:type_name -> neonize.JID + 69, // 78: neonize.NewsletterMetadata.State:type_name -> neonize.WrappedNewsletterState + 74, // 79: neonize.NewsletterMetadata.ThreadMeta:type_name -> neonize.NewsletterThreadMetadata + 75, // 80: neonize.NewsletterMetadata.ViewerMeta:type_name -> neonize.NewsletterViewerMetadata + 20, // 81: neonize.Blocklist.JIDs:type_name -> neonize.JID + 78, // 82: neonize.NewsletterMessage.ReactionCounts:type_name -> neonize.Reaction + 160, // 83: neonize.NewsletterMessage.Message:type_name -> WAWebProtobufsE2E.Message + 79, // 84: neonize.GetNewsletterMessageUpdateReturnFunction.NewsletterMessage:type_name -> neonize.NewsletterMessage + 8, // 85: neonize.PrivacySettings.GroupAdd:type_name -> neonize.PrivacySettings.PrivacySetting + 8, // 86: neonize.PrivacySettings.LastSeen:type_name -> neonize.PrivacySettings.PrivacySetting + 8, // 87: neonize.PrivacySettings.Status:type_name -> neonize.PrivacySettings.PrivacySetting + 8, // 88: neonize.PrivacySettings.Profile:type_name -> neonize.PrivacySettings.PrivacySetting + 8, // 89: neonize.PrivacySettings.ReadReceipts:type_name -> neonize.PrivacySettings.PrivacySetting + 8, // 90: neonize.PrivacySettings.CallAdd:type_name -> neonize.PrivacySettings.PrivacySetting + 8, // 91: neonize.PrivacySettings.Online:type_name -> neonize.PrivacySettings.PrivacySetting + 20, // 92: neonize.NodeAttrs.jid:type_name -> neonize.JID + 82, // 93: neonize.Node.Attrs:type_name -> neonize.NodeAttrs + 83, // 94: neonize.Node.Nodes:type_name -> neonize.Node + 83, // 95: neonize.InfoQuery.Content:type_name -> neonize.Node + 71, // 96: neonize.GetProfilePictureReturnFunction.Picture:type_name -> neonize.ProfilePictureInfo + 9, // 97: neonize.StatusPrivacy.Type:type_name -> neonize.StatusPrivacy.StatusPrivacyType + 20, // 98: neonize.StatusPrivacy.List:type_name -> neonize.JID + 87, // 99: neonize.GetStatusPrivacyReturnFunction.StatusPrivacy:type_name -> neonize.StatusPrivacy + 20, // 100: neonize.GroupLinkTarget.JID:type_name -> neonize.JID + 30, // 101: neonize.GroupLinkTarget.GroupName:type_name -> neonize.GroupName + 38, // 102: neonize.GroupLinkTarget.GroupIsDefaultSub:type_name -> neonize.GroupIsDefaultSub + 10, // 103: neonize.GroupLinkChange.Type:type_name -> neonize.GroupLinkChange.ChangeType + 89, // 104: neonize.GroupLinkChange.Group:type_name -> neonize.GroupLinkTarget + 89, // 105: neonize.GetSubGroupsReturnFunction.GroupLinkTarget:type_name -> neonize.GroupLinkTarget + 76, // 106: neonize.GetSubscribedNewslettersReturnFunction.Newsletter:type_name -> neonize.NewsletterMetadata + 20, // 107: neonize.GetUserDevicesreturnFunction.JID:type_name -> neonize.JID + 20, // 108: neonize.ContactQRLinkTarget.JID:type_name -> neonize.JID + 96, // 109: neonize.ResolveContactQRLinkReturnFunction.ContactQrLink:type_name -> neonize.ContactQRLinkTarget + 20, // 110: neonize.BusinessMessageLinkTarget.JID:type_name -> neonize.JID + 98, // 111: neonize.ResolveBusinessMessageLinkReturnFunction.MessageLinkTarget:type_name -> neonize.BusinessMessageLinkTarget + 162, // 112: neonize.MutationInfo.Value:type_name -> WASyncAction.SyncActionValue + 11, // 113: neonize.PatchInfo.Type:type_name -> neonize.PatchInfo.WAPatchName + 100, // 114: neonize.PatchInfo.Mutations:type_name -> neonize.MutationInfo + 20, // 115: neonize.ContactEntry.JID:type_name -> neonize.JID + 103, // 116: neonize.ContactEntryArray.ContactEntry:type_name -> neonize.ContactEntry + 81, // 117: neonize.SetPrivacySettingReturnFunction.settings:type_name -> neonize.PrivacySettings + 107, // 118: neonize.ContactsGetContactReturnFunction.ContactInfo:type_name -> neonize.ContactInfo + 20, // 119: neonize.Contact.JID:type_name -> neonize.JID + 107, // 120: neonize.Contact.Info:type_name -> neonize.ContactInfo + 108, // 121: neonize.ContactsGetAllContactsReturnFunction.Contact:type_name -> neonize.Contact + 20, // 122: neonize.PairStatus.ID:type_name -> neonize.JID + 12, // 123: neonize.PairStatus.Status:type_name -> neonize.PairStatus.PStatus + 3, // 124: neonize.LoggedOut.Reason:type_name -> neonize.ConnectFailureReason + 13, // 125: neonize.TemporaryBan.Code:type_name -> neonize.TemporaryBan.TempBanReason + 3, // 126: neonize.ConnectFailure.Reason:type_name -> neonize.ConnectFailureReason + 83, // 127: neonize.ConnectFailure.Raw:type_name -> neonize.Node + 83, // 128: neonize.StreamError.Raw:type_name -> neonize.Node + 163, // 129: neonize.HistorySync.Data:type_name -> WAWebProtobufsHistorySync.HistorySync + 24, // 130: neonize.Receipt.MessageSource:type_name -> neonize.MessageSource + 14, // 131: neonize.Receipt.Type:type_name -> neonize.Receipt.ReceiptType + 24, // 132: neonize.ChatPresence.MessageSource:type_name -> neonize.MessageSource + 15, // 133: neonize.ChatPresence.State:type_name -> neonize.ChatPresence.ChatPresence + 16, // 134: neonize.ChatPresence.Media:type_name -> neonize.ChatPresence.ChatPresenceMedia + 20, // 135: neonize.Presence.From:type_name -> neonize.JID + 41, // 136: neonize.JoinedGroup.GroupInfo:type_name -> neonize.GroupInfo + 20, // 137: neonize.GroupInfoEvent.JID:type_name -> neonize.JID + 20, // 138: neonize.GroupInfoEvent.Sender:type_name -> neonize.JID + 30, // 139: neonize.GroupInfoEvent.Name:type_name -> neonize.GroupName + 31, // 140: neonize.GroupInfoEvent.Topic:type_name -> neonize.GroupTopic + 32, // 141: neonize.GroupInfoEvent.Locked:type_name -> neonize.GroupLocked + 33, // 142: neonize.GroupInfoEvent.Announce:type_name -> neonize.GroupAnnounce + 34, // 143: neonize.GroupInfoEvent.Ephemeral:type_name -> neonize.GroupEphemeral + 66, // 144: neonize.GroupInfoEvent.Delete:type_name -> neonize.GroupDelete + 90, // 145: neonize.GroupInfoEvent.Link:type_name -> neonize.GroupLinkChange + 90, // 146: neonize.GroupInfoEvent.Unlink:type_name -> neonize.GroupLinkChange + 20, // 147: neonize.GroupInfoEvent.Join:type_name -> neonize.JID + 20, // 148: neonize.GroupInfoEvent.Leave:type_name -> neonize.JID + 20, // 149: neonize.GroupInfoEvent.Promote:type_name -> neonize.JID + 20, // 150: neonize.GroupInfoEvent.Demote:type_name -> neonize.JID + 83, // 151: neonize.GroupInfoEvent.UnknownChanges:type_name -> neonize.Node + 20, // 152: neonize.Picture.JID:type_name -> neonize.JID + 20, // 153: neonize.Picture.Author:type_name -> neonize.JID + 20, // 154: neonize.IdentityChange.JID:type_name -> neonize.JID + 81, // 155: neonize.privacySettingsEvent.NewSettings:type_name -> neonize.PrivacySettings + 17, // 156: neonize.BlocklistEvent.Action:type_name -> neonize.BlocklistEvent.Actions + 134, // 157: neonize.BlocklistEvent.Changes:type_name -> neonize.BlocklistChange + 20, // 158: neonize.BlocklistChange.JID:type_name -> neonize.JID + 18, // 159: neonize.BlocklistChange.BlockAction:type_name -> neonize.BlocklistChange.Action + 76, // 160: neonize.NewsletterJoin.NewsletterMetadata:type_name -> neonize.NewsletterMetadata + 20, // 161: neonize.NewsletterLeave.ID:type_name -> neonize.JID + 1, // 162: neonize.NewsletterLeave.Role:type_name -> neonize.NewsletterRole + 20, // 163: neonize.NewsletterMuteChange.ID:type_name -> neonize.JID + 2, // 164: neonize.NewsletterMuteChange.Mute:type_name -> neonize.NewsletterMuteState + 20, // 165: neonize.NewsletterLiveUpdate.JID:type_name -> neonize.JID + 79, // 166: neonize.NewsletterLiveUpdate.Messages:type_name -> neonize.NewsletterMessage + 20, // 167: neonize.BasicCallMeta.from:type_name -> neonize.JID + 20, // 168: neonize.BasicCallMeta.callCreator:type_name -> neonize.JID + 20, // 169: neonize.BasicCallMeta.callCreatorAlt:type_name -> neonize.JID + 139, // 170: neonize.CallOffer.basicCallMeta:type_name -> neonize.BasicCallMeta + 140, // 171: neonize.CallOffer.callRemoteMeta:type_name -> neonize.CallRemoteMeta + 83, // 172: neonize.CallOffer.data:type_name -> neonize.Node + 139, // 173: neonize.CallAccept.basicCallMeta:type_name -> neonize.BasicCallMeta + 140, // 174: neonize.CallAccept.callRemoteMeta:type_name -> neonize.CallRemoteMeta + 83, // 175: neonize.CallAccept.data:type_name -> neonize.Node + 139, // 176: neonize.CallPreAccept.basicCallMeta:type_name -> neonize.BasicCallMeta + 140, // 177: neonize.CallPreAccept.callRemoteMeta:type_name -> neonize.CallRemoteMeta + 83, // 178: neonize.CallPreAccept.data:type_name -> neonize.Node + 139, // 179: neonize.CallTransport.basicCallMeta:type_name -> neonize.BasicCallMeta + 140, // 180: neonize.CallTransport.callRemoteMeta:type_name -> neonize.CallRemoteMeta + 83, // 181: neonize.CallTransport.data:type_name -> neonize.Node + 139, // 182: neonize.CallOfferNotice.basicCallMeta:type_name -> neonize.BasicCallMeta + 83, // 183: neonize.CallOfferNotice.data:type_name -> neonize.Node + 139, // 184: neonize.CallRelayLatency.basicCallMeta:type_name -> neonize.BasicCallMeta + 83, // 185: neonize.CallRelayLatency.data:type_name -> neonize.Node + 139, // 186: neonize.CallTerminate.basicCallMeta:type_name -> neonize.BasicCallMeta + 83, // 187: neonize.CallTerminate.data:type_name -> neonize.Node + 83, // 188: neonize.UnknownCallEvent.node:type_name -> neonize.Node + 21, // 189: neonize.UndecryptableMessage.Info:type_name -> neonize.MessageInfo + 19, // 190: neonize.UndecryptableMessage.DecryptFailMode:type_name -> neonize.UndecryptableMessage.DecryptFailModeT + 40, // 191: neonize.UpdateGroupParticipantsReturnFunction.participants:type_name -> neonize.GroupParticipant + 160, // 192: neonize.GetMessageForRetryReturnFunction.Message:type_name -> WAWebProtobufsE2E.Message + 152, // 193: neonize.ReturnFunctionWithError.LocalChatSettings:type_name -> neonize.LocalChatSettings + 164, // 194: neonize.ReturnFunctionWithError.PollVoteMessage:type_name -> WAWebProtobufsE2E.PollVoteMessage + 63, // 195: neonize.ReturnFunctionWithError.GetLinkedGroupsParticipants:type_name -> neonize.JIDArray + 20, // 196: neonize.SendRequestExtra.InlineBotJID:type_name -> neonize.JID + 160, // 197: neonize.BuildMessageReturnFunction.Message:type_name -> WAWebProtobufsE2E.Message + 198, // [198:198] is the sub-list for method output_type + 198, // [198:198] is the sub-list for method input_type + 198, // [198:198] is the sub-list for extension type_name + 198, // [198:198] is the sub-list for extension extendee + 0, // [0:198] is the sub-list for field type_name +} + +func init() { file_Neonize_proto_init() } +func file_Neonize_proto_init() { + if File_Neonize_proto != nil { + return + } + file_Neonize_proto_msgTypes[62].OneofWrappers = []any{ + (*NodeAttrs_Boolean)(nil), + (*NodeAttrs_Integer)(nil), + (*NodeAttrs_Text)(nil), + (*NodeAttrs_Jid)(nil), + } + file_Neonize_proto_msgTypes[133].OneofWrappers = []any{ + (*ReturnFunctionWithError_LocalChatSettings)(nil), + (*ReturnFunctionWithError_PollVoteMessage)(nil), + (*ReturnFunctionWithError_GetLinkedGroupsParticipants)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_Neonize_proto_rawDesc), len(file_Neonize_proto_rawDesc)), + NumEnums: 20, + NumMessages: 138, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_Neonize_proto_goTypes, + DependencyIndexes: file_Neonize_proto_depIdxs, + EnumInfos: file_Neonize_proto_enumTypes, + MessageInfos: file_Neonize_proto_msgTypes, + }.Build() + File_Neonize_proto = out.File + file_Neonize_proto_goTypes = nil + file_Neonize_proto_depIdxs = nil +} diff --git a/goneonize/defproto/Neonize.proto b/goneonize/defproto/Neonize.proto new file mode 100644 index 00000000..c3cd14d8 --- /dev/null +++ b/goneonize/defproto/Neonize.proto @@ -0,0 +1,936 @@ +syntax = "proto2"; +import "waVnameCert/WAWebProtobufsVnameCert.proto"; +import "waE2E/WAWebProtobufsE2E.proto"; +import "waWeb/WAWebProtobufsWeb.proto"; +import "waSyncAction/WASyncAction.proto"; +import "waHistorySync/WAWebProtobufsHistorySync.proto"; +option go_package = "./defproto"; +package neonize; + +//types +message JID { + required string User = 1; + required uint32 RawAgent = 2; + required uint32 Device = 3; + required uint32 Integrator= 4; + required string Server=5; + optional bool IsEmpty = 6 [default = false]; +} +message MessageInfo{ + required MessageSource MessageSource = 1; + required string ID = 2; + required int64 ServerID = 3; + required string Type = 4; + required string Pushname = 5; + required int64 Timestamp = 6; + required string Category = 7; + required bool Multicast = 8; + required string MediaType = 9; + required string Edit = 10; //enum + optional VerifiedName VerifiedName = 11; + optional DeviceSentMeta DeviceSentMeta = 12; +} +message UploadResponse { + required string url = 1; + required string DirectPath = 2; + required string Handle = 3; + required bytes MediaKey = 4; + required bytes FileEncSHA256 = 5; + required bytes FileSHA256 = 6; + required uint32 FileLength = 7; +} + +enum AddressingMode { + PN = 1; + LID = 2; +} +message BroadcastRecipient { + required JID LID = 1; + required JID PN = 2; +} +message MessageSource { + required JID Chat = 1; + required JID Sender = 2; + required bool IsFromMe = 3; + required bool IsGroup = 4; + optional AddressingMode AddressingMode = 5; + required JID SenderAlt = 6; + required JID RecipientAlt = 7; + required JID BroadcastListOwner = 8; + repeated BroadcastRecipient BroadcastRecipients = 9; +} +message DeviceSentMeta { + required string DestinationJID = 1; + required string Phash = 2; +} +// message MessageInfo{ +// required MessageSource MessageSource = 1; +// required string ID = 2; +// required string ServerID=3; +// required string Type = 4; +// required string PushName = 5; +// required uint64 Timestamp = 6; +// required string Category = 7; +// required bool Multicast = 8; +// required string MediaType = 9; +// required string EditAttribute = 10; + +// } +message VerifiedName { + optional WAWebProtobufsVnameCert.VerifiedNameCertificate Certificate = 1; + optional WAWebProtobufsVnameCert.VerifiedNameCertificate.Details Details = 2; +} +message IsOnWhatsAppResponse { + required string Query = 1; + required JID JID = 2; + required bool IsIn = 3; + optional VerifiedName VerifiedName = 4; +} + +message UserInfo { + optional VerifiedName VerifiedName = 1; + required string Status = 2; + required string PictureID = 3; + repeated JID Devices = 4; +} + +message Device { + optional JID JID = 1; + optional JID LID = 2; + required string Platform = 3; + required string BussinessName = 4; + required string PushName = 5; + required bool Initialized = 6; +} + + +// GROUP +message GroupName { + required string Name = 1; + required int64 NameSetAt=2; + required JID NameSetBy=3; +} +message GroupTopic{ + required string Topic = 1; + required string TopicID = 2; + required int64 TopicSetAt = 3; + required JID TopicSetBy = 4; + required bool TopicDeleted = 5; +} +message GroupLocked { + required bool isLocked = 1; +} +message GroupAnnounce { + required bool IsAnnounce = 1; + required string AnnounceVersionID = 2; +} +message GroupEphemeral{ + required bool IsEphemeral = 1; + required uint32 DisappearingTimer = 2; +} +message GroupIncognito{ + required bool IsIncognito = 1; +} +message GroupParent { + required bool IsParent = 1; + required string DefaultMembershipApprovalMode = 2; +} +message GroupLinkedParent { + required JID LinkedParentJID = 1; +} +message GroupIsDefaultSub { + required bool IsDefaultSubGroup = 1; +} +message GroupParticipantAddRequest { + required string Code = 1; + required float Expiration = 2; +} +message GroupParticipant { + optional JID JID = 1; + required JID LID = 2; + required JID PhoneNumber = 3; + required bool IsAdmin = 4; + required bool IsSuperAdmin = 5; + required string DisplayName = 6; + required int32 Error = 7; + optional GroupParticipantAddRequest AddRequest = 8; +} +message GroupInfo{ + required JID OwnerJID=2; + required JID JID=1; + required JID OwnerPN=3; + required GroupName GroupName = 4; + required GroupTopic GroupTopic = 5; + required GroupLocked GroupLocked = 6; + required GroupAnnounce GroupAnnounce = 7; + required GroupEphemeral GroupEphemeral = 8; + required GroupIncognito GroupIncognito = 9; + required GroupParent GroupParent = 10; + required GroupLinkedParent GroupLinkedParent = 11; + required GroupIsDefaultSub GroupIsDefaultSub = 12; + required float GroupCreated = 13; + required string ParticipantVersionID = 14; + repeated GroupParticipant Participants = 15; + enum GroupMemberAddMode { + GroupMemberAddModeAdmin = 1; + } +} +message MessageDebugTimings{ + required int64 Queue = 1; + required int64 Marshal = 2; + required int64 GetParticipants = 3; + required int64 GetDevices = 4; + required int64 GroupEncrypt = 5; + required int64 PeerEncrypt = 6; + required int64 Send = 7; + required int64 Resp = 8; + required int64 Retry = 9; +} +message SendResponse { + required int64 Timestamp = 1; + required string ID = 2; + required int64 ServerID = 3; + required MessageDebugTimings DebugTimings = 4; + optional WAWebProtobufsE2E.Message Message = 5; +} + +message SendMessageReturnFunction { + optional string Error = 1; + optional SendResponse SendResponse = 2; +} + + + + + + + + +//Function +message GetGroupInfoReturnFunction{ + optional GroupInfo GroupInfo = 1; + optional string Error = 2; +} +message JoinGroupWithLinkReturnFunction{ + optional string Error = 1; + optional JID Jid = 2; +} +message GetJIDFromStoreReturnFunction{ + optional string Error = 1; + optional JID Jid = 2; +} +message GetGroupInviteLinkReturnFunction{ + optional string InviteLink = 1; + optional string Error = 2; +} +message DownloadReturnFunction { + optional bytes Binary = 1; + optional string Error = 2; +} +message UploadReturnFunction { + optional UploadResponse UploadResponse = 1; + optional string Error = 2; +} + +message SetGroupPhotoReturnFunction { + required string PictureID = 1; + optional string Error = 2; +} +message IsOnWhatsAppReturnFunction { + repeated IsOnWhatsAppResponse IsOnWhatsAppResponse = 1; + optional string Error = 2; +} +message GetUserInfoSingleReturnFunction { + optional JID JID = 1; + optional UserInfo UserInfo = 2; +} +message GetUserInfoReturnFunction { + repeated GetUserInfoSingleReturnFunction UsersInfo = 1; + optional string Error = 2; +} +message BuildPollVoteReturnFunction { + optional WAWebProtobufsE2E.Message PollVote = 1; + optional string Error = 2; +} +message CreateNewsLetterReturnFunction{ + optional NewsletterMetadata NewsletterMetadata = 1; + optional string Error = 2; +} +message GetBlocklistReturnFunction{ + optional Blocklist Blocklist = 1; + optional string Error = 2; +} +message GetContactQRLinkReturnFunction { + required string Link = 1; + optional string Error = 2; +} +message GroupParticipantRequest { + optional JID Participant = 1; + optional uint64 TimeAt = 2; +} +message GetGroupRequestParticipantsReturnFunction { + repeated GroupParticipantRequest Participants = 1; + optional string Error = 2; +} +message GetJoinedGroupsReturnFunction { + repeated GroupInfo Group = 1; + optional string Error = 2; +} +message ReqCreateGroup { + required string name = 1; + repeated JID Participants = 2; + required string CreateKey = 3; + optional GroupParent GroupParent = 4; + optional GroupLinkedParent GroupLinkedParent = 5; +} +message JIDArray { + repeated JID JIDS = 1; +} + +message ArrayString { + repeated string data = 1; +} +message NewsLetterMessageMeta { + required int64 EditTS = 1; + required int64 OriginalTS = 2; +} +message GroupDelete { + required bool Deleted = 1; + required string DeletedReason = 2; +} +message Message { + required MessageInfo Info = 1; + optional WAWebProtobufsE2E.Message Message = 2; + required bool IsEphemeral = 3; + required bool IsViewOnce = 4; + required bool IsViewOnceV2 = 5; + required bool IsViewOnceV2Extension = 6; + required bool IsDocumentWithCaption = 7; + required bool IsLottieSticker = 8; + required bool IsEdit = 9; + optional WAWebProtobufsWeb.WebMessageInfo SourceWebMsg = 10; + required string UnavailableRequestID = 11; + required int64 RetryCount = 12; + optional NewsLetterMessageMeta NewsLetterMeta = 13; + optional WAWebProtobufsE2E.Message Raw = 14; +} +message CreateNewsletterParams { + required string Name = 1; + required string Description = 2; + required bytes Picture = 3; +} +message WrappedNewsletterState { + enum NewsletterState { + ACTIVE = 1; + SUSPENDED = 2; + GEOSUSPENDED = 3; + } + required NewsletterState Type = 1; +} +message NewsletterText { + required string Text = 1; + required string ID = 2; + required int64 UpdateTime = 3; +} +message ProfilePictureInfo { + optional string URL = 1; + optional string ID = 2; + optional string Type = 3; + optional string DirectPath = 4; + optional bytes Hash = 5; +} +message NewsletterReactionSettings { + enum NewsletterReactionsMode { + ALL = 1; + BASIC = 2; + NONE = 3; + BLOCKLIST = 4; + } + required NewsletterReactionsMode Value = 1; +} +message NewsletterSetting { + required NewsletterReactionSettings ReactionCodes = 1; +} +message NewsletterThreadMetadata { + enum NewsletterVerificationState { + VERIFIED = 1; + UNVERIFIED = 2; + } + required int64 CreationTime = 1; + required string InviteCode = 2; + required NewsletterText Name = 3; + required NewsletterText Description = 4; + required int64 SubscriberCount = 5; + required NewsletterVerificationState VerificationState = 6; + optional ProfilePictureInfo Picture = 7; + required ProfilePictureInfo Preview = 8; + required NewsletterSetting Settings = 9; + +} +enum NewsletterRole { + SUBSCRIBER = 1; + GUEST = 2; + ADMIN = 3; + OWNER = 4; +} +enum NewsletterMuteState { + ON = 1; + OFF = 2; +} +message NewsletterViewerMetadata { + required NewsletterMuteState Mute= 1; + required NewsletterRole Role = 2; +} +message NewsletterMetadata { + required JID ID = 1; + required WrappedNewsletterState State = 2; + required NewsletterThreadMetadata ThreadMeta = 3; + optional NewsletterViewerMetadata ViewerMeta = 4; + +} + +message Blocklist { + required string DHash = 1; + repeated JID JIDs = 2; +} +message Reaction { + required string type = 1; + required int64 count = 2; +} +message NewsletterMessage { + required int64 MessageServerID = 1; + required int64 ViewsCount = 2; + repeated Reaction ReactionCounts = 3; + required WAWebProtobufsE2E.Message Message = 4; +} + +message GetNewsletterMessageUpdateReturnFunction { + repeated NewsletterMessage NewsletterMessage = 1; + optional string Error = 2; +} + +message PrivacySettings { + enum PrivacySetting { + UNDEFINED = 1; + ALL = 2; + CONTACTS = 3; + CONTACT_BLACKLIST = 4; + MATCH_LAST_SEEN = 5; + KNOWN = 6; + NONE = 7; + } + required PrivacySetting GroupAdd = 1; + required PrivacySetting LastSeen = 2; + required PrivacySetting Status = 3; + required PrivacySetting Profile = 4; + required PrivacySetting ReadReceipts = 5; + required PrivacySetting CallAdd = 6; + required PrivacySetting Online = 7; +} + +message NodeAttrs { + required string name = 1; + oneof Value { + bool boolean = 2; + int64 integer = 3; + string text = 4; + JID jid = 5; + } +} + +message Node { + required string Tag = 1; + repeated NodeAttrs Attrs = 2; + repeated Node Nodes = 3; + optional bool Nil = 4 [default=false]; + optional bytes Bytes = 5; +} + +message InfoQuery { + required string Namespace = 1; + required string Type = 2; + required string To = 3; + repeated Node Content = 4; +} + +message GetProfilePictureParams { + optional bool Preview = 1; + optional string ExistingID = 2; + optional bool IsCommunity = 3; +} + +message GetProfilePictureReturnFunction{ + optional ProfilePictureInfo Picture = 1; + optional string Error = 2; +} +message StatusPrivacy { + enum StatusPrivacyType { + CONTACTS = 1; + BLACKLIST = 2; + WHITELIST = 3; + } + required StatusPrivacyType Type = 1; + repeated JID List = 2; + required bool IsDefault = 3; +} +message GetStatusPrivacyReturnFunction { + repeated StatusPrivacy StatusPrivacy = 1; + optional string Error = 2; +} + +message GroupLinkTarget { + required JID JID = 1; + required GroupName GroupName = 2; + required GroupIsDefaultSub GroupIsDefaultSub = 3; +} +message GroupLinkChange { + enum ChangeType { + PARENT = 1; + SUB = 2; + SIBLING = 3; + } + required ChangeType Type = 1; + required string UnlinkReason = 2; + required GroupLinkTarget Group = 3; +} +message GetSubGroupsReturnFunction{ + repeated GroupLinkTarget GroupLinkTarget = 1; + optional string Error = 2; +} +message GetSubscribedNewslettersReturnFunction { + repeated NewsletterMetadata Newsletter = 1; + optional string Error = 2; +} +message GetUserDevicesreturnFunction { + repeated JID JID =1; + optional string Error = 2; +} +message NewsletterSubscribeLiveUpdatesReturnFunction { + optional int64 Duration = 1; + optional string Error = 2; +} +message PairPhoneParams{ + optional string phone = 1; + optional bool showPushNotification = 2; + optional int32 clientType = 3; + optional string clientDisplayName = 4; +} + +message ContactQRLinkTarget { + required JID JID = 1; + required string Type = 2; + required string PushName = 3; +} + +message ResolveContactQRLinkReturnFunction { + optional ContactQRLinkTarget ContactQrLink = 1; + optional string Error = 2; +} +message BusinessMessageLinkTarget { + required JID JID = 1; + required string PushName = 2; + required string VerifiedName = 3; + required bool IsSigned = 4; + required string VerifiedLevel = 5; + required string Message = 6; +} +message ResolveBusinessMessageLinkReturnFunction { + optional BusinessMessageLinkTarget MessageLinkTarget = 1; + optional string Error =2; +} +message MutationInfo { + repeated string Index = 1; + required int32 Version = 2; + required WASyncAction.SyncActionValue Value = 3; +} +message PatchInfo { + enum WAPatchName { + CRITICAL_BLOCK = 1; + CRITICAL_UNBLOCK_LOW = 2; + REGULAR_LOW = 3; + REGULAR_HIGH = 4; + REGULAR = 5; + } + required int64 Timestamp = 1; + required WAPatchName Type = 2; + repeated MutationInfo Mutations = 3; +} +message ContactsPutPushNameReturnFunction{ + required bool Status = 1; + optional string PreviousName = 2; + optional string Error = 3; +} +message ContactEntry { + required JID JID = 1; + required string FirstName = 2; + required string FullName = 3; +} +message ContactEntryArray { + repeated ContactEntry ContactEntry = 1; +} +message SetPrivacySettingReturnFunction { + optional PrivacySettings settings = 1; + optional string Error = 2; +} +message ContactsGetContactReturnFunction{ + optional ContactInfo ContactInfo = 1; + optional string Error = 2; +} +message ContactInfo { + required bool Found = 1; + required string FirstName = 2; + required string FullName = 3; + required string PushName = 4; + required string BusinessName = 5; + required string RedactedPhone = 6; +} +message Contact{ + required JID JID = 1; + required ContactInfo Info = 2; +} +message ContactsGetAllContactsReturnFunction{ + repeated Contact Contact = 1; + optional string Error = 2; +} +// events +message QR{ //1 + repeated string Codes = 1; +} +message PairStatus { //2 + enum PStatus { + ERROR = 1; + SUCCESS = 2; + } + required JID ID = 1; + required string BusinessName = 2; + required string Platform = 3; + required PStatus Status = 4; + optional string Error = 5; +} +message Connected { + required bool status = 1; +} // 3 + +message KeepAliveTimeout { // 4 + required int64 ErrorCount = 1; + required int64 LastSuccess = 2; +} + +message KeepAliveRestored{} //5 + +enum ConnectFailureReason { + GENERIC = 1; + LOGGED_OUT = 2; + TEMP_BANNED = 3; + MAIN_DEVICE_GONE = 4; + UNKNOWN_LOGOUT = 5; + CLIENT_OUTDATED = 6; + BAD_USER_AGENT = 7; + INTERNAL_SERVER_ERROR = 8; + EXPERIMENTAL = 9; + SERVICE_UNAVAILABLE = 10; +} +message LoggedOut { // 6 + required bool OnConnect = 1; + required ConnectFailureReason Reason = 2; +} +message StreamReplaced {} //7 +message TemporaryBan { // 8 + enum TempBanReason { + SEND_TO_TOO_MANY_PEOPLE = 1; + BLOCKED_BY_USERS = 2; + CREATED_TOO_MANY_GROUPS = 3; + SENT_TOO_MANY_SAME_MESSAGE = 4; + BROADCAST_LIST = 5; + } + required TempBanReason Code = 1; + required int64 Expire = 2; +} + +message ConnectFailure { //9 + required ConnectFailureReason Reason = 1; + required string Message = 2; + required Node Raw = 3; +} + +message ClientOutdated{} // 10 + +message StreamError { // 11 + required string Code = 1; + required Node Raw = 4; +} + +message Disconnected{ + required bool status = 1; +} // 12 + +message HistorySync { // 13 + required WAWebProtobufsHistorySync.HistorySync Data = 1; +} + +//message DecryptFailMode // 14 +//message UndecryptableMessage // 15 +//message NewsLetterMessageMeta (Defined) // 16 +// Message (Defined) // 17 +message Receipt { //18 + enum ReceiptType { + DELIVERED = 1; + SENDER = 2; + RETRY = 3; + READ = 4; + READ_SELF = 5; + PLAYED = 6; + PLAYED_SELF = 7; + SERVER_ERROR = 8; + INACTIVE = 9; + PEER_MSG = 10; + HISTORY_SYNC = 11; + } + required MessageSource MessageSource = 1; + repeated string MessageIDs = 2; + required int64 Timestamp = 3; + required ReceiptType Type = 4; +} + +message ChatPresence { //19 + enum ChatPresence { + COMPOSING = 1; + PAUSED = 2; + } + enum ChatPresenceMedia { + TEXT = 1; + AUDIO = 2; + } + required MessageSource MessageSource = 1; + required ChatPresence State = 2; + required ChatPresenceMedia Media = 3; +} + +message Presence { // 20 + required JID From = 1; + required bool Unavailable = 2; + required int64 LastSeen = 3; +} + +message JoinedGroup { // 21 + required string Reason = 1; + required string Type = 2; + required string CreateKey = 3; + required GroupInfo GroupInfo = 4; +} +message GroupInfoEvent { //22 + required JID JID = 1; + required string Notify = 2; + optional JID Sender = 3; + required int64 Timestamp = 4; + optional GroupName Name = 5; + optional GroupTopic Topic = 6; + optional GroupLocked Locked = 7; + optional GroupAnnounce Announce = 8; + optional GroupEphemeral Ephemeral =9; + optional GroupDelete Delete = 10; + optional GroupLinkChange Link = 11; + optional GroupLinkChange Unlink = 12; + optional string NewInviteLink = 13; + required string PrevParticipantsVersionID = 14; + required string ParticipantVersionID = 15; + required string JoinReason = 16; + repeated JID Join = 17; + repeated JID Leave = 18; + repeated JID Promote = 19; + repeated JID Demote = 20; + repeated Node UnknownChanges = 21; + +} +message Picture { // 23 + required JID JID = 1; + required JID Author = 2; + required int64 Timestamp = 3; + required bool Remove = 4; +} + +message IdentityChange { // 24 + required JID JID = 1; + required int64 Timestamp = 2; + required bool Implicit = 3; +} + +message privacySettingsEvent { // 25 + required PrivacySettings NewSettings = 1; + required bool GroupAddChanged = 2; + required bool LastSeenChanged = 3; + required bool StatusChanged = 4; + required bool ProfileChanged = 5; + required bool ReadReceiptsChanged = 6; + required bool OnlineChanged = 7; + required bool CallAddChanged = 8; +} + +message OfflineSyncPreview { //26 + required int32 Total = 1; + required int32 AppDataChanges = 2; + required int32 Message = 3; + required int32 Notifications = 4; + required int32 Receipts = 5; +} + +message OfflineSyncCompleted { // 27 + required int32 Count = 1; +} +//MediaRetryError (not implemented yet) // 28 +//MediaRetry(not implemented yet) // 29 + +message BlocklistEvent { // 30 + enum Actions { + DEFAULT = 1; + MODIFY = 2; + } + required Actions Action = 1; + required string DHASH = 2; + required string PrevDHash = 3; + repeated BlocklistChange Changes = 4; +} + +message BlocklistChange { // 31 + enum Action { + BLOCK = 1; + UNBLOCK = 2; + } + required JID JID = 1; + required Action BlockAction = 2; +} + +message NewsletterJoin { // 32 + required NewsletterMetadata NewsletterMetadata = 1; +} +message NewsletterLeave { // 33 + required JID ID = 1; + required NewsletterRole Role = 2; +} + +message NewsletterMuteChange { // 34 + required JID ID = 1; + required NewsletterMuteState Mute = 2; +} + +message NewsletterLiveUpdate { //35 + required JID JID = 1; + required int64 TIME = 2; + repeated NewsletterMessage Messages = 3; +} +// call events +message BasicCallMeta { + required JID from = 1; + required int64 timestamp = 2; + required JID callCreator = 3; + required JID callCreatorAlt = 4; + required string callID = 5; +} +message CallRemoteMeta { + required string remotePlatform = 1; + required string remoteVersion = 2; +} +//events +message CallOffer { + required BasicCallMeta basicCallMeta = 1; + required CallRemoteMeta callRemoteMeta = 2; + required Node data = 3; + +} +message CallAccept { + required BasicCallMeta basicCallMeta = 1; + required CallRemoteMeta callRemoteMeta = 2; + required Node data = 3; + +} +message CallPreAccept { + required BasicCallMeta basicCallMeta = 1; + required CallRemoteMeta callRemoteMeta = 2; + required Node data = 3; + +} +message CallTransport { + required BasicCallMeta basicCallMeta = 1; + required CallRemoteMeta callRemoteMeta = 2; + required Node data = 3; + +} +message CallOfferNotice { + required BasicCallMeta basicCallMeta = 1; + required string media = 2; + required string type = 3; + required Node data = 4; + +} +message CallRelayLatency { + required BasicCallMeta basicCallMeta = 1; + required Node data = 2; +} +message CallTerminate { + required BasicCallMeta basicCallMeta = 1; + required string reason = 2; + required Node data = 3; +} +message UnknownCallEvent { + required Node node = 1; +} +message UndecryptableMessage { + required MessageInfo Info = 1; + required bool IsUnavailable = 2; + enum DecryptFailModeT { + DECRYPT_FAIL_SHOW = 1; + DECRYPT_FAIL_HIDE = 2; + } + required DecryptFailModeT DecryptFailMode = 3; +} +message UpdateGroupParticipantsReturnFunction { + optional string Error = 1; + repeated GroupParticipant participants = 2; +} + +message GetMessageForRetryReturnFunction{ + optional bool isEmpty = 1 [default=false]; + optional WAWebProtobufsE2E.Message Message = 2; + optional string Error = 3; +} + + +//chat_setting_store +message LocalChatSettings { + required bool Found = 1; + required double MutedUntil = 2; + required bool Pinned = 3; + required bool Archived = 4; +} + +// New Verision for Function +message ReturnFunctionWithError { + optional string Error = 1; + oneof Return { + LocalChatSettings LocalChatSettings = 2; + WAWebProtobufsE2E.PollVoteMessage PollVoteMessage = 3; + JIDArray GetLinkedGroupsParticipants = 4; + } + +} + +message SendRequestExtra { + required string ID = 1; + required JID InlineBotJID = 2; + required bool Peer = 3; + required int64 Timeout = 4; + required string MediaHandle = 5; +} + +message BuildMessageReturnFunction{ + optional string Error = 1; + required WAWebProtobufsE2E.Message Message = 2; +} + +message LogEntry { + required string Message = 1; + required string Level = 2; + required string Name = 3; +} + +message Stop{} \ No newline at end of file diff --git a/goneonize/defproto/instamadilloAddMessage/InstamadilloAddMessage.proto b/goneonize/defproto/instamadilloAddMessage/InstamadilloAddMessage.proto new file mode 100644 index 00000000..39925679 --- /dev/null +++ b/goneonize/defproto/instamadilloAddMessage/InstamadilloAddMessage.proto @@ -0,0 +1,85 @@ +syntax = "proto2"; +package InstamadilloAddMessage; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloAddMessage"; + +import "instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto"; +import "instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto"; +import "instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto"; +import "instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto"; +import "instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto"; +import "instamadilloCoreTypeText/InstamadilloCoreTypeText.proto"; +import "instamadilloXmaContentRef/InstamadilloXmaContentRef.proto"; + +message AddMessagePayload { + optional AddMessageContent content = 1; + optional AddMessageMetadata metadata = 2; +} + +message AddMessageContent { + oneof addMessageContent { + InstamadilloCoreTypeText.Text text = 1; + Like like = 2; + InstamadilloCoreTypeLink.Link link = 3; + ReceiverFetchXma receiverFetchXma = 4; + InstamadilloCoreTypeMedia.Media media = 5; + Placeholder placeholder = 6; + InstamadilloCoreTypeCollection.Collection collection = 7; + InstamadilloCoreTypeAdminMessage.AdminMessage adminMessage = 8; + InstamadilloCoreTypeActionLog.ActionLog actionLog = 9; + } +} + +message AddMessageMetadata { + optional bool sendSilently = 1; + optional PrivateReplyInfo privateReplyInfo = 2; + optional RepliedToMessage repliedToMessage = 3; + optional ForwardingParams forwardingParams = 4; + optional EphemeralityParams ephemeralityParams = 5; +} + +message RepliedToMessage { + optional string repliedToMessageOtid = 1; + optional string repliedToMessageWaServerTimeSec = 2; + optional string repliedToMessageCollectionItemID = 3; + optional OpenMessageMicroSecondTimestamp omMicroSecTS = 4; +} + +message OpenMessageMicroSecondTimestamp { + optional int64 timestampMS = 1; + optional int32 microSecondsBits = 2; +} + +message PrivateReplyInfo { + optional string commentID = 1; + optional string postLink = 2; +} + +message ForwardingParams { + optional string forwardedThreadID = 1; +} + +message EphemeralityParams { + optional int64 ephemeralDurationSec = 1; +} + +message Like { +} + +message ReceiverFetchXma { + optional string contentRef = 1; + optional string text = 2; + optional InstamadilloCoreTypeMedia.Media media = 3; + optional InstamadilloXmaContentRef.XmaContentRef xmaContentRef = 4; +} + +message Placeholder { + enum Type { + PLACEHOLDER_TYPE_NONE = 0; + PLACEHOLDER_TYPE_DECRYPTION_FAILURE = 1; + PLACEHOLDER_TYPE_NOT_SUPPORTED_NEED_UPDATE = 2; + PLACEHOLDER_TYPE_DEVICE_UNAVAILABLE = 3; + PLACEHOLDER_TYPE_NOT_SUPPORTED_NOT_RECOVERABLE = 4; + } + + optional Type placeholderType = 1; +} diff --git a/goneonize/defproto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto b/goneonize/defproto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto new file mode 100644 index 00000000..dad19791 --- /dev/null +++ b/goneonize/defproto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto @@ -0,0 +1,13 @@ +syntax = "proto2"; +package InstamadilloCoreTypeActionLog; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog"; + +message ActionLog { + oneof actionLogSubtype { + ActionLogReaction actionLogReaction = 1; + } +} + +message ActionLogReaction { + optional string emojiUnicode = 1; +} diff --git a/goneonize/defproto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto b/goneonize/defproto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto new file mode 100644 index 00000000..c6bb7e4e --- /dev/null +++ b/goneonize/defproto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto @@ -0,0 +1,21 @@ +syntax = "proto2"; +package InstamadilloCoreTypeAdminMessage; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage"; + +message AdminMessage { + oneof adminMessageSubtype { + DeviceAdminMessage deviceAdminMessage = 1; + } +} + +message DeviceAdminMessage { + enum Type { + DEVICE_ADMIN_MESSAGE_TYPE_NONE = 0; + DEVICE_ADMIN_MESSAGE_TYPE_LOCAL_USER_CHANGED_IDENTITY_KEY_NAMED_DEVICE = 1; + DEVICE_ADMIN_MESSAGE_TYPE_SECURITY_ALERT_PARTICIPANT_KEY_CHANGE = 2; + DEVICE_ADMIN_MESSAGE_TYPE_SECURITY_ALERT_PARTICIPANT_NEW_LOGIN = 3; + } + + optional Type deviceAdminMessageType = 1; + optional string deviceName = 2; +} diff --git a/goneonize/defproto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto b/goneonize/defproto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto new file mode 100644 index 00000000..4ad9f921 --- /dev/null +++ b/goneonize/defproto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto @@ -0,0 +1,10 @@ +syntax = "proto2"; +package InstamadilloCoreTypeCollection; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection"; + +import "instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto"; + +message Collection { + optional string name = 1; + repeated InstamadilloCoreTypeMedia.Media media = 2; +} diff --git a/goneonize/defproto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto b/goneonize/defproto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto new file mode 100644 index 00000000..e7b66c6a --- /dev/null +++ b/goneonize/defproto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto @@ -0,0 +1,27 @@ +syntax = "proto2"; +package InstamadilloCoreTypeLink; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink"; + +import "instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto"; + +message Link { + optional string text = 1; + optional LinkContext linkContext = 2; +} + +message LinkContext { + optional ImageUrl linkImageURL = 1; + optional string linkPreviewTitle = 2; + optional string linkURL = 3; + optional string linkSummary = 4; + optional string linkMusicPreviewURL = 5; + repeated string linkMusicPreviewCountriesAllowed = 6; + optional InstamadilloCoreTypeMedia.Thumbnail linkPreviewThumbnail = 7; + optional string linkPreviewBody = 8; +} + +message ImageUrl { + optional string URL = 1; + optional int32 width = 2; + optional int32 height = 3; +} diff --git a/goneonize/defproto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto b/goneonize/defproto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto new file mode 100644 index 00000000..eae15479 --- /dev/null +++ b/goneonize/defproto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto @@ -0,0 +1,112 @@ +syntax = "proto2"; +package InstamadilloCoreTypeMedia; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia"; + +enum PjpegScanConfiguration { + PJPEG_SCAN_CONFIGURATION_UNSPECIFIED = 0; + PJPEG_SCAN_CONFIGURATION_WA = 1; + PJPEG_SCAN_CONFIGURATION_E15 = 2; + PJPEG_SCAN_CONFIGURATION_E35 = 3; +} + +message Media { + enum InterventionType { + UNSET = 0; + NONE = 1; + NUDE = 2; + } + + oneof media { + StaticPhoto staticPhoto = 1; + Voice voice = 2; + Video video = 3; + Raven raven = 4; + Gif gif = 5; + AvatarSticker avatarSticker = 6; + } +} + +message StaticPhoto { + optional CommonMediaTransport mediaTransport = 1; + optional int32 height = 2; + optional int32 width = 3; + repeated int32 scanLengths = 4 [packed=true]; + optional Thumbnail thumbnail = 5; + optional PjpegScanConfiguration pjpegScanConfiguration = 6; +} + +message Voice { + optional CommonMediaTransport mediaTransport = 1; + optional int32 duration = 2; + repeated float waveforms = 3 [packed=true]; + optional int32 waveformSamplingFrequencyHz = 4; +} + +message Video { + optional CommonMediaTransport mediaTransport = 1; + optional int32 height = 2; + optional int32 width = 3; + optional Thumbnail thumbnail = 4; + optional VideoExtraMetadata videoExtraMetadata = 5; +} + +message Gif { + optional CommonMediaTransport mediaTransport = 1; + optional int32 height = 2; + optional int32 width = 3; + optional bool isSticker = 4; + optional string stickerID = 5; + optional string gifURL = 6; + optional int32 gifSize = 7; + optional bool isRandom = 8; +} + +message AvatarSticker { + optional CommonMediaTransport mediaTransport = 1; + optional bool isAnimated = 2; + optional string stickerID = 3; + optional string stickerTemplate = 4; + optional int32 nuxType = 5; +} + +message Raven { + enum ViewMode { + RAVEN_VIEW_MODEL_UNSPECIFIED = 0; + RAVEN_VIEW_MODEL_ONCE = 1; + RAVEN_VIEW_MODEL_REPLAYABLE = 2; + RAVEN_VIEW_MODEL_PERMANENT = 3; + } + + optional ViewMode viewMode = 1; + optional RavenContent content = 2; +} + +message RavenContent { + oneof ravenContent { + StaticPhoto staticPhoto = 1; + Video video = 2; + } +} + +message Thumbnail { + optional CommonMediaTransport mediaTransport = 1; + optional int32 height = 2; + optional int32 width = 3; +} + +message CommonMediaTransport { + optional string mediaID = 1; + optional string fileSHA256 = 2; + optional string mediaKey = 3; + optional string fileEncSHA256 = 4; + optional string directPath = 5; + optional string mediaKeyTimestamp = 6; + optional string sidecar = 7; + optional int32 fileLength = 8; + optional string mimetype = 9; + optional string objectID = 10; +} + +message VideoExtraMetadata { + optional float uploadMosClientScore = 1; +} diff --git a/goneonize/defproto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto b/goneonize/defproto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto new file mode 100644 index 00000000..8c62e8d3 --- /dev/null +++ b/goneonize/defproto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto @@ -0,0 +1,47 @@ +syntax = "proto2"; +package InstamadilloCoreTypeText; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText"; + +import "instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto"; + +message Text { + enum FormatStyle { + TEXT_FORMAT_STYLE_UNSPECIFIED = 0; + TEXT_FORMAT_STYLE_BOLD = 1; + TEXT_FORMAT_STYLE_ITALIC = 2; + TEXT_FORMAT_STYLE_STRIKETHROUGH = 3; + TEXT_FORMAT_STYLE_UNDERLINE = 4; + TEXT_FORMAT_STYLE_INVALID = 5; + } + + optional string text = 1; + optional bool isSuggestedReply = 2; + optional string postbackPayload = 3; + optional PowerUpsData powerUpData = 4; + repeated CommandRangeData commands = 5; + repeated AnimatedEmojiCharacterRange animatedEmojiCharacterRanges = 6; +} + +message PowerUpsData { + optional int32 style = 1; + optional InstamadilloCoreTypeMedia.CommonMediaTransport mediaAttachment = 2; +} + +message CommandRangeData { + optional int32 offset = 1; + optional int32 length = 2; + optional int32 type = 3; + optional string FBID = 4; + optional string userOrThreadFbid = 5; +} + +message FormattedText { + optional int32 offset = 1; + optional int32 length = 2; + optional Text.FormatStyle style = 3; +} + +message AnimatedEmojiCharacterRange { + optional int32 offset = 1; + optional int32 length = 2; +} diff --git a/goneonize/defproto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto b/goneonize/defproto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto new file mode 100644 index 00000000..0cd7a9dd --- /dev/null +++ b/goneonize/defproto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto @@ -0,0 +1,7 @@ +syntax = "proto2"; +package InstamadilloDeleteMessage; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage"; + +message DeleteMessagePayload { + optional string messageOtid = 1; +} diff --git a/goneonize/defproto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto b/goneonize/defproto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto new file mode 100644 index 00000000..09ff068b --- /dev/null +++ b/goneonize/defproto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto @@ -0,0 +1,59 @@ +syntax = "proto2"; +package InstamadilloSupplementMessage; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage"; + +import "instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto"; + +message SupplementMessagePayload { + optional string targetMessageOtid = 1; + optional string uniquingKeyForSupplementalData = 2; + optional SupplementMessageContent content = 3; + optional string targetMessageWaServerTimeSec = 4; + optional string targetWaThreadID = 5; +} + +message SupplementMessageContent { + oneof supplementMessageContent { + Reaction reaction = 1; + ContentView contentView = 2; + EditText editText = 3; + MediaReaction mediaReaction = 4; + OriginalTransportPayload originalTransportPayload = 5; + MediaInterventions mediaInterventions = 6; + } +} + +message MediaReaction { + optional string mediaID = 1; + optional Reaction reaction = 2; +} + +message Reaction { + optional string reactionType = 1; + optional string reactionStatus = 2; + optional string emoji = 3; + optional string superReactType = 4; + optional string actionLogOtid = 5; +} + +message ContentView { + optional bool seen = 1; + optional bool screenshotted = 2; + optional bool replayed = 3; + optional string mimetype = 4; + optional string objectID = 5; +} + +message EditText { + optional string newContent = 1; + optional int32 editCount = 2; +} + +message OriginalTransportPayload { + optional bytes originalTransportPayload = 1; +} + +message MediaInterventions { + optional string mediaID = 1; + optional InstamadilloCoreTypeMedia.Media.InterventionType interventionType = 2; +} diff --git a/goneonize/defproto/instamadilloTransportPayload/InstamadilloTransportPayload.proto b/goneonize/defproto/instamadilloTransportPayload/InstamadilloTransportPayload.proto new file mode 100644 index 00000000..964f8457 --- /dev/null +++ b/goneonize/defproto/instamadilloTransportPayload/InstamadilloTransportPayload.proto @@ -0,0 +1,33 @@ +syntax = "proto2"; +package InstamadilloTransportPayload; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloTransportPayload"; + +import "instamadilloAddMessage/InstamadilloAddMessage.proto"; +import "instamadilloDeleteMessage/InstamadilloDeleteMessage.proto"; +import "instamadilloSupplementMessage/InstamadilloSupplementMessage.proto"; + +enum PayloadCreator { + PAYLOAD_CREATOR_UNSPECIFIED = 0; + PAYLOAD_CREATOR_IGIOS = 1; + PAYLOAD_CREATOR_IG4A = 2; + PAYLOAD_CREATOR_WWW = 3; + PAYLOAD_CREATOR_IGLITE = 4; +} + +message TransportPayload { + oneof transportPayload { + InstamadilloAddMessage.AddMessagePayload add = 1; + InstamadilloDeleteMessage.DeleteMessagePayload delete = 2; + InstamadilloSupplementMessage.SupplementMessagePayload supplement = 3; + } + + optional Franking franking = 4; + optional bool openEb = 5; + optional bool isE2EeAttributed = 6; + optional PayloadCreator payloadCreator = 7; +} + +message Franking { + optional bytes frankingKey = 1; + optional int32 frankingVersion = 2; +} diff --git a/goneonize/defproto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto b/goneonize/defproto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto new file mode 100644 index 00000000..00bc9378 --- /dev/null +++ b/goneonize/defproto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto @@ -0,0 +1,105 @@ +syntax = "proto2"; +package InstamadilloXmaContentRef; +option go_package = "go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef"; + +enum XmaActionType { + XMA_ACTION_TYPE_UNSPECIFIED = 0; + XMA_ACTION_TYPE_SHARE = 1; + XMA_ACTION_TYPE_REPLY = 2; + XMA_ACTION_TYPE_REACT = 3; + XMA_ACTION_TYPE_MENTION = 4; +} + +enum ReceiverFetchContentType { + RECEIVER_FETCH_CONTENT_TYPE_UNSPECIFIED = 0; + RECEIVER_FETCH_CONTENT_TYPE_NOTE = 1; + RECEIVER_FETCH_CONTENT_TYPE_STORY = 2; + RECEIVER_FETCH_CONTENT_TYPE_PROFILE = 3; + RECEIVER_FETCH_CONTENT_TYPE_CLIP = 4; + RECEIVER_FETCH_CONTENT_TYPE_FEED = 5; + RECEIVER_FETCH_CONTENT_TYPE_LIVE = 6; + RECEIVER_FETCH_CONTENT_TYPE_COMMENT = 7; + RECEIVER_FETCH_CONTENT_TYPE_LOCATION_SHARE = 8; + RECEIVER_FETCH_CONTENT_TYPE_REELS_AUDIO = 9; + RECEIVER_FETCH_CONTENT_TYPE_MEDIA_NOTE = 10; + RECEIVER_FETCH_CONTENT_TYPE_STORY_HIGHLIGHT = 11; + RECEIVER_FETCH_CONTENT_TYPE_SOCIAL_CONTEXT = 12; +} + +enum MediaNoteFetchParamsMessageType { + MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_UNSPECIFIED = 0; + MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_MENTION = 1; + MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_REPLY = 2; +} + +message XmaContentRef { + optional XmaActionType actionType = 1; + optional ReceiverFetchContentType contentType = 2; + optional string targetURL = 3; + optional string userName = 4; + optional string ownerFbid = 5; + optional ReceiverFetchXmaFetchParams fetchParams = 6; +} + +message ReceiverFetchXmaFetchParams { + oneof receiverFetchXmaFetchParams { + ReceiverFetchXmaNoteFetchParams noteFetchParams = 1; + ReceiverFetchXmaStoryFetchParams storyFetchParams = 2; + ReceiverFetchXmaProfileFetchParams profileFetchParams = 3; + ReceiverFetchXmaClipFetchParams clipFetchParams = 4; + ReceiverFetchXmaFeedFetchParams feedFetchParams = 5; + ReceiverFetchXmaLiveFetchParams liveFetchParams = 6; + ReceiverFetchXmaCommentFetchParams commentFetchParams = 7; + ReceiverFetchXmaLocationShareFetchParams locationShareFetchParams = 8; + ReceiverFetchXmaReelsAudioFetchParams reelsAudioFetchParams = 9; + ReceiverFetchXmaMediaNoteFetchParams mediaNoteFetchParams = 10; + ReceiverFetchXmaSocialContextFetchParams socialContextFetchParams = 11; + } +} + +message ReceiverFetchXmaNoteFetchParams { + optional string noteIgid = 1; +} + +message ReceiverFetchXmaStoryFetchParams { + optional string storyIgid = 1; + optional string reelID = 2; +} + +message ReceiverFetchXmaProfileFetchParams { + optional string profileIgid = 1; +} + +message ReceiverFetchXmaClipFetchParams { + optional string mediaIgid = 1; +} + +message ReceiverFetchXmaFeedFetchParams { + optional string mediaIgid = 1; + optional string carouselShareChildMediaIgid = 2; +} + +message ReceiverFetchXmaLiveFetchParams { + optional string liveIgid = 1; +} + +message ReceiverFetchXmaCommentFetchParams { + optional string commentFbid = 1; +} + +message ReceiverFetchXmaLocationShareFetchParams { + optional string locationIgid = 1; +} + +message ReceiverFetchXmaReelsAudioFetchParams { + optional string audioIgid = 1; +} + +message ReceiverFetchXmaMediaNoteFetchParams { + optional string mediaNoteIgid = 1; + optional MediaNoteFetchParamsMessageType messageType = 2; +} + +message ReceiverFetchXmaSocialContextFetchParams { + optional string mediaIgid = 1; +} diff --git a/goneonize/defproto/waAICommon/WAAICommon.proto b/goneonize/defproto/waAICommon/WAAICommon.proto new file mode 100644 index 00000000..38d3f528 --- /dev/null +++ b/goneonize/defproto/waAICommon/WAAICommon.proto @@ -0,0 +1,776 @@ +syntax = "proto2"; +package WAAICommon; +option go_package = "go.mau.fi/whatsmeow/proto/waAICommon"; + +import "waCommon/WACommon.proto"; + +enum BotMetricsEntryPoint { + UNDEFINED_ENTRY_POINT = 0; + FAVICON = 1; + CHATLIST = 2; + AISEARCH_NULL_STATE_PAPER_PLANE = 3; + AISEARCH_NULL_STATE_SUGGESTION = 4; + AISEARCH_TYPE_AHEAD_SUGGESTION = 5; + AISEARCH_TYPE_AHEAD_PAPER_PLANE = 6; + AISEARCH_TYPE_AHEAD_RESULT_CHATLIST = 7; + AISEARCH_TYPE_AHEAD_RESULT_MESSAGES = 8; + AIVOICE_SEARCH_BAR = 9; + AIVOICE_FAVICON = 10; + AISTUDIO = 11; + DEEPLINK = 12; + NOTIFICATION = 13; + PROFILE_MESSAGE_BUTTON = 14; + FORWARD = 15; + APP_SHORTCUT = 16; + FF_FAMILY = 17; + AI_TAB = 18; + AI_HOME = 19; + AI_DEEPLINK_IMMERSIVE = 20; + AI_DEEPLINK = 21; + META_AI_CHAT_SHORTCUT_AI_STUDIO = 22; + UGC_CHAT_SHORTCUT_AI_STUDIO = 23; + NEW_CHAT_AI_STUDIO = 24; + AIVOICE_FAVICON_CALL_HISTORY = 25; + ASK_META_AI_CONTEXT_MENU = 26; + ASK_META_AI_CONTEXT_MENU_1ON1 = 27; + ASK_META_AI_CONTEXT_MENU_GROUP = 28; + INVOKE_META_AI_1ON1 = 29; + INVOKE_META_AI_GROUP = 30; + META_AI_FORWARD = 31; + NEW_CHAT_AI_CONTACT = 32; + MESSAGE_QUICK_ACTION_1_ON_1_CHAT = 33; + MESSAGE_QUICK_ACTION_GROUP_CHAT = 34; + ATTACHMENT_TRAY_1_ON_1_CHAT = 35; + ATTACHMENT_TRAY_GROUP_CHAT = 36; +} + +enum BotMetricsThreadEntryPoint { + AI_TAB_THREAD = 1; + AI_HOME_THREAD = 2; + AI_DEEPLINK_IMMERSIVE_THREAD = 3; + AI_DEEPLINK_THREAD = 4; + ASK_META_AI_CONTEXT_MENU_THREAD = 5; +} + +enum BotSessionSource { + NONE = 0; + NULL_STATE = 1; + TYPEAHEAD = 2; + USER_INPUT = 3; + EMU_FLASH = 4; + EMU_FLASH_FOLLOWUP = 5; + VOICE = 6; +} + +enum AIRichResponseMessageType { + AI_RICH_RESPONSE_TYPE_UNKNOWN = 0; + AI_RICH_RESPONSE_TYPE_STANDARD = 1; +} + +enum AIRichResponseSubMessageType { + AI_RICH_RESPONSE_UNKNOWN = 0; + AI_RICH_RESPONSE_GRID_IMAGE = 1; + AI_RICH_RESPONSE_TEXT = 2; + AI_RICH_RESPONSE_INLINE_IMAGE = 3; + AI_RICH_RESPONSE_TABLE = 4; + AI_RICH_RESPONSE_CODE = 5; + AI_RICH_RESPONSE_DYNAMIC = 6; + AI_RICH_RESPONSE_MAP = 7; + AI_RICH_RESPONSE_LATEX = 8; + AI_RICH_RESPONSE_CONTENT_ITEMS = 9; +} + +message BotPluginMetadata { + enum PluginType { + UNKNOWN_PLUGIN = 0; + REELS = 1; + SEARCH = 2; + } + + enum SearchProvider { + UNKNOWN = 0; + BING = 1; + GOOGLE = 2; + SUPPORT = 3; + } + + optional SearchProvider provider = 1; + optional PluginType pluginType = 2; + optional string thumbnailCDNURL = 3; + optional string profilePhotoCDNURL = 4; + optional string searchProviderURL = 5; + optional uint32 referenceIndex = 6; + optional uint32 expectedLinksCount = 7; + optional string searchQuery = 9; + optional WACommon.MessageKey parentPluginMessageKey = 10; + optional PluginType deprecatedField = 11; + optional PluginType parentPluginType = 12; + optional string faviconCDNURL = 13; +} + +message BotLinkedAccount { + enum BotLinkedAccountType { + BOT_LINKED_ACCOUNT_TYPE_1P = 0; + } + + optional BotLinkedAccountType type = 1; +} + +message BotSignatureVerificationUseCaseProof { + enum BotSignatureUseCase { + UNSPECIFIED = 0; + WA_BOT_MSG = 1; + } + + optional int32 version = 1; + optional BotSignatureUseCase useCase = 2; + optional bytes signature = 3; + repeated bytes certificateChain = 4; +} + +message BotPromotionMessageMetadata { + enum BotPromotionType { + UNKNOWN_TYPE = 0; + C50 = 1; + SURVEY_PLATFORM = 2; + } + + optional BotPromotionType promotionType = 1; + optional string buttonTitle = 2; +} + +message BotMediaMetadata { + enum OrientationType { + CENTER = 1; + LEFT = 2; + RIGHT = 3; + } + + optional string fileSHA256 = 1; + optional string mediaKey = 2; + optional string fileEncSHA256 = 3; + optional string directPath = 4; + optional int64 mediaKeyTimestamp = 5; + optional string mimetype = 6; + optional OrientationType orientationType = 7; +} + +message BotReminderMetadata { + enum ReminderFrequency { + ONCE = 1; + DAILY = 2; + WEEKLY = 3; + BIWEEKLY = 4; + MONTHLY = 5; + } + + enum ReminderAction { + NOTIFY = 1; + CREATE = 2; + DELETE = 3; + UPDATE = 4; + } + + optional WACommon.MessageKey requestMessageKey = 1; + optional ReminderAction action = 2; + optional string name = 3; + optional uint64 nextTriggerTimestamp = 4; + optional ReminderFrequency frequency = 5; +} + +message BotModelMetadata { + enum PremiumModelStatus { + UNKNOWN_STATUS = 0; + AVAILABLE = 1; + QUOTA_EXCEED_LIMIT = 2; + } + + enum ModelType { + UNKNOWN_TYPE = 0; + LLAMA_PROD = 1; + LLAMA_PROD_PREMIUM = 2; + } + + optional ModelType modelType = 1; + optional PremiumModelStatus premiumModelStatus = 2; +} + +message BotProgressIndicatorMetadata { + message BotPlanningStepMetadata { + enum BotSearchSourceProvider { + UNKNOWN_PROVIDER = 0; + OTHER = 1; + GOOGLE = 2; + BING = 3; + } + + enum PlanningStepStatus { + UNKNOWN = 0; + PLANNED = 1; + EXECUTING = 2; + FINISHED = 3; + } + + message BotPlanningSearchSourcesMetadata { + enum BotPlanningSearchSourceProvider { + UNKNOWN = 0; + OTHER = 1; + GOOGLE = 2; + BING = 3; + } + + optional string sourceTitle = 1; + optional BotPlanningSearchSourceProvider provider = 2; + optional string sourceURL = 3; + } + + message BotPlanningStepSectionMetadata { + optional string sectionTitle = 1; + optional string sectionBody = 2; + repeated BotPlanningSearchSourceMetadata sourcesMetadata = 3; + } + + message BotPlanningSearchSourceMetadata { + optional string title = 1; + optional BotSearchSourceProvider provider = 2; + optional string sourceURL = 3; + optional string favIconURL = 4; + } + + optional string statusTitle = 1; + optional string statusBody = 2; + repeated BotPlanningSearchSourcesMetadata sourcesMetadata = 3; + optional PlanningStepStatus status = 4; + optional bool isReasoning = 5; + optional bool isEnhancedSearch = 6; + repeated BotPlanningStepSectionMetadata sections = 7; + } + + optional string progressDescription = 1; + repeated BotPlanningStepMetadata stepsMetadata = 2; +} + +message BotCapabilityMetadata { + enum BotCapabilityType { + UNKNOWN = 0; + PROGRESS_INDICATOR = 1; + RICH_RESPONSE_HEADING = 2; + RICH_RESPONSE_NESTED_LIST = 3; + AI_MEMORY = 4; + RICH_RESPONSE_THREAD_SURFING = 5; + RICH_RESPONSE_TABLE = 6; + RICH_RESPONSE_CODE = 7; + RICH_RESPONSE_STRUCTURED_RESPONSE = 8; + RICH_RESPONSE_INLINE_IMAGE = 9; + WA_IG_1P_PLUGIN_RANKING_CONTROL = 10; + WA_IG_1P_PLUGIN_RANKING_UPDATE_1 = 11; + WA_IG_1P_PLUGIN_RANKING_UPDATE_2 = 12; + WA_IG_1P_PLUGIN_RANKING_UPDATE_3 = 13; + WA_IG_1P_PLUGIN_RANKING_UPDATE_4 = 14; + WA_IG_1P_PLUGIN_RANKING_UPDATE_5 = 15; + WA_IG_1P_PLUGIN_RANKING_UPDATE_6 = 16; + WA_IG_1P_PLUGIN_RANKING_UPDATE_7 = 17; + WA_IG_1P_PLUGIN_RANKING_UPDATE_8 = 18; + WA_IG_1P_PLUGIN_RANKING_UPDATE_9 = 19; + WA_IG_1P_PLUGIN_RANKING_UPDATE_10 = 20; + RICH_RESPONSE_SUB_HEADING = 21; + RICH_RESPONSE_GRID_IMAGE = 22; + AI_STUDIO_UGC_MEMORY = 23; + RICH_RESPONSE_LATEX = 24; + RICH_RESPONSE_MAPS = 25; + RICH_RESPONSE_INLINE_REELS = 26; + AGENTIC_PLANNING = 27; + ACCOUNT_LINKING = 28; + STREAMING_DISAGGREGATION = 29; + RICH_RESPONSE_GRID_IMAGE_3P = 30; + RICH_RESPONSE_LATEX_INLINE = 31; + QUERY_PLAN = 32; + PROACTIVE_MESSAGE = 33; + RICH_RESPONSE_UNIFIED_RESPONSE = 34; + PROMOTION_MESSAGE = 35; + SIMPLIFIED_PROFILE_PAGE = 36; + RICH_RESPONSE_SOURCES_IN_MESSAGE = 37; + RICH_RESPONSE_SIDE_BY_SIDE_SURVEY = 38; + RICH_RESPONSE_UNIFIED_TEXT_COMPONENT = 39; + AI_SHARED_MEMORY = 40; + RICH_RESPONSE_UNIFIED_SOURCES = 41; + RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS = 42; + RICH_RESPONSE_UR_INLINE_REELS_ENABLED = 43; + RICH_RESPONSE_UR_MEDIA_GRID_ENABLED = 44; + RICH_RESPONSE_UR_TIMESTAMP_PLACEHOLDER = 45; + } + + repeated BotCapabilityType capabilities = 1; +} + +message BotModeSelectionMetadata { + enum BotUserSelectionMode { + UNKNOWN_MODE = 0; + REASONING_MODE = 1; + } + + repeated BotUserSelectionMode mode = 1; +} + +message BotQuotaMetadata { + message BotFeatureQuotaMetadata { + enum BotFeatureType { + UNKNOWN_FEATURE = 0; + REASONING_FEATURE = 1; + } + + optional BotFeatureType featureType = 1; + optional uint32 remainingQuota = 2; + optional uint64 expirationTimestamp = 3; + } + + repeated BotFeatureQuotaMetadata botFeatureQuotaMetadata = 1; +} + +message BotImagineMetadata { + enum ImagineType { + UNKNOWN = 0; + IMAGINE = 1; + MEMU = 2; + FLASH = 3; + EDIT = 4; + } + + optional ImagineType imagineType = 1; +} + +message BotAgeCollectionMetadata { + enum AgeCollectionType { + O18_BINARY = 0; + WAFFLE = 1; + } + + optional bool ageCollectionEligible = 1; + optional bool shouldTriggerAgeCollectionOnClient = 2; + optional AgeCollectionType ageCollectionType = 3; +} + +message BotSourcesMetadata { + message BotSourceItem { + enum SourceProvider { + UNKNOWN = 0; + BING = 1; + GOOGLE = 2; + SUPPORT = 3; + OTHER = 4; + } + + optional SourceProvider provider = 1; + optional string thumbnailCDNURL = 2; + optional string sourceProviderURL = 3; + optional string sourceQuery = 4; + optional string faviconCDNURL = 5; + optional uint32 citationNumber = 6; + optional string sourceTitle = 7; + } + + repeated BotSourceItem sources = 1; +} + +message BotMessageOrigin { + enum BotMessageOriginType { + BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED = 0; + } + + optional BotMessageOriginType type = 1; +} + +message AIThreadInfo { + message AIThreadClientInfo { + enum AIThreadType { + UNKNOWN = 0; + DEFAULT = 1; + INCOGNITO = 2; + } + + optional AIThreadType type = 1; + } + + message AIThreadServerInfo { + optional string title = 1; + } + + optional AIThreadServerInfo serverInfo = 1; + optional AIThreadClientInfo clientInfo = 2; +} + +message BotFeedbackMessage { + enum ReportKind { + NONE = 0; + GENERIC = 1; + } + + enum BotFeedbackKindMultiplePositive { + BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC = 1; + } + + enum BotFeedbackKindMultipleNegative { + BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC = 1; + BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL = 2; + BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING = 4; + BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE = 8; + BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE = 16; + BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER = 32; + BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED = 64; + BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING = 128; + BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT = 256; + } + + enum BotFeedbackKind { + BOT_FEEDBACK_POSITIVE = 0; + BOT_FEEDBACK_NEGATIVE_GENERIC = 1; + BOT_FEEDBACK_NEGATIVE_HELPFUL = 2; + BOT_FEEDBACK_NEGATIVE_INTERESTING = 3; + BOT_FEEDBACK_NEGATIVE_ACCURATE = 4; + BOT_FEEDBACK_NEGATIVE_SAFE = 5; + BOT_FEEDBACK_NEGATIVE_OTHER = 6; + BOT_FEEDBACK_NEGATIVE_REFUSED = 7; + BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING = 8; + BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT = 9; + BOT_FEEDBACK_NEGATIVE_PERSONALIZED = 10; + BOT_FEEDBACK_NEGATIVE_CLARITY = 11; + BOT_FEEDBACK_NEGATIVE_DOESNT_LOOK_LIKE_THE_PERSON = 12; + BOT_FEEDBACK_NEGATIVE_HALLUCINATION_INTERNAL_ONLY = 13; + BOT_FEEDBACK_NEGATIVE = 14; + } + + message SideBySideSurveyMetadata { + message SideBySideSurveyAnalyticsData { + optional string tessaEvent = 1; + optional string tessaSessionFbid = 2; + } + + optional string selectedRequestID = 1; + optional uint32 surveyID = 2; + optional string simonSessionFbid = 3; + optional string responseOtid = 4; + optional string responseTimestampMSString = 5; + optional bool isSelectedResponsePrimary = 6; + optional string messageIDToEdit = 7; + optional SideBySideSurveyAnalyticsData analyticsData = 8; + } + + optional WACommon.MessageKey messageKey = 1; + optional BotFeedbackKind kind = 2; + optional string text = 3; + optional uint64 kindNegative = 4; + optional uint64 kindPositive = 5; + optional ReportKind kindReport = 6; + optional SideBySideSurveyMetadata sideBySideSurveyMetadata = 7; +} + +message AIRichResponseInlineImageMetadata { + enum AIRichResponseImageAlignment { + AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED = 0; + AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED = 1; + AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED = 2; + } + + optional AIRichResponseImageURL imageURL = 1; + optional string imageText = 2; + optional AIRichResponseImageAlignment alignment = 3; + optional string tapLinkURL = 4; +} + +message AIRichResponseCodeMetadata { + enum AIRichResponseCodeHighlightType { + AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT = 0; + AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD = 1; + AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD = 2; + AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING = 3; + AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER = 4; + AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT = 5; + } + + message AIRichResponseCodeBlock { + optional AIRichResponseCodeHighlightType highlightType = 1; + optional string codeContent = 2; + } + + optional string codeLanguage = 1; + repeated AIRichResponseCodeBlock codeBlocks = 2; +} + +message AIRichResponseDynamicMetadata { + enum AIRichResponseDynamicMetadataType { + AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN = 0; + AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE = 1; + AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF = 2; + } + + optional AIRichResponseDynamicMetadataType type = 1; + optional uint64 version = 2; + optional string URL = 3; + optional uint32 loopCount = 4; +} + +message AIRichResponseContentItemsMetadata { + enum ContentType { + DEFAULT = 0; + CAROUSEL = 1; + } + + message AIRichResponseContentItemMetadata { + oneof aIRichResponseContentItem { + AIRichResponseReelItem reelItem = 1; + } + } + + message AIRichResponseReelItem { + optional string title = 1; + optional string profileIconURL = 2; + optional string thumbnailURL = 3; + optional string videoURL = 4; + } + + repeated AIRichResponseContentItemMetadata itemsMetadata = 1; + optional ContentType contentType = 2; +} + +message BotAvatarMetadata { + optional uint32 sentiment = 1; + optional string behaviorGraph = 2; + optional uint32 action = 3; + optional uint32 intensity = 4; + optional uint32 wordCount = 5; +} + +message BotSuggestedPromptMetadata { + repeated string suggestedPrompts = 1; + optional uint32 selectedPromptIndex = 2; + optional BotPromptSuggestions promptSuggestions = 3; + optional string selectedPromptID = 4; +} + +message BotPromptSuggestions { + repeated BotPromptSuggestion suggestions = 1; +} + +message BotPromptSuggestion { + optional string prompt = 1; + optional string promptID = 2; +} + +message BotLinkedAccountsMetadata { + repeated BotLinkedAccount accounts = 1; + optional bytes acAuthTokens = 2; + optional int32 acErrorCode = 3; +} + +message BotMemoryMetadata { + repeated BotMemoryFact addedFacts = 1; + repeated BotMemoryFact removedFacts = 2; + optional string disclaimer = 3; +} + +message BotMemoryFact { + optional string fact = 1; + optional string factID = 2; +} + +message BotSignatureVerificationMetadata { + repeated BotSignatureVerificationUseCaseProof proofs = 1; +} + +message BotRenderingMetadata { + message Keyword { + optional string value = 1; + repeated string associatedPrompts = 2; + } + + repeated Keyword keywords = 1; +} + +message BotMetricsMetadata { + optional string destinationID = 1; + optional BotMetricsEntryPoint destinationEntryPoint = 2; + optional BotMetricsThreadEntryPoint threadOrigin = 3; +} + +message BotSessionMetadata { + optional string sessionID = 1; + optional BotSessionSource sessionSource = 2; +} + +message BotMemuMetadata { + repeated BotMediaMetadata faceImages = 1; +} + +message InThreadSurveyMetadata { + message InThreadSurveyPrivacyStatementPart { + optional string text = 1; + optional string URL = 2; + } + + message InThreadSurveyOption { + optional string stringValue = 1; + optional uint32 numericValue = 2; + optional string textTranslated = 3; + } + + message InThreadSurveyQuestion { + optional string questionText = 1; + optional string questionID = 2; + repeated InThreadSurveyOption questionOptions = 3; + } + + optional string tessaSessionID = 1; + optional string simonSessionID = 2; + optional string simonSurveyID = 3; + optional string tessaRootID = 4; + optional string requestID = 5; + optional string tessaEvent = 6; + optional string invitationHeaderText = 7; + optional string invitationBodyText = 8; + optional string invitationCtaText = 9; + optional string invitationCtaURL = 10; + optional string surveyTitle = 11; + repeated InThreadSurveyQuestion questions = 12; + optional string surveyContinueButtonText = 13; + optional string surveySubmitButtonText = 14; + optional string privacyStatementFull = 15; + repeated InThreadSurveyPrivacyStatementPart privacyStatementParts = 16; + optional string feedbackToastText = 17; +} + +message BotMessageOriginMetadata { + repeated BotMessageOrigin origins = 1; +} + +message BotUnifiedResponseMutation { + message MediaDetailsMetadata { + optional string ID = 1; + optional BotMediaMetadata highResMedia = 2; + optional BotMediaMetadata previewMedia = 3; + } + + message SideBySideMetadata { + optional string primaryResponseID = 1; + } + + optional SideBySideMetadata sbsMetadata = 1; + repeated MediaDetailsMetadata mediaDetailsMetadataList = 2; +} + +message BotMetadata { + optional BotAvatarMetadata avatarMetadata = 1; + optional string personaID = 2; + optional BotPluginMetadata pluginMetadata = 3; + optional BotSuggestedPromptMetadata suggestedPromptMetadata = 4; + optional string invokerJID = 5; + optional BotSessionMetadata sessionMetadata = 6; + optional BotMemuMetadata memuMetadata = 7; + optional string timezone = 8; + optional BotReminderMetadata reminderMetadata = 9; + optional BotModelMetadata modelMetadata = 10; + optional string messageDisclaimerText = 11; + optional BotProgressIndicatorMetadata progressIndicatorMetadata = 12; + optional BotCapabilityMetadata capabilityMetadata = 13; + optional BotImagineMetadata imagineMetadata = 14; + optional BotMemoryMetadata memoryMetadata = 15; + optional BotRenderingMetadata renderingMetadata = 16; + optional BotMetricsMetadata botMetricsMetadata = 17; + optional BotLinkedAccountsMetadata botLinkedAccountsMetadata = 18; + optional BotSourcesMetadata richResponseSourcesMetadata = 19; + optional bytes aiConversationContext = 20; + optional BotPromotionMessageMetadata botPromotionMessageMetadata = 21; + optional BotModeSelectionMetadata botModeSelectionMetadata = 22; + optional BotQuotaMetadata botQuotaMetadata = 23; + optional BotAgeCollectionMetadata botAgeCollectionMetadata = 24; + optional string conversationStarterPromptID = 25; + optional string botResponseID = 26; + optional BotSignatureVerificationMetadata verificationMetadata = 27; + optional BotUnifiedResponseMutation unifiedResponseMutation = 28; + optional BotMessageOriginMetadata botMessageOriginMetadata = 29; + optional InThreadSurveyMetadata inThreadSurveyMetadata = 30; + optional AIThreadInfo botThreadInfo = 31; + optional bytes internalMetadata = 999; +} + +message ForwardedAIBotMessageInfo { + optional string botName = 1; + optional string botJID = 2; + optional string creatorName = 3; +} + +message BotMessageSharingInfo { + optional BotMetricsEntryPoint botEntryPointOrigin = 1; + optional uint32 forwardScore = 2; +} + +message AIRichResponseImageURL { + optional string imagePreviewURL = 1; + optional string imageHighResURL = 2; + optional string sourceURL = 3; +} + +message AIRichResponseGridImageMetadata { + optional AIRichResponseImageURL gridImageURL = 1; + repeated AIRichResponseImageURL imageURLs = 2; +} + +message AIRichResponseTableMetadata { + message AIRichResponseTableRow { + repeated string items = 1; + optional bool isHeading = 2; + } + + repeated AIRichResponseTableRow rows = 1; + optional string title = 2; +} + +message AIRichResponseUnifiedResponse { + optional bytes data = 1; +} + +message AIRichResponseLatexMetadata { + message AIRichResponseLatexExpression { + optional string latexExpression = 1; + optional string URL = 2; + optional double width = 3; + optional double height = 4; + optional double fontHeight = 5; + optional double imageTopPadding = 6; + optional double imageLeadingPadding = 7; + optional double imageBottomPadding = 8; + optional double imageTrailingPadding = 9; + } + + optional string text = 1; + repeated AIRichResponseLatexExpression expressions = 2; +} + +message AIRichResponseMapMetadata { + message AIRichResponseMapAnnotation { + optional uint32 annotationNumber = 1; + optional double latitude = 2; + optional double longitude = 3; + optional string title = 4; + optional string body = 5; + } + + optional double centerLatitude = 1; + optional double centerLongitude = 2; + optional double latitudeDelta = 3; + optional double longitudeDelta = 4; + repeated AIRichResponseMapAnnotation annotations = 5; + optional bool showInfoList = 6; +} + +message AIRichResponseSubMessage { + optional AIRichResponseSubMessageType messageType = 1; + optional AIRichResponseGridImageMetadata gridImageMetadata = 2; + optional string messageText = 3; + optional AIRichResponseInlineImageMetadata imageMetadata = 4; + optional AIRichResponseCodeMetadata codeMetadata = 5; + optional AIRichResponseTableMetadata tableMetadata = 6; + optional AIRichResponseDynamicMetadata dynamicMetadata = 7; + optional AIRichResponseLatexMetadata latexMetadata = 8; + optional AIRichResponseMapMetadata mapMetadata = 9; + optional AIRichResponseContentItemsMetadata contentItemsMetadata = 10; +} diff --git a/goneonize/defproto/waAdv/WAAdv.proto b/goneonize/defproto/waAdv/WAAdv.proto new file mode 100644 index 00000000..07c96c84 --- /dev/null +++ b/goneonize/defproto/waAdv/WAAdv.proto @@ -0,0 +1,43 @@ +syntax = "proto2"; +package WAAdv; +option go_package = "go.mau.fi/whatsmeow/proto/waAdv"; + +enum ADVEncryptionType { + E2EE = 0; + HOSTED = 1; +} + +message ADVKeyIndexList { + optional uint32 rawID = 1; + optional uint64 timestamp = 2; + optional uint32 currentIndex = 3; + repeated uint32 validIndexes = 4 [packed=true]; + optional ADVEncryptionType accountType = 5; +} + +message ADVSignedKeyIndexList { + optional bytes details = 1; + optional bytes accountSignature = 2; + optional bytes accountSignatureKey = 3; +} + +message ADVDeviceIdentity { + optional uint32 rawID = 1; + optional uint64 timestamp = 2; + optional uint32 keyIndex = 3; + optional ADVEncryptionType accountType = 4; + optional ADVEncryptionType deviceType = 5; +} + +message ADVSignedDeviceIdentity { + optional bytes details = 1; + optional bytes accountSignatureKey = 2; + optional bytes accountSignature = 3; + optional bytes deviceSignature = 4; +} + +message ADVSignedDeviceIdentityHMAC { + optional bytes details = 1; + optional bytes HMAC = 2; + optional ADVEncryptionType accountType = 3; +} diff --git a/goneonize/defproto/waArmadilloApplication/WAArmadilloApplication.proto b/goneonize/defproto/waArmadilloApplication/WAArmadilloApplication.proto new file mode 100644 index 00000000..cb9d9e41 --- /dev/null +++ b/goneonize/defproto/waArmadilloApplication/WAArmadilloApplication.proto @@ -0,0 +1,258 @@ +syntax = "proto2"; +package WAArmadilloApplication; +option go_package = "go.mau.fi/whatsmeow/proto/waArmadilloApplication"; + +import "waArmadilloXMA/WAArmadilloXMA.proto"; +import "waCommon/WACommon.proto"; + +message Armadillo { + message Metadata { + } + + message Payload { + oneof payload { + Content content = 1; + ApplicationData applicationData = 2; + Signal signal = 3; + SubProtocolPayload subProtocol = 4; + } + } + + message SubProtocolPayload { + optional WACommon.FutureProofBehavior futureProof = 1; + } + + message Signal { + message EncryptedBackupsSecrets { + message Epoch { + enum EpochStatus { + ES_OPEN = 1; + ES_CLOSE = 2; + } + + optional uint64 ID = 1; + optional bytes anonID = 2; + optional bytes rootKey = 3; + optional EpochStatus status = 4; + } + + optional uint64 backupID = 1; + optional uint64 serverDataID = 2; + repeated Epoch epoch = 3; + optional bytes tempOcmfClientState = 4; + optional bytes mailboxRootKey = 5; + optional bytes obliviousValidationToken = 6; + } + + oneof signal { + EncryptedBackupsSecrets encryptedBackupsSecrets = 1; + } + } + + message ApplicationData { + message MessageHistoryDocumentMessage { + optional WACommon.SubProtocol document = 1; + } + + message AIBotResponseMessage { + optional string summonToken = 1; + optional string messageText = 2; + optional string serializedExtras = 3; + } + + message MetadataSyncAction { + message SyncMessageAction { + message ActionMessageDelete { + } + + oneof action { + ActionMessageDelete messageDelete = 101; + } + + optional WACommon.MessageKey key = 1; + } + + message SyncChatAction { + message ActionChatRead { + optional SyncActionMessageRange messageRange = 1; + optional bool read = 2; + } + + message ActionChatDelete { + optional SyncActionMessageRange messageRange = 1; + } + + message ActionChatArchive { + optional SyncActionMessageRange messageRange = 1; + optional bool archived = 2; + } + + oneof action { + ActionChatArchive chatArchive = 101; + ActionChatDelete chatDelete = 102; + ActionChatRead chatRead = 103; + } + + optional string chatID = 1; + } + + message SyncActionMessage { + optional WACommon.MessageKey key = 1; + optional int64 timestamp = 2; + } + + message SyncActionMessageRange { + optional int64 lastMessageTimestamp = 1; + optional int64 lastSystemMessageTimestamp = 2; + repeated SyncActionMessage messages = 3; + } + + oneof actionType { + SyncChatAction chatAction = 101; + SyncMessageAction messageAction = 102; + } + + optional int64 actionTimestamp = 1; + } + + message MetadataSyncNotification { + repeated MetadataSyncAction actions = 2; + } + + oneof applicationData { + MetadataSyncNotification metadataSync = 1; + AIBotResponseMessage aiBotResponse = 2; + MessageHistoryDocumentMessage messageHistoryDocumentMessage = 3; + } + } + + message Content { + message PaymentsTransactionMessage { + enum PaymentStatus { + PAYMENT_UNKNOWN = 0; + REQUEST_INITED = 4; + REQUEST_DECLINED = 5; + REQUEST_TRANSFER_INITED = 6; + REQUEST_TRANSFER_COMPLETED = 7; + REQUEST_TRANSFER_FAILED = 8; + REQUEST_CANCELED = 9; + REQUEST_EXPIRED = 10; + TRANSFER_INITED = 11; + TRANSFER_PENDING = 12; + TRANSFER_PENDING_RECIPIENT_VERIFICATION = 13; + TRANSFER_CANCELED = 14; + TRANSFER_COMPLETED = 15; + TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_CANCELED = 16; + TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_OTHER = 17; + TRANSFER_REFUNDED = 18; + TRANSFER_PARTIAL_REFUND = 19; + TRANSFER_CHARGED_BACK = 20; + TRANSFER_EXPIRED = 21; + TRANSFER_DECLINED = 22; + TRANSFER_UNAVAILABLE = 23; + } + + optional uint64 transactionID = 1; + optional string amount = 2; + optional string currency = 3; + optional PaymentStatus paymentStatus = 4; + optional WAArmadilloXMA.ExtendedContentMessage extendedContentMessage = 5; + } + + message NetworkVerificationMessage { + optional string codeText = 1; + } + + message NoteReplyMessage { + oneof noteReplyContent { + WACommon.MessageText textContent = 4; + WACommon.SubProtocol stickerContent = 5; + WACommon.SubProtocol videoContent = 6; + } + + optional string noteID = 1; + optional WACommon.MessageText noteText = 2; + optional int64 noteTimestampMS = 3; + } + + message BumpExistingMessage { + optional WACommon.MessageKey key = 1; + } + + message ImageGalleryMessage { + repeated WACommon.SubProtocol images = 1; + } + + message ScreenshotAction { + enum ScreenshotType { + SCREENSHOT_IMAGE = 1; + SCREEN_RECORDING = 2; + } + + optional ScreenshotType screenshotType = 1; + } + + message ExtendedContentMessageWithSear { + optional string searID = 1; + optional bytes payload = 2; + optional string nativeURL = 3; + optional WACommon.SubProtocol searAssociatedMessage = 4; + optional string searSentWithMessageID = 5; + } + + message RavenActionNotifMessage { + enum ActionType { + PLAYED = 0; + SCREENSHOT = 1; + FORCE_DISABLE = 2; + } + + optional WACommon.MessageKey key = 1; + optional int64 actionTimestamp = 2; + optional ActionType actionType = 3; + } + + message RavenMessage { + enum EphemeralType { + VIEW_ONCE = 0; + ALLOW_REPLAY = 1; + KEEP_IN_CHAT = 2; + } + + oneof mediaContent { + WACommon.SubProtocol imageMessage = 2; + WACommon.SubProtocol videoMessage = 3; + } + + optional EphemeralType ephemeralType = 1; + } + + message CommonSticker { + enum StickerType { + SMALL_LIKE = 1; + MEDIUM_LIKE = 2; + LARGE_LIKE = 3; + } + + optional StickerType stickerType = 1; + } + + oneof content { + CommonSticker commonSticker = 1; + ScreenshotAction screenshotAction = 3; + WAArmadilloXMA.ExtendedContentMessage extendedContentMessage = 4; + RavenMessage ravenMessage = 5; + RavenActionNotifMessage ravenActionNotifMessage = 6; + ExtendedContentMessageWithSear extendedMessageContentWithSear = 7; + ImageGalleryMessage imageGalleryMessage = 8; + PaymentsTransactionMessage paymentsTransactionMessage = 10; + BumpExistingMessage bumpExistingMessage = 11; + NoteReplyMessage noteReplyMessage = 13; + RavenMessage ravenMessageMsgr = 14; + NetworkVerificationMessage networkVerificationMessage = 15; + } + } + + optional Payload payload = 1; + optional Metadata metadata = 2; +} diff --git a/goneonize/defproto/waArmadilloBackupCommon/WAArmadilloBackupCommon.proto b/goneonize/defproto/waArmadilloBackupCommon/WAArmadilloBackupCommon.proto new file mode 100644 index 00000000..afa0c72a --- /dev/null +++ b/goneonize/defproto/waArmadilloBackupCommon/WAArmadilloBackupCommon.proto @@ -0,0 +1,8 @@ +syntax = "proto2"; +package WAArmadilloBackupCommon; +option go_package = "go.mau.fi/whatsmeow/proto/waArmadilloBackupCommon"; + +message Subprotocol { + optional bytes payload = 1; + optional int32 version = 2; +} diff --git a/goneonize/defproto/waArmadilloBackupMessage/WAArmadilloBackupMessage.proto b/goneonize/defproto/waArmadilloBackupMessage/WAArmadilloBackupMessage.proto new file mode 100644 index 00000000..e2852494 --- /dev/null +++ b/goneonize/defproto/waArmadilloBackupMessage/WAArmadilloBackupMessage.proto @@ -0,0 +1,32 @@ +syntax = "proto2"; +package WAArmadilloBackupMessage; +option go_package = "go.mau.fi/whatsmeow/proto/waArmadilloBackupMessage"; + +import "waArmadilloBackupCommon/WAArmadilloBackupCommon.proto"; + +message BackupMessage { + message Metadata { + message FrankingMetadata { + optional bytes frankingTag = 3; + optional bytes reportingTag = 4; + } + + optional string senderID = 1; + optional string messageID = 2; + optional int64 timestampMS = 3; + optional FrankingMetadata frankingMetadata = 4; + optional int32 payloadVersion = 5; + optional int32 futureProofBehavior = 6; + optional int32 threadTypeTag = 7; + optional int64 clientTimestampMS = 8; + } + + oneof payload { + bytes encryptedTransportMessage = 2; + WAArmadilloBackupCommon.Subprotocol encryptedTransportEvent = 5; + WAArmadilloBackupCommon.Subprotocol encryptedTransportLocallyTransformedMessage = 6; + WAArmadilloBackupCommon.Subprotocol miTransportAdminMessage = 7; + } + + optional Metadata metadata = 1; +} diff --git a/goneonize/defproto/waArmadilloICDC/WAArmadilloICDC.proto b/goneonize/defproto/waArmadilloICDC/WAArmadilloICDC.proto new file mode 100644 index 00000000..8d9c3350 --- /dev/null +++ b/goneonize/defproto/waArmadilloICDC/WAArmadilloICDC.proto @@ -0,0 +1,15 @@ +syntax = "proto2"; +package WAArmadilloICDC; +option go_package = "go.mau.fi/whatsmeow/proto/waArmadilloICDC"; + +message ICDCIdentityList { + optional int32 seq = 1; + optional int64 timestamp = 2; + repeated bytes devices = 3; + optional int32 signingDeviceIndex = 4; +} + +message SignedICDCIdentityList { + optional bytes details = 1; + optional bytes signature = 2; +} diff --git a/goneonize/defproto/waArmadilloMiTransportAdminMessage/WAArmadilloMiTransportAdminMessage.proto b/goneonize/defproto/waArmadilloMiTransportAdminMessage/WAArmadilloMiTransportAdminMessage.proto new file mode 100644 index 00000000..a3bbb46c --- /dev/null +++ b/goneonize/defproto/waArmadilloMiTransportAdminMessage/WAArmadilloMiTransportAdminMessage.proto @@ -0,0 +1,282 @@ +syntax = "proto2"; +package WAArmadilloMiTransportAdminMessage; +option go_package = "go.mau.fi/whatsmeow/proto/waArmadilloMiTransportAdminMessage"; + +message MiTransportAdminMessage { + message LimitSharingChanged { + enum SharingType { + UNSET = 0; + DISABLED = 1; + ENABLED = 2; + } + + optional SharingType sharingType = 1; + } + + message GroupImageChanged { + enum Action { + UNSET = 0; + CHANGED = 1; + REMOVED = 2; + } + + optional Action action = 1; + } + + message MessagePinned { + enum Action { + UNSET = 0; + PINNED = 1; + UNPINNED = 2; + } + + optional Action action = 1; + } + + message GroupMembershipAddModeChanged { + enum Mode { + UNSET = 0; + ALL_MEMBERS = 1; + ADMINS_ONLY = 2; + } + + optional Mode mode = 1; + } + + message GroupAdminChanged { + enum Action { + UNSET = 0; + ADDED = 1; + REMOVED = 2; + } + + repeated string targetUserID = 1; + optional Action action = 2; + } + + message GroupParticipantChanged { + enum Action { + UNSET = 0; + ADDED = 1; + REMOVED = 2; + } + + repeated string targetUserID = 1; + optional Action action = 2; + } + + message XmatGenAITaskAdd { + optional int64 taskID = 1; + } + + message XmatUnpinMessageV2 { + optional string pinnedMessageID = 1; + } + + message XmatPinMessageV2 { + optional string pinnedMessageID = 1; + } + + message XmatUpdatePayments { + optional string receiverName = 1; + optional string senderName = 2; + optional float amount = 3; + optional int64 transactionID = 4; + optional int32 transactionStatus = 5; + } + + message XmatThreadQuickReaction { + optional string threadQuickReactionEmoji = 1; + optional string threadQuickReactionInstructionKeyID = 2; + } + + message XmatThreadNickname { + optional int64 participantID = 1; + optional string nickname = 2; + } + + message XmatThreadIcon { + optional string threadIcon = 1; + } + + message XmatThemeColor { + optional string themeID = 1; + optional string themeColor = 2; + repeated string gradient = 3; + optional bool shouldShowIcon = 4; + optional int32 themeType = 5; + optional string accessibilityLabel = 6; + optional string themeNameWithSubtitle = 7; + optional string themeEmoji = 8; + } + + message XmatMessengerSharedAlbum { + optional string xmaDataclass = 1; + } + + message XmatMessengerSharedAlbumRename { + optional int64 sharedAlbumID = 1; + optional string oldAlbumTitle = 2; + optional string newAlbumTitle = 3; + } + + message XmatMessengerSharedAlbumDeletion { + optional int64 sharedAlbumID = 1; + optional string albumTitle = 2; + } + + message XmatMessengerSharedAlbumContentRemoval { + message RemovedContentTuple { + optional int64 key = 1; + optional string value = 2; + } + + optional int64 sharedAlbumID = 1; + repeated RemovedContentTuple removedContentMap = 2; + optional int64 removedContentCount = 3; + optional string albumTitle = 4; + } + + message XmatMessengerSharedAlbumAddition { + optional int64 sharedAlbumID = 1; + optional string albumTitle = 2; + optional int64 numOfAttachments = 3; + optional bool isAlbumCreation = 4; + } + + message XmatMessengerQRCodeScanned { + optional string receiverName = 1; + optional string senderName = 2; + } + + message XmatMessagingLimitSharing { + optional string senderName = 1; + optional string senderID = 2; + optional string limitSharingType = 3; + } + + message XmatMagicWords { + optional int64 newMagicWordCount = 1; + optional int64 removedMagicWordCount = 2; + optional string magicWord = 3; + optional string emojiEffect = 4; + optional bool isAllEdited = 5; + optional string themeName = 6; + } + + message XmatLinkCTA { + optional string linkCtaXmatPrimaryText = 1; + optional string linkCtaXmatCtaText = 2; + optional string linkCtaXmatCtaURL = 3; + optional string linkCtaXmatCtaIosURL = 4; + optional string androidUri = 5; + optional string asyncURL = 6; + optional bool wwwIsAsyncURL = 7; + optional bool msiteEnabled = 8; + optional bool hideUriInFallback = 9; + optional bool showConfirmationDialog = 10; + optional string graphPayload = 11; + optional string identifierName = 12; + optional string threadID = 13; + optional bool hideCtaInFallback = 14; + optional string ctxAdConversationStarterInfo = 15; + optional string fbmUri = 16; + optional string initiatorUserID = 17; + } + + message XmatInstantGameEncryptedDynamicCustomUpdate { + optional string senderName = 1; + optional string muteManagementAdminTextType = 2; + optional string gameName = 3; + } + + message XmatFriendRequestConfirmedEncrypted { + optional string otherUserName = 1; + optional string isTurnOnCohort = 2; + } + + message XmatDisappearingSetting { + optional int64 disappearingSettingTime = 1; + optional int64 oldDisappearingSettingTime = 2; + optional int64 disappearingSettingActorFbid = 3; + optional int64 newEphemeralityType = 4; + optional int64 oldEphemeralityType = 5; + } + + message DisappearingSettingChanged { + optional int32 disappearingSettingDurationSeconds = 1; + optional int32 oldDisappearingSettingDurationSeconds = 2; + } + + message IconChanged { + optional string threadIcon = 1; + } + + message LinkCta { + message UkOsaAdminText { + optional string initiatorUserID = 2; + } + + oneof content { + UkOsaAdminText ukOsaAdminText = 1; + } + } + + message QuickReactionChanged { + optional string emojiName = 1; + } + + message GroupNameChanged { + optional string groupName = 1; + } + + message NicknameChanged { + optional string targetUserID = 1; + optional string nickname = 2; + } + + message ChatThemeChanged { + optional string themeName = 1; + optional string themeEmoji = 2; + optional int32 themeType = 3; + } + + oneof content { + ChatThemeChanged chatThemeChanged = 1; + NicknameChanged nicknameChanged = 2; + GroupParticipantChanged groupParticipantChanged = 3; + GroupAdminChanged groupAdminChanged = 4; + GroupNameChanged groupNameChanged = 5; + GroupMembershipAddModeChanged groupMembershipAddModeChanged = 6; + MessagePinned messagePinned = 7; + GroupImageChanged groupImageChanged = 8; + QuickReactionChanged quickReactionChanged = 9; + LinkCta linkCta = 10; + IconChanged iconChanged = 11; + DisappearingSettingChanged disappearingSettingChanged = 12; + LimitSharingChanged limitSharingChanged = 13; + XmatDisappearingSetting xmatDisappearingSetting = 14; + XmatFriendRequestConfirmedEncrypted xmatFriendRequestConfirmedEncrypted = 15; + XmatInstantGameEncryptedDynamicCustomUpdate xmatInstantGameEncryptedDynamicCustomUpdate = 16; + XmatLinkCTA xmatLinkCta = 17; + XmatMagicWords xmatMagicWords = 18; + XmatMessagingLimitSharing xmatMessagingLimitSharing = 19; + XmatMessengerQRCodeScanned xmatMessengerQrCodeScanned = 20; + XmatMessengerSharedAlbumAddition xmatMessengerSharedAlbumAddition = 21; + XmatMessengerSharedAlbumContentRemoval xmatMessengerSharedAlbumContentRemoval = 22; + XmatMessengerSharedAlbumDeletion xmatMessengerSharedAlbumDeletion = 23; + XmatMessengerSharedAlbumRename xmatMessengerSharedAlbumRename = 24; + XmatMessengerSharedAlbum xmatMessengerSharedAlbum = 25; + XmatThemeColor xmatThemeColor = 26; + XmatThreadIcon xmatThreadIcon = 27; + XmatThreadNickname xmatThreadNickname = 28; + XmatThreadQuickReaction xmatThreadQuickReaction = 29; + XmatUpdatePayments xmatUpdatePayments = 30; + XmatPinMessageV2 xmatPinMessageV2 = 31; + XmatUnpinMessageV2 xmatUnpinMessageV2 = 32; + XmatGenAITaskAdd xmatGenaiTaskAdd = 33; + } + + optional bool skipBumpThread = 34; + optional bool skipSnippetUpdate = 35; +} diff --git a/goneonize/defproto/waArmadilloTransportEvent/WAArmadilloTransportEvent.proto b/goneonize/defproto/waArmadilloTransportEvent/WAArmadilloTransportEvent.proto new file mode 100644 index 00000000..192b2bcf --- /dev/null +++ b/goneonize/defproto/waArmadilloTransportEvent/WAArmadilloTransportEvent.proto @@ -0,0 +1,50 @@ +syntax = "proto2"; +package WAArmadilloTransportEvent; +option go_package = "go.mau.fi/whatsmeow/proto/waArmadilloTransportEvent"; + +message TransportEvent { + message Event { + message IcdcAlert { + enum Type { + NONE = 0; + DETECTED = 1; + CLEARED = 2; + } + + optional Type type = 1; + } + + message DeviceChange { + enum Type { + NONE = 0; + ADDED = 1; + REMOVED = 2; + REPLACED = 3; + } + + optional Type type = 1; + optional string deviceName = 2; + optional string devicePlatform = 3; + optional string deviceModel = 4; + } + + oneof event { + DeviceChange deviceChange = 1; + IcdcAlert icdcAlert = 2; + } + } + + message Placeholder { + enum Type { + DECRYPTION_FAILURE = 1; + UNAVAILABLE_MESSAGE = 2; + } + + optional Type type = 1; + } + + oneof content { + Placeholder placeholder = 1; + Event event = 2; + } +} diff --git a/goneonize/defproto/waArmadilloXMA/WAArmadilloXMA.proto b/goneonize/defproto/waArmadilloXMA/WAArmadilloXMA.proto new file mode 100644 index 00000000..b3ea84c2 --- /dev/null +++ b/goneonize/defproto/waArmadilloXMA/WAArmadilloXMA.proto @@ -0,0 +1,143 @@ +syntax = "proto2"; +package WAArmadilloXMA; +option go_package = "go.mau.fi/whatsmeow/proto/waArmadilloXMA"; + +import "waCommon/WACommon.proto"; + +message ExtendedContentMessage { + enum OverlayIconGlyph { + INFO = 0; + EYE_OFF = 1; + NEWS_OFF = 2; + WARNING = 3; + PRIVATE = 4; + NONE = 5; + MEDIA_LABEL = 6; + POST_COVER = 7; + POST_LABEL = 8; + WARNING_SCREENS = 9; + } + + enum CtaButtonType { + OPEN_NATIVE = 11; + } + + enum XmaLayoutType { + SINGLE = 0; + HSCROLL = 1; + PORTRAIT = 3; + STANDARD_DXMA = 12; + LIST_DXMA = 15; + GRID = 16; + } + + enum ExtendedContentType { + UNSUPPORTED = 0; + IG_STORY_PHOTO_MENTION = 4; + IG_SINGLE_IMAGE_POST_SHARE = 9; + IG_MULTIPOST_SHARE = 10; + IG_SINGLE_VIDEO_POST_SHARE = 11; + IG_STORY_PHOTO_SHARE = 12; + IG_STORY_VIDEO_SHARE = 13; + IG_CLIPS_SHARE = 14; + IG_IGTV_SHARE = 15; + IG_SHOP_SHARE = 16; + IG_PROFILE_SHARE = 19; + IG_STORY_PHOTO_HIGHLIGHT_SHARE = 20; + IG_STORY_VIDEO_HIGHLIGHT_SHARE = 21; + IG_STORY_REPLY = 22; + IG_STORY_REACTION = 23; + IG_STORY_VIDEO_MENTION = 24; + IG_STORY_HIGHLIGHT_REPLY = 25; + IG_STORY_HIGHLIGHT_REACTION = 26; + IG_EXTERNAL_LINK = 27; + IG_RECEIVER_FETCH = 28; + FB_FEED_SHARE = 1000; + FB_STORY_REPLY = 1001; + FB_STORY_SHARE = 1002; + FB_STORY_MENTION = 1003; + FB_FEED_VIDEO_SHARE = 1004; + FB_GAMING_CUSTOM_UPDATE = 1005; + FB_PRODUCER_STORY_REPLY = 1006; + FB_EVENT = 1007; + FB_FEED_POST_PRIVATE_REPLY = 1008; + FB_SHORT = 1009; + FB_COMMENT_MENTION_SHARE = 1010; + FB_POST_MENTION = 1011; + FB_PROFILE_DIRECTORY_ITEM = 1013; + FB_FEED_POST_REACTION_REPLY = 1014; + MSG_EXTERNAL_LINK_SHARE = 2000; + MSG_P2P_PAYMENT = 2001; + MSG_LOCATION_SHARING = 2002; + MSG_LOCATION_SHARING_V2 = 2003; + MSG_HIGHLIGHTS_TAB_FRIEND_UPDATES_REPLY = 2004; + MSG_HIGHLIGHTS_TAB_LOCAL_EVENT_REPLY = 2005; + MSG_RECEIVER_FETCH = 2006; + MSG_IG_MEDIA_SHARE = 2007; + MSG_GEN_AI_SEARCH_PLUGIN_RESPONSE = 2008; + MSG_REELS_LIST = 2009; + MSG_CONTACT = 2010; + MSG_THREADS_POST_SHARE = 2011; + MSG_FILE = 2012; + MSG_AVATAR_DETAILS = 2013; + MSG_AI_CONTACT = 2014; + MSG_MEMORIES_SHARE = 2015; + MSG_SHARED_ALBUM_REPLY = 2016; + MSG_SHARED_ALBUM = 2017; + MSG_OCCAMADILLO_XMA = 2018; + MSG_GEN_AI_SUBSCRIPTION = 2021; + MSG_GEN_AI_REMINDER = 2022; + MSG_GEN_AI_MEMU_ONBOARDING_RESPONSE = 2023; + MSG_NOTE_REPLY = 2024; + MSG_NOTE_MENTION = 2025; + GEN_AI_ENTITY = 2026; + RTC_AUDIO_CALL = 3000; + RTC_VIDEO_CALL = 3001; + RTC_MISSED_AUDIO_CALL = 3002; + RTC_MISSED_VIDEO_CALL = 3003; + RTC_GROUP_AUDIO_CALL = 3004; + RTC_GROUP_VIDEO_CALL = 3005; + RTC_MISSED_GROUP_AUDIO_CALL = 3006; + RTC_MISSED_GROUP_VIDEO_CALL = 3007; + RTC_ONGOING_AUDIO_CALL = 3008; + RTC_ONGOING_VIDEO_CALL = 3009; + MSG_RECEIVER_FETCH_FALLBACK = 3025; + DATACLASS_SENDER_COPY = 4000; + } + + message CTA { + optional CtaButtonType buttonType = 1; + optional string title = 2; + optional string actionURL = 3; + optional string nativeURL = 4; + optional string ctaType = 5; + optional string actionContentBlob = 6; + } + + optional WACommon.SubProtocol associatedMessage = 1; + optional ExtendedContentType targetType = 2; + optional string targetUsername = 3; + optional string targetID = 4; + optional int64 targetExpiringAtSec = 5; + optional XmaLayoutType xmaLayoutType = 6; + repeated CTA ctas = 7; + repeated WACommon.SubProtocol previews = 8; + optional string titleText = 9; + optional string subtitleText = 10; + optional uint32 maxTitleNumOfLines = 11; + optional uint32 maxSubtitleNumOfLines = 12; + optional WACommon.SubProtocol favicon = 13; + optional WACommon.SubProtocol headerImage = 14; + optional string headerTitle = 15; + optional OverlayIconGlyph overlayIconGlyph = 16; + optional string overlayTitle = 17; + optional string overlayDescription = 18; + optional string sentWithMessageID = 19; + optional string messageText = 20; + optional string headerSubtitle = 21; + optional string xmaDataclass = 22; + optional string contentRef = 23; + repeated string mentionedJID = 24; + repeated WACommon.Command commands = 25; + repeated WACommon.Mention mentions = 26; +} diff --git a/goneonize/defproto/waBotMetadata/WABotMetadata.proto b/goneonize/defproto/waBotMetadata/WABotMetadata.proto new file mode 100644 index 00000000..0111b38a --- /dev/null +++ b/goneonize/defproto/waBotMetadata/WABotMetadata.proto @@ -0,0 +1,527 @@ +syntax = "proto2"; +package WABotMetadata; +option go_package = "go.mau.fi/whatsmeow/proto/waBotMetadata"; + +import "waCommon/WACommon.proto"; + +enum BotMetricsEntryPoint { + FAVICON = 1; + CHATLIST = 2; + AISEARCH_NULL_STATE_PAPER_PLANE = 3; + AISEARCH_NULL_STATE_SUGGESTION = 4; + AISEARCH_TYPE_AHEAD_SUGGESTION = 5; + AISEARCH_TYPE_AHEAD_PAPER_PLANE = 6; + AISEARCH_TYPE_AHEAD_RESULT_CHATLIST = 7; + AISEARCH_TYPE_AHEAD_RESULT_MESSAGES = 8; + AIVOICE_SEARCH_BAR = 9; + AIVOICE_FAVICON = 10; + AISTUDIO = 11; + DEEPLINK = 12; + NOTIFICATION = 13; + PROFILE_MESSAGE_BUTTON = 14; + FORWARD = 15; + APP_SHORTCUT = 16; + FF_FAMILY = 17; + AI_TAB = 18; + AI_HOME = 19; + AI_DEEPLINK_IMMERSIVE = 20; + AI_DEEPLINK = 21; + META_AI_CHAT_SHORTCUT_AI_STUDIO = 22; + UGC_CHAT_SHORTCUT_AI_STUDIO = 23; + NEW_CHAT_AI_STUDIO = 24; + AIVOICE_FAVICON_CALL_HISTORY = 25; + ASK_META_AI_CONTEXT_MENU = 26; + ASK_META_AI_CONTEXT_MENU_1ON1 = 27; + ASK_META_AI_CONTEXT_MENU_GROUP = 28; + INVOKE_META_AI_1ON1 = 29; + INVOKE_META_AI_GROUP = 30; + META_AI_FORWARD = 31; + NEW_CHAT_AI_CONTACT = 32; +} + +enum BotMetricsThreadEntryPoint { + AI_TAB_THREAD = 1; + AI_HOME_THREAD = 2; + AI_DEEPLINK_IMMERSIVE_THREAD = 3; + AI_DEEPLINK_THREAD = 4; + ASK_META_AI_CONTEXT_MENU_THREAD = 5; +} + +enum BotSessionSource { + NONE = 0; + NULL_STATE = 1; + TYPEAHEAD = 2; + USER_INPUT = 3; + EMU_FLASH = 4; + EMU_FLASH_FOLLOWUP = 5; + VOICE = 6; +} + +message BotPluginMetadata { + enum PluginType { + UNKNOWN_PLUGIN = 0; + REELS = 1; + SEARCH = 2; + } + + enum SearchProvider { + UNKNOWN = 0; + BING = 1; + GOOGLE = 2; + SUPPORT = 3; + } + + optional SearchProvider provider = 1; + optional PluginType pluginType = 2; + optional string thumbnailCDNURL = 3; + optional string profilePhotoCDNURL = 4; + optional string searchProviderURL = 5; + optional uint32 referenceIndex = 6; + optional uint32 expectedLinksCount = 7; + optional string searchQuery = 9; + optional WACommon.MessageKey parentPluginMessageKey = 10; + optional PluginType deprecatedField = 11; + optional PluginType parentPluginType = 12; + optional string faviconCDNURL = 13; +} + +message BotLinkedAccount { + enum BotLinkedAccountType { + BOT_LINKED_ACCOUNT_TYPE_1P = 0; + } + + optional BotLinkedAccountType type = 1; +} + +message BotSignatureVerificationUseCaseProof { + enum BotSignatureUseCase { + WA_BOT_MSG = 0; + } + + optional int32 version = 1; + optional BotSignatureUseCase useCase = 2; + optional bytes signature = 3; + optional bytes certificateChain = 4; +} + +message BotPromotionMessageMetadata { + enum BotPromotionType { + UNKNOWN_TYPE = 0; + C50 = 1; + SURVEY_PLATFORM = 2; + } + + optional BotPromotionType promotionType = 1; + optional string buttonTitle = 2; +} + +message BotMediaMetadata { + enum OrientationType { + CENTER = 1; + LEFT = 2; + RIGHT = 3; + } + + optional string fileSHA256 = 1; + optional string mediaKey = 2; + optional string fileEncSHA256 = 3; + optional string directPath = 4; + optional int64 mediaKeyTimestamp = 5; + optional string mimetype = 6; + optional OrientationType orientationType = 7; +} + +message BotReminderMetadata { + enum ReminderFrequency { + ONCE = 1; + DAILY = 2; + WEEKLY = 3; + BIWEEKLY = 4; + MONTHLY = 5; + } + + enum ReminderAction { + NOTIFY = 1; + CREATE = 2; + DELETE = 3; + UPDATE = 4; + } + + optional WACommon.MessageKey requestMessageKey = 1; + optional ReminderAction action = 2; + optional string name = 3; + optional uint64 nextTriggerTimestamp = 4; + optional ReminderFrequency frequency = 5; +} + +message BotModelMetadata { + enum PremiumModelStatus { + UNKNOWN_STATUS = 0; + AVAILABLE = 1; + QUOTA_EXCEED_LIMIT = 2; + } + + enum ModelType { + UNKNOWN_TYPE = 0; + LLAMA_PROD = 1; + LLAMA_PROD_PREMIUM = 2; + } + + optional ModelType modelType = 1; + optional PremiumModelStatus premiumModelStatus = 2; +} + +message BotProgressIndicatorMetadata { + message BotPlanningStepMetadata { + enum BotSearchSourceProvider { + UNKNOWN_PROVIDER = 0; + OTHER = 1; + GOOGLE = 2; + BING = 3; + } + + enum PlanningStepStatus { + UNKNOWN = 0; + PLANNED = 1; + EXECUTING = 2; + FINISHED = 3; + } + + message BotPlanningSearchSourcesMetadata { + enum BotPlanningSearchSourceProvider { + UNKNOWN = 0; + OTHER = 1; + GOOGLE = 2; + BING = 3; + } + + optional string sourceTitle = 1; + optional BotPlanningSearchSourceProvider provider = 2; + optional string sourceURL = 3; + } + + message BotPlanningStepSectionMetadata { + optional string sectionTitle = 1; + optional string sectionBody = 2; + repeated BotPlanningSearchSourceMetadata sourcesMetadata = 3; + } + + message BotPlanningSearchSourceMetadata { + optional string title = 1; + optional BotSearchSourceProvider provider = 2; + optional string sourceURL = 3; + optional string favIconURL = 4; + } + + optional string statusTitle = 1; + optional string statusBody = 2; + repeated BotPlanningSearchSourcesMetadata sourcesMetadata = 3; + optional PlanningStepStatus status = 4; + optional bool isReasoning = 5; + optional bool isEnhancedSearch = 6; + repeated BotPlanningStepSectionMetadata sections = 7; + } + + optional string progressDescription = 1; + repeated BotPlanningStepMetadata stepsMetadata = 2; +} + +message BotCapabilityMetadata { + enum BotCapabilityType { + UNKNOWN = 0; + PROGRESS_INDICATOR = 1; + RICH_RESPONSE_HEADING = 2; + RICH_RESPONSE_NESTED_LIST = 3; + AI_MEMORY = 4; + RICH_RESPONSE_THREAD_SURFING = 5; + RICH_RESPONSE_TABLE = 6; + RICH_RESPONSE_CODE = 7; + RICH_RESPONSE_STRUCTURED_RESPONSE = 8; + RICH_RESPONSE_INLINE_IMAGE = 9; + WA_IG_1P_PLUGIN_RANKING_CONTROL = 10; + WA_IG_1P_PLUGIN_RANKING_UPDATE_1 = 11; + WA_IG_1P_PLUGIN_RANKING_UPDATE_2 = 12; + WA_IG_1P_PLUGIN_RANKING_UPDATE_3 = 13; + WA_IG_1P_PLUGIN_RANKING_UPDATE_4 = 14; + WA_IG_1P_PLUGIN_RANKING_UPDATE_5 = 15; + WA_IG_1P_PLUGIN_RANKING_UPDATE_6 = 16; + WA_IG_1P_PLUGIN_RANKING_UPDATE_7 = 17; + WA_IG_1P_PLUGIN_RANKING_UPDATE_8 = 18; + WA_IG_1P_PLUGIN_RANKING_UPDATE_9 = 19; + WA_IG_1P_PLUGIN_RANKING_UPDATE_10 = 20; + RICH_RESPONSE_SUB_HEADING = 21; + RICH_RESPONSE_GRID_IMAGE = 22; + AI_STUDIO_UGC_MEMORY = 23; + RICH_RESPONSE_LATEX = 24; + RICH_RESPONSE_MAPS = 25; + RICH_RESPONSE_INLINE_REELS = 26; + AGENTIC_PLANNING = 27; + ACCOUNT_LINKING = 28; + STREAMING_DISAGGREGATION = 29; + RICH_RESPONSE_GRID_IMAGE_3P = 30; + RICH_RESPONSE_LATEX_INLINE = 31; + QUERY_PLAN = 32; + PROACTIVE_MESSAGE = 33; + RICH_RESPONSE_UNIFIED_RESPONSE = 34; + PROMOTION_MESSAGE = 35; + SIMPLIFIED_PROFILE_PAGE = 36; + RICH_RESPONSE_SOURCES_IN_MESSAGE = 37; + RICH_RESPONSE_SIDE_BY_SIDE_SURVEY = 38; + RICH_RESPONSE_UNIFIED_TEXT_COMPONENT = 39; + AI_SHARED_MEMORY = 40; + RICH_RESPONSE_UNIFIED_SOURCES = 41; + RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS = 42; + } + + repeated BotCapabilityType capabilities = 1; +} + +message BotModeSelectionMetadata { + enum BotUserSelectionMode { + UNKNOWN_MODE = 0; + REASONING_MODE = 1; + } + + repeated BotUserSelectionMode mode = 1; +} + +message BotQuotaMetadata { + message BotFeatureQuotaMetadata { + enum BotFeatureType { + UNKNOWN_FEATURE = 0; + REASONING_FEATURE = 1; + } + + optional BotFeatureType featureType = 1; + optional uint32 remainingQuota = 2; + optional uint64 expirationTimestamp = 3; + } + + repeated BotFeatureQuotaMetadata botFeatureQuotaMetadata = 1; +} + +message BotImagineMetadata { + enum ImagineType { + UNKNOWN = 0; + IMAGINE = 1; + MEMU = 2; + FLASH = 3; + EDIT = 4; + } + + optional ImagineType imagineType = 1; +} + +message BotSourcesMetadata { + message BotSourceItem { + enum SourceProvider { + UNKNOWN = 0; + BING = 1; + GOOGLE = 2; + SUPPORT = 3; + OTHER = 4; + } + + optional SourceProvider provider = 1; + optional string thumbnailCDNURL = 2; + optional string sourceProviderURL = 3; + optional string sourceQuery = 4; + optional string faviconCDNURL = 5; + optional uint32 citationNumber = 6; + optional string sourceTitle = 7; + } + + repeated BotSourceItem sources = 1; +} + +message BotMessageOrigin { + enum BotMessageOriginType { + BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED = 0; + } + + optional BotMessageOriginType type = 1; +} + +message AIThreadInfo { + message AIThreadClientInfo { + enum AIThreadType { + UNKNOWN = 0; + DEFAULT = 1; + INCOGNITO = 2; + } + + optional AIThreadType type = 1; + } + + message AIThreadServerInfo { + optional string title = 1; + } + + optional AIThreadServerInfo serverInfo = 1; + optional AIThreadClientInfo clientInfo = 2; +} + +message BotAvatarMetadata { + optional uint32 sentiment = 1; + optional string behaviorGraph = 2; + optional uint32 action = 3; + optional uint32 intensity = 4; + optional uint32 wordCount = 5; +} + +message BotSuggestedPromptMetadata { + repeated string suggestedPrompts = 1; + optional uint32 selectedPromptIndex = 2; + optional BotPromptSuggestions promptSuggestions = 3; + optional string selectedPromptID = 4; +} + +message BotPromptSuggestions { + repeated BotPromptSuggestion suggestions = 1; +} + +message BotPromptSuggestion { + optional string prompt = 1; + optional string promptID = 2; +} + +message BotLinkedAccountsMetadata { + repeated BotLinkedAccount accounts = 1; + optional bytes acAuthTokens = 2; + optional int32 acErrorCode = 3; +} + +message BotMemoryMetadata { + repeated BotMemoryFact addedFacts = 1; + repeated BotMemoryFact removedFacts = 2; + optional string disclaimer = 3; +} + +message BotMemoryFact { + optional string fact = 1; + optional string factID = 2; +} + +message BotSignatureVerificationMetadata { + repeated BotSignatureVerificationUseCaseProof proofs = 1; +} + +message BotRenderingMetadata { + message Keyword { + optional string value = 1; + repeated string associatedPrompts = 2; + } + + repeated Keyword keywords = 1; +} + +message BotMetricsMetadata { + optional string destinationID = 1; + optional BotMetricsEntryPoint destinationEntryPoint = 2; + optional BotMetricsThreadEntryPoint threadOrigin = 3; +} + +message BotSessionMetadata { + optional string sessionID = 1; + optional BotSessionSource sessionSource = 2; +} + +message BotMemuMetadata { + repeated BotMediaMetadata faceImages = 1; +} + +message BotAgeCollectionMetadata { + optional bool ageCollectionEligible = 1; + optional bool shouldTriggerAgeCollectionOnClient = 2; +} + +message InThreadSurveyMetadata { + message InThreadSurveyPrivacyStatementPart { + optional string text = 1; + optional string URL = 2; + } + + message InThreadSurveyOption { + optional string stringValue = 1; + optional uint32 numericValue = 2; + optional string textTranslated = 3; + } + + message InThreadSurveyQuestion { + optional string questionText = 1; + optional string questionID = 2; + repeated InThreadSurveyOption questionOptions = 3; + } + + optional string tessaSessionID = 1; + optional string simonSessionID = 2; + optional string simonSurveyID = 3; + optional string tessaRootID = 4; + optional string requestID = 5; + optional string tessaEvent = 6; + optional string invitationHeaderText = 7; + optional string invitationBodyText = 8; + optional string invitationCtaText = 9; + optional string invitationCtaURL = 10; + optional string surveyTitle = 11; + repeated InThreadSurveyQuestion questions = 12; + optional string surveyContinueButtonText = 13; + optional string surveySubmitButtonText = 14; + optional string privacyStatementFull = 15; + repeated InThreadSurveyPrivacyStatementPart privacyStatementParts = 16; + optional string feedbackToastText = 17; +} + +message BotMessageOriginMetadata { + repeated BotMessageOrigin origins = 1; +} + +message BotUnifiedResponseMutation { + message MediaDetailsMetadata { + optional string ID = 1; + optional BotMediaMetadata highResMedia = 2; + optional BotMediaMetadata previewMedia = 3; + } + + message SideBySideMetadata { + optional string primaryResponseID = 1; + } + + optional SideBySideMetadata sbsMetadata = 1; + repeated MediaDetailsMetadata mediaDetailsMetadataList = 2; +} + +message BotMetadata { + optional BotAvatarMetadata avatarMetadata = 1; + optional string personaID = 2; + optional BotPluginMetadata pluginMetadata = 3; + optional BotSuggestedPromptMetadata suggestedPromptMetadata = 4; + optional string invokerJID = 5; + optional BotSessionMetadata sessionMetadata = 6; + optional BotMemuMetadata memuMetadata = 7; + optional string timezone = 8; + optional BotReminderMetadata reminderMetadata = 9; + optional BotModelMetadata modelMetadata = 10; + optional string messageDisclaimerText = 11; + optional BotProgressIndicatorMetadata progressIndicatorMetadata = 12; + optional BotCapabilityMetadata capabilityMetadata = 13; + optional BotImagineMetadata imagineMetadata = 14; + optional BotMemoryMetadata memoryMetadata = 15; + optional BotRenderingMetadata renderingMetadata = 16; + optional BotMetricsMetadata botMetricsMetadata = 17; + optional BotLinkedAccountsMetadata botLinkedAccountsMetadata = 18; + optional BotSourcesMetadata richResponseSourcesMetadata = 19; + optional bytes aiConversationContext = 20; + optional BotPromotionMessageMetadata botPromotionMessageMetadata = 21; + optional BotModeSelectionMetadata botModeSelectionMetadata = 22; + optional BotQuotaMetadata botQuotaMetadata = 23; + optional BotAgeCollectionMetadata botAgeCollectionMetadata = 24; + optional string conversationStarterPromptID = 25; + optional string botResponseID = 26; + optional BotSignatureVerificationMetadata verificationMetadata = 27; + optional BotUnifiedResponseMutation unifiedResponseMutation = 28; + optional BotMessageOriginMetadata botMessageOriginMetadata = 29; + optional InThreadSurveyMetadata inThreadSurveyMetadata = 30; + optional AIThreadInfo botThreadInfo = 31; + optional bytes internalMetadata = 999; +} diff --git a/goneonize/defproto/waCert/WACert.proto b/goneonize/defproto/waCert/WACert.proto new file mode 100644 index 00000000..1da8c826 --- /dev/null +++ b/goneonize/defproto/waCert/WACert.proto @@ -0,0 +1,34 @@ +syntax = "proto2"; +package WACert; +option go_package = "go.mau.fi/whatsmeow/proto/waCert"; + +message NoiseCertificate { + message Details { + optional uint32 serial = 1; + optional string issuer = 2; + optional uint64 expires = 3; + optional string subject = 4; + optional bytes key = 5; + } + + optional bytes details = 1; + optional bytes signature = 2; +} + +message CertChain { + message NoiseCertificate { + message Details { + optional uint32 serial = 1; + optional uint32 issuerSerial = 2; + optional bytes key = 3; + optional uint64 notBefore = 4; + optional uint64 notAfter = 5; + } + + optional bytes details = 1; + optional bytes signature = 2; + } + + optional NoiseCertificate leaf = 1; + optional NoiseCertificate intermediate = 2; +} diff --git a/goneonize/defproto/waChatLockSettings/WAProtobufsChatLockSettings.proto b/goneonize/defproto/waChatLockSettings/WAProtobufsChatLockSettings.proto new file mode 100644 index 00000000..574529a5 --- /dev/null +++ b/goneonize/defproto/waChatLockSettings/WAProtobufsChatLockSettings.proto @@ -0,0 +1,10 @@ +syntax = "proto2"; +package WAProtobufsChatLockSettings; +option go_package = "go.mau.fi/whatsmeow/proto/waChatLockSettings"; + +import "waUserPassword/WAProtobufsUserPassword.proto"; + +message ChatLockSettings { + optional bool hideLockedChats = 1; + optional WAProtobufsUserPassword.UserPassword secretCode = 2; +} diff --git a/goneonize/defproto/waCommon/WACommon.proto b/goneonize/defproto/waCommon/WACommon.proto new file mode 100644 index 00000000..c75cd174 --- /dev/null +++ b/goneonize/defproto/waCommon/WACommon.proto @@ -0,0 +1,67 @@ +syntax = "proto2"; +package WACommon; +option go_package = "go.mau.fi/whatsmeow/proto/waCommon"; + +enum FutureProofBehavior { + PLACEHOLDER = 0; + NO_PLACEHOLDER = 1; + IGNORE = 2; +} + +message MessageKey { + optional string remoteJID = 1; + optional bool fromMe = 2; + optional string ID = 3; + optional string participant = 4; +} + +message Command { + enum CommandType { + EVERYONE = 1; + SILENT = 2; + AI = 3; + AI_IMAGINE = 4; + } + + optional CommandType commandType = 1; + optional uint32 offset = 2; + optional uint32 length = 3; + optional string validationToken = 4; +} + +message Mention { + enum MentionType { + PROFILE = 0; + } + + optional MentionType mentionType = 1; + optional string mentionedJID = 2; + optional uint32 offset = 3; + optional uint32 length = 4; +} + +message MessageText { + optional string text = 1; + repeated string mentionedJID = 2; + repeated Command commands = 3; + repeated Mention mentions = 4; +} + +message SubProtocol { + optional bytes payload = 1; + optional int32 version = 2; +} + +message LimitSharing { + enum Trigger { + UNKNOWN = 0; + CHAT_SETTING = 1; + BIZ_SUPPORTS_FB_HOSTING = 2; + UNKNOWN_GROUP = 3; + } + + optional bool sharingLimited = 1; + optional Trigger trigger = 2; + optional int64 limitSharingSettingTimestamp = 3; + optional bool initiatedByMe = 4; +} diff --git a/goneonize/defproto/waCommonParameterised/WACommonParameterised.proto b/goneonize/defproto/waCommonParameterised/WACommonParameterised.proto new file mode 100644 index 00000000..e5aca8db --- /dev/null +++ b/goneonize/defproto/waCommonParameterised/WACommonParameterised.proto @@ -0,0 +1,53 @@ +syntax = "proto2"; +package WACommonParameterised; +option go_package = "go.mau.fi/whatsmeow/proto/waCommonParameterised"; + +enum FutureProofBehavior { + PLACEHOLDER = 0; + NO_PLACEHOLDER = 1; + IGNORE = 2; +} + +message MessageKey { + optional string remoteJID = 1; + optional bool fromMe = 2; + optional string ID = 3; + optional string participant = 4; +} + +message Command { + enum CommandType { + EVERYONE = 1; + SILENT = 2; + AI = 3; + AI_IMAGINE = 4; + } + + optional CommandType commandType = 1; + optional uint32 offset = 2; + optional uint32 length = 3; + optional string validationToken = 4; +} + +message Mention { + enum MentionType { + PROFILE = 0; + } + + optional MentionType mentionType = 1; + optional string mentionedJID = 2; + optional uint32 offset = 3; + optional uint32 length = 4; +} + +message MessageText { + optional string text = 1; + repeated string mentionedJID = 2; + repeated Command commands = 3; + repeated Mention mentions = 4; +} + +message SubProtocol { + optional bytes payload = 1; + optional int32 version = 2; +} diff --git a/goneonize/defproto/waCompanionReg/WACompanionReg.proto b/goneonize/defproto/waCompanionReg/WACompanionReg.proto new file mode 100644 index 00000000..e973d051 --- /dev/null +++ b/goneonize/defproto/waCompanionReg/WACompanionReg.proto @@ -0,0 +1,104 @@ +syntax = "proto2"; +package WACompanionReg; +option go_package = "go.mau.fi/whatsmeow/proto/waCompanionReg"; + +message DeviceProps { + enum PlatformType { + UNKNOWN = 0; + CHROME = 1; + FIREFOX = 2; + IE = 3; + OPERA = 4; + SAFARI = 5; + EDGE = 6; + DESKTOP = 7; + IPAD = 8; + ANDROID_TABLET = 9; + OHANA = 10; + ALOHA = 11; + CATALINA = 12; + TCL_TV = 13; + IOS_PHONE = 14; + IOS_CATALYST = 15; + ANDROID_PHONE = 16; + ANDROID_AMBIGUOUS = 17; + WEAR_OS = 18; + AR_WRIST = 19; + AR_DEVICE = 20; + UWP = 21; + VR = 22; + CLOUD_API = 23; + SMARTGLASSES = 24; + } + + message HistorySyncConfig { + optional uint32 fullSyncDaysLimit = 1; + optional uint32 fullSyncSizeMbLimit = 2; + optional uint32 storageQuotaMb = 3; + optional bool inlineInitialPayloadInE2EeMsg = 4; + optional uint32 recentSyncDaysLimit = 5; + optional bool supportCallLogHistory = 6; + optional bool supportBotUserAgentChatHistory = 7; + optional bool supportCagReactionsAndPolls = 8; + optional bool supportBizHostedMsg = 9; + optional bool supportRecentSyncChunkMessageCountTuning = 10; + optional bool supportHostedGroupMsg = 11; + optional bool supportFbidBotChatHistory = 12; + optional bool supportAddOnHistorySyncMigration = 13; + optional bool supportMessageAssociation = 14; + optional bool supportGroupHistory = 15; + optional bool onDemandReady = 16; + optional bool supportGuestChat = 17; + } + + message AppVersion { + optional uint32 primary = 1; + optional uint32 secondary = 2; + optional uint32 tertiary = 3; + optional uint32 quaternary = 4; + optional uint32 quinary = 5; + } + + optional string os = 1; + optional AppVersion version = 2; + optional PlatformType platformType = 3; + optional bool requireFullSync = 4; + optional HistorySyncConfig historySyncConfig = 5; +} + +message CompanionEphemeralIdentity { + optional bytes publicKey = 1; + optional DeviceProps.PlatformType deviceType = 2; + optional string ref = 3; +} + +message CompanionCommitment { + optional bytes hash = 1; +} + +message ProloguePayload { + optional bytes companionEphemeralIdentity = 1; + optional CompanionCommitment commitment = 2; +} + +message PrimaryEphemeralIdentity { + optional bytes publicKey = 1; + optional bytes nonce = 2; +} + +message PairingRequest { + optional bytes companionPublicKey = 1; + optional bytes companionIdentityKey = 2; + optional bytes advSecret = 3; +} + +message EncryptedPairingRequest { + optional bytes encryptedPayload = 1; + optional bytes IV = 2; +} + +message ClientPairingProps { + optional bool isChatDbLidMigrated = 1; + optional bool isSyncdPureLidSession = 2; + optional bool isSyncdSnapshotRecoveryEnabled = 3; +} diff --git a/goneonize/defproto/waConsumerApplication/WAConsumerApplication.proto b/goneonize/defproto/waConsumerApplication/WAConsumerApplication.proto new file mode 100644 index 00000000..eb45124b --- /dev/null +++ b/goneonize/defproto/waConsumerApplication/WAConsumerApplication.proto @@ -0,0 +1,233 @@ +syntax = "proto2"; +package WAConsumerApplication; +option go_package = "go.mau.fi/whatsmeow/proto/waConsumerApplication"; + +import "waCommon/WACommon.proto"; + +message ConsumerApplication { + message Payload { + oneof payload { + Content content = 1; + ApplicationData applicationData = 2; + Signal signal = 3; + SubProtocolPayload subProtocol = 4; + } + } + + message SubProtocolPayload { + optional WACommon.FutureProofBehavior futureProof = 1; + } + + message Metadata { + enum SpecialTextSize { + SMALL = 1; + MEDIUM = 2; + LARGE = 3; + } + + optional SpecialTextSize specialTextSize = 1; + } + + message Signal { + } + + message ApplicationData { + oneof applicationContent { + RevokeMessage revoke = 1; + } + } + + message Content { + oneof content { + WACommon.MessageText messageText = 1; + ImageMessage imageMessage = 2; + ContactMessage contactMessage = 3; + LocationMessage locationMessage = 4; + ExtendedTextMessage extendedTextMessage = 5; + StatusTextMesage statusTextMessage = 6; + DocumentMessage documentMessage = 7; + AudioMessage audioMessage = 8; + VideoMessage videoMessage = 9; + ContactsArrayMessage contactsArrayMessage = 10; + LiveLocationMessage liveLocationMessage = 11; + StickerMessage stickerMessage = 12; + GroupInviteMessage groupInviteMessage = 13; + ViewOnceMessage viewOnceMessage = 14; + ReactionMessage reactionMessage = 16; + PollCreationMessage pollCreationMessage = 17; + PollUpdateMessage pollUpdateMessage = 18; + EditMessage editMessage = 19; + } + } + + message EditMessage { + optional WACommon.MessageKey key = 1; + optional WACommon.MessageText message = 2; + optional int64 timestampMS = 3; + } + + message PollAddOptionMessage { + repeated Option pollOption = 1; + } + + message PollVoteMessage { + repeated bytes selectedOptions = 1; + optional int64 senderTimestampMS = 2; + } + + message PollEncValue { + optional bytes encPayload = 1; + optional bytes encIV = 2; + } + + message PollUpdateMessage { + optional WACommon.MessageKey pollCreationMessageKey = 1; + optional PollEncValue vote = 2; + optional PollEncValue addOption = 3; + } + + message PollCreationMessage { + optional bytes encKey = 1; + optional string name = 2; + repeated Option options = 3; + optional uint32 selectableOptionsCount = 4; + } + + message Option { + optional string optionName = 1; + } + + message ReactionMessage { + optional WACommon.MessageKey key = 1; + optional string text = 2; + optional string groupingKey = 3; + optional int64 senderTimestampMS = 4; + optional string reactionMetadataDataclassData = 5; + optional int32 style = 6; + } + + message RevokeMessage { + optional WACommon.MessageKey key = 1; + } + + message ViewOnceMessage { + oneof viewOnceContent { + ImageMessage imageMessage = 1; + VideoMessage videoMessage = 2; + } + } + + message GroupInviteMessage { + optional string groupJID = 1; + optional string inviteCode = 2; + optional int64 inviteExpiration = 3; + optional string groupName = 4; + optional bytes JPEGThumbnail = 5; + optional WACommon.MessageText caption = 6; + } + + message LiveLocationMessage { + optional Location location = 1; + optional uint32 accuracyInMeters = 2; + optional float speedInMps = 3; + optional uint32 degreesClockwiseFromMagneticNorth = 4; + optional WACommon.MessageText caption = 5; + optional int64 sequenceNumber = 6; + optional uint32 timeOffset = 7; + } + + message ContactsArrayMessage { + optional string displayName = 1; + repeated ContactMessage contacts = 2; + } + + message ContactMessage { + optional WACommon.SubProtocol contact = 1; + } + + message StatusTextMesage { + enum FontType { + SANS_SERIF = 0; + SERIF = 1; + NORICAN_REGULAR = 2; + BRYNDAN_WRITE = 3; + BEBASNEUE_REGULAR = 4; + OSWALD_HEAVY = 5; + } + + optional ExtendedTextMessage text = 1; + optional fixed32 textArgb = 6; + optional fixed32 backgroundArgb = 7; + optional FontType font = 8; + } + + message ExtendedTextMessage { + enum PreviewType { + NONE = 0; + VIDEO = 1; + } + + optional WACommon.MessageText text = 1; + optional string matchedText = 2; + optional string canonicalURL = 3; + optional string description = 4; + optional string title = 5; + optional WACommon.SubProtocol thumbnail = 6; + optional PreviewType previewType = 7; + } + + message LocationMessage { + optional Location location = 1; + optional string address = 2; + } + + message StickerMessage { + optional WACommon.SubProtocol sticker = 1; + } + + message DocumentMessage { + optional WACommon.SubProtocol document = 1; + optional string fileName = 2; + } + + message VideoMessage { + optional WACommon.SubProtocol video = 1; + optional WACommon.MessageText caption = 2; + } + + message AudioMessage { + optional WACommon.SubProtocol audio = 1; + optional bool PTT = 2; + } + + message ImageMessage { + optional WACommon.SubProtocol image = 1; + optional WACommon.MessageText caption = 2; + } + + message InteractiveAnnotation { + oneof action { + Location location = 2; + } + + repeated Point polygonVertices = 1; + } + + message Point { + optional double x = 1; + optional double y = 2; + } + + message Location { + optional double degreesLatitude = 1; + optional double degreesLongitude = 2; + optional string name = 3; + } + + message MediaPayload { + optional WACommon.SubProtocol protocol = 1; + } + + optional Payload payload = 1; + optional Metadata metadata = 2; +} diff --git a/goneonize/defproto/waConsumerApplicationParameterised/WAConsumerApplicationParameterised.proto b/goneonize/defproto/waConsumerApplicationParameterised/WAConsumerApplicationParameterised.proto new file mode 100644 index 00000000..3fb5d00f --- /dev/null +++ b/goneonize/defproto/waConsumerApplicationParameterised/WAConsumerApplicationParameterised.proto @@ -0,0 +1,233 @@ +syntax = "proto2"; +package WAConsumerApplicationParameterised; +option go_package = "go.mau.fi/whatsmeow/proto/waConsumerApplicationParameterised"; + +import "waCommonParameterised/WACommonParameterised.proto"; + +message ConsumerApplication { + message Payload { + oneof payload { + Content content = 1; + ApplicationData applicationData = 2; + Signal signal = 3; + SubProtocolPayload subProtocol = 4; + } + } + + message SubProtocolPayload { + optional WACommonParameterised.FutureProofBehavior futureProof = 1; + } + + message Metadata { + enum SpecialTextSize { + SMALL = 1; + MEDIUM = 2; + LARGE = 3; + } + + optional SpecialTextSize specialTextSize = 1; + } + + message Signal { + } + + message ApplicationData { + oneof applicationContent { + RevokeMessage revoke = 1; + } + } + + message Content { + oneof content { + WACommonParameterised.MessageText messageText = 1; + ImageMessage imageMessage = 2; + ContactMessage contactMessage = 3; + LocationMessage locationMessage = 4; + ExtendedTextMessage extendedTextMessage = 5; + StatusTextMesage statusTextMessage = 6; + DocumentMessage documentMessage = 7; + AudioMessage audioMessage = 8; + VideoMessage videoMessage = 9; + ContactsArrayMessage contactsArrayMessage = 10; + LiveLocationMessage liveLocationMessage = 11; + StickerMessage stickerMessage = 12; + GroupInviteMessage groupInviteMessage = 13; + ViewOnceMessage viewOnceMessage = 14; + ReactionMessage reactionMessage = 16; + PollCreationMessage pollCreationMessage = 17; + PollUpdateMessage pollUpdateMessage = 18; + EditMessage editMessage = 19; + } + } + + message EditMessage { + optional WACommonParameterised.MessageKey key = 1; + optional WACommonParameterised.MessageText message = 2; + optional int64 timestampMS = 3; + } + + message PollAddOptionMessage { + repeated Option pollOption = 1; + } + + message PollVoteMessage { + repeated bytes selectedOptions = 1; + optional int64 senderTimestampMS = 2; + } + + message PollEncValue { + optional bytes encPayload = 1; + optional bytes encIV = 2; + } + + message PollUpdateMessage { + optional WACommonParameterised.MessageKey pollCreationMessageKey = 1; + optional PollEncValue vote = 2; + optional PollEncValue addOption = 3; + } + + message PollCreationMessage { + optional bytes encKey = 1; + optional string name = 2; + repeated Option options = 3; + optional uint32 selectableOptionsCount = 4; + } + + message Option { + optional string optionName = 1; + } + + message ReactionMessage { + optional WACommonParameterised.MessageKey key = 1; + optional string text = 2; + optional string groupingKey = 3; + optional int64 senderTimestampMS = 4; + optional string reactionMetadataDataclassData = 5; + optional int32 style = 6; + } + + message RevokeMessage { + optional WACommonParameterised.MessageKey key = 1; + } + + message ViewOnceMessage { + oneof viewOnceContent { + ImageMessage imageMessage = 1; + VideoMessage videoMessage = 2; + } + } + + message GroupInviteMessage { + optional string groupJID = 1; + optional string inviteCode = 2; + optional int64 inviteExpiration = 3; + optional string groupName = 4; + optional bytes JPEGThumbnail = 5; + optional WACommonParameterised.MessageText caption = 6; + } + + message LiveLocationMessage { + optional Location location = 1; + optional uint32 accuracyInMeters = 2; + optional float speedInMps = 3; + optional uint32 degreesClockwiseFromMagneticNorth = 4; + optional WACommonParameterised.MessageText caption = 5; + optional int64 sequenceNumber = 6; + optional uint32 timeOffset = 7; + } + + message ContactsArrayMessage { + optional string displayName = 1; + repeated ContactMessage contacts = 2; + } + + message ContactMessage { + optional WACommonParameterised.SubProtocol contact = 1; + } + + message StatusTextMesage { + enum FontType { + SANS_SERIF = 0; + SERIF = 1; + NORICAN_REGULAR = 2; + BRYNDAN_WRITE = 3; + BEBASNEUE_REGULAR = 4; + OSWALD_HEAVY = 5; + } + + optional ExtendedTextMessage text = 1; + optional fixed32 textArgb = 6; + optional fixed32 backgroundArgb = 7; + optional FontType font = 8; + } + + message ExtendedTextMessage { + enum PreviewType { + NONE = 0; + VIDEO = 1; + } + + optional WACommonParameterised.MessageText text = 1; + optional string matchedText = 2; + optional string canonicalURL = 3; + optional string description = 4; + optional string title = 5; + optional WACommonParameterised.SubProtocol thumbnail = 6; + optional PreviewType previewType = 7; + } + + message LocationMessage { + optional Location location = 1; + optional string address = 2; + } + + message StickerMessage { + optional WACommonParameterised.SubProtocol sticker = 1; + } + + message DocumentMessage { + optional WACommonParameterised.SubProtocol document = 1; + optional string fileName = 2; + } + + message VideoMessage { + optional WACommonParameterised.SubProtocol video = 1; + optional WACommonParameterised.MessageText caption = 2; + } + + message AudioMessage { + optional WACommonParameterised.SubProtocol audio = 1; + optional bool PTT = 2; + } + + message ImageMessage { + optional WACommonParameterised.SubProtocol image = 1; + optional WACommonParameterised.MessageText caption = 2; + } + + message InteractiveAnnotation { + oneof action { + Location location = 2; + } + + repeated Point polygonVertices = 1; + } + + message Point { + optional double x = 1; + optional double y = 2; + } + + message Location { + optional double degreesLatitude = 1; + optional double degreesLongitude = 2; + optional string name = 3; + } + + message MediaPayload { + optional WACommonParameterised.SubProtocol protocol = 1; + } + + optional Payload payload = 1; + optional Metadata metadata = 2; +} diff --git a/goneonize/defproto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto b/goneonize/defproto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto new file mode 100644 index 00000000..6de6a11b --- /dev/null +++ b/goneonize/defproto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto @@ -0,0 +1,28 @@ +syntax = "proto2"; +package WAProtobufsDeviceCapabilities; +option go_package = "go.mau.fi/whatsmeow/proto/waDeviceCapabilities"; + +message DeviceCapabilities { + enum ChatLockSupportLevel { + NONE = 0; + MINIMAL = 1; + FULL = 2; + } + + message UserHasAvatar { + optional bool userHasAvatar = 1; + } + + message BusinessBroadcast { + optional bool importListEnabled = 1; + } + + message LIDMigration { + optional uint64 chatDbMigrationTimestamp = 1; + } + + optional ChatLockSupportLevel chatLockSupportLevel = 1; + optional LIDMigration lidMigration = 2; + optional BusinessBroadcast businessBroadcast = 3; + optional UserHasAvatar userHasAvatar = 4; +} diff --git a/goneonize/defproto/waE2E/WAWebProtobufsE2E.proto b/goneonize/defproto/waE2E/WAWebProtobufsE2E.proto new file mode 100644 index 00000000..712d0bb6 --- /dev/null +++ b/goneonize/defproto/waE2E/WAWebProtobufsE2E.proto @@ -0,0 +1,2208 @@ +syntax = "proto2"; +package WAWebProtobufsE2E; +option go_package = "go.mau.fi/whatsmeow/proto/waE2E"; + +import "waAICommon/WAAICommon.proto"; +import "waAdv/WAAdv.proto"; +import "waCompanionReg/WACompanionReg.proto"; +import "waMmsRetry/WAMmsRetry.proto"; +import "waCommon/WACommon.proto"; +import "waStatusAttributions/WAStatusAttributions.proto"; + +enum PollType { + POLL = 0; + QUIZ = 1; +} + +enum PollContentType { + UNKNOWN_POLL_CONTENT_TYPE = 0; + TEXT = 1; + IMAGE = 2; +} + +enum PeerDataOperationRequestType { + UPLOAD_STICKER = 0; + SEND_RECENT_STICKER_BOOTSTRAP = 1; + GENERATE_LINK_PREVIEW = 2; + HISTORY_SYNC_ON_DEMAND = 3; + PLACEHOLDER_MESSAGE_RESEND = 4; + WAFFLE_LINKING_NONCE_FETCH = 5; + FULL_HISTORY_SYNC_ON_DEMAND = 6; + COMPANION_META_NONCE_FETCH = 7; + COMPANION_SYNCD_SNAPSHOT_FATAL_RECOVERY = 8; + COMPANION_CANONICAL_USER_NONCE_FETCH = 9; + HISTORY_SYNC_CHUNK_RETRY = 10; + GALAXY_FLOW_ACTION = 11; +} + +enum HistorySyncType { + INITIAL_BOOTSTRAP = 0; + INITIAL_STATUS_V3 = 1; + FULL = 2; + RECENT = 3; + PUSH_NAME = 4; + NON_BLOCKING_DATA = 5; + ON_DEMAND = 6; + NO_HISTORY = 7; +} + +enum MediaKeyDomain { + UNSET = 0; + E2EE_CHAT = 1; + STATUS = 2; + CAPI = 3; + BOT = 4; +} + +enum KeepType { + UNKNOWN_KEEP_TYPE = 0; + KEEP_FOR_ALL = 1; + UNDO_KEEP_FOR_ALL = 2; +} + +message StickerPackMessage { + enum StickerPackOrigin { + FIRST_PARTY = 0; + THIRD_PARTY = 1; + USER_CREATED = 2; + } + + message Sticker { + optional string fileName = 1; + optional bool isAnimated = 2; + repeated string emojis = 3; + optional string accessibilityLabel = 4; + optional bool isLottie = 5; + optional string mimetype = 6; + } + + optional string stickerPackID = 1; + optional string name = 2; + optional string publisher = 3; + repeated Sticker stickers = 4; + optional uint64 fileLength = 5; + optional bytes fileSHA256 = 6; + optional bytes fileEncSHA256 = 7; + optional bytes mediaKey = 8; + optional string directPath = 9; + optional string caption = 10; + optional ContextInfo contextInfo = 11; + optional string packDescription = 12; + optional int64 mediaKeyTimestamp = 13; + optional string trayIconFileName = 14; + optional string thumbnailDirectPath = 15; + optional bytes thumbnailSHA256 = 16; + optional bytes thumbnailEncSHA256 = 17; + optional uint32 thumbnailHeight = 18; + optional uint32 thumbnailWidth = 19; + optional string imageDataHash = 20; + optional uint64 stickerPackSize = 21; + optional StickerPackOrigin stickerPackOrigin = 22; +} + +message PlaceholderMessage { + enum PlaceholderType { + MASK_LINKED_DEVICES = 0; + } + + optional PlaceholderType type = 1; +} + +message BCallMessage { + enum MediaType { + UNKNOWN = 0; + AUDIO = 1; + VIDEO = 2; + } + + optional string sessionID = 1; + optional MediaType mediaType = 2; + optional bytes masterKey = 3; + optional string caption = 4; +} + +message CallLogMessage { + enum CallOutcome { + CONNECTED = 0; + MISSED = 1; + FAILED = 2; + REJECTED = 3; + ACCEPTED_ELSEWHERE = 4; + ONGOING = 5; + SILENCED_BY_DND = 6; + SILENCED_UNKNOWN_CALLER = 7; + } + + enum CallType { + REGULAR = 0; + SCHEDULED_CALL = 1; + VOICE_CHAT = 2; + } + + message CallParticipant { + optional string JID = 1; + optional CallOutcome callOutcome = 2; + } + + optional bool isVideo = 1; + optional CallOutcome callOutcome = 2; + optional int64 durationSecs = 3; + optional CallType callType = 4; + repeated CallParticipant participants = 5; +} + +message ScheduledCallEditMessage { + enum EditType { + UNKNOWN = 0; + CANCEL = 1; + } + + optional WACommon.MessageKey key = 1; + optional EditType editType = 2; +} + +message ScheduledCallCreationMessage { + enum CallType { + UNKNOWN = 0; + VOICE = 1; + VIDEO = 2; + } + + optional int64 scheduledTimestampMS = 1; + optional CallType callType = 2; + optional string title = 3; +} + +message EventResponseMessage { + enum EventResponseType { + UNKNOWN = 0; + GOING = 1; + NOT_GOING = 2; + MAYBE = 3; + } + + optional EventResponseType response = 1; + optional int64 timestampMS = 2; + optional int32 extraGuestCount = 3; +} + +message PinInChatMessage { + enum Type { + UNKNOWN_TYPE = 0; + PIN_FOR_ALL = 1; + UNPIN_FOR_ALL = 2; + } + + optional WACommon.MessageKey key = 1; + optional Type type = 2; + optional int64 senderTimestampMS = 3; +} + +message StatusStickerInteractionMessage { + enum StatusStickerType { + UNKNOWN = 0; + REACTION = 1; + } + + optional WACommon.MessageKey key = 1; + optional string stickerKey = 2; + optional StatusStickerType type = 3; +} + +message ButtonsResponseMessage { + enum Type { + UNKNOWN = 0; + DISPLAY_TEXT = 1; + } + + oneof response { + string selectedDisplayText = 2; + } + + optional string selectedButtonID = 1; + optional ContextInfo contextInfo = 3; + optional Type type = 4; +} + +message ButtonsMessage { + enum HeaderType { + UNKNOWN = 0; + EMPTY = 1; + TEXT = 2; + DOCUMENT = 3; + IMAGE = 4; + VIDEO = 5; + LOCATION = 6; + } + + message Button { + enum Type { + UNKNOWN = 0; + RESPONSE = 1; + NATIVE_FLOW = 2; + } + + message NativeFlowInfo { + optional string name = 1; + optional string paramsJSON = 2; + } + + message ButtonText { + optional string displayText = 1; + } + + optional string buttonID = 1; + optional ButtonText buttonText = 2; + optional Type type = 3; + optional NativeFlowInfo nativeFlowInfo = 4; + } + + oneof header { + string text = 1; + DocumentMessage documentMessage = 2; + ImageMessage imageMessage = 3; + VideoMessage videoMessage = 4; + LocationMessage locationMessage = 5; + } + + optional string contentText = 6; + optional string footerText = 7; + optional ContextInfo contextInfo = 8; + repeated Button buttons = 9; + optional HeaderType headerType = 10; +} + +message SecretEncryptedMessage { + enum SecretEncType { + UNKNOWN = 0; + EVENT_EDIT = 1; + MESSAGE_EDIT = 2; + } + + optional WACommon.MessageKey targetMessageKey = 1; + optional bytes encPayload = 2; + optional bytes encIV = 3; + optional SecretEncType secretEncType = 4; +} + +message GroupInviteMessage { + enum GroupType { + DEFAULT = 0; + PARENT = 1; + } + + optional string groupJID = 1; + optional string inviteCode = 2; + optional int64 inviteExpiration = 3; + optional string groupName = 4; + optional bytes JPEGThumbnail = 5; + optional string caption = 6; + optional ContextInfo contextInfo = 7; + optional GroupType groupType = 8; +} + +message InteractiveResponseMessage { + message Body { + enum Format { + DEFAULT = 0; + EXTENSIONS_1 = 1; + } + + optional string text = 1; + optional Format format = 2; + } + + message NativeFlowResponseMessage { + optional string name = 1; + optional string paramsJSON = 2; + optional int32 version = 3; + } + + oneof interactiveResponseMessage { + NativeFlowResponseMessage nativeFlowResponseMessage = 2; + } + + optional Body body = 1; + optional ContextInfo contextInfo = 15; +} + +message InteractiveMessage { + message CarouselMessage { + enum CarouselCardType { + UNKNOWN = 0; + HSCROLL_CARDS = 1; + ALBUM_IMAGE = 2; + } + + repeated InteractiveMessage cards = 1; + optional int32 messageVersion = 2; + optional CarouselCardType carouselCardType = 3; + } + + message ShopMessage { + enum Surface { + UNKNOWN_SURFACE = 0; + FB = 1; + IG = 2; + WA = 3; + } + + optional string ID = 1; + optional Surface surface = 2; + optional int32 messageVersion = 3; + } + + message NativeFlowMessage { + message NativeFlowButton { + optional string name = 1; + optional string buttonParamsJSON = 2; + } + + repeated NativeFlowButton buttons = 1; + optional string messageParamsJSON = 2; + optional int32 messageVersion = 3; + } + + message CollectionMessage { + optional string bizJID = 1; + optional string ID = 2; + optional int32 messageVersion = 3; + } + + message Footer { + oneof media { + AudioMessage audioMessage = 2; + } + + optional string text = 1; + optional bool hasMediaAttachment = 3; + } + + message Body { + optional string text = 1; + } + + message Header { + oneof media { + DocumentMessage documentMessage = 3; + ImageMessage imageMessage = 4; + bytes JPEGThumbnail = 6; + VideoMessage videoMessage = 7; + LocationMessage locationMessage = 8; + ProductMessage productMessage = 9; + } + + optional string title = 1; + optional string subtitle = 2; + optional bool hasMediaAttachment = 5; + } + + oneof interactiveMessage { + ShopMessage shopStorefrontMessage = 4; + CollectionMessage collectionMessage = 5; + NativeFlowMessage nativeFlowMessage = 6; + CarouselMessage carouselMessage = 7; + } + + optional Header header = 1; + optional Body body = 2; + optional Footer footer = 3; + optional ContextInfo contextInfo = 15; + optional UrlTrackingMap urlTrackingMap = 16; +} + +message ListResponseMessage { + enum ListType { + UNKNOWN = 0; + SINGLE_SELECT = 1; + } + + message SingleSelectReply { + optional string selectedRowID = 1; + } + + optional string title = 1; + optional ListType listType = 2; + optional SingleSelectReply singleSelectReply = 3; + optional ContextInfo contextInfo = 4; + optional string description = 5; +} + +message ListMessage { + enum ListType { + UNKNOWN = 0; + SINGLE_SELECT = 1; + PRODUCT_LIST = 2; + } + + message ProductListInfo { + repeated ProductSection productSections = 1; + optional ProductListHeaderImage headerImage = 2; + optional string businessOwnerJID = 3; + } + + message ProductListHeaderImage { + optional string productID = 1; + optional bytes JPEGThumbnail = 2; + } + + message ProductSection { + optional string title = 1; + repeated Product products = 2; + } + + message Product { + optional string productID = 1; + } + + message Section { + optional string title = 1; + repeated Row rows = 2; + } + + message Row { + optional string title = 1; + optional string description = 2; + optional string rowID = 3; + } + + optional string title = 1; + optional string description = 2; + optional string buttonText = 3; + optional ListType listType = 4; + repeated Section sections = 5; + optional ProductListInfo productListInfo = 6; + optional string footerText = 7; + optional ContextInfo contextInfo = 8; +} + +message OrderMessage { + enum OrderSurface { + CATALOG = 1; + } + + enum OrderStatus { + INQUIRY = 1; + ACCEPTED = 2; + DECLINED = 3; + } + + optional string orderID = 1; + optional bytes thumbnail = 2; + optional int32 itemCount = 3; + optional OrderStatus status = 4; + optional OrderSurface surface = 5; + optional string message = 6; + optional string orderTitle = 7; + optional string sellerJID = 8; + optional string token = 9; + optional int64 totalAmount1000 = 10; + optional string totalCurrencyCode = 11; + optional ContextInfo contextInfo = 17; + optional int32 messageVersion = 12; + optional WACommon.MessageKey orderRequestMessageID = 13; + optional string catalogType = 15; +} + +message StatusQuotedMessage { + enum StatusQuotedMessageType { + QUESTION_ANSWER = 1; + } + + optional StatusQuotedMessageType type = 1; + optional string text = 2; + optional bytes thumbnail = 3; + optional WACommon.MessageKey originalStatusID = 4; +} + +message PaymentInviteMessage { + enum ServiceType { + UNKNOWN = 0; + FBPAY = 1; + NOVI = 2; + UPI = 3; + } + + optional ServiceType serviceType = 1; + optional int64 expiryTimestamp = 2; +} + +message HighlyStructuredMessage { + message HSMLocalizableParameter { + message HSMDateTime { + message HSMDateTimeComponent { + enum CalendarType { + GREGORIAN = 1; + SOLAR_HIJRI = 2; + } + + enum DayOfWeekType { + MONDAY = 1; + TUESDAY = 2; + WEDNESDAY = 3; + THURSDAY = 4; + FRIDAY = 5; + SATURDAY = 6; + SUNDAY = 7; + } + + optional DayOfWeekType dayOfWeek = 1; + optional uint32 year = 2; + optional uint32 month = 3; + optional uint32 dayOfMonth = 4; + optional uint32 hour = 5; + optional uint32 minute = 6; + optional CalendarType calendar = 7; + } + + message HSMDateTimeUnixEpoch { + optional int64 timestamp = 1; + } + + oneof datetimeOneof { + HSMDateTimeComponent component = 1; + HSMDateTimeUnixEpoch unixEpoch = 2; + } + } + + message HSMCurrency { + optional string currencyCode = 1; + optional int64 amount1000 = 2; + } + + oneof paramOneof { + HSMCurrency currency = 2; + HSMDateTime dateTime = 3; + } + + optional string default = 1; + } + + optional string namespace = 1; + optional string elementName = 2; + repeated string params = 3; + optional string fallbackLg = 4; + optional string fallbackLc = 5; + repeated HSMLocalizableParameter localizableParams = 6; + optional string deterministicLg = 7; + optional string deterministicLc = 8; + optional TemplateMessage hydratedHsm = 9; +} + +message PeerDataOperationRequestResponseMessage { + message PeerDataOperationResult { + enum HistorySyncChunkRetryResponseCode { + GENERATION_ERROR = 1; + CHUNK_CONSUMED = 2; + TIMEOUT = 3; + SESSION_EXHAUSTED = 4; + CHUNK_EXHAUSTED = 5; + DUPLICATED_REQUEST = 6; + } + + enum FullHistorySyncOnDemandResponseCode { + REQUEST_SUCCESS = 0; + REQUEST_TIME_EXPIRED = 1; + DECLINED_SHARING_HISTORY = 2; + GENERIC_ERROR = 3; + ERROR_REQUEST_ON_NON_SMB_PRIMARY = 4; + ERROR_HOSTED_DEVICE_NOT_CONNECTED = 5; + ERROR_HOSTED_DEVICE_LOGIN_TIME_NOT_SET = 6; + } + + message HistorySyncChunkRetryResponse { + optional HistorySyncType syncType = 1; + optional uint32 chunkOrder = 2; + optional string requestID = 3; + optional HistorySyncChunkRetryResponseCode responseCode = 4; + optional bool canRecover = 5; + } + + message SyncDSnapshotFatalRecoveryResponse { + optional bytes collectionSnapshot = 1; + optional bool isCompressed = 2; + } + + message CompanionCanonicalUserNonceFetchResponse { + optional string nonce = 1; + optional string waFbid = 2; + optional bool forceRefresh = 3; + } + + message CompanionMetaNonceFetchResponse { + optional string nonce = 1; + } + + message WaffleNonceFetchResponse { + optional string nonce = 1; + optional string waEntFbid = 2; + } + + message FullHistorySyncOnDemandRequestResponse { + optional FullHistorySyncOnDemandRequestMetadata requestMetadata = 1; + optional FullHistorySyncOnDemandResponseCode responseCode = 2; + } + + message PlaceholderMessageResendResponse { + optional bytes webMessageInfoBytes = 1; + } + + message LinkPreviewResponse { + message PaymentLinkPreviewMetadata { + optional bool isBusinessVerified = 1; + optional string providerName = 2; + } + + message LinkPreviewHighQualityThumbnail { + optional string directPath = 1; + optional string thumbHash = 2; + optional string encThumbHash = 3; + optional bytes mediaKey = 4; + optional int64 mediaKeyTimestampMS = 5; + optional int32 thumbWidth = 6; + optional int32 thumbHeight = 7; + } + + optional string URL = 1; + optional string title = 2; + optional string description = 3; + optional bytes thumbData = 4; + optional string matchText = 6; + optional string previewType = 7; + optional LinkPreviewHighQualityThumbnail hqThumbnail = 8; + optional PaymentLinkPreviewMetadata previewMetadata = 9; + } + + optional WAMmsRetry.MediaRetryNotification.ResultType mediaUploadResult = 1; + optional StickerMessage stickerMessage = 2; + optional LinkPreviewResponse linkPreviewResponse = 3; + optional PlaceholderMessageResendResponse placeholderMessageResendResponse = 4; + optional WaffleNonceFetchResponse waffleNonceFetchRequestResponse = 5; + optional FullHistorySyncOnDemandRequestResponse fullHistorySyncOnDemandRequestResponse = 6; + optional CompanionMetaNonceFetchResponse companionMetaNonceFetchRequestResponse = 7; + optional SyncDSnapshotFatalRecoveryResponse syncdSnapshotFatalRecoveryResponse = 8; + optional CompanionCanonicalUserNonceFetchResponse companionCanonicalUserNonceFetchRequestResponse = 9; + optional HistorySyncChunkRetryResponse historySyncChunkRetryResponse = 10; + } + + optional PeerDataOperationRequestType peerDataOperationRequestType = 1; + optional string stanzaID = 2; + repeated PeerDataOperationResult peerDataOperationResult = 3; +} + +message PeerDataOperationRequestMessage { + message GalaxyFlowAction { + enum GalaxyFlowActionType { + NOTIFY_LAUNCH = 1; + } + + optional GalaxyFlowActionType type = 1; + optional string flowID = 2; + optional string stanzaID = 3; + } + + message HistorySyncChunkRetryRequest { + optional HistorySyncType syncType = 1; + optional uint32 chunkOrder = 2; + optional string chunkNotificationID = 3; + optional bool regenerateChunk = 4; + } + + message SyncDCollectionFatalRecoveryRequest { + optional string collectionName = 1; + optional int64 timestamp = 2; + } + + message PlaceholderMessageResendRequest { + optional WACommon.MessageKey messageKey = 1; + } + + message FullHistorySyncOnDemandRequest { + optional FullHistorySyncOnDemandRequestMetadata requestMetadata = 1; + optional WACompanionReg.DeviceProps.HistorySyncConfig historySyncConfig = 2; + } + + message HistorySyncOnDemandRequest { + optional string chatJID = 1; + optional string oldestMsgID = 2; + optional bool oldestMsgFromMe = 3; + optional int32 onDemandMsgCount = 4; + optional int64 oldestMsgTimestampMS = 5; + optional string accountLid = 6; + } + + message RequestUrlPreview { + optional string URL = 1; + optional bool includeHqThumbnail = 2; + } + + message RequestStickerReupload { + optional string fileSHA256 = 1; + } + + optional PeerDataOperationRequestType peerDataOperationRequestType = 1; + repeated RequestStickerReupload requestStickerReupload = 2; + repeated RequestUrlPreview requestURLPreview = 3; + optional HistorySyncOnDemandRequest historySyncOnDemandRequest = 4; + repeated PlaceholderMessageResendRequest placeholderMessageResendRequest = 5; + optional FullHistorySyncOnDemandRequest fullHistorySyncOnDemandRequest = 6; + optional SyncDCollectionFatalRecoveryRequest syncdCollectionFatalRecoveryRequest = 7; + optional HistorySyncChunkRetryRequest historySyncChunkRetryRequest = 8; + optional GalaxyFlowAction galaxyFlowAction = 9; +} + +message RequestWelcomeMessageMetadata { + enum LocalChatState { + EMPTY = 0; + NON_EMPTY = 1; + } + + optional LocalChatState localChatState = 1; +} + +message ProtocolMessage { + enum Type { + REVOKE = 0; + EPHEMERAL_SETTING = 3; + EPHEMERAL_SYNC_RESPONSE = 4; + HISTORY_SYNC_NOTIFICATION = 5; + APP_STATE_SYNC_KEY_SHARE = 6; + APP_STATE_SYNC_KEY_REQUEST = 7; + MSG_FANOUT_BACKFILL_REQUEST = 8; + INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC = 9; + APP_STATE_FATAL_EXCEPTION_NOTIFICATION = 10; + SHARE_PHONE_NUMBER = 11; + MESSAGE_EDIT = 14; + PEER_DATA_OPERATION_REQUEST_MESSAGE = 16; + PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE = 17; + REQUEST_WELCOME_MESSAGE = 18; + BOT_FEEDBACK_MESSAGE = 19; + MEDIA_NOTIFY_MESSAGE = 20; + CLOUD_API_THREAD_CONTROL_NOTIFICATION = 21; + LID_MIGRATION_MAPPING_SYNC = 22; + REMINDER_MESSAGE = 23; + BOT_MEMU_ONBOARDING_MESSAGE = 24; + STATUS_MENTION_MESSAGE = 25; + STOP_GENERATION_MESSAGE = 26; + LIMIT_SHARING = 27; + AI_PSI_METADATA = 28; + AI_QUERY_FANOUT = 29; + GROUP_MEMBER_LABEL_CHANGE = 30; + } + + optional WACommon.MessageKey key = 1; + optional Type type = 2; + optional uint32 ephemeralExpiration = 4; + optional int64 ephemeralSettingTimestamp = 5; + optional HistorySyncNotification historySyncNotification = 6; + optional AppStateSyncKeyShare appStateSyncKeyShare = 7; + optional AppStateSyncKeyRequest appStateSyncKeyRequest = 8; + optional InitialSecurityNotificationSettingSync initialSecurityNotificationSettingSync = 9; + optional AppStateFatalExceptionNotification appStateFatalExceptionNotification = 10; + optional DisappearingMode disappearingMode = 11; + optional Message editedMessage = 14; + optional int64 timestampMS = 15; + optional PeerDataOperationRequestMessage peerDataOperationRequestMessage = 16; + optional PeerDataOperationRequestResponseMessage peerDataOperationRequestResponseMessage = 17; + optional WAAICommon.BotFeedbackMessage botFeedbackMessage = 18; + optional string invokerJID = 19; + optional RequestWelcomeMessageMetadata requestWelcomeMessageMetadata = 20; + optional MediaNotifyMessage mediaNotifyMessage = 21; + optional CloudAPIThreadControlNotification cloudApiThreadControlNotification = 22; + optional LIDMigrationMappingSyncMessage lidMigrationMappingSyncMessage = 23; + optional WACommon.LimitSharing limitSharing = 24; + optional bytes aiPsiMetadata = 25; + optional AIQueryFanout aiQueryFanout = 26; + optional MemberLabel memberLabel = 27; +} + +message CloudAPIThreadControlNotification { + enum CloudAPIThreadControl { + UNKNOWN = 0; + CONTROL_PASSED = 1; + CONTROL_TAKEN = 2; + } + + message CloudAPIThreadControlNotificationContent { + optional string handoffNotificationText = 1; + optional string extraJSON = 2; + } + + optional CloudAPIThreadControl status = 1; + optional int64 senderNotificationTimestampMS = 2; + optional string consumerLid = 3; + optional string consumerPhoneNumber = 4; + optional CloudAPIThreadControlNotificationContent notificationContent = 5; + optional bool shouldSuppressNotification = 6; +} + +message VideoMessage { + enum VideoSourceType { + USER_VIDEO = 0; + AI_GENERATED = 1; + } + + enum Attribution { + NONE = 0; + GIPHY = 1; + TENOR = 2; + KLIPY = 3; + } + + optional string URL = 1; + optional string mimetype = 2; + optional bytes fileSHA256 = 3; + optional uint64 fileLength = 4; + optional uint32 seconds = 5; + optional bytes mediaKey = 6; + optional string caption = 7; + optional bool gifPlayback = 8; + optional uint32 height = 9; + optional uint32 width = 10; + optional bytes fileEncSHA256 = 11; + repeated InteractiveAnnotation interactiveAnnotations = 12; + optional string directPath = 13; + optional int64 mediaKeyTimestamp = 14; + optional bytes JPEGThumbnail = 16; + optional ContextInfo contextInfo = 17; + optional bytes streamingSidecar = 18; + optional Attribution gifAttribution = 19; + optional bool viewOnce = 20; + optional string thumbnailDirectPath = 21; + optional bytes thumbnailSHA256 = 22; + optional bytes thumbnailEncSHA256 = 23; + optional string staticURL = 24; + repeated InteractiveAnnotation annotations = 25; + optional string accessibilityLabel = 26; + repeated ProcessedVideo processedVideos = 27; + optional uint32 externalShareFullVideoDurationInSeconds = 28; + optional uint64 motionPhotoPresentationOffsetMS = 29; + optional string metadataURL = 30; + optional VideoSourceType videoSourceType = 31; + optional MediaKeyDomain mediaKeyDomain = 32; +} + +message ExtendedTextMessage { + enum InviteLinkGroupType { + DEFAULT = 0; + PARENT = 1; + SUB = 2; + DEFAULT_SUB = 3; + } + + enum PreviewType { + NONE = 0; + VIDEO = 1; + PLACEHOLDER = 4; + IMAGE = 5; + PAYMENT_LINKS = 6; + PROFILE = 7; + } + + enum FontType { + SYSTEM = 0; + SYSTEM_TEXT = 1; + FB_SCRIPT = 2; + SYSTEM_BOLD = 6; + MORNINGBREEZE_REGULAR = 7; + CALISTOGA_REGULAR = 8; + EXO2_EXTRABOLD = 9; + COURIERPRIME_BOLD = 10; + } + + optional string text = 1; + optional string matchedText = 2; + optional string description = 5; + optional string title = 6; + optional fixed32 textArgb = 7; + optional fixed32 backgroundArgb = 8; + optional FontType font = 9; + optional PreviewType previewType = 10; + optional bytes JPEGThumbnail = 16; + optional ContextInfo contextInfo = 17; + optional bool doNotPlayInline = 18; + optional string thumbnailDirectPath = 19; + optional bytes thumbnailSHA256 = 20; + optional bytes thumbnailEncSHA256 = 21; + optional bytes mediaKey = 22; + optional int64 mediaKeyTimestamp = 23; + optional uint32 thumbnailHeight = 24; + optional uint32 thumbnailWidth = 25; + optional InviteLinkGroupType inviteLinkGroupType = 26; + optional string inviteLinkParentGroupSubjectV2 = 27; + optional bytes inviteLinkParentGroupThumbnailV2 = 28; + optional InviteLinkGroupType inviteLinkGroupTypeV2 = 29; + optional bool viewOnce = 30; + optional uint32 videoHeight = 31; + optional uint32 videoWidth = 32; + optional MMSThumbnailMetadata faviconMMSMetadata = 33; + optional LinkPreviewMetadata linkPreviewMetadata = 34; + optional PaymentLinkMetadata paymentLinkMetadata = 35; + repeated VideoEndCard endCardTiles = 36; + optional string videoContentURL = 37; + optional EmbeddedMusic musicMetadata = 38; + optional PaymentExtendedMetadata paymentExtendedMetadata = 39; +} + +message LinkPreviewMetadata { + enum SocialMediaPostType { + NONE = 0; + REEL = 1; + LIVE_VIDEO = 2; + LONG_VIDEO = 3; + SINGLE_IMAGE = 4; + CAROUSEL = 5; + } + + optional PaymentLinkMetadata paymentLinkMetadata = 1; + optional URLMetadata urlMetadata = 2; + optional uint32 fbExperimentID = 3; + optional uint32 linkMediaDuration = 4; + optional SocialMediaPostType socialMediaPostType = 5; + optional bool linkInlineVideoMuted = 6; + optional string videoContentURL = 7; + optional EmbeddedMusic musicMetadata = 8; + optional string videoContentCaption = 9; +} + +message PaymentLinkMetadata { + message PaymentLinkHeader { + enum PaymentLinkHeaderType { + LINK_PREVIEW = 0; + ORDER = 1; + } + + optional PaymentLinkHeaderType headerType = 1; + } + + message PaymentLinkProvider { + optional string paramsJSON = 1; + } + + message PaymentLinkButton { + optional string displayText = 1; + } + + optional PaymentLinkButton button = 1; + optional PaymentLinkHeader header = 2; + optional PaymentLinkProvider provider = 3; +} + +message StatusNotificationMessage { + enum StatusNotificationType { + UNKNOWN = 0; + STATUS_ADD_YOURS = 1; + STATUS_RESHARE = 2; + STATUS_QUESTION_ANSWER_RESHARE = 3; + } + + optional WACommon.MessageKey responseMessageKey = 1; + optional WACommon.MessageKey originalMessageKey = 2; + optional StatusNotificationType type = 3; +} + +message InvoiceMessage { + enum AttachmentType { + IMAGE = 0; + PDF = 1; + } + + optional string note = 1; + optional string token = 2; + optional AttachmentType attachmentType = 3; + optional string attachmentMimetype = 4; + optional bytes attachmentMediaKey = 5; + optional int64 attachmentMediaKeyTimestamp = 6; + optional bytes attachmentFileSHA256 = 7; + optional bytes attachmentFileEncSHA256 = 8; + optional string attachmentDirectPath = 9; + optional bytes attachmentJPEGThumbnail = 10; +} + +message ImageMessage { + enum ImageSourceType { + USER_IMAGE = 0; + AI_GENERATED = 1; + AI_MODIFIED = 2; + RASTERIZED_TEXT_STATUS = 3; + } + + optional string URL = 1; + optional string mimetype = 2; + optional string caption = 3; + optional bytes fileSHA256 = 4; + optional uint64 fileLength = 5; + optional uint32 height = 6; + optional uint32 width = 7; + optional bytes mediaKey = 8; + optional bytes fileEncSHA256 = 9; + repeated InteractiveAnnotation interactiveAnnotations = 10; + optional string directPath = 11; + optional int64 mediaKeyTimestamp = 12; + optional bytes JPEGThumbnail = 16; + optional ContextInfo contextInfo = 17; + optional bytes firstScanSidecar = 18; + optional uint32 firstScanLength = 19; + optional uint32 experimentGroupID = 20; + optional bytes scansSidecar = 21; + repeated uint32 scanLengths = 22; + optional bytes midQualityFileSHA256 = 23; + optional bytes midQualityFileEncSHA256 = 24; + optional bool viewOnce = 25; + optional string thumbnailDirectPath = 26; + optional bytes thumbnailSHA256 = 27; + optional bytes thumbnailEncSHA256 = 28; + optional string staticURL = 29; + repeated InteractiveAnnotation annotations = 30; + optional ImageSourceType imageSourceType = 31; + optional string accessibilityLabel = 32; + optional MediaKeyDomain mediaKeyDomain = 33; + optional string qrURL = 34; +} + +message ContextInfo { + enum QuotedType { + EXPLICIT = 0; + AUTO = 1; + } + + enum ForwardOrigin { + UNKNOWN = 0; + CHAT = 1; + STATUS = 2; + CHANNELS = 3; + META_AI = 4; + UGC = 5; + } + + enum StatusSourceType { + IMAGE = 0; + VIDEO = 1; + GIF = 2; + AUDIO = 3; + TEXT = 4; + MUSIC_STANDALONE = 5; + } + + enum PairedMediaType { + NOT_PAIRED_MEDIA = 0; + SD_VIDEO_PARENT = 1; + HD_VIDEO_CHILD = 2; + SD_IMAGE_PARENT = 3; + HD_IMAGE_CHILD = 4; + MOTION_PHOTO_PARENT = 5; + MOTION_PHOTO_CHILD = 6; + HEVC_VIDEO_PARENT = 7; + HEVC_VIDEO_CHILD = 8; + } + + enum StatusAttributionType { + NONE = 0; + RESHARED_FROM_MENTION = 1; + RESHARED_FROM_POST = 2; + RESHARED_FROM_POST_MANY_TIMES = 3; + FORWARDED_FROM_STATUS = 4; + } + + message StatusAudienceMetadata { + enum AudienceType { + UNKNOWN = 0; + CLOSE_FRIENDS = 1; + } + + optional AudienceType audienceType = 1; + } + + message DataSharingContext { + enum DataSharingFlags { + SHOW_MM_DISCLOSURE_ON_CLICK = 1; + SHOW_MM_DISCLOSURE_ON_READ = 2; + } + + message Parameters { + optional string key = 1; + optional string stringData = 2; + optional int64 intData = 3; + optional float floatData = 4; + optional Parameters contents = 5; + } + + optional bool showMmDisclosure = 1; + optional string encryptedSignalTokenConsented = 2; + repeated Parameters parameters = 3; + optional int32 dataSharingFlags = 4; + } + + message ForwardedNewsletterMessageInfo { + enum ContentType { + UPDATE = 1; + UPDATE_CARD = 2; + LINK_CARD = 3; + } + + optional string newsletterJID = 1; + optional int32 serverMessageID = 2; + optional string newsletterName = 3; + optional ContentType contentType = 4; + optional string accessibilityText = 5; + } + + message ExternalAdReplyInfo { + enum AdType { + CTWA = 0; + CAWC = 1; + } + + enum MediaType { + NONE = 0; + IMAGE = 1; + VIDEO = 2; + } + + optional string title = 1; + optional string body = 2; + optional MediaType mediaType = 3; + optional string thumbnailURL = 4; + optional string mediaURL = 5; + optional bytes thumbnail = 6; + optional string sourceType = 7; + optional string sourceID = 8; + optional string sourceURL = 9; + optional bool containsAutoReply = 10; + optional bool renderLargerThumbnail = 11; + optional bool showAdAttribution = 12; + optional string ctwaClid = 13; + optional string ref = 14; + optional bool clickToWhatsappCall = 15; + optional bool adContextPreviewDismissed = 16; + optional string sourceApp = 17; + optional bool automatedGreetingMessageShown = 18; + optional string greetingMessageBody = 19; + optional string ctaPayload = 20; + optional bool disableNudge = 21; + optional string originalImageURL = 22; + optional string automatedGreetingMessageCtaType = 23; + optional bool wtwaAdFormat = 24; + optional AdType adType = 25; + optional string wtwaWebsiteURL = 26; + optional string adPreviewURL = 27; + } + + message AdReplyInfo { + enum MediaType { + NONE = 0; + IMAGE = 1; + VIDEO = 2; + } + + optional string advertiserName = 1; + optional MediaType mediaType = 2; + optional bytes JPEGThumbnail = 16; + optional string caption = 17; + } + + message FeatureEligibilities { + optional bool cannotBeReactedTo = 1; + optional bool cannotBeRanked = 2; + optional bool canRequestFeedback = 3; + optional bool canBeReshared = 4; + optional bool canReceiveMultiReact = 5; + } + + message QuestionReplyQuotedMessage { + optional int32 serverQuestionID = 1; + optional Message quotedQuestion = 2; + optional Message quotedResponse = 3; + } + + message UTMInfo { + optional string utmSource = 1; + optional string utmCampaign = 2; + } + + message BusinessMessageForwardInfo { + optional string businessOwnerJID = 1; + } + + optional string stanzaID = 1; + optional string participant = 2; + optional Message quotedMessage = 3; + optional string remoteJID = 4; + repeated string mentionedJID = 15; + optional string conversionSource = 18; + optional bytes conversionData = 19; + optional uint32 conversionDelaySeconds = 20; + optional uint32 forwardingScore = 21; + optional bool isForwarded = 22; + optional AdReplyInfo quotedAd = 23; + optional WACommon.MessageKey placeholderKey = 24; + optional uint32 expiration = 25; + optional int64 ephemeralSettingTimestamp = 26; + optional bytes ephemeralSharedSecret = 27; + optional ExternalAdReplyInfo externalAdReply = 28; + optional string entryPointConversionSource = 29; + optional string entryPointConversionApp = 30; + optional uint32 entryPointConversionDelaySeconds = 31; + optional DisappearingMode disappearingMode = 32; + optional ActionLink actionLink = 33; + optional string groupSubject = 34; + optional string parentGroupJID = 35; + optional string trustBannerType = 37; + optional uint32 trustBannerAction = 38; + optional bool isSampled = 39; + repeated GroupMention groupMentions = 40; + optional UTMInfo utm = 41; + optional ForwardedNewsletterMessageInfo forwardedNewsletterMessageInfo = 43; + optional BusinessMessageForwardInfo businessMessageForwardInfo = 44; + optional string smbClientCampaignID = 45; + optional string smbServerCampaignID = 46; + optional DataSharingContext dataSharingContext = 47; + optional bool alwaysShowAdAttribution = 48; + optional FeatureEligibilities featureEligibilities = 49; + optional string entryPointConversionExternalSource = 50; + optional string entryPointConversionExternalMedium = 51; + optional string ctwaSignals = 54; + optional bytes ctwaPayload = 55; + optional WAAICommon.ForwardedAIBotMessageInfo forwardedAiBotMessageInfo = 56; + optional StatusAttributionType statusAttributionType = 57; + optional UrlTrackingMap urlTrackingMap = 58; + optional PairedMediaType pairedMediaType = 59; + optional uint32 rankingVersion = 60; + optional MemberLabel memberLabel = 62; + optional bool isQuestion = 63; + optional StatusSourceType statusSourceType = 64; + repeated WAStatusAttributions.StatusAttribution statusAttributions = 65; + optional bool isGroupStatus = 66; + optional ForwardOrigin forwardOrigin = 67; + optional QuestionReplyQuotedMessage questionReplyQuotedMessage = 68; + optional StatusAudienceMetadata statusAudienceMetadata = 69; + optional uint32 nonJIDMentions = 70; + optional QuotedType quotedType = 71; + optional WAAICommon.BotMessageSharingInfo botMessageSharingInfo = 72; +} + +message MessageAssociation { + enum AssociationType { + UNKNOWN = 0; + MEDIA_ALBUM = 1; + BOT_PLUGIN = 2; + EVENT_COVER_IMAGE = 3; + STATUS_POLL = 4; + HD_VIDEO_DUAL_UPLOAD = 5; + STATUS_EXTERNAL_RESHARE = 6; + MEDIA_POLL = 7; + STATUS_ADD_YOURS = 8; + STATUS_NOTIFICATION = 9; + HD_IMAGE_DUAL_UPLOAD = 10; + STICKER_ANNOTATION = 11; + MOTION_PHOTO = 12; + STATUS_LINK_ACTION = 13; + VIEW_ALL_REPLIES = 14; + STATUS_ADD_YOURS_AI_IMAGINE = 15; + STATUS_QUESTION = 16; + STATUS_ADD_YOURS_DIWALI = 17; + STATUS_REACTION = 18; + HEVC_VIDEO_DUAL_UPLOAD = 19; + } + + optional AssociationType associationType = 1; + optional WACommon.MessageKey parentMessageKey = 2; + optional int32 messageIndex = 3; +} + +message ThreadID { + enum ThreadType { + UNKNOWN = 0; + VIEW_REPLIES = 1; + AI_THREAD = 2; + } + + optional ThreadType threadType = 1; + optional WACommon.MessageKey threadKey = 2; +} + +message MessageContextInfo { + enum MessageAddonExpiryType { + STATIC = 1; + DEPENDENT_ON_PARENT = 2; + } + + optional DeviceListMetadata deviceListMetadata = 1; + optional int32 deviceListMetadataVersion = 2; + optional bytes messageSecret = 3; + optional bytes paddingBytes = 4; + optional uint32 messageAddOnDurationInSecs = 5; + optional bytes botMessageSecret = 6; + optional WAAICommon.BotMetadata botMetadata = 7; + optional int32 reportingTokenVersion = 8; + optional MessageAddonExpiryType messageAddOnExpiryType = 9; + optional MessageAssociation messageAssociation = 10; + optional bool capiCreatedGroup = 11; + optional string supportPayload = 12; + optional WACommon.LimitSharing limitSharing = 13; + optional WACommon.LimitSharing limitSharingV2 = 14; + repeated ThreadID threadID = 15; +} + +message InteractiveAnnotation { + enum StatusLinkType { + RASTERIZED_LINK_PREVIEW = 1; + RASTERIZED_LINK_TRUNCATED = 2; + RASTERIZED_LINK_FULL_URL = 3; + } + + oneof action { + Location location = 2; + ContextInfo.ForwardedNewsletterMessageInfo newsletter = 3; + bool embeddedAction = 6; + TapLinkAction tapAction = 7; + } + + repeated Point polygonVertices = 1; + optional bool shouldSkipConfirmation = 4; + optional EmbeddedContent embeddedContent = 5; + optional StatusLinkType statusLinkType = 8; +} + +message HydratedTemplateButton { + message HydratedURLButton { + enum WebviewPresentationType { + FULL = 1; + TALL = 2; + COMPACT = 3; + } + + optional string displayText = 1; + optional string URL = 2; + optional string consentedUsersURL = 3; + optional WebviewPresentationType webviewPresentation = 4; + } + + message HydratedCallButton { + optional string displayText = 1; + optional string phoneNumber = 2; + } + + message HydratedQuickReplyButton { + optional string displayText = 1; + optional string ID = 2; + } + + oneof hydratedButton { + HydratedQuickReplyButton quickReplyButton = 1; + HydratedURLButton urlButton = 2; + HydratedCallButton callButton = 3; + } + + optional uint32 index = 4; +} + +message PaymentBackground { + enum Type { + UNKNOWN = 0; + DEFAULT = 1; + } + + message MediaData { + optional bytes mediaKey = 1; + optional int64 mediaKeyTimestamp = 2; + optional bytes fileSHA256 = 3; + optional bytes fileEncSHA256 = 4; + optional string directPath = 5; + } + + optional string ID = 1; + optional uint64 fileLength = 2; + optional uint32 width = 3; + optional uint32 height = 4; + optional string mimetype = 5; + optional fixed32 placeholderArgb = 6; + optional fixed32 textArgb = 7; + optional fixed32 subtextArgb = 8; + optional MediaData mediaData = 9; + optional Type type = 10; +} + +message DisappearingMode { + enum Trigger { + UNKNOWN = 0; + CHAT_SETTING = 1; + ACCOUNT_SETTING = 2; + BULK_CHANGE = 3; + BIZ_SUPPORTS_FB_HOSTING = 4; + UNKNOWN_GROUPS = 5; + } + + enum Initiator { + CHANGED_IN_CHAT = 0; + INITIATED_BY_ME = 1; + INITIATED_BY_OTHER = 2; + BIZ_UPGRADE_FB_HOSTING = 3; + } + + optional Initiator initiator = 1; + optional Trigger trigger = 2; + optional string initiatorDeviceJID = 3; + optional bool initiatedByMe = 4; +} + +message ProcessedVideo { + enum VideoQuality { + UNDEFINED = 0; + LOW = 1; + MID = 2; + HIGH = 3; + } + + optional string directPath = 1; + optional bytes fileSHA256 = 2; + optional uint32 height = 3; + optional uint32 width = 4; + optional uint64 fileLength = 5; + optional uint32 bitrate = 6; + optional VideoQuality quality = 7; + repeated string capabilities = 8; +} + +message Message { + optional string conversation = 1; + optional SenderKeyDistributionMessage senderKeyDistributionMessage = 2; + optional ImageMessage imageMessage = 3; + optional ContactMessage contactMessage = 4; + optional LocationMessage locationMessage = 5; + optional ExtendedTextMessage extendedTextMessage = 6; + optional DocumentMessage documentMessage = 7; + optional AudioMessage audioMessage = 8; + optional VideoMessage videoMessage = 9; + optional Call call = 10; + optional Chat chat = 11; + optional ProtocolMessage protocolMessage = 12; + optional ContactsArrayMessage contactsArrayMessage = 13; + optional HighlyStructuredMessage highlyStructuredMessage = 14; + optional SenderKeyDistributionMessage fastRatchetKeySenderKeyDistributionMessage = 15; + optional SendPaymentMessage sendPaymentMessage = 16; + optional LiveLocationMessage liveLocationMessage = 18; + optional RequestPaymentMessage requestPaymentMessage = 22; + optional DeclinePaymentRequestMessage declinePaymentRequestMessage = 23; + optional CancelPaymentRequestMessage cancelPaymentRequestMessage = 24; + optional TemplateMessage templateMessage = 25; + optional StickerMessage stickerMessage = 26; + optional GroupInviteMessage groupInviteMessage = 28; + optional TemplateButtonReplyMessage templateButtonReplyMessage = 29; + optional ProductMessage productMessage = 30; + optional DeviceSentMessage deviceSentMessage = 31; + optional MessageContextInfo messageContextInfo = 35; + optional ListMessage listMessage = 36; + optional FutureProofMessage viewOnceMessage = 37; + optional OrderMessage orderMessage = 38; + optional ListResponseMessage listResponseMessage = 39; + optional FutureProofMessage ephemeralMessage = 40; + optional InvoiceMessage invoiceMessage = 41; + optional ButtonsMessage buttonsMessage = 42; + optional ButtonsResponseMessage buttonsResponseMessage = 43; + optional PaymentInviteMessage paymentInviteMessage = 44; + optional InteractiveMessage interactiveMessage = 45; + optional ReactionMessage reactionMessage = 46; + optional StickerSyncRMRMessage stickerSyncRmrMessage = 47; + optional InteractiveResponseMessage interactiveResponseMessage = 48; + optional PollCreationMessage pollCreationMessage = 49; + optional PollUpdateMessage pollUpdateMessage = 50; + optional KeepInChatMessage keepInChatMessage = 51; + optional FutureProofMessage documentWithCaptionMessage = 53; + optional RequestPhoneNumberMessage requestPhoneNumberMessage = 54; + optional FutureProofMessage viewOnceMessageV2 = 55; + optional EncReactionMessage encReactionMessage = 56; + optional FutureProofMessage editedMessage = 58; + optional FutureProofMessage viewOnceMessageV2Extension = 59; + optional PollCreationMessage pollCreationMessageV2 = 60; + optional ScheduledCallCreationMessage scheduledCallCreationMessage = 61; + optional FutureProofMessage groupMentionedMessage = 62; + optional PinInChatMessage pinInChatMessage = 63; + optional PollCreationMessage pollCreationMessageV3 = 64; + optional ScheduledCallEditMessage scheduledCallEditMessage = 65; + optional VideoMessage ptvMessage = 66; + optional FutureProofMessage botInvokeMessage = 67; + optional CallLogMessage callLogMesssage = 69; + optional MessageHistoryBundle messageHistoryBundle = 70; + optional EncCommentMessage encCommentMessage = 71; + optional BCallMessage bcallMessage = 72; + optional FutureProofMessage lottieStickerMessage = 74; + optional EventMessage eventMessage = 75; + optional EncEventResponseMessage encEventResponseMessage = 76; + optional CommentMessage commentMessage = 77; + optional NewsletterAdminInviteMessage newsletterAdminInviteMessage = 78; + optional PlaceholderMessage placeholderMessage = 80; + optional SecretEncryptedMessage secretEncryptedMessage = 82; + optional AlbumMessage albumMessage = 83; + optional FutureProofMessage eventCoverImage = 85; + optional StickerPackMessage stickerPackMessage = 86; + optional FutureProofMessage statusMentionMessage = 87; + optional PollResultSnapshotMessage pollResultSnapshotMessage = 88; + optional FutureProofMessage pollCreationOptionImageMessage = 90; + optional FutureProofMessage associatedChildMessage = 91; + optional FutureProofMessage groupStatusMentionMessage = 92; + optional FutureProofMessage pollCreationMessageV4 = 93; + optional FutureProofMessage statusAddYours = 95; + optional FutureProofMessage groupStatusMessage = 96; + optional AIRichResponseMessage richResponseMessage = 97; + optional StatusNotificationMessage statusNotificationMessage = 98; + optional FutureProofMessage limitSharingMessage = 99; + optional FutureProofMessage botTaskMessage = 100; + optional FutureProofMessage questionMessage = 101; + optional MessageHistoryNotice messageHistoryNotice = 102; + optional FutureProofMessage groupStatusMessageV2 = 103; + optional FutureProofMessage botForwardedMessage = 104; + optional StatusQuestionAnswerMessage statusQuestionAnswerMessage = 105; + optional FutureProofMessage questionReplyMessage = 106; + optional QuestionResponseMessage questionResponseMessage = 107; + optional StatusQuotedMessage statusQuotedMessage = 109; + optional StatusStickerInteractionMessage statusStickerInteractionMessage = 110; + optional PollCreationMessage pollCreationMessageV5 = 111; + optional PollResultSnapshotMessage pollResultSnapshotMessageV2 = 112; + optional NewsletterFollowerInviteMessage newsletterFollowerInviteMessageV2 = 113; + optional RequestContactInfoMessage requestContactInfoMessage = 114; +} + +message AlbumMessage { + optional uint32 expectedImageCount = 2; + optional uint32 expectedVideoCount = 3; + optional ContextInfo contextInfo = 17; +} + +message MessageHistoryMetadata { + repeated string historyReceivers = 1; + optional int64 oldestMessageTimestamp = 2; + optional int64 messageCount = 3; +} + +message MessageHistoryNotice { + optional ContextInfo contextInfo = 1; + optional MessageHistoryMetadata messageHistoryMetadata = 2; +} + +message MessageHistoryBundle { + optional string mimetype = 1; + optional bytes fileSHA256 = 2; + optional bytes mediaKey = 3; + optional bytes fileEncSHA256 = 4; + optional string directPath = 5; + optional int64 mediaKeyTimestamp = 6; + optional ContextInfo contextInfo = 7; + optional MessageHistoryMetadata messageHistoryMetadata = 8; +} + +message EncEventResponseMessage { + optional WACommon.MessageKey eventCreationMessageKey = 1; + optional bytes encPayload = 2; + optional bytes encIV = 3; +} + +message EventMessage { + optional ContextInfo contextInfo = 1; + optional bool isCanceled = 2; + optional string name = 3; + optional string description = 4; + optional LocationMessage location = 5; + optional string joinLink = 6; + optional int64 startTime = 7; + optional int64 endTime = 8; + optional bool extraGuestsAllowed = 9; + optional bool isScheduleCall = 10; +} + +message CommentMessage { + optional Message message = 1; + optional WACommon.MessageKey targetMessageKey = 2; +} + +message EncCommentMessage { + optional WACommon.MessageKey targetMessageKey = 1; + optional bytes encPayload = 2; + optional bytes encIV = 3; +} + +message EncReactionMessage { + optional WACommon.MessageKey targetMessageKey = 1; + optional bytes encPayload = 2; + optional bytes encIV = 3; +} + +message KeepInChatMessage { + optional WACommon.MessageKey key = 1; + optional KeepType keepType = 2; + optional int64 timestampMS = 3; +} + +message QuestionResponseMessage { + optional WACommon.MessageKey key = 1; + optional string text = 2; +} + +message StatusQuestionAnswerMessage { + optional WACommon.MessageKey key = 1; + optional string text = 2; +} + +message PollResultSnapshotMessage { + message PollVote { + optional string optionName = 1; + optional int64 optionVoteCount = 2; + } + + optional string name = 1; + repeated PollVote pollVotes = 2; + optional ContextInfo contextInfo = 3; + optional PollType pollType = 4; +} + +message PollVoteMessage { + repeated bytes selectedOptions = 1; +} + +message PollEncValue { + optional bytes encPayload = 1; + optional bytes encIV = 2; +} + +message PollUpdateMessageMetadata { +} + +message PollUpdateMessage { + optional WACommon.MessageKey pollCreationMessageKey = 1; + optional PollEncValue vote = 2; + optional PollUpdateMessageMetadata metadata = 3; + optional int64 senderTimestampMS = 4; +} + +message PollCreationMessage { + message Option { + optional string optionName = 1; + optional string optionHash = 2; + } + + optional bytes encKey = 1; + optional string name = 2; + repeated Option options = 3; + optional uint32 selectableOptionsCount = 4; + optional ContextInfo contextInfo = 5; + optional PollContentType pollContentType = 6; + optional PollType pollType = 7; + optional Option correctAnswer = 8; +} + +message StickerSyncRMRMessage { + repeated string filehash = 1; + optional string rmrSource = 2; + optional int64 requestTimestamp = 3; +} + +message ReactionMessage { + optional WACommon.MessageKey key = 1; + optional string text = 2; + optional string groupingKey = 3; + optional int64 senderTimestampMS = 4; +} + +message FutureProofMessage { + optional Message message = 1; +} + +message DeviceSentMessage { + optional string destinationJID = 1; + optional Message message = 2; + optional string phash = 3; +} + +message RequestContactInfoMessage { + optional string text = 1; + optional string ctaButtonText = 2; + optional ContextInfo contextInfo = 3; +} + +message RequestPhoneNumberMessage { + optional ContextInfo contextInfo = 1; +} + +message NewsletterFollowerInviteMessage { + optional string newsletterJID = 1; + optional string newsletterName = 2; + optional bytes JPEGThumbnail = 3; + optional string caption = 4; + optional ContextInfo contextInfo = 5; +} + +message NewsletterAdminInviteMessage { + optional string newsletterJID = 1; + optional string newsletterName = 2; + optional bytes JPEGThumbnail = 3; + optional string caption = 4; + optional int64 inviteExpiration = 5; + optional ContextInfo contextInfo = 6; +} + +message ProductMessage { + message ProductSnapshot { + optional ImageMessage productImage = 1; + optional string productID = 2; + optional string title = 3; + optional string description = 4; + optional string currencyCode = 5; + optional int64 priceAmount1000 = 6; + optional string retailerID = 7; + optional string URL = 8; + optional uint32 productImageCount = 9; + optional string firstImageID = 11; + optional int64 salePriceAmount1000 = 12; + optional string signedURL = 13; + } + + message CatalogSnapshot { + optional ImageMessage catalogImage = 1; + optional string title = 2; + optional string description = 3; + } + + optional ProductSnapshot product = 1; + optional string businessOwnerJID = 2; + optional CatalogSnapshot catalog = 4; + optional string body = 5; + optional string footer = 6; + optional ContextInfo contextInfo = 17; +} + +message TemplateButtonReplyMessage { + optional string selectedID = 1; + optional string selectedDisplayText = 2; + optional ContextInfo contextInfo = 3; + optional uint32 selectedIndex = 4; + optional uint32 selectedCarouselCardIndex = 5; +} + +message TemplateMessage { + message HydratedFourRowTemplate { + oneof title { + DocumentMessage documentMessage = 1; + string hydratedTitleText = 2; + ImageMessage imageMessage = 3; + VideoMessage videoMessage = 4; + LocationMessage locationMessage = 5; + } + + optional string hydratedContentText = 6; + optional string hydratedFooterText = 7; + repeated HydratedTemplateButton hydratedButtons = 8; + optional string templateID = 9; + optional bool maskLinkedDevices = 10; + } + + message FourRowTemplate { + oneof title { + DocumentMessage documentMessage = 1; + HighlyStructuredMessage highlyStructuredMessage = 2; + ImageMessage imageMessage = 3; + VideoMessage videoMessage = 4; + LocationMessage locationMessage = 5; + } + + optional HighlyStructuredMessage content = 6; + optional HighlyStructuredMessage footer = 7; + repeated TemplateButton buttons = 8; + } + + oneof format { + FourRowTemplate fourRowTemplate = 1; + HydratedFourRowTemplate hydratedFourRowTemplate = 2; + InteractiveMessage interactiveMessageTemplate = 5; + } + + optional ContextInfo contextInfo = 3; + optional HydratedFourRowTemplate hydratedTemplate = 4; + optional string templateID = 9; +} + +message StickerMessage { + optional string URL = 1; + optional bytes fileSHA256 = 2; + optional bytes fileEncSHA256 = 3; + optional bytes mediaKey = 4; + optional string mimetype = 5; + optional uint32 height = 6; + optional uint32 width = 7; + optional string directPath = 8; + optional uint64 fileLength = 9; + optional int64 mediaKeyTimestamp = 10; + optional uint32 firstFrameLength = 11; + optional bytes firstFrameSidecar = 12; + optional bool isAnimated = 13; + optional bytes pngThumbnail = 16; + optional ContextInfo contextInfo = 17; + optional int64 stickerSentTS = 18; + optional bool isAvatar = 19; + optional bool isAiSticker = 20; + optional bool isLottie = 21; + optional string accessibilityLabel = 22; + optional MediaKeyDomain mediaKeyDomain = 23; +} + +message LiveLocationMessage { + optional double degreesLatitude = 1; + optional double degreesLongitude = 2; + optional uint32 accuracyInMeters = 3; + optional float speedInMps = 4; + optional uint32 degreesClockwiseFromMagneticNorth = 5; + optional string caption = 6; + optional int64 sequenceNumber = 7; + optional uint32 timeOffset = 8; + optional bytes JPEGThumbnail = 16; + optional ContextInfo contextInfo = 17; +} + +message CancelPaymentRequestMessage { + optional WACommon.MessageKey key = 1; +} + +message DeclinePaymentRequestMessage { + optional WACommon.MessageKey key = 1; +} + +message RequestPaymentMessage { + optional Message noteMessage = 4; + optional string currencyCodeIso4217 = 1; + optional uint64 amount1000 = 2; + optional string requestFrom = 3; + optional int64 expiryTimestamp = 5; + optional Money amount = 6; + optional PaymentBackground background = 7; +} + +message SendPaymentMessage { + optional Message noteMessage = 2; + optional WACommon.MessageKey requestMessageKey = 3; + optional PaymentBackground background = 4; + optional string transactionData = 5; +} + +message ContactsArrayMessage { + optional string displayName = 1; + repeated ContactMessage contacts = 2; + optional ContextInfo contextInfo = 17; +} + +message InitialSecurityNotificationSettingSync { + optional bool securityNotificationEnabled = 1; +} + +message FullHistorySyncOnDemandRequestMetadata { + optional string requestID = 1; +} + +message AppStateFatalExceptionNotification { + repeated string collectionNames = 1; + optional int64 timestamp = 2; +} + +message AppStateSyncKeyRequest { + repeated AppStateSyncKeyId keyIDs = 1; +} + +message AppStateSyncKeyShare { + repeated AppStateSyncKey keys = 1; +} + +message AppStateSyncKeyData { + optional bytes keyData = 1; + optional AppStateSyncKeyFingerprint fingerprint = 2; + optional int64 timestamp = 3; +} + +message AppStateSyncKeyFingerprint { + optional uint32 rawID = 1; + optional uint32 currentIndex = 2; + repeated uint32 deviceIndexes = 3 [packed=true]; +} + +message AppStateSyncKeyId { + optional bytes keyID = 1; +} + +message AppStateSyncKey { + optional AppStateSyncKeyId keyID = 1; + optional AppStateSyncKeyData keyData = 2; +} + +message HistorySyncNotification { + optional bytes fileSHA256 = 1; + optional uint64 fileLength = 2; + optional bytes mediaKey = 3; + optional bytes fileEncSHA256 = 4; + optional string directPath = 5; + optional HistorySyncType syncType = 6; + optional uint32 chunkOrder = 7; + optional string originalMessageID = 8; + optional uint32 progress = 9; + optional int64 oldestMsgInChunkTimestampSec = 10; + optional bytes initialHistBootstrapInlinePayload = 11; + optional string peerDataRequestSessionID = 12; + optional FullHistorySyncOnDemandRequestMetadata fullHistorySyncOnDemandRequestMetadata = 13; + optional string encHandle = 14; +} + +message Chat { + optional string displayName = 1; + optional string ID = 2; +} + +message Call { + optional bytes callKey = 1; + optional string conversionSource = 2; + optional bytes conversionData = 3; + optional uint32 conversionDelaySeconds = 4; + optional string ctwaSignals = 5; + optional bytes ctwaPayload = 6; + optional ContextInfo contextInfo = 7; + optional string nativeFlowCallButtonPayload = 8; + optional string deeplinkPayload = 9; +} + +message AudioMessage { + optional string URL = 1; + optional string mimetype = 2; + optional bytes fileSHA256 = 3; + optional uint64 fileLength = 4; + optional uint32 seconds = 5; + optional bool PTT = 6; + optional bytes mediaKey = 7; + optional bytes fileEncSHA256 = 8; + optional string directPath = 9; + optional int64 mediaKeyTimestamp = 10; + optional ContextInfo contextInfo = 17; + optional bytes streamingSidecar = 18; + optional bytes waveform = 19; + optional fixed32 backgroundArgb = 20; + optional bool viewOnce = 21; + optional string accessibilityLabel = 22; + optional MediaKeyDomain mediaKeyDomain = 23; +} + +message DocumentMessage { + optional string URL = 1; + optional string mimetype = 2; + optional string title = 3; + optional bytes fileSHA256 = 4; + optional uint64 fileLength = 5; + optional uint32 pageCount = 6; + optional bytes mediaKey = 7; + optional string fileName = 8; + optional bytes fileEncSHA256 = 9; + optional string directPath = 10; + optional int64 mediaKeyTimestamp = 11; + optional bool contactVcard = 12; + optional string thumbnailDirectPath = 13; + optional bytes thumbnailSHA256 = 14; + optional bytes thumbnailEncSHA256 = 15; + optional bytes JPEGThumbnail = 16; + optional ContextInfo contextInfo = 17; + optional uint32 thumbnailHeight = 18; + optional uint32 thumbnailWidth = 19; + optional string caption = 20; + optional string accessibilityLabel = 21; + optional MediaKeyDomain mediaKeyDomain = 22; +} + +message URLMetadata { + optional uint32 fbExperimentID = 1; +} + +message PaymentExtendedMetadata { + optional uint32 type = 1; + optional string platform = 2; + optional string messageParamsJSON = 3; +} + +message MMSThumbnailMetadata { + optional string thumbnailDirectPath = 1; + optional bytes thumbnailSHA256 = 2; + optional bytes thumbnailEncSHA256 = 3; + optional bytes mediaKey = 4; + optional int64 mediaKeyTimestamp = 5; + optional uint32 thumbnailHeight = 6; + optional uint32 thumbnailWidth = 7; + optional MediaKeyDomain mediaKeyDomain = 8; +} + +message LocationMessage { + optional double degreesLatitude = 1; + optional double degreesLongitude = 2; + optional string name = 3; + optional string address = 4; + optional string URL = 5; + optional bool isLive = 6; + optional uint32 accuracyInMeters = 7; + optional float speedInMps = 8; + optional uint32 degreesClockwiseFromMagneticNorth = 9; + optional string comment = 11; + optional bytes JPEGThumbnail = 16; + optional ContextInfo contextInfo = 17; +} + +message ContactMessage { + optional string displayName = 1; + optional string vcard = 16; + optional ContextInfo contextInfo = 17; +} + +message SenderKeyDistributionMessage { + optional string groupID = 1; + optional bytes axolotlSenderKeyDistributionMessage = 2; +} + +message VideoEndCard { + required string username = 1; + required string caption = 2; + required string thumbnailImageURL = 3; + required string profilePictureURL = 4; +} + +message DeviceListMetadata { + optional bytes senderKeyHash = 1; + optional uint64 senderTimestamp = 2; + repeated uint32 senderKeyIndexes = 3 [packed=true]; + optional WAAdv.ADVEncryptionType senderAccountType = 4; + optional WAAdv.ADVEncryptionType receiverAccountType = 5; + optional bytes recipientKeyHash = 8; + optional uint64 recipientTimestamp = 9; + repeated uint32 recipientKeyIndexes = 10 [packed=true]; +} + +message EmbeddedMessage { + optional string stanzaID = 1; + optional Message message = 2; +} + +message EmbeddedMusic { + optional string musicContentMediaID = 1; + optional string songID = 2; + optional string author = 3; + optional string title = 4; + optional string artworkDirectPath = 5; + optional bytes artworkSHA256 = 6; + optional bytes artworkEncSHA256 = 7; + optional string artistAttribution = 8; + optional bytes countryBlocklist = 9; + optional bool isExplicit = 10; + optional bytes artworkMediaKey = 11; + optional int64 musicSongStartTimeInMS = 12; + optional int64 derivedContentStartTimeInMS = 13; + optional int64 overlapDurationInMS = 14; +} + +message EmbeddedContent { + oneof content { + EmbeddedMessage embeddedMessage = 1; + EmbeddedMusic embeddedMusic = 2; + } +} + +message TapLinkAction { + optional string title = 1; + optional string tapURL = 2; +} + +message Point { + optional int32 xDeprecated = 1; + optional int32 yDeprecated = 2; + optional double x = 3; + optional double y = 4; +} + +message Location { + optional double degreesLatitude = 1; + optional double degreesLongitude = 2; + optional string name = 3; +} + +message TemplateButton { + message CallButton { + optional HighlyStructuredMessage displayText = 1; + optional HighlyStructuredMessage phoneNumber = 2; + } + + message URLButton { + optional HighlyStructuredMessage displayText = 1; + optional HighlyStructuredMessage URL = 2; + } + + message QuickReplyButton { + optional HighlyStructuredMessage displayText = 1; + optional string ID = 2; + } + + oneof button { + QuickReplyButton quickReplyButton = 1; + URLButton urlButton = 2; + CallButton callButton = 3; + } + + optional uint32 index = 4; +} + +message Money { + optional int64 value = 1; + optional uint32 offset = 2; + optional string currencyCode = 3; +} + +message ActionLink { + optional string URL = 1; + optional string buttonTitle = 2; +} + +message GroupMention { + optional string groupJID = 1; + optional string groupSubject = 2; +} + +message MessageSecretMessage { + optional sfixed32 version = 1; + optional bytes encIV = 2; + optional bytes encPayload = 3; +} + +message MediaNotifyMessage { + optional string expressPathURL = 1; + optional bytes fileEncSHA256 = 2; + optional uint64 fileLength = 3; +} + +message LIDMigrationMappingSyncMessage { + optional bytes encodedMappingPayload = 1; +} + +message UrlTrackingMap { + message UrlTrackingMapElement { + optional string originalURL = 1; + optional string unconsentedUsersURL = 2; + optional string consentedUsersURL = 3; + optional uint32 cardIndex = 4; + } + + repeated UrlTrackingMapElement urlTrackingMapElements = 1; +} + +message MemberLabel { + optional string label = 1; + optional int64 labelTimestamp = 2; +} + +message AIRichResponseMessage { + optional WAAICommon.AIRichResponseMessageType messageType = 1; + repeated WAAICommon.AIRichResponseSubMessage submessages = 2; + optional WAAICommon.AIRichResponseUnifiedResponse unifiedResponse = 3; + optional ContextInfo contextInfo = 4; +} + +message AIQueryFanout { + optional WACommon.MessageKey messageKey = 1; + optional Message message = 2; + optional int64 timestamp = 3; +} diff --git a/goneonize/defproto/waE2EGuest/WAWebProtobufsE2EGuest.proto b/goneonize/defproto/waE2EGuest/WAWebProtobufsE2EGuest.proto new file mode 100644 index 00000000..d6cd0cf1 --- /dev/null +++ b/goneonize/defproto/waE2EGuest/WAWebProtobufsE2EGuest.proto @@ -0,0 +1,24 @@ +syntax = "proto2"; +package WAWebProtobufsE2EGuest; +option go_package = "go.mau.fi/whatsmeow/proto/waE2EGuest"; + +message Message { + message ExtendedTextMessage { + optional string text = 1; + optional ContextInfo contextInfo = 17; + } + + message ContextInfo { + optional string stanzaID = 1; + optional string participant = 2; + optional Message quotedMessage = 3; + } + + optional string conversation = 1; + optional ExtendedTextMessage extendedTextMessage = 6; + optional MessageContextInfo messageContextInfo = 35; +} + +message MessageContextInfo { + optional bytes messageSecret = 3; +} diff --git a/goneonize/defproto/waEphemeral/WAWebProtobufsEphemeral.proto b/goneonize/defproto/waEphemeral/WAWebProtobufsEphemeral.proto new file mode 100644 index 00000000..ef93a6d2 --- /dev/null +++ b/goneonize/defproto/waEphemeral/WAWebProtobufsEphemeral.proto @@ -0,0 +1,8 @@ +syntax = "proto2"; +package WAWebProtobufsEphemeral; +option go_package = "go.mau.fi/whatsmeow/proto/waEphemeral"; + +message EphemeralSetting { + optional sfixed32 duration = 1; + optional sfixed64 timestamp = 2; +} diff --git a/goneonize/defproto/waFingerprint/WAFingerprint.proto b/goneonize/defproto/waFingerprint/WAFingerprint.proto new file mode 100644 index 00000000..74be0481 --- /dev/null +++ b/goneonize/defproto/waFingerprint/WAFingerprint.proto @@ -0,0 +1,23 @@ +syntax = "proto2"; +package WAFingerprint; +option go_package = "go.mau.fi/whatsmeow/proto/waFingerprint"; + +enum HostedState { + E2EE = 0; + HOSTED = 1; +} + +message FingerprintData { + optional bytes publicKey = 1; + optional bytes pnIdentifier = 2; + optional bytes lidIdentifier = 3; + optional bytes usernameIdentifier = 4; + optional HostedState hostedState = 5; + optional bytes hashedPublicKey = 6; +} + +message CombinedFingerprint { + optional uint32 version = 1; + optional FingerprintData localFingerprint = 2; + optional FingerprintData remoteFingerprint = 3; +} diff --git a/goneonize/defproto/waGroupHistory/WAWebProtobufsGroupHistory.proto b/goneonize/defproto/waGroupHistory/WAWebProtobufsGroupHistory.proto new file mode 100644 index 00000000..f3c636a3 --- /dev/null +++ b/goneonize/defproto/waGroupHistory/WAWebProtobufsGroupHistory.proto @@ -0,0 +1,9 @@ +syntax = "proto2"; +package WAWebProtobufsGroupHistory; +option go_package = "go.mau.fi/whatsmeow/proto/waGroupHistory"; + +import "waWeb/WAWebProtobufsWeb.proto"; + +message GroupHistory { + repeated WAWebProtobufsWeb.WebMessageInfo messages = 1; +} diff --git a/goneonize/defproto/waHistorySync/WAWebProtobufsHistorySync.proto b/goneonize/defproto/waHistorySync/WAWebProtobufsHistorySync.proto new file mode 100644 index 00000000..a4f34c6a --- /dev/null +++ b/goneonize/defproto/waHistorySync/WAWebProtobufsHistorySync.proto @@ -0,0 +1,235 @@ +syntax = "proto2"; +package WAWebProtobufsHistorySync; +option go_package = "go.mau.fi/whatsmeow/proto/waHistorySync"; + +import "waSyncAction/WASyncAction.proto"; +import "waChatLockSettings/WAProtobufsChatLockSettings.proto"; +import "waE2E/WAWebProtobufsE2E.proto"; +import "waCommon/WACommon.proto"; +import "waWeb/WAWebProtobufsWeb.proto"; + +enum MediaVisibility { + DEFAULT = 0; + OFF = 1; + ON = 2; +} + +enum PrivacySystemMessage { + E2EE_MSG = 1; + NE2EE_SELF = 2; + NE2EE_OTHER = 3; +} + +message HistorySync { + enum BotAIWaitListState { + IN_WAITLIST = 0; + AI_AVAILABLE = 1; + } + + enum HistorySyncType { + INITIAL_BOOTSTRAP = 0; + INITIAL_STATUS_V3 = 1; + FULL = 2; + RECENT = 3; + PUSH_NAME = 4; + NON_BLOCKING_DATA = 5; + ON_DEMAND = 6; + } + + required HistorySyncType syncType = 1; + repeated Conversation conversations = 2; + repeated WAWebProtobufsWeb.WebMessageInfo statusV3Messages = 3; + optional uint32 chunkOrder = 5; + optional uint32 progress = 6; + repeated Pushname pushnames = 7; + optional GlobalSettings globalSettings = 8; + optional bytes threadIDUserSecret = 9; + optional uint32 threadDsTimeframeOffset = 10; + repeated StickerMetadata recentStickers = 11; + repeated PastParticipants pastParticipants = 12; + repeated WASyncAction.CallLogRecord callLogRecords = 13; + optional BotAIWaitListState aiWaitListState = 14; + repeated PhoneNumberToLIDMapping phoneNumberToLidMappings = 15; + optional string companionMetaNonce = 16; + optional bytes shareableChatIdentifierEncryptionKey = 17; + repeated Account accounts = 18; +} + +message Conversation { + enum EndOfHistoryTransferType { + COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0; + COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1; + COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY = 2; + } + + required string ID = 1; + repeated HistorySyncMsg messages = 2; + optional string newJID = 3; + optional string oldJID = 4; + optional uint64 lastMsgTimestamp = 5; + optional uint32 unreadCount = 6; + optional bool readOnly = 7; + optional bool endOfHistoryTransfer = 8; + optional uint32 ephemeralExpiration = 9; + optional int64 ephemeralSettingTimestamp = 10; + optional EndOfHistoryTransferType endOfHistoryTransferType = 11; + optional uint64 conversationTimestamp = 12; + optional string name = 13; + optional string pHash = 14; + optional bool notSpam = 15; + optional bool archived = 16; + optional WAWebProtobufsE2E.DisappearingMode disappearingMode = 17; + optional uint32 unreadMentionCount = 18; + optional bool markedAsUnread = 19; + repeated GroupParticipant participant = 20; + optional bytes tcToken = 21; + optional uint64 tcTokenTimestamp = 22; + optional bytes contactPrimaryIdentityKey = 23; + optional uint32 pinned = 24; + optional uint64 muteEndTime = 25; + optional WallpaperSettings wallpaper = 26; + optional MediaVisibility mediaVisibility = 27; + optional uint64 tcTokenSenderTimestamp = 28; + optional bool suspended = 29; + optional bool terminated = 30; + optional uint64 createdAt = 31; + optional string createdBy = 32; + optional string description = 33; + optional bool support = 34; + optional bool isParentGroup = 35; + optional string parentGroupID = 37; + optional bool isDefaultSubgroup = 36; + optional string displayName = 38; + optional string pnJID = 39; + optional bool shareOwnPn = 40; + optional bool pnhDuplicateLidThread = 41; + optional string lidJID = 42; + optional string username = 43; + optional string lidOriginType = 44; + optional uint32 commentsCount = 45; + optional bool locked = 46; + optional PrivacySystemMessage systemMessageToInsert = 47; + optional bool capiCreatedGroup = 48; + optional string accountLid = 49; + optional bool limitSharing = 50; + optional int64 limitSharingSettingTimestamp = 51; + optional WACommon.LimitSharing.Trigger limitSharingTrigger = 52; + optional bool limitSharingInitiatedByMe = 53; + optional bool maibaAiThreadEnabled = 54; +} + +message GroupParticipant { + enum Rank { + REGULAR = 0; + ADMIN = 1; + SUPERADMIN = 2; + } + + required string userJID = 1; + optional Rank rank = 2; + optional WAWebProtobufsE2E.MemberLabel memberLabel = 3; +} + +message PastParticipant { + enum LeaveReason { + LEFT = 0; + REMOVED = 1; + } + + optional string userJID = 1; + optional LeaveReason leaveReason = 2; + optional uint64 leaveTS = 3; +} + +message PhoneNumberToLIDMapping { + optional string pnJID = 1; + optional string lidJID = 2; +} + +message Account { + optional string lid = 1; + optional string username = 2; + optional string countryCode = 3; + optional bool isUsernameDeleted = 4; +} + +message HistorySyncMsg { + optional WAWebProtobufsWeb.WebMessageInfo message = 1; + optional uint64 msgOrderID = 2; +} + +message Pushname { + optional string ID = 1; + optional string pushname = 2; +} + +message WallpaperSettings { + optional string filename = 1; + optional uint32 opacity = 2; +} + +message GlobalSettings { + optional WallpaperSettings lightThemeWallpaper = 1; + optional MediaVisibility mediaVisibility = 2; + optional WallpaperSettings darkThemeWallpaper = 3; + optional AutoDownloadSettings autoDownloadWiFi = 4; + optional AutoDownloadSettings autoDownloadCellular = 5; + optional AutoDownloadSettings autoDownloadRoaming = 6; + optional bool showIndividualNotificationsPreview = 7; + optional bool showGroupNotificationsPreview = 8; + optional int32 disappearingModeDuration = 9; + optional int64 disappearingModeTimestamp = 10; + optional AvatarUserSettings avatarUserSettings = 11; + optional int32 fontSize = 12; + optional bool securityNotifications = 13; + optional bool autoUnarchiveChats = 14; + optional int32 videoQualityMode = 15; + optional int32 photoQualityMode = 16; + optional NotificationSettings individualNotificationSettings = 17; + optional NotificationSettings groupNotificationSettings = 18; + optional WAProtobufsChatLockSettings.ChatLockSettings chatLockSettings = 19; + optional int64 chatDbLidMigrationTimestamp = 20; +} + +message AutoDownloadSettings { + optional bool downloadImages = 1; + optional bool downloadAudio = 2; + optional bool downloadVideo = 3; + optional bool downloadDocuments = 4; +} + +message StickerMetadata { + optional string URL = 1; + optional bytes fileSHA256 = 2; + optional bytes fileEncSHA256 = 3; + optional bytes mediaKey = 4; + optional string mimetype = 5; + optional uint32 height = 6; + optional uint32 width = 7; + optional string directPath = 8; + optional uint64 fileLength = 9; + optional float weight = 10; + optional int64 lastStickerSentTS = 11; + optional bool isLottie = 12; + optional string imageHash = 13; + optional bool isAvatarSticker = 14; +} + +message PastParticipants { + optional string groupJID = 1; + repeated PastParticipant pastParticipants = 2; +} + +message AvatarUserSettings { + optional string FBID = 1; + optional string password = 2; +} + +message NotificationSettings { + optional string messageVibrate = 1; + optional string messagePopup = 2; + optional string messageLight = 3; + optional bool lowPriorityNotifications = 4; + optional bool reactionsMuted = 5; + optional string callVibrate = 6; +} diff --git a/goneonize/defproto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto b/goneonize/defproto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto new file mode 100644 index 00000000..a0b044d1 --- /dev/null +++ b/goneonize/defproto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto @@ -0,0 +1,14 @@ +syntax = "proto2"; +package WAWebProtobufLidMigrationSyncPayload; +option go_package = "go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload"; + +message LIDMigrationMapping { + required uint64 pn = 1; + required uint64 assignedLid = 2; + optional uint64 latestLid = 3; +} + +message LIDMigrationMappingSyncPayload { + repeated LIDMigrationMapping pnToLidMappings = 1; + optional uint64 chatDbMigrationTimestamp = 2; +} diff --git a/goneonize/defproto/waMediaEntryData/WAMediaEntryData.proto b/goneonize/defproto/waMediaEntryData/WAMediaEntryData.proto new file mode 100644 index 00000000..a9419386 --- /dev/null +++ b/goneonize/defproto/waMediaEntryData/WAMediaEntryData.proto @@ -0,0 +1,37 @@ +syntax = "proto2"; +package WAMediaEntryData; +option go_package = "go.mau.fi/whatsmeow/proto/waMediaEntryData"; + +message MediaEntry { + message ProgressiveJpegDetails { + repeated uint32 scanLengths = 1; + optional bytes sidecar = 2; + } + + message DownloadableThumbnail { + optional bytes fileSHA256 = 1; + optional bytes fileEncSHA256 = 2; + optional string directPath = 3; + optional bytes mediaKey = 4; + optional int64 mediaKeyTimestamp = 5; + optional string objectID = 6; + } + + optional bytes fileSHA256 = 1; + optional bytes mediaKey = 2; + optional bytes fileEncSHA256 = 3; + optional string directPath = 4; + optional int64 mediaKeyTimestamp = 5; + optional string serverMediaType = 6; + optional bytes uploadToken = 7; + optional bytes validatedTimestamp = 8; + optional bytes sidecar = 9; + optional string objectID = 10; + optional string FBID = 11; + optional DownloadableThumbnail downloadableThumbnail = 12; + optional string handle = 13; + optional string filename = 14; + optional ProgressiveJpegDetails progressiveJPEGDetails = 15; + optional int64 size = 16; + optional int64 lastDownloadAttemptTimestamp = 17; +} diff --git a/goneonize/defproto/waMediaTransport/WAMediaTransport.proto b/goneonize/defproto/waMediaTransport/WAMediaTransport.proto new file mode 100644 index 00000000..e4a3f0c1 --- /dev/null +++ b/goneonize/defproto/waMediaTransport/WAMediaTransport.proto @@ -0,0 +1,191 @@ +syntax = "proto2"; +package WAMediaTransport; +option go_package = "go.mau.fi/whatsmeow/proto/waMediaTransport"; + +import "waCommon/WACommon.proto"; + +message WAMediaTransport { + message Ancillary { + message Thumbnail { + message DownloadableThumbnail { + optional bytes fileSHA256 = 1; + optional bytes fileEncSHA256 = 2; + optional string directPath = 3; + optional bytes mediaKey = 4; + optional int64 mediaKeyTimestamp = 5; + optional string objectID = 6; + optional bytes thumbnailScansSidecar = 7; + repeated uint32 thumbnailScanLengths = 8; + } + + optional bytes JPEGThumbnail = 1; + optional DownloadableThumbnail downloadableThumbnail = 2; + optional uint32 thumbnailWidth = 3; + optional uint32 thumbnailHeight = 4; + } + + optional uint64 fileLength = 1; + optional string mimetype = 2; + optional Thumbnail thumbnail = 3; + optional string objectID = 4; + } + + message Integral { + optional bytes fileSHA256 = 1; + optional bytes mediaKey = 2; + optional bytes fileEncSHA256 = 3; + optional string directPath = 4; + optional int64 mediaKeyTimestamp = 5; + } + + optional Integral integral = 1; + optional Ancillary ancillary = 2; +} + +message ImageTransport { + message Ancillary { + enum HdType { + NONE = 0; + LQ_4K = 1; + HQ_4K = 2; + } + + optional uint32 height = 1; + optional uint32 width = 2; + optional bytes scansSidecar = 3; + repeated uint32 scanLengths = 4; + optional bytes midQualityFileSHA256 = 5; + optional HdType hdType = 6; + repeated float memoriesConceptScores = 7 [packed=true]; + repeated uint32 memoriesConceptIDs = 8 [packed=true]; + } + + message Integral { + optional WAMediaTransport transport = 1; + } + + optional Integral integral = 1; + optional Ancillary ancillary = 2; +} + +message VideoTransport { + message Ancillary { + enum Attribution { + NONE = 0; + GIPHY = 1; + TENOR = 2; + } + + optional uint32 seconds = 1; + optional WACommon.MessageText caption = 2; + optional bool gifPlayback = 3; + optional uint32 height = 4; + optional uint32 width = 5; + optional bytes sidecar = 6; + optional Attribution gifAttribution = 7; + optional string accessibilityLabel = 8; + optional bool isHd = 9; + } + + message Integral { + optional WAMediaTransport transport = 1; + } + + optional Integral integral = 1; + optional Ancillary ancillary = 2; +} + +message AudioTransport { + message Ancillary { + message AvatarAudio { + enum AnimationsType { + TALKING_A = 0; + IDLE_A = 1; + TALKING_B = 2; + IDLE_B = 3; + BACKGROUND = 4; + } + + message DownloadableAvatarAnimations { + optional bytes fileSHA256 = 1; + optional bytes fileEncSHA256 = 2; + optional string directPath = 3; + optional bytes mediaKey = 4; + optional int64 mediaKeyTimestamp = 5; + optional string objectID = 6; + optional AnimationsType animationsType = 7; + } + + optional uint32 poseID = 1; + repeated DownloadableAvatarAnimations avatarAnimations = 2; + } + + optional uint32 seconds = 1; + optional AvatarAudio avatarAudio = 2; + } + + message Integral { + enum AudioFormat { + UNKNOWN = 0; + OPUS = 1; + } + + optional WAMediaTransport transport = 1; + optional AudioFormat audioFormat = 2; + } + + optional Integral integral = 1; + optional Ancillary ancillary = 2; +} + +message DocumentTransport { + message Ancillary { + optional uint32 pageCount = 1; + } + + message Integral { + optional WAMediaTransport transport = 1; + } + + optional Integral integral = 1; + optional Ancillary ancillary = 2; +} + +message StickerTransport { + message Ancillary { + optional uint32 pageCount = 1; + optional uint32 height = 2; + optional uint32 width = 3; + optional uint32 firstFrameLength = 4; + optional bytes firstFrameSidecar = 5; + optional string mustacheText = 6; + optional bool isThirdParty = 7; + optional string receiverFetchID = 8; + optional string accessibilityLabel = 9; + } + + message Integral { + optional WAMediaTransport transport = 1; + optional bool isAnimated = 2; + optional string receiverFetchID = 3; + } + + optional Integral integral = 1; + optional Ancillary ancillary = 2; +} + +message ContactTransport { + message Ancillary { + optional string displayName = 1; + } + + message Integral { + oneof contact { + string vcard = 1; + WAMediaTransport downloadableVcard = 2; + } + } + + optional Integral integral = 1; + optional Ancillary ancillary = 2; +} diff --git a/goneonize/defproto/waMmsRetry/WAMmsRetry.proto b/goneonize/defproto/waMmsRetry/WAMmsRetry.proto new file mode 100644 index 00000000..c6b18610 --- /dev/null +++ b/goneonize/defproto/waMmsRetry/WAMmsRetry.proto @@ -0,0 +1,21 @@ +syntax = "proto2"; +package WAMmsRetry; +option go_package = "go.mau.fi/whatsmeow/proto/waMmsRetry"; + +message MediaRetryNotification { + enum ResultType { + GENERAL_ERROR = 0; + SUCCESS = 1; + NOT_FOUND = 2; + DECRYPTION_ERROR = 3; + } + + optional string stanzaID = 1; + optional string directPath = 2; + optional ResultType result = 3; + optional bytes messageSecret = 4; +} + +message ServerErrorReceipt { + optional string stanzaID = 1; +} diff --git a/goneonize/defproto/waMsgApplication/WAMsgApplication.proto b/goneonize/defproto/waMsgApplication/WAMsgApplication.proto new file mode 100644 index 00000000..282e5273 --- /dev/null +++ b/goneonize/defproto/waMsgApplication/WAMsgApplication.proto @@ -0,0 +1,96 @@ +syntax = "proto2"; +package WAMsgApplication; +option go_package = "go.mau.fi/whatsmeow/proto/waMsgApplication"; + +import "waCommon/WACommon.proto"; + +message MessageApplication { + message Metadata { + enum ThreadType { + DEFAULT = 0; + VANISH_MODE = 1; + DISAPPEARING_MESSAGES = 2; + } + + message QuotedMessage { + optional string stanzaID = 1; + optional string remoteJID = 2; + optional string participant = 3; + optional Payload payload = 4; + } + + message EphemeralSettingMap { + optional string chatJID = 1; + optional EphemeralSetting ephemeralSetting = 2; + } + + oneof ephemeral { + EphemeralSetting chatEphemeralSetting = 1; + EphemeralSettingMap ephemeralSettingList = 2; + bytes ephemeralSharedSecret = 3; + } + + optional uint32 forwardingScore = 5; + optional bool isForwarded = 6; + optional WACommon.SubProtocol businessMetadata = 7; + optional bytes frankingKey = 8; + optional int32 frankingVersion = 9; + optional QuotedMessage quotedMessage = 10; + optional ThreadType threadType = 11; + optional string readonlyMetadataDataclass = 12; + optional string groupID = 13; + optional uint32 groupSize = 14; + optional uint32 groupIndex = 15; + optional string botResponseID = 16; + optional string collapsibleID = 17; + optional string secondaryOtid = 18; + } + + message Payload { + oneof content { + Content coreContent = 1; + Signal signal = 2; + ApplicationData applicationData = 3; + SubProtocolPayload subProtocol = 4; + } + } + + message SubProtocolPayload { + oneof subProtocol { + WACommon.SubProtocol consumerMessage = 2; + WACommon.SubProtocol businessMessage = 3; + WACommon.SubProtocol paymentMessage = 4; + WACommon.SubProtocol multiDevice = 5; + WACommon.SubProtocol voip = 6; + WACommon.SubProtocol armadillo = 7; + } + + optional WACommon.FutureProofBehavior futureProof = 1; + } + + message ApplicationData { + } + + message Signal { + } + + message Content { + } + + message EphemeralSetting { + enum EphemeralityType { + UNKNOWN = 0; + SEEN_ONCE = 1; + SEEN_BASED_WITH_TIMER = 2; + SEND_BASED_WITH_TIMER = 3; + } + + optional uint32 ephemeralExpiration = 2; + optional int64 ephemeralSettingTimestamp = 3; + optional EphemeralityType ephemeralityType = 5; + optional bool isEphemeralSettingReset = 4; + } + + optional Payload payload = 1; + optional Metadata metadata = 2; +} diff --git a/goneonize/defproto/waMsgTransport/WAMsgTransport.proto b/goneonize/defproto/waMsgTransport/WAMsgTransport.proto new file mode 100644 index 00000000..fb5bfdad --- /dev/null +++ b/goneonize/defproto/waMsgTransport/WAMsgTransport.proto @@ -0,0 +1,75 @@ +syntax = "proto2"; +package WAMsgTransport; +option go_package = "go.mau.fi/whatsmeow/proto/waMsgTransport"; + +import "waCommon/WACommon.proto"; + +message MessageTransport { + message Payload { + optional WACommon.SubProtocol applicationPayload = 1; + optional WACommon.FutureProofBehavior futureProof = 3; + } + + message Protocol { + message Ancillary { + message BackupDirective { + enum ActionType { + NOOP = 0; + UPSERT = 1; + DELETE = 2; + UPSERT_AND_DELETE = 3; + } + + optional string messageID = 1; + optional ActionType actionType = 2; + optional string supplementalKey = 3; + } + + message ICDCParticipantDevices { + message ICDCIdentityListDescription { + optional int32 seq = 1; + optional bytes signingDevice = 2; + repeated bytes unknownDevices = 3; + repeated int32 unknownDeviceIDs = 4; + } + + optional ICDCIdentityListDescription senderIdentity = 1; + repeated ICDCIdentityListDescription recipientIdentities = 2; + repeated string recipientUserJIDs = 3; + } + + message SenderKeyDistributionMessage { + optional string groupID = 1; + optional bytes axolotlSenderKeyDistributionMessage = 2; + } + + optional SenderKeyDistributionMessage skdm = 2; + optional DeviceListMetadata deviceListMetadata = 3; + optional ICDCParticipantDevices icdc = 4; + optional BackupDirective backupDirective = 5; + } + + message Integral { + message DeviceSentMessage { + optional string destinationJID = 1; + optional string phash = 2; + } + + optional bytes padding = 1; + optional DeviceSentMessage DSM = 2; + } + + optional Integral integral = 1; + optional Ancillary ancillary = 2; + } + + optional Payload payload = 1; + optional Protocol protocol = 2; +} + +message DeviceListMetadata { + optional bytes senderKeyHash = 1; + optional uint64 senderTimestamp = 2; + optional bytes recipientKeyHash = 8; + optional uint64 recipientTimestamp = 9; +} diff --git a/goneonize/defproto/waMultiDevice/WAMultiDevice.proto b/goneonize/defproto/waMultiDevice/WAMultiDevice.proto new file mode 100644 index 00000000..3ddc2308 --- /dev/null +++ b/goneonize/defproto/waMultiDevice/WAMultiDevice.proto @@ -0,0 +1,57 @@ +syntax = "proto2"; +package WAMultiDevice; +option go_package = "go.mau.fi/whatsmeow/proto/waMultiDevice"; + +message MultiDevice { + message Metadata { + } + + message Payload { + oneof payload { + ApplicationData applicationData = 1; + Signal signal = 2; + } + } + + message ApplicationData { + message AppStateSyncKeyRequestMessage { + repeated AppStateSyncKeyId keyIDs = 1; + } + + message AppStateSyncKeyShareMessage { + repeated AppStateSyncKey keys = 1; + } + + message AppStateSyncKey { + message AppStateSyncKeyData { + message AppStateSyncKeyFingerprint { + optional uint32 rawID = 1; + optional uint32 currentIndex = 2; + repeated uint32 deviceIndexes = 3 [packed=true]; + } + + optional bytes keyData = 1; + optional AppStateSyncKeyFingerprint fingerprint = 2; + optional int64 timestamp = 3; + } + + optional AppStateSyncKeyId keyID = 1; + optional AppStateSyncKeyData keyData = 2; + } + + message AppStateSyncKeyId { + optional bytes keyID = 1; + } + + oneof applicationData { + AppStateSyncKeyShareMessage appStateSyncKeyShare = 1; + AppStateSyncKeyRequestMessage appStateSyncKeyRequest = 2; + } + } + + message Signal { + } + + optional Payload payload = 1; + optional Metadata metadata = 2; +} diff --git a/goneonize/defproto/waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces.proto b/goneonize/defproto/waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces.proto new file mode 100644 index 00000000..4fb26432 --- /dev/null +++ b/goneonize/defproto/waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces.proto @@ -0,0 +1,40 @@ +syntax = "proto2"; +package WAWebProtobufsQuickPromotionSurfaces; +option go_package = "go.mau.fi/whatsmeow/proto/waQuickPromotionSurfaces"; + +message QP { + enum FilterResult { + TRUE = 1; + FALSE = 2; + UNKNOWN = 3; + } + + enum FilterClientNotSupportedConfig { + PASS_BY_DEFAULT = 1; + FAIL_BY_DEFAULT = 2; + } + + enum ClauseType { + AND = 1; + OR = 2; + NOR = 3; + } + + message FilterClause { + required ClauseType clauseType = 1; + repeated FilterClause clauses = 2; + repeated Filter filters = 3; + } + + message Filter { + required string filterName = 1; + repeated FilterParameters parameters = 2; + optional FilterResult filterResult = 3; + required FilterClientNotSupportedConfig clientNotSupportedConfig = 4; + } + + message FilterParameters { + optional string key = 1; + optional string value = 2; + } +} diff --git a/goneonize/defproto/waReporting/WAWebProtobufsReporting.proto b/goneonize/defproto/waReporting/WAWebProtobufsReporting.proto new file mode 100644 index 00000000..598dadd1 --- /dev/null +++ b/goneonize/defproto/waReporting/WAWebProtobufsReporting.proto @@ -0,0 +1,23 @@ +syntax = "proto3"; +package WAWebProtobufsReporting; +option go_package = "go.mau.fi/whatsmeow/proto/waReporting"; + +message Reportable { + uint32 minVersion = 1; + uint32 maxVersion = 2; + uint32 notReportableMinVersion = 3; + bool never = 4; +} + +message Config { + map field = 1; + uint32 version = 2; +} + +message Field { + uint32 minVersion = 1; + uint32 maxVersion = 2; + uint32 notReportableMinVersion = 3; + bool isMessage = 4; + map subfield = 5; +} diff --git a/goneonize/defproto/waRoutingInfo/WAWebProtobufsRoutingInfo.proto b/goneonize/defproto/waRoutingInfo/WAWebProtobufsRoutingInfo.proto new file mode 100644 index 00000000..3885d0a7 --- /dev/null +++ b/goneonize/defproto/waRoutingInfo/WAWebProtobufsRoutingInfo.proto @@ -0,0 +1,12 @@ +syntax = "proto2"; +package WAWebProtobufsRoutingInfo; +option go_package = "go.mau.fi/whatsmeow/proto/waRoutingInfo"; + +message RoutingInfo { + repeated int32 regionID = 1; + repeated int32 clusterID = 2; + optional int32 taskID = 3; + optional bool debug = 4; + optional bool tcpBbr = 5; + optional bool tcpKeepalive = 6; +} diff --git a/goneonize/defproto/waServerSync/WAServerSync.proto b/goneonize/defproto/waServerSync/WAServerSync.proto new file mode 100644 index 00000000..c3fe7e5c --- /dev/null +++ b/goneonize/defproto/waServerSync/WAServerSync.proto @@ -0,0 +1,72 @@ +syntax = "proto2"; +package WAServerSync; +option go_package = "go.mau.fi/whatsmeow/proto/waServerSync"; + +message SyncdMutation { + enum SyncdOperation { + SET = 0; + REMOVE = 1; + } + + optional SyncdOperation operation = 1; + optional SyncdRecord record = 2; +} + +message SyncdVersion { + optional uint64 version = 1; +} + +message ExitCode { + optional uint64 code = 1; + optional string text = 2; +} + +message SyncdIndex { + optional bytes blob = 1; +} + +message SyncdValue { + optional bytes blob = 1; +} + +message KeyId { + optional bytes ID = 1; +} + +message SyncdRecord { + optional SyncdIndex index = 1; + optional SyncdValue value = 2; + optional KeyId keyID = 3; +} + +message ExternalBlobReference { + optional bytes mediaKey = 1; + optional string directPath = 2; + optional string handle = 3; + optional uint64 fileSizeBytes = 4; + optional bytes fileSHA256 = 5; + optional bytes fileEncSHA256 = 6; +} + +message SyncdSnapshot { + optional SyncdVersion version = 1; + repeated SyncdRecord records = 2; + optional bytes mac = 3; + optional KeyId keyID = 4; +} + +message SyncdMutations { + repeated SyncdMutation mutations = 1; +} + +message SyncdPatch { + optional SyncdVersion version = 1; + repeated SyncdMutation mutations = 2; + optional ExternalBlobReference externalMutations = 3; + optional bytes snapshotMAC = 4; + optional bytes patchMAC = 5; + optional KeyId keyID = 6; + optional ExitCode exitCode = 7; + optional uint32 deviceIndex = 8; + optional bytes clientDebugData = 9; +} diff --git a/goneonize/defproto/waStatusAttributions/WAStatusAttributions.proto b/goneonize/defproto/waStatusAttributions/WAStatusAttributions.proto new file mode 100644 index 00000000..69a08de6 --- /dev/null +++ b/goneonize/defproto/waStatusAttributions/WAStatusAttributions.proto @@ -0,0 +1,102 @@ +syntax = "proto2"; +package WAStatusAttributions; +option go_package = "go.mau.fi/whatsmeow/proto/waStatusAttributions"; + +message StatusAttribution { + enum Type { + UNKNOWN = 0; + RESHARE = 1; + EXTERNAL_SHARE = 2; + MUSIC = 3; + STATUS_MENTION = 4; + GROUP_STATUS = 5; + RL_ATTRIBUTION = 6; + AI_CREATED = 7; + LAYOUTS = 8; + } + + message AiCreatedAttribution { + enum Source { + UNKNOWN = 0; + STATUS_MIMICRY = 1; + } + + optional Source source = 1; + } + + message RLAttribution { + enum Source { + UNKNOWN = 0; + RAY_BAN_META_GLASSES = 1; + OAKLEY_META_GLASSES = 2; + HYPERNOVA_GLASSES = 3; + } + + optional Source source = 1; + } + + message ExternalShare { + enum Source { + UNKNOWN = 0; + INSTAGRAM = 1; + FACEBOOK = 2; + MESSENGER = 3; + SPOTIFY = 4; + YOUTUBE = 5; + PINTEREST = 6; + THREADS = 7; + APPLE_MUSIC = 8; + SHARECHAT = 9; + } + + optional string actionURL = 1; + optional Source source = 2; + optional int32 duration = 3; + optional string actionFallbackURL = 4; + } + + message StatusReshare { + enum Source { + UNKNOWN = 0; + INTERNAL_RESHARE = 1; + MENTION_RESHARE = 2; + CHANNEL_RESHARE = 3; + FORWARD = 4; + } + + message Metadata { + optional int32 duration = 1; + optional string channelJID = 2; + optional int32 channelMessageID = 3; + optional bool hasMultipleReshares = 4; + } + + optional Source source = 1; + optional Metadata metadata = 2; + } + + message GroupStatus { + optional string authorJID = 1; + } + + message Music { + optional string authorName = 1; + optional string songID = 2; + optional string title = 3; + optional string author = 4; + optional string artistAttribution = 5; + optional bool isExplicit = 6; + } + + oneof attributionData { + StatusReshare statusReshare = 3; + ExternalShare externalShare = 4; + Music music = 5; + GroupStatus groupStatus = 6; + RLAttribution rlAttribution = 7; + AiCreatedAttribution aiCreatedAttribution = 8; + } + + optional Type type = 1; + optional string actionURL = 2; +} diff --git a/goneonize/defproto/waSyncAction/WASyncAction.proto b/goneonize/defproto/waSyncAction/WASyncAction.proto new file mode 100644 index 00000000..bcac54fc --- /dev/null +++ b/goneonize/defproto/waSyncAction/WASyncAction.proto @@ -0,0 +1,577 @@ +syntax = "proto2"; +package WASyncAction; +option go_package = "go.mau.fi/whatsmeow/proto/waSyncAction"; + +import "waChatLockSettings/WAProtobufsChatLockSettings.proto"; +import "waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto"; +import "waCommon/WACommon.proto"; + +message CallLogRecord { + enum CallType { + REGULAR = 0; + SCHEDULED_CALL = 1; + VOICE_CHAT = 2; + } + + enum SilenceReason { + NONE = 0; + SCHEDULED = 1; + PRIVACY = 2; + LIGHTWEIGHT = 3; + } + + enum CallResult { + CONNECTED = 0; + REJECTED = 1; + CANCELLED = 2; + ACCEPTEDELSEWHERE = 3; + MISSED = 4; + INVALID = 5; + UNAVAILABLE = 6; + UPCOMING = 7; + FAILED = 8; + ABANDONED = 9; + ONGOING = 10; + } + + message ParticipantInfo { + optional string userJID = 1; + optional CallResult callResult = 2; + } + + optional CallResult callResult = 1; + optional bool isDndMode = 2; + optional SilenceReason silenceReason = 3; + optional int64 duration = 4; + optional int64 startTime = 5; + optional bool isIncoming = 6; + optional bool isVideo = 7; + optional bool isCallLink = 8; + optional string callLinkToken = 9; + optional string scheduledCallID = 10; + optional string callID = 11; + optional string callCreatorJID = 12; + optional string groupJID = 13; + repeated ParticipantInfo participants = 14; + optional CallType callType = 15; +} + +message AvatarUpdatedAction { + enum AvatarEventType { + UPDATED = 0; + CREATED = 1; + DELETED = 2; + } + + optional AvatarEventType eventType = 1; + repeated StickerAction recentAvatarStickers = 2; +} + +message MaibaAIFeaturesControlAction { + enum MaibaAIFeatureStatus { + ENABLED = 0; + ENABLED_HAS_LEARNING = 1; + DISABLED = 2; + } + + optional MaibaAIFeatureStatus aiFeatureStatus = 1; +} + +message PaymentTosAction { + enum PaymentNotice { + BR_PAY_PRIVACY_POLICY = 0; + } + + required PaymentNotice paymentNotice = 1; + required bool accepted = 2; +} + +message NotificationActivitySettingAction { + enum NotificationActivitySetting { + DEFAULT_ALL_MESSAGES = 0; + ALL_MESSAGES = 1; + HIGHLIGHTS = 2; + DEFAULT_HIGHLIGHTS = 3; + } + + optional NotificationActivitySetting notificationActivitySetting = 1; +} + +message WaffleAccountLinkStateAction { + enum AccountLinkState { + ACTIVE = 0; + } + + optional AccountLinkState linkState = 2; +} + +message MerchantPaymentPartnerAction { + enum Status { + ACTIVE = 0; + INACTIVE = 1; + } + + required Status status = 1; + required string country = 2; + optional string gatewayName = 3; + optional string credentialID = 4; +} + +message GalaxyFlowAction { + enum GalaxyFlowActionType { + LAUNCH = 1; + } + + required GalaxyFlowActionType type = 1; +} + +message NoteEditAction { + enum NoteType { + UNSTRUCTURED = 1; + STRUCTURED = 2; + } + + optional NoteType type = 1; + optional string chatJID = 2; + optional int64 createdAt = 3; + optional bool deleted = 4; + optional string unstructuredContent = 5; +} + +message StatusPrivacyAction { + enum StatusDistributionMode { + ALLOW_LIST = 0; + DENY_LIST = 1; + CONTACTS = 2; + } + + optional StatusDistributionMode mode = 1; + repeated string userJID = 2; +} + +message MarketingMessageAction { + enum MarketingMessagePrototypeType { + PERSONALIZED = 0; + } + + optional string name = 1; + optional string message = 2; + optional MarketingMessagePrototypeType type = 3; + optional int64 createdAt = 4; + optional int64 lastSentAt = 5; + optional bool isDeleted = 6; + optional string mediaID = 7; +} + +message UsernameChatStartModeAction { + enum ChatStartMode { + LID = 1; + PN = 2; + } + + optional ChatStartMode chatStartMode = 1; +} + +message LabelEditAction { + enum ListType { + NONE = 0; + UNREAD = 1; + GROUPS = 2; + FAVORITES = 3; + PREDEFINED = 4; + CUSTOM = 5; + COMMUNITY = 6; + SERVER_ASSIGNED = 7; + } + + optional string name = 1; + optional int32 color = 2; + optional int32 predefinedID = 3; + optional bool deleted = 4; + optional int32 orderIndex = 5; + optional bool isActive = 6; + optional ListType type = 7; + optional bool isImmutable = 8; +} + +message PatchDebugData { + enum Platform { + ANDROID = 0; + SMBA = 1; + IPHONE = 2; + SMBI = 3; + WEB = 4; + UWP = 5; + DARWIN = 6; + IPAD = 7; + WEAROS = 8; + WASG = 9; + WEARM = 10; + CAPI = 11; + } + + optional bytes currentLthash = 1; + optional bytes newLthash = 2; + optional bytes patchVersion = 3; + optional bytes collectionName = 4; + optional bytes firstFourBytesFromAHashOfSnapshotMACKey = 5; + optional bytes newLthashSubtract = 6; + optional int32 numberAdd = 7; + optional int32 numberRemove = 8; + optional int32 numberOverride = 9; + optional Platform senderPlatform = 10; + optional bool isSenderPrimary = 11; +} + +message RecentEmojiWeight { + optional string emoji = 1; + optional float weight = 2; +} + +message SyncActionValue { + optional int64 timestamp = 1; + optional StarAction starAction = 2; + optional ContactAction contactAction = 3; + optional MuteAction muteAction = 4; + optional PinAction pinAction = 5; + optional SecurityNotificationSetting securityNotificationSetting = 6; + optional PushNameSetting pushNameSetting = 7; + optional QuickReplyAction quickReplyAction = 8; + optional RecentEmojiWeightsAction recentEmojiWeightsAction = 11; + optional LabelEditAction labelEditAction = 14; + optional LabelAssociationAction labelAssociationAction = 15; + optional LocaleSetting localeSetting = 16; + optional ArchiveChatAction archiveChatAction = 17; + optional DeleteMessageForMeAction deleteMessageForMeAction = 18; + optional KeyExpiration keyExpiration = 19; + optional MarkChatAsReadAction markChatAsReadAction = 20; + optional ClearChatAction clearChatAction = 21; + optional DeleteChatAction deleteChatAction = 22; + optional UnarchiveChatsSetting unarchiveChatsSetting = 23; + optional PrimaryFeature primaryFeature = 24; + optional AndroidUnsupportedActions androidUnsupportedActions = 26; + optional AgentAction agentAction = 27; + optional SubscriptionAction subscriptionAction = 28; + optional UserStatusMuteAction userStatusMuteAction = 29; + optional TimeFormatAction timeFormatAction = 30; + optional NuxAction nuxAction = 31; + optional PrimaryVersionAction primaryVersionAction = 32; + optional StickerAction stickerAction = 33; + optional RemoveRecentStickerAction removeRecentStickerAction = 34; + optional ChatAssignmentAction chatAssignment = 35; + optional ChatAssignmentOpenedStatusAction chatAssignmentOpenedStatus = 36; + optional PnForLidChatAction pnForLidChatAction = 37; + optional MarketingMessageAction marketingMessageAction = 38; + optional MarketingMessageBroadcastAction marketingMessageBroadcastAction = 39; + optional ExternalWebBetaAction externalWebBetaAction = 40; + optional PrivacySettingRelayAllCalls privacySettingRelayAllCalls = 41; + optional CallLogAction callLogAction = 42; + optional StatusPrivacyAction statusPrivacy = 44; + optional BotWelcomeRequestAction botWelcomeRequestAction = 45; + optional DeleteIndividualCallLogAction deleteIndividualCallLog = 46; + optional LabelReorderingAction labelReorderingAction = 47; + optional PaymentInfoAction paymentInfoAction = 48; + optional CustomPaymentMethodsAction customPaymentMethodsAction = 49; + optional LockChatAction lockChatAction = 50; + optional WAProtobufsChatLockSettings.ChatLockSettings chatLockSettings = 51; + optional WamoUserIdentifierAction wamoUserIdentifierAction = 52; + optional PrivacySettingDisableLinkPreviewsAction privacySettingDisableLinkPreviewsAction = 53; + optional WAProtobufsDeviceCapabilities.DeviceCapabilities deviceCapabilities = 54; + optional NoteEditAction noteEditAction = 55; + optional FavoritesAction favoritesAction = 56; + optional MerchantPaymentPartnerAction merchantPaymentPartnerAction = 57; + optional WaffleAccountLinkStateAction waffleAccountLinkStateAction = 58; + optional UsernameChatStartModeAction usernameChatStartMode = 59; + optional NotificationActivitySettingAction notificationActivitySettingAction = 60; + optional LidContactAction lidContactAction = 61; + optional CtwaPerCustomerDataSharingAction ctwaPerCustomerDataSharingAction = 62; + optional PaymentTosAction paymentTosAction = 63; + optional PrivacySettingChannelsPersonalisedRecommendationAction privacySettingChannelsPersonalisedRecommendationAction = 64; + optional BusinessBroadcastAssociationAction businessBroadcastAssociationAction = 65; + optional DetectedOutcomesStatusAction detectedOutcomesStatusAction = 66; + optional MaibaAIFeaturesControlAction maibaAiFeaturesControlAction = 68; + optional BusinessBroadcastListAction businessBroadcastListAction = 69; + optional MusicUserIdAction musicUserIDAction = 70; + optional StatusPostOptInNotificationPreferencesAction statusPostOptInNotificationPreferencesAction = 71; + optional AvatarUpdatedAction avatarUpdatedAction = 72; + optional GalaxyFlowAction galaxyFlowAction = 73; +} + +message StatusPostOptInNotificationPreferencesAction { + optional bool enabled = 1; +} + +message BroadcastListParticipant { + required string lidJID = 1; + optional string pnJID = 2; +} + +message BusinessBroadcastListAction { + optional bool deleted = 1; + repeated BroadcastListParticipant participants = 2; + optional string listName = 3; +} + +message BusinessBroadcastAssociationAction { + optional bool deleted = 1; +} + +message CtwaPerCustomerDataSharingAction { + optional bool isCtwaPerCustomerDataSharingEnabled = 1; +} + +message LidContactAction { + optional string fullName = 1; + optional string firstName = 2; + optional string username = 3; + optional bool saveOnPrimaryAddressbook = 4; +} + +message FavoritesAction { + message Favorite { + optional string ID = 1; + } + + repeated Favorite favorites = 1; +} + +message PrivacySettingChannelsPersonalisedRecommendationAction { + optional bool isUserOptedOut = 1; +} + +message PrivacySettingDisableLinkPreviewsAction { + optional bool isPreviewsDisabled = 1; +} + +message WamoUserIdentifierAction { + optional string identifier = 1; +} + +message LockChatAction { + optional bool locked = 1; +} + +message CustomPaymentMethodsAction { + repeated CustomPaymentMethod customPaymentMethods = 1; +} + +message CustomPaymentMethod { + required string credentialID = 1; + required string country = 2; + required string type = 3; + repeated CustomPaymentMethodMetadata metadata = 4; +} + +message CustomPaymentMethodMetadata { + required string key = 1; + required string value = 2; +} + +message PaymentInfoAction { + optional string cpi = 1; +} + +message LabelReorderingAction { + repeated int32 sortedLabelIDs = 1; +} + +message DeleteIndividualCallLogAction { + optional string peerJID = 1; + optional bool isIncoming = 2; +} + +message BotWelcomeRequestAction { + optional bool isSent = 1; +} + +message MusicUserIdAction { + optional string musicUserID = 1; +} + +message CallLogAction { + optional CallLogRecord callLogRecord = 1; +} + +message PrivacySettingRelayAllCalls { + optional bool isEnabled = 1; +} + +message DetectedOutcomesStatusAction { + optional bool isEnabled = 1; +} + +message ExternalWebBetaAction { + optional bool isOptIn = 1; +} + +message MarketingMessageBroadcastAction { + optional int32 repliedCount = 1; +} + +message PnForLidChatAction { + optional string pnJID = 1; +} + +message ChatAssignmentOpenedStatusAction { + optional bool chatOpened = 1; +} + +message ChatAssignmentAction { + optional string deviceAgentID = 1; +} + +message StickerAction { + optional string URL = 1; + optional bytes fileEncSHA256 = 2; + optional bytes mediaKey = 3; + optional string mimetype = 4; + optional uint32 height = 5; + optional uint32 width = 6; + optional string directPath = 7; + optional uint64 fileLength = 8; + optional bool isFavorite = 9; + optional uint32 deviceIDHint = 10; + optional bool isLottie = 11; + optional string imageHash = 12; + optional bool isAvatarSticker = 13; +} + +message RemoveRecentStickerAction { + optional int64 lastStickerSentTS = 1; +} + +message PrimaryVersionAction { + optional string version = 1; +} + +message NuxAction { + optional bool acknowledged = 1; +} + +message TimeFormatAction { + optional bool isTwentyFourHourFormatEnabled = 1; +} + +message UserStatusMuteAction { + optional bool muted = 1; +} + +message SubscriptionAction { + optional bool isDeactivated = 1; + optional bool isAutoRenewing = 2; + optional int64 expirationDate = 3; +} + +message AgentAction { + optional string name = 1; + optional int32 deviceID = 2; + optional bool isDeleted = 3; +} + +message AndroidUnsupportedActions { + optional bool allowed = 1; +} + +message PrimaryFeature { + repeated string flags = 1; +} + +message KeyExpiration { + optional int32 expiredKeyEpoch = 1; +} + +message SyncActionMessage { + optional WACommon.MessageKey key = 1; + optional int64 timestamp = 2; +} + +message SyncActionMessageRange { + optional int64 lastMessageTimestamp = 1; + optional int64 lastSystemMessageTimestamp = 2; + repeated SyncActionMessage messages = 3; +} + +message UnarchiveChatsSetting { + optional bool unarchiveChats = 1; +} + +message DeleteChatAction { + optional SyncActionMessageRange messageRange = 1; +} + +message ClearChatAction { + optional SyncActionMessageRange messageRange = 1; +} + +message MarkChatAsReadAction { + optional bool read = 1; + optional SyncActionMessageRange messageRange = 2; +} + +message DeleteMessageForMeAction { + optional bool deleteMedia = 1; + optional int64 messageTimestamp = 2; +} + +message ArchiveChatAction { + optional bool archived = 1; + optional SyncActionMessageRange messageRange = 2; +} + +message RecentEmojiWeightsAction { + repeated RecentEmojiWeight weights = 1; +} + +message LabelAssociationAction { + optional bool labeled = 1; +} + +message QuickReplyAction { + optional string shortcut = 1; + optional string message = 2; + repeated string keywords = 3; + optional int32 count = 4; + optional bool deleted = 5; +} + +message LocaleSetting { + optional string locale = 1; +} + +message PushNameSetting { + optional string name = 1; +} + +message SecurityNotificationSetting { + optional bool showNotification = 1; +} + +message PinAction { + optional bool pinned = 1; +} + +message MuteAction { + optional bool muted = 1; + optional int64 muteEndTimestamp = 2; + optional bool autoMuted = 3; +} + +message ContactAction { + optional string fullName = 1; + optional string firstName = 2; + optional string lidJID = 3; + optional bool saveOnPrimaryAddressbook = 4; + optional string pnJID = 5; + optional string username = 6; +} + +message StarAction { + optional bool starred = 1; +} + +message SyncActionData { + optional bytes index = 1; + optional SyncActionValue value = 2; + optional bytes padding = 3; + optional int32 version = 4; +} diff --git a/goneonize/defproto/waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery.proto b/goneonize/defproto/waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery.proto new file mode 100644 index 00000000..7547660a --- /dev/null +++ b/goneonize/defproto/waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery.proto @@ -0,0 +1,22 @@ +syntax = "proto2"; +package WAWebProtobufsSyncdSnapshotRecovery; +option go_package = "go.mau.fi/whatsmeow/proto/waSyncdSnapshotRecovery"; + +import "waSyncAction/WASyncAction.proto"; + +message SyncdSnapshotRecovery { + optional SyncdVersion version = 1; + optional string collectionName = 2; + repeated SyncdPlainTextRecord mutationRecords = 3; + optional bytes collectionLthash = 4; +} + +message SyncdPlainTextRecord { + optional WASyncAction.SyncActionData value = 1; + optional bytes keyID = 2; + optional bytes mac = 3; +} + +message SyncdVersion { + optional uint64 version = 1; +} diff --git a/goneonize/defproto/waUserPassword/WAProtobufsUserPassword.proto b/goneonize/defproto/waUserPassword/WAProtobufsUserPassword.proto new file mode 100644 index 00000000..db1c4f19 --- /dev/null +++ b/goneonize/defproto/waUserPassword/WAProtobufsUserPassword.proto @@ -0,0 +1,33 @@ +syntax = "proto2"; +package WAProtobufsUserPassword; +option go_package = "go.mau.fi/whatsmeow/proto/waUserPassword"; + +message UserPassword { + enum Transformer { + NONE = 0; + PBKDF2_HMAC_SHA512 = 1; + PBKDF2_HMAC_SHA384 = 2; + } + + enum Encoding { + UTF8 = 0; + UTF8_BROKEN = 1; + } + + message TransformerArg { + message Value { + oneof value { + bytes asBlob = 1; + uint32 asUnsignedInteger = 2; + } + } + + optional string key = 1; + optional Value value = 2; + } + + optional Encoding encoding = 1; + optional Transformer transformer = 2; + repeated TransformerArg transformerArg = 3; + optional bytes transformedData = 4; +} diff --git a/goneonize/defproto/waVnameCert/WAWebProtobufsVnameCert.proto b/goneonize/defproto/waVnameCert/WAWebProtobufsVnameCert.proto new file mode 100644 index 00000000..93b274ab --- /dev/null +++ b/goneonize/defproto/waVnameCert/WAWebProtobufsVnameCert.proto @@ -0,0 +1,72 @@ +syntax = "proto2"; +package WAWebProtobufsVnameCert; +option go_package = "go.mau.fi/whatsmeow/proto/waVnameCert"; + +message BizAccountLinkInfo { + enum AccountType { + ENTERPRISE = 0; + } + + enum HostStorageType { + ON_PREMISE = 0; + FACEBOOK = 1; + } + + optional uint64 whatsappBizAcctFbid = 1; + optional string whatsappAcctNumber = 2; + optional uint64 issueTime = 3; + optional HostStorageType hostStorage = 4; + optional AccountType accountType = 5; +} + +message BizIdentityInfo { + enum ActualActorsType { + SELF = 0; + BSP = 1; + } + + enum HostStorageType { + ON_PREMISE = 0; + FACEBOOK = 1; + } + + enum VerifiedLevelValue { + UNKNOWN = 0; + LOW = 1; + HIGH = 2; + } + + optional VerifiedLevelValue vlevel = 1; + optional VerifiedNameCertificate vnameCert = 2; + optional bool signed = 3; + optional bool revoked = 4; + optional HostStorageType hostStorage = 5; + optional ActualActorsType actualActors = 6; + optional uint64 privacyModeTS = 7; + optional uint64 featureControls = 8; +} + +message LocalizedName { + optional string lg = 1; + optional string lc = 2; + optional string verifiedName = 3; +} + +message VerifiedNameCertificate { + message Details { + optional uint64 serial = 1; + optional string issuer = 2; + optional string verifiedName = 4; + repeated LocalizedName localizedNames = 8; + optional uint64 issueTime = 10; + } + + optional bytes details = 1; + optional bytes signature = 2; + optional bytes serverSignature = 3; +} + +message BizAccountPayload { + optional VerifiedNameCertificate vnameCert = 1; + optional bytes bizAcctLinkInfo = 2; +} diff --git a/goneonize/defproto/waWa6/WAWebProtobufsWa6.proto b/goneonize/defproto/waWa6/WAWebProtobufsWa6.proto new file mode 100644 index 00000000..3ecd0d4a --- /dev/null +++ b/goneonize/defproto/waWa6/WAWebProtobufsWa6.proto @@ -0,0 +1,262 @@ +syntax = "proto2"; +package WAWebProtobufsWa6; +option go_package = "go.mau.fi/whatsmeow/proto/waWa6"; + +message ClientPayload { + enum TrafficAnonymization { + OFF = 0; + STANDARD = 1; + } + + enum AccountType { + DEFAULT = 0; + GUEST = 1; + } + + enum Product { + WHATSAPP = 0; + MESSENGER = 1; + INTEROP = 2; + INTEROP_MSGR = 3; + WHATSAPP_LID = 4; + } + + enum ConnectType { + CELLULAR_UNKNOWN = 0; + WIFI_UNKNOWN = 1; + CELLULAR_EDGE = 100; + CELLULAR_IDEN = 101; + CELLULAR_UMTS = 102; + CELLULAR_EVDO = 103; + CELLULAR_GPRS = 104; + CELLULAR_HSDPA = 105; + CELLULAR_HSUPA = 106; + CELLULAR_HSPA = 107; + CELLULAR_CDMA = 108; + CELLULAR_1XRTT = 109; + CELLULAR_EHRPD = 110; + CELLULAR_LTE = 111; + CELLULAR_HSPAP = 112; + } + + enum ConnectReason { + PUSH = 0; + USER_ACTIVATED = 1; + SCHEDULED = 2; + ERROR_RECONNECT = 3; + NETWORK_SWITCH = 4; + PING_RECONNECT = 5; + UNKNOWN = 6; + } + + enum IOSAppExtension { + SHARE_EXTENSION = 0; + SERVICE_EXTENSION = 1; + INTENTS_EXTENSION = 2; + } + + message DNSSource { + enum DNSResolutionMethod { + SYSTEM = 0; + GOOGLE = 1; + HARDCODED = 2; + OVERRIDE = 3; + FALLBACK = 4; + MNS = 5; + } + + optional DNSResolutionMethod dnsMethod = 15; + optional bool appCached = 16; + } + + message WebInfo { + enum WebSubPlatform { + WEB_BROWSER = 0; + APP_STORE = 1; + WIN_STORE = 2; + DARWIN = 3; + WIN32 = 4; + WIN_HYBRID = 5; + } + + message WebdPayload { + optional bool usesParticipantInKey = 1; + optional bool supportsStarredMessages = 2; + optional bool supportsDocumentMessages = 3; + optional bool supportsURLMessages = 4; + optional bool supportsMediaRetry = 5; + optional bool supportsE2EImage = 6; + optional bool supportsE2EVideo = 7; + optional bool supportsE2EAudio = 8; + optional bool supportsE2EDocument = 9; + optional string documentTypes = 10; + optional bytes features = 11; + } + + optional string refToken = 1; + optional string version = 2; + optional WebdPayload webdPayload = 3; + optional WebSubPlatform webSubPlatform = 4; + } + + message UserAgent { + enum DeviceType { + PHONE = 0; + TABLET = 1; + DESKTOP = 2; + WEARABLE = 3; + VR = 4; + } + + enum ReleaseChannel { + RELEASE = 0; + BETA = 1; + ALPHA = 2; + DEBUG = 3; + } + + enum Platform { + ANDROID = 0; + IOS = 1; + WINDOWS_PHONE = 2; + BLACKBERRY = 3; + BLACKBERRYX = 4; + S40 = 5; + S60 = 6; + PYTHON_CLIENT = 7; + TIZEN = 8; + ENTERPRISE = 9; + SMB_ANDROID = 10; + KAIOS = 11; + SMB_IOS = 12; + WINDOWS = 13; + WEB = 14; + PORTAL = 15; + GREEN_ANDROID = 16; + GREEN_IPHONE = 17; + BLUE_ANDROID = 18; + BLUE_IPHONE = 19; + FBLITE_ANDROID = 20; + MLITE_ANDROID = 21; + IGLITE_ANDROID = 22; + PAGE = 23; + MACOS = 24; + OCULUS_MSG = 25; + OCULUS_CALL = 26; + MILAN = 27; + CAPI = 28; + WEAROS = 29; + ARDEVICE = 30; + VRDEVICE = 31; + BLUE_WEB = 32; + IPAD = 33; + TEST = 34; + SMART_GLASSES = 35; + BLUE_VR = 36; + } + + message AppVersion { + optional uint32 primary = 1; + optional uint32 secondary = 2; + optional uint32 tertiary = 3; + optional uint32 quaternary = 4; + optional uint32 quinary = 5; + } + + optional Platform platform = 1; + optional AppVersion appVersion = 2; + optional string mcc = 3; + optional string mnc = 4; + optional string osVersion = 5; + optional string manufacturer = 6; + optional string device = 7; + optional string osBuildNumber = 8; + optional string phoneID = 9; + optional ReleaseChannel releaseChannel = 10; + optional string localeLanguageIso6391 = 11; + optional string localeCountryIso31661Alpha2 = 12; + optional string deviceBoard = 13; + optional string deviceExpID = 14; + optional DeviceType deviceType = 15; + optional string deviceModelType = 16; + } + + message InteropData { + optional uint64 accountID = 1; + optional bytes token = 2; + optional bool enableReadReceipts = 3; + } + + message DevicePairingRegistrationData { + optional bytes eRegid = 1; + optional bytes eKeytype = 2; + optional bytes eIdent = 3; + optional bytes eSkeyID = 4; + optional bytes eSkeyVal = 5; + optional bytes eSkeySig = 6; + optional bytes buildHash = 7; + optional bytes deviceProps = 8; + } + + optional uint64 username = 1; + optional bool passive = 3; + optional UserAgent userAgent = 5; + optional WebInfo webInfo = 6; + optional string pushName = 7; + optional sfixed32 sessionID = 9; + optional bool shortConnect = 10; + optional ConnectType connectType = 12; + optional ConnectReason connectReason = 13; + repeated int32 shards = 14; + optional DNSSource dnsSource = 15; + optional uint32 connectAttemptCount = 16; + optional uint32 device = 18; + optional DevicePairingRegistrationData devicePairingData = 19; + optional Product product = 20; + optional bytes fbCat = 21; + optional bytes fbUserAgent = 22; + optional bool oc = 23; + optional int32 lc = 24; + optional IOSAppExtension iosAppExtension = 30; + optional uint64 fbAppID = 31; + optional bytes fbDeviceID = 32; + optional bool pull = 33; + optional bytes paddingBytes = 34; + optional int32 yearClass = 36; + optional int32 memClass = 37; + optional InteropData interopData = 38; + optional TrafficAnonymization trafficAnonymization = 40; + optional bool lidDbMigrated = 41; + optional AccountType accountType = 42; + optional sfixed32 connectionSequenceInfo = 43; + optional bool paaLink = 44; + optional int32 preacksCount = 45; + optional int32 processingQueueSize = 46; +} + +message HandshakeMessage { + message ClientFinish { + optional bytes static = 1; + optional bytes payload = 2; + optional bytes extendedCiphertext = 3; + } + + message ServerHello { + optional bytes ephemeral = 1; + optional bytes static = 2; + optional bytes payload = 3; + optional bytes extendedStatic = 4; + } + + message ClientHello { + optional bytes ephemeral = 1; + optional bytes static = 2; + optional bytes payload = 3; + optional bool useExtended = 4; + optional bytes extendedCiphertext = 5; + } + + optional ClientHello clientHello = 2; + optional ServerHello serverHello = 3; + optional ClientFinish clientFinish = 4; +} diff --git a/goneonize/defproto/waWeb/WAWebProtobufsWeb.proto b/goneonize/defproto/waWeb/WAWebProtobufsWeb.proto new file mode 100644 index 00000000..34a645c5 --- /dev/null +++ b/goneonize/defproto/waWeb/WAWebProtobufsWeb.proto @@ -0,0 +1,612 @@ +syntax = "proto2"; +package WAWebProtobufsWeb; +option go_package = "go.mau.fi/whatsmeow/proto/waWeb"; + +import "waE2E/WAWebProtobufsE2E.proto"; +import "waCommon/WACommon.proto"; + +message WebMessageInfo { + enum BizPrivacyStatus { + E2EE = 0; + FB = 2; + BSP = 1; + BSP_AND_FB = 3; + } + + enum StubType { + UNKNOWN = 0; + REVOKE = 1; + CIPHERTEXT = 2; + FUTUREPROOF = 3; + NON_VERIFIED_TRANSITION = 4; + UNVERIFIED_TRANSITION = 5; + VERIFIED_TRANSITION = 6; + VERIFIED_LOW_UNKNOWN = 7; + VERIFIED_HIGH = 8; + VERIFIED_INITIAL_UNKNOWN = 9; + VERIFIED_INITIAL_LOW = 10; + VERIFIED_INITIAL_HIGH = 11; + VERIFIED_TRANSITION_ANY_TO_NONE = 12; + VERIFIED_TRANSITION_ANY_TO_HIGH = 13; + VERIFIED_TRANSITION_HIGH_TO_LOW = 14; + VERIFIED_TRANSITION_HIGH_TO_UNKNOWN = 15; + VERIFIED_TRANSITION_UNKNOWN_TO_LOW = 16; + VERIFIED_TRANSITION_LOW_TO_UNKNOWN = 17; + VERIFIED_TRANSITION_NONE_TO_LOW = 18; + VERIFIED_TRANSITION_NONE_TO_UNKNOWN = 19; + GROUP_CREATE = 20; + GROUP_CHANGE_SUBJECT = 21; + GROUP_CHANGE_ICON = 22; + GROUP_CHANGE_INVITE_LINK = 23; + GROUP_CHANGE_DESCRIPTION = 24; + GROUP_CHANGE_RESTRICT = 25; + GROUP_CHANGE_ANNOUNCE = 26; + GROUP_PARTICIPANT_ADD = 27; + GROUP_PARTICIPANT_REMOVE = 28; + GROUP_PARTICIPANT_PROMOTE = 29; + GROUP_PARTICIPANT_DEMOTE = 30; + GROUP_PARTICIPANT_INVITE = 31; + GROUP_PARTICIPANT_LEAVE = 32; + GROUP_PARTICIPANT_CHANGE_NUMBER = 33; + BROADCAST_CREATE = 34; + BROADCAST_ADD = 35; + BROADCAST_REMOVE = 36; + GENERIC_NOTIFICATION = 37; + E2E_IDENTITY_CHANGED = 38; + E2E_ENCRYPTED = 39; + CALL_MISSED_VOICE = 40; + CALL_MISSED_VIDEO = 41; + INDIVIDUAL_CHANGE_NUMBER = 42; + GROUP_DELETE = 43; + GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE = 44; + CALL_MISSED_GROUP_VOICE = 45; + CALL_MISSED_GROUP_VIDEO = 46; + PAYMENT_CIPHERTEXT = 47; + PAYMENT_FUTUREPROOF = 48; + PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED = 49; + PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED = 50; + PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED = 51; + PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP = 52; + PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP = 53; + PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER = 54; + PAYMENT_ACTION_SEND_PAYMENT_REMINDER = 55; + PAYMENT_ACTION_SEND_PAYMENT_INVITATION = 56; + PAYMENT_ACTION_REQUEST_DECLINED = 57; + PAYMENT_ACTION_REQUEST_EXPIRED = 58; + PAYMENT_ACTION_REQUEST_CANCELLED = 59; + BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM = 60; + BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP = 61; + BIZ_INTRO_TOP = 62; + BIZ_INTRO_BOTTOM = 63; + BIZ_NAME_CHANGE = 64; + BIZ_MOVE_TO_CONSUMER_APP = 65; + BIZ_TWO_TIER_MIGRATION_TOP = 66; + BIZ_TWO_TIER_MIGRATION_BOTTOM = 67; + OVERSIZED = 68; + GROUP_CHANGE_NO_FREQUENTLY_FORWARDED = 69; + GROUP_V4_ADD_INVITE_SENT = 70; + GROUP_PARTICIPANT_ADD_REQUEST_JOIN = 71; + CHANGE_EPHEMERAL_SETTING = 72; + E2E_DEVICE_CHANGED = 73; + VIEWED_ONCE = 74; + E2E_ENCRYPTED_NOW = 75; + BLUE_MSG_BSP_FB_TO_BSP_PREMISE = 76; + BLUE_MSG_BSP_FB_TO_SELF_FB = 77; + BLUE_MSG_BSP_FB_TO_SELF_PREMISE = 78; + BLUE_MSG_BSP_FB_UNVERIFIED = 79; + BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 80; + BLUE_MSG_BSP_FB_VERIFIED = 81; + BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 82; + BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE = 83; + BLUE_MSG_BSP_PREMISE_UNVERIFIED = 84; + BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 85; + BLUE_MSG_BSP_PREMISE_VERIFIED = 86; + BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 87; + BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED = 88; + BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED = 89; + BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED = 90; + BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED = 91; + BLUE_MSG_SELF_FB_TO_BSP_PREMISE = 92; + BLUE_MSG_SELF_FB_TO_SELF_PREMISE = 93; + BLUE_MSG_SELF_FB_UNVERIFIED = 94; + BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 95; + BLUE_MSG_SELF_FB_VERIFIED = 96; + BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 97; + BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE = 98; + BLUE_MSG_SELF_PREMISE_UNVERIFIED = 99; + BLUE_MSG_SELF_PREMISE_VERIFIED = 100; + BLUE_MSG_TO_BSP_FB = 101; + BLUE_MSG_TO_CONSUMER = 102; + BLUE_MSG_TO_SELF_FB = 103; + BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED = 104; + BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 105; + BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED = 106; + BLUE_MSG_UNVERIFIED_TO_VERIFIED = 107; + BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED = 108; + BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 109; + BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED = 110; + BLUE_MSG_VERIFIED_TO_UNVERIFIED = 111; + BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 112; + BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED = 113; + BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 114; + BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED = 115; + BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 116; + BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 117; + E2E_IDENTITY_UNAVAILABLE = 118; + GROUP_CREATING = 119; + GROUP_CREATE_FAILED = 120; + GROUP_BOUNCED = 121; + BLOCK_CONTACT = 122; + EPHEMERAL_SETTING_NOT_APPLIED = 123; + SYNC_FAILED = 124; + SYNCING = 125; + BIZ_PRIVACY_MODE_INIT_FB = 126; + BIZ_PRIVACY_MODE_INIT_BSP = 127; + BIZ_PRIVACY_MODE_TO_FB = 128; + BIZ_PRIVACY_MODE_TO_BSP = 129; + DISAPPEARING_MODE = 130; + E2E_DEVICE_FETCH_FAILED = 131; + ADMIN_REVOKE = 132; + GROUP_INVITE_LINK_GROWTH_LOCKED = 133; + COMMUNITY_LINK_PARENT_GROUP = 134; + COMMUNITY_LINK_SIBLING_GROUP = 135; + COMMUNITY_LINK_SUB_GROUP = 136; + COMMUNITY_UNLINK_PARENT_GROUP = 137; + COMMUNITY_UNLINK_SIBLING_GROUP = 138; + COMMUNITY_UNLINK_SUB_GROUP = 139; + GROUP_PARTICIPANT_ACCEPT = 140; + GROUP_PARTICIPANT_LINKED_GROUP_JOIN = 141; + COMMUNITY_CREATE = 142; + EPHEMERAL_KEEP_IN_CHAT = 143; + GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST = 144; + GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE = 145; + INTEGRITY_UNLINK_PARENT_GROUP = 146; + COMMUNITY_PARTICIPANT_PROMOTE = 147; + COMMUNITY_PARTICIPANT_DEMOTE = 148; + COMMUNITY_PARENT_GROUP_DELETED = 149; + COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL = 150; + GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP = 151; + MASKED_THREAD_CREATED = 152; + MASKED_THREAD_UNMASKED = 153; + BIZ_CHAT_ASSIGNMENT = 154; + CHAT_PSA = 155; + CHAT_POLL_CREATION_MESSAGE = 156; + CAG_MASKED_THREAD_CREATED = 157; + COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED = 158; + CAG_INVITE_AUTO_ADD = 159; + BIZ_CHAT_ASSIGNMENT_UNASSIGN = 160; + CAG_INVITE_AUTO_JOINED = 161; + SCHEDULED_CALL_START_MESSAGE = 162; + COMMUNITY_INVITE_RICH = 163; + COMMUNITY_INVITE_AUTO_ADD_RICH = 164; + SUB_GROUP_INVITE_RICH = 165; + SUB_GROUP_PARTICIPANT_ADD_RICH = 166; + COMMUNITY_LINK_PARENT_GROUP_RICH = 167; + COMMUNITY_PARTICIPANT_ADD_RICH = 168; + SILENCED_UNKNOWN_CALLER_AUDIO = 169; + SILENCED_UNKNOWN_CALLER_VIDEO = 170; + GROUP_MEMBER_ADD_MODE = 171; + GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD = 172; + COMMUNITY_CHANGE_DESCRIPTION = 173; + SENDER_INVITE = 174; + RECEIVER_INVITE = 175; + COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS = 176; + PINNED_MESSAGE_IN_CHAT = 177; + PAYMENT_INVITE_SETUP_INVITER = 178; + PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY = 179; + PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE = 180; + LINKED_GROUP_CALL_START = 181; + REPORT_TO_ADMIN_ENABLED_STATUS = 182; + EMPTY_SUBGROUP_CREATE = 183; + SCHEDULED_CALL_CANCEL = 184; + SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH = 185; + GROUP_CHANGE_RECENT_HISTORY_SHARING = 186; + PAID_MESSAGE_SERVER_CAMPAIGN_ID = 187; + GENERAL_CHAT_CREATE = 188; + GENERAL_CHAT_ADD = 189; + GENERAL_CHAT_AUTO_ADD_DISABLED = 190; + SUGGESTED_SUBGROUP_ANNOUNCE = 191; + BIZ_BOT_1P_MESSAGING_ENABLED = 192; + CHANGE_USERNAME = 193; + BIZ_COEX_PRIVACY_INIT_SELF = 194; + BIZ_COEX_PRIVACY_TRANSITION_SELF = 195; + SUPPORT_AI_EDUCATION = 196; + BIZ_BOT_3P_MESSAGING_ENABLED = 197; + REMINDER_SETUP_MESSAGE = 198; + REMINDER_SENT_MESSAGE = 199; + REMINDER_CANCEL_MESSAGE = 200; + BIZ_COEX_PRIVACY_INIT = 201; + BIZ_COEX_PRIVACY_TRANSITION = 202; + GROUP_DEACTIVATED = 203; + COMMUNITY_DEACTIVATE_SIBLING_GROUP = 204; + EVENT_UPDATED = 205; + EVENT_CANCELED = 206; + COMMUNITY_OWNER_UPDATED = 207; + COMMUNITY_SUB_GROUP_VISIBILITY_HIDDEN = 208; + CAPI_GROUP_NE2EE_SYSTEM_MESSAGE = 209; + STATUS_MENTION = 210; + USER_CONTROLS_SYSTEM_MESSAGE = 211; + SUPPORT_SYSTEM_MESSAGE = 212; + CHANGE_LID = 213; + BIZ_CUSTOMER_3PD_DATA_SHARING_OPT_IN_MESSAGE = 214; + BIZ_CUSTOMER_3PD_DATA_SHARING_OPT_OUT_MESSAGE = 215; + CHANGE_LIMIT_SHARING = 216; + GROUP_MEMBER_LINK_MODE = 217; + BIZ_AUTOMATICALLY_LABELED_CHAT_SYSTEM_MESSAGE = 218; + PHONE_NUMBER_HIDING_CHAT_DEPRECATED_MESSAGE = 219; + QUARANTINED_MESSAGE = 220; + } + + enum Status { + ERROR = 0; + PENDING = 1; + SERVER_ACK = 2; + DELIVERY_ACK = 3; + READ = 4; + PLAYED = 5; + } + + required WACommon.MessageKey key = 1; + optional WAWebProtobufsE2E.Message message = 2; + optional uint64 messageTimestamp = 3; + optional Status status = 4; + optional string participant = 5; + optional uint64 messageC2STimestamp = 6; + optional bool ignore = 16; + optional bool starred = 17; + optional bool broadcast = 18; + optional string pushName = 19; + optional bytes mediaCiphertextSHA256 = 20; + optional bool multicast = 21; + optional bool urlText = 22; + optional bool urlNumber = 23; + optional StubType messageStubType = 24; + optional bool clearMedia = 25; + repeated string messageStubParameters = 26; + optional uint32 duration = 27; + repeated string labels = 28; + optional PaymentInfo paymentInfo = 29; + optional WAWebProtobufsE2E.LiveLocationMessage finalLiveLocation = 30; + optional PaymentInfo quotedPaymentInfo = 31; + optional uint64 ephemeralStartTimestamp = 32; + optional uint32 ephemeralDuration = 33; + optional bool ephemeralOffToOn = 34; + optional bool ephemeralOutOfSync = 35; + optional BizPrivacyStatus bizPrivacyStatus = 36; + optional string verifiedBizName = 37; + optional MediaData mediaData = 38; + optional PhotoChange photoChange = 39; + repeated UserReceipt userReceipt = 40; + repeated Reaction reactions = 41; + optional MediaData quotedStickerData = 42; + optional bytes futureproofData = 43; + optional StatusPSA statusPsa = 44; + repeated PollUpdate pollUpdates = 45; + optional PollAdditionalMetadata pollAdditionalMetadata = 46; + optional string agentID = 47; + optional bool statusAlreadyViewed = 48; + optional bytes messageSecret = 49; + optional KeepInChat keepInChat = 50; + optional string originalSelfAuthorUserJIDString = 51; + optional uint64 revokeMessageTimestamp = 52; + optional PinInChat pinInChat = 54; + optional PremiumMessageInfo premiumMessageInfo = 55; + optional bool is1PBizBotMessage = 56; + optional bool isGroupHistoryMessage = 57; + optional string botMessageInvokerJID = 58; + optional CommentMetadata commentMetadata = 59; + repeated EventResponse eventResponses = 61; + optional ReportingTokenInfo reportingTokenInfo = 62; + optional uint64 newsletterServerID = 63; + optional EventAdditionalMetadata eventAdditionalMetadata = 64; + optional bool isMentionedInStatus = 65; + repeated string statusMentions = 66; + optional WACommon.MessageKey targetMessageID = 67; + repeated MessageAddOn messageAddOns = 68; + optional StatusMentionMessage statusMentionMessageInfo = 69; + optional bool isSupportAiMessage = 70; + repeated string statusMentionSources = 71; + repeated Citation supportAiCitations = 72; + optional string botTargetID = 73; + optional GroupHistoryIndividualMessageInfo groupHistoryIndividualMessageInfo = 74; + optional GroupHistoryBundleInfo groupHistoryBundleInfo = 75; + optional InteractiveMessageAdditionalMetadata interactiveMessageAdditionalMetadata = 76; + optional QuarantinedMessage quarantinedMessage = 77; +} + +message PaymentInfo { + enum TxnStatus { + UNKNOWN = 0; + PENDING_SETUP = 1; + PENDING_RECEIVER_SETUP = 2; + INIT = 3; + SUCCESS = 4; + COMPLETED = 5; + FAILED = 6; + FAILED_RISK = 7; + FAILED_PROCESSING = 8; + FAILED_RECEIVER_PROCESSING = 9; + FAILED_DA = 10; + FAILED_DA_FINAL = 11; + REFUNDED_TXN = 12; + REFUND_FAILED = 13; + REFUND_FAILED_PROCESSING = 14; + REFUND_FAILED_DA = 15; + EXPIRED_TXN = 16; + AUTH_CANCELED = 17; + AUTH_CANCEL_FAILED_PROCESSING = 18; + AUTH_CANCEL_FAILED = 19; + COLLECT_INIT = 20; + COLLECT_SUCCESS = 21; + COLLECT_FAILED = 22; + COLLECT_FAILED_RISK = 23; + COLLECT_REJECTED = 24; + COLLECT_EXPIRED = 25; + COLLECT_CANCELED = 26; + COLLECT_CANCELLING = 27; + IN_REVIEW = 28; + REVERSAL_SUCCESS = 29; + REVERSAL_PENDING = 30; + REFUND_PENDING = 31; + } + + enum Status { + UNKNOWN_STATUS = 0; + PROCESSING = 1; + SENT = 2; + NEED_TO_ACCEPT = 3; + COMPLETE = 4; + COULD_NOT_COMPLETE = 5; + REFUNDED = 6; + EXPIRED = 7; + REJECTED = 8; + CANCELLED = 9; + WAITING_FOR_PAYER = 10; + WAITING = 11; + } + + enum Currency { + UNKNOWN_CURRENCY = 0; + INR = 1; + } + + optional Currency currencyDeprecated = 1; + optional uint64 amount1000 = 2; + optional string receiverJID = 3; + optional Status status = 4; + optional uint64 transactionTimestamp = 5; + optional WACommon.MessageKey requestMessageKey = 6; + optional uint64 expiryTimestamp = 7; + optional bool futureproofed = 8; + optional string currency = 9; + optional TxnStatus txnStatus = 10; + optional bool useNoviFiatFormat = 11; + optional WAWebProtobufsE2E.Money primaryAmount = 12; + optional WAWebProtobufsE2E.Money exchangeAmount = 13; +} + +message WebFeatures { + enum Flag { + NOT_STARTED = 0; + FORCE_UPGRADE = 1; + DEVELOPMENT = 2; + PRODUCTION = 3; + } + + optional Flag labelsDisplay = 1; + optional Flag voipIndividualOutgoing = 2; + optional Flag groupsV3 = 3; + optional Flag groupsV3Create = 4; + optional Flag changeNumberV2 = 5; + optional Flag queryStatusV3Thumbnail = 6; + optional Flag liveLocations = 7; + optional Flag queryVname = 8; + optional Flag voipIndividualIncoming = 9; + optional Flag quickRepliesQuery = 10; + optional Flag payments = 11; + optional Flag stickerPackQuery = 12; + optional Flag liveLocationsFinal = 13; + optional Flag labelsEdit = 14; + optional Flag mediaUpload = 15; + optional Flag mediaUploadRichQuickReplies = 18; + optional Flag vnameV2 = 19; + optional Flag videoPlaybackURL = 20; + optional Flag statusRanking = 21; + optional Flag voipIndividualVideo = 22; + optional Flag thirdPartyStickers = 23; + optional Flag frequentlyForwardedSetting = 24; + optional Flag groupsV4JoinPermission = 25; + optional Flag recentStickers = 26; + optional Flag catalog = 27; + optional Flag starredStickers = 28; + optional Flag voipGroupCall = 29; + optional Flag templateMessage = 30; + optional Flag templateMessageInteractivity = 31; + optional Flag ephemeralMessages = 32; + optional Flag e2ENotificationSync = 33; + optional Flag recentStickersV2 = 34; + optional Flag recentStickersV3 = 36; + optional Flag userNotice = 37; + optional Flag support = 39; + optional Flag groupUiiCleanup = 40; + optional Flag groupDogfoodingInternalOnly = 41; + optional Flag settingsSync = 42; + optional Flag archiveV2 = 43; + optional Flag ephemeralAllowGroupMembers = 44; + optional Flag ephemeral24HDuration = 45; + optional Flag mdForceUpgrade = 46; + optional Flag disappearingMode = 47; + optional Flag externalMdOptInAvailable = 48; + optional Flag noDeleteMessageTimeLimit = 49; +} + +message PinInChat { + enum Type { + UNKNOWN_TYPE = 0; + PIN_FOR_ALL = 1; + UNPIN_FOR_ALL = 2; + } + + optional Type type = 1; + optional WACommon.MessageKey key = 2; + optional int64 senderTimestampMS = 3; + optional int64 serverTimestampMS = 4; + optional MessageAddOnContextInfo messageAddOnContextInfo = 5; +} + +message MessageAddOn { + enum MessageAddOnType { + UNDEFINED = 0; + REACTION = 1; + EVENT_RESPONSE = 2; + POLL_UPDATE = 3; + PIN_IN_CHAT = 4; + } + + optional MessageAddOnType messageAddOnType = 1; + optional WAWebProtobufsE2E.Message messageAddOn = 2; + optional int64 senderTimestampMS = 3; + optional int64 serverTimestampMS = 4; + optional WebMessageInfo.Status status = 5; + optional MessageAddOnContextInfo addOnContextInfo = 6; + optional WACommon.MessageKey messageAddOnKey = 7; + optional LegacyMessage legacyMessage = 8; +} + +message GroupHistoryBundleInfo { + enum ProcessState { + NOT_INJECTED = 0; + INJECTED = 1; + INJECTED_PARTIAL = 2; + INJECTION_FAILED = 3; + } + + optional WAWebProtobufsE2E.MessageHistoryBundle deprecatedMessageHistoryBundle = 1; + optional ProcessState processState = 2; +} + +message CommentMetadata { + optional WACommon.MessageKey commentParentKey = 1; + optional uint32 replyCount = 2; +} + +message WebNotificationsInfo { + optional uint64 timestamp = 2; + optional uint32 unreadChats = 3; + optional uint32 notifyMessageCount = 4; + repeated WebMessageInfo notifyMessages = 5; +} + +message NotificationMessageInfo { + optional WACommon.MessageKey key = 1; + optional WAWebProtobufsE2E.Message message = 2; + optional uint64 messageTimestamp = 3; + optional string participant = 4; +} + +message ReportingTokenInfo { + optional bytes reportingTag = 1; +} + +message MediaData { + optional string localPath = 1; +} + +message PhotoChange { + optional bytes oldPhoto = 1; + optional bytes newPhoto = 2; + optional uint32 newPhotoID = 3; +} + +message StatusPSA { + required uint64 campaignID = 44; + optional uint64 campaignExpirationTimestamp = 45; +} + +message UserReceipt { + required string userJID = 1; + optional int64 receiptTimestamp = 2; + optional int64 readTimestamp = 3; + optional int64 playedTimestamp = 4; + repeated string pendingDeviceJID = 5; + repeated string deliveredDeviceJID = 6; +} + +message Reaction { + optional WACommon.MessageKey key = 1; + optional string text = 2; + optional string groupingKey = 3; + optional int64 senderTimestampMS = 4; + optional bool unread = 5; +} + +message PollUpdate { + optional WACommon.MessageKey pollUpdateMessageKey = 1; + optional WAWebProtobufsE2E.PollVoteMessage vote = 2; + optional int64 senderTimestampMS = 3; + optional int64 serverTimestampMS = 4; + optional bool unread = 5; +} + +message PollAdditionalMetadata { + optional bool pollInvalidated = 1; +} + +message InteractiveMessageAdditionalMetadata { + optional bool isGalaxyFlowCompleted = 1; +} + +message EventAdditionalMetadata { + optional bool isStale = 1; +} + +message KeepInChat { + optional WAWebProtobufsE2E.KeepType keepType = 1; + optional int64 serverTimestamp = 2; + optional WACommon.MessageKey key = 3; + optional string deviceJID = 4; + optional int64 clientTimestampMS = 5; + optional int64 serverTimestampMS = 6; +} + +message MessageAddOnContextInfo { + optional uint32 messageAddOnDurationInSecs = 1; + optional WAWebProtobufsE2E.MessageContextInfo.MessageAddonExpiryType messageAddOnExpiryType = 2; +} + +message PremiumMessageInfo { + optional string serverCampaignID = 1; +} + +message EventResponse { + optional WACommon.MessageKey eventResponseMessageKey = 1; + optional int64 timestampMS = 2; + optional WAWebProtobufsE2E.EventResponseMessage eventResponseMessage = 3; + optional bool unread = 4; +} + +message LegacyMessage { + optional WAWebProtobufsE2E.EventResponseMessage eventResponseMessage = 1; + optional WAWebProtobufsE2E.PollVoteMessage pollVote = 2; +} + +message StatusMentionMessage { + optional WAWebProtobufsE2E.Message quotedStatus = 1; +} + +message Citation { + required string title = 1; + required string subtitle = 2; + required string cmsID = 3; + required string imageURL = 4; +} + +message GroupHistoryIndividualMessageInfo { + optional WACommon.MessageKey bundleMessageKey = 1; + optional bool editedAfterReceivedAsHistory = 2; +} + +message QuarantinedMessage { + optional bytes originalData = 1; + optional string extractedText = 2; +} diff --git a/goneonize/defproto/waWinUIApi/WAWinUIApi.proto b/goneonize/defproto/waWinUIApi/WAWinUIApi.proto new file mode 100644 index 00000000..8a3e5a03 --- /dev/null +++ b/goneonize/defproto/waWinUIApi/WAWinUIApi.proto @@ -0,0 +1,78 @@ +syntax = "proto2"; +package WAWinUIApi; +option go_package = "go.mau.fi/whatsmeow/proto/waWinUIApi"; + +enum PositronDataSource { + MESSAGES = 1; + CHATS = 2; + CONTACTS = 3; + GROUP_METADATA = 4; + GROUP_PARTICIPANTS = 5; + REACTIONS = 6; +} + +message PositronMessage { + message MsgKey { + optional bool fromMe = 1; + optional WID remote = 2; + optional string ID = 3; + optional WID participant = 4; + } + + message WID { + optional string serialized = 1; + } + + optional int64 timestamp = 1; + optional string type = 2; + optional string body = 3; + optional MsgKey ID = 4; + optional string JSON = 99; +} + +message PositronChat { + optional string ID = 1; + optional string name = 2; + optional int64 timestamp = 3; + optional int64 unreadCount = 4; + optional string JSON = 99; +} + +message PositronContact { + optional string ID = 1; + optional string phoneNumber = 2; + optional string name = 3; + optional bool isAddressBookContact = 4; + optional string JSON = 99; +} + +message PositronGroupMetadata { + optional string ID = 1; + optional string subject = 2; + optional string JSON = 99; +} + +message PositronGroupParticipants { + optional string ID = 1; + repeated string participants = 2; + optional string JSON = 99; +} + +message PositronReaction { + optional string ID = 1; + optional string parentMsgKey = 2; + optional string reactionText = 3; + optional int64 timestamp = 4; + optional string senderUserJID = 5; + optional string JSON = 99; +} + +message PositronData { + optional PositronDataSource dataSource = 1; + repeated PositronMessage messages = 2; + repeated PositronChat chats = 3; + repeated PositronContact contacts = 4; + repeated PositronGroupMetadata groupMetadata = 5; + repeated PositronGroupParticipants groupParticipants = 6; + repeated PositronReaction reactions = 7; +} diff --git a/goneonize/go.mod b/goneonize/go.mod new file mode 100644 index 00000000..f273ae03 --- /dev/null +++ b/goneonize/go.mod @@ -0,0 +1,32 @@ +module github.com/krypton-byte/neonize + +go 1.24.0 + +toolchain go1.24.5 + +require ( + github.com/lib/pq v1.10.9 + github.com/mattn/go-sqlite3 v1.14.32 + go.mau.fi/whatsmeow v0.0.0-20251028165006-ad7a618ba42f + google.golang.org/protobuf v1.36.10 +) + +require ( + filippo.io/edwards25519 v1.1.0 // indirect + github.com/beeper/argo-go v1.1.2 // indirect + github.com/coder/websocket v1.8.14 // indirect + github.com/elliotchance/orderedmap/v3 v3.1.0 // indirect + github.com/google/uuid v1.6.0 // indirect + github.com/mattn/go-colorable v0.1.14 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/petermattis/goid v0.0.0-20250904145737-900bdf8bb490 // indirect + github.com/rs/zerolog v1.34.0 // indirect + github.com/vektah/gqlparser/v2 v2.5.31 // indirect + go.mau.fi/libsignal v0.2.1 // indirect + go.mau.fi/util v0.9.2 // indirect + golang.org/x/crypto v0.43.0 // indirect + golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 // indirect + golang.org/x/net v0.46.0 // indirect + golang.org/x/sys v0.37.0 // indirect + golang.org/x/text v0.30.0 // indirect +) diff --git a/goneonize/go.sum b/goneonize/go.sum new file mode 100644 index 00000000..b1ee6dc3 --- /dev/null +++ b/goneonize/go.sum @@ -0,0 +1,70 @@ +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= +github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= +github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= +github.com/agnivade/levenshtein v1.2.1 h1:EHBY3UOn1gwdy/VbFwgo4cxecRznFk7fKWN1KOX7eoM= +github.com/agnivade/levenshtein v1.2.1/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/beeper/argo-go v1.1.2 h1:UQI2G8F+NLfGTOmTUI0254pGKx/HUU/etbUGTJv91Fs= +github.com/beeper/argo-go v1.1.2/go.mod h1:M+LJAnyowKVQ6Rdj6XYGEn+qcVFkb3R/MUpqkGR0hM4= +github.com/coder/websocket v1.8.14 h1:9L0p0iKiNOibykf283eHkKUHHrpG7f65OE3BhhO7v9g= +github.com/coder/websocket v1.8.14/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/elliotchance/orderedmap/v3 v3.1.0 h1:j4DJ5ObEmMBt/lcwIecKcoRxIQUEnw0L804lXYDt/pg= +github.com/elliotchance/orderedmap/v3 v3.1.0/go.mod h1:G+Hc2RwaZvJMcS4JpGCOyViCnGeKf0bTYCGTO4uhjSo= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= +github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-sqlite3 v1.14.32 h1:JD12Ag3oLy1zQA+BNn74xRgaBbdhbNIDYvQUEuuErjs= +github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/petermattis/goid v0.0.0-20250904145737-900bdf8bb490 h1:QTvNkZ5ylY0PGgA+Lih+GdboMLY/G9SEGLMEGVjTVA4= +github.com/petermattis/goid v0.0.0-20250904145737-900bdf8bb490/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0= +github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY= +github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ= +github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= +github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/vektah/gqlparser/v2 v2.5.31 h1:YhWGA1mfTjID7qJhd1+Vxhpk5HTgydrGU9IgkWBTJ7k= +github.com/vektah/gqlparser/v2 v2.5.31/go.mod h1:c1I28gSOVNzlfc4WuDlqU7voQnsqI6OG2amkBAFmgts= +go.mau.fi/libsignal v0.2.1 h1:vRZG4EzTn70XY6Oh/pVKrQGuMHBkAWlGRC22/85m9L0= +go.mau.fi/libsignal v0.2.1/go.mod h1:iVvjrHyfQqWajOUaMEsIfo3IqgVMrhWcPiiEzk7NgoU= +go.mau.fi/util v0.9.2 h1:+S4Z03iCsGqU2WY8X2gySFsFjaLlUHFRDVCYvVwynKM= +go.mau.fi/util v0.9.2/go.mod h1:055elBBCJSdhRsmub7ci9hXZPgGr1U6dYg44cSgRgoU= +go.mau.fi/whatsmeow v0.0.0-20251028165006-ad7a618ba42f h1:UfzKgeEBRlDj3E2B/z+no17BstkAxO4kIUNSgR6Cwrw= +go.mau.fi/whatsmeow v0.0.0-20251028165006-ad7a618ba42f/go.mod h1:RwBrMQAWCHGzMdDZ6EwjcY4Aj3g8Efx8c7GACTdiAME= +golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04= +golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0= +golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 h1:mgKeJMpvi0yx/sU5GsxQ7p6s2wtOnGAHZWCHUM4KGzY= +golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546/go.mod h1:j/pmGrbnkbPtQfxEe5D0VQhZC6qKbfKifgD0oM7sR70= +golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4= +golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= +golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= +golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= +google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= +google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/neonize/gocode/header/cstruct.h b/goneonize/header/cstruct.h similarity index 100% rename from neonize/gocode/header/cstruct.h rename to goneonize/header/cstruct.h diff --git a/goneonize/main.go b/goneonize/main.go new file mode 100644 index 00000000..bfb4bbd6 --- /dev/null +++ b/goneonize/main.go @@ -0,0 +1,2224 @@ +package main + +/* + + #include + #include + #include + #include + #include "header/cstruct.h" + #include "python/pythonptr.h" +*/ +import "C" + +import ( + "context" + // "crypto/sha256" + // "encoding/hex" + "fmt" + "strings" + "time" + "unsafe" + + "github.com/krypton-byte/neonize/defproto" + "github.com/krypton-byte/neonize/utils" + _ "github.com/mattn/go-sqlite3" + "go.mau.fi/whatsmeow" + "go.mau.fi/whatsmeow/proto/waCompanionReg" + "go.mau.fi/whatsmeow/proto/waConsumerApplication" + waE2E "go.mau.fi/whatsmeow/proto/waE2E" + "go.mau.fi/whatsmeow/proto/waMsgApplication" + "go.mau.fi/whatsmeow/store" + "go.mau.fi/whatsmeow/store/sqlstore" + "go.mau.fi/whatsmeow/types" + "go.mau.fi/whatsmeow/types/events" + + _ "github.com/lib/pq" + + // waLog "go.mau.fi/whatsmeow/util/log" + "google.golang.org/protobuf/proto" +) + +var clients = make(map[string]*whatsmeow.Client) + +type MessageEvent struct { + eventType int + message proto.Message +} + +var ( + eventChannel map[string]chan *MessageEvent = make(map[string]chan *MessageEvent) + StopSignal map[string]context.CancelFunc = make(map[string]context.CancelFunc) +) + +// Defaults to sqlite otherwise use postgres database url +func getDB(db *C.char, dbLog utils.Logger) (*sqlstore.Container, error) { + container, err := sqlstore.New(context.TODO(), "sqlite3", fmt.Sprintf("file:%s?_foreign_keys=on", C.GoString(db)), dbLog) + if strings.HasPrefix(C.GoString(db), "postgres") { + container, err = sqlstore.New(context.TODO(), "postgres", C.GoString(db), dbLog) + } + return container, err +} + +func getByteByAddr(addr *C.uchar, size C.int) []byte { + return C.GoBytes(unsafe.Pointer(addr), size) + // var result []byte + // for i := 0; i < int(size); i++ { + // value := *(*C.uchar)(unsafe.Pointer(uintptr(unsafe.Pointer(addr)) + uintptr(i))) + // // fmt.Println(value) + // result = append(result, byte(value)) + // } + // return result +} + +//export GetPNFromLID +func GetPNFromLID(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.struct_BytesReturn { + var neoJIDProto defproto.JID + jidbyte := getByteByAddr(JIDByte, JIDSize) + err := proto.Unmarshal(jidbyte, &neoJIDProto) + if err != nil { + panic(err) + } + lid := utils.DecodeJidProto(&neoJIDProto) + cli := clients[C.GoString(id)].Store + pn, err := cli.LIDs.GetPNForLID(context.Background(), lid) + + neojid := utils.EncodeJidProto(pn) + + return_ := defproto.GetJIDFromStoreReturnFunction{ + Jid: neojid, + } + if err != nil { + return_.Error = proto.String(err.Error()) + } + + return ProtoReturnV3(&return_) +} + +//export GetLIDFromPN +func GetLIDFromPN(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.struct_BytesReturn { + var neoJIDProto defproto.JID + jidbyte := getByteByAddr(JIDByte, JIDSize) + err := proto.Unmarshal(jidbyte, &neoJIDProto) + if err != nil { + panic(err) + } + pn := utils.DecodeJidProto(&neoJIDProto) + cli := clients[C.GoString(id)].Store + lid, err := cli.LIDs.GetLIDForPN(context.Background(), pn) + + neojid := utils.EncodeJidProto(lid) + + return_ := defproto.GetJIDFromStoreReturnFunction{ + Jid: neojid, + } + if err != nil { + return_.Error = proto.String(err.Error()) + } + + return ProtoReturnV3(&return_) +} + +func ReturnBytes(data []byte) C.struct_BytesReturn { + size := C.size_t(len(data)) + ptr := (*C.char)(C.CBytes(data)) + // defer C.free(unsafe.Pointer(&ptr)) + return C.struct_BytesReturn{ptr, size} +} + +func ReturnBytesV2(data []byte) *C.struct_BytesReturn { + size := C.size_t(len(data)) + ptr := (*C.char)(C.CBytes(data)) + // defer C.free(unsafe.Pointer(&ptr)) + return &C.struct_BytesReturn{ptr, size} +} + +func ProtoReturn(data proto.Message) C.struct_BytesReturn { + data_buf, err := proto.Marshal(data) + if err != nil { + panic(err) + } + return ReturnBytes(data_buf) +} + +func ProtoReturnV2(data proto.Message) *C.struct_BytesReturn { + data_buf, err := proto.Marshal(data) + if err != nil { + panic(err) + } + return ReturnBytesV2(data_buf) +} + +func ProtoReturnV3(data proto.Message) *C.struct_BytesReturn { + data_buf, err := proto.Marshal(data) + if err != nil { + panic(err) + } + result := (*C.struct_BytesReturn)(C.malloc(C.size_t(unsafe.Sizeof(C.struct_BytesReturn{})))) + result.size = C.size_t(len(data_buf)) + result.data = (*C.char)(C.malloc(result.size)) + C.memcpy(unsafe.Pointer(result.data), unsafe.Pointer(&data_buf[0]), result.size) + return result +} + +func getBytesAndSize(data []byte) (*C.char, C.size_t) { + messageSourceCDATA := (*C.char)(unsafe.Pointer(&data[0])) + messageSourceCSize := C.size_t(len(data)) + return messageSourceCDATA, messageSourceCSize +} + +//export Upload +func Upload(id *C.char, mediabuff *C.uchar, mediaSize C.int, mediatype C.int) *C.struct_BytesReturn { + client := clients[C.GoString(id)] + data := getByteByAddr(mediabuff, mediaSize) + response, err_upload := client.Upload(context.Background(), data, utils.MediaType[int(mediatype)]) + return_ := defproto.UploadReturnFunction{} + if err_upload != nil { + return_.Error = proto.String(err_upload.Error()) + } + return_.UploadResponse = utils.EncodeUploadResponse(response) + return ProtoReturnV3(&return_) +} + +//export UploadNewsletter +func UploadNewsletter(id *C.char, data *C.uchar, dataSize C.int, appInfo C.int) *C.struct_BytesReturn { + return_ := defproto.UploadReturnFunction{} + upload, err := clients[C.GoString(id)].UploadNewsletter(context.Background(), getByteByAddr(data, dataSize), utils.MediaType[int(appInfo)]) + if err != nil { + return_.Error = proto.String(err.Error()) + } + return_.UploadResponse = utils.EncodeUploadResponse(upload) + return ProtoReturnV3(&return_) +} + +//export GenerateMessageID +func GenerateMessageID(id *C.char) *C.char { + return C.CString(clients[C.GoString(id)].GenerateMessageID()) +} + +//export AcceptTOSNotice +func AcceptTOSNotice(id *C.char, noticeID *C.char, stage *C.char) *C.char { + err := clients[C.GoString(id)].AcceptTOSNotice(C.GoString(noticeID), C.GoString(stage)) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export TestStruct +func TestStruct() *C.struct_BytesReturn { + data := defproto.SendRequestExtra{ + ID: proto.String("test-id"), + InlineBotJID: &defproto.JID{ + User: proto.String("test-user"), + Server: proto.String("test-server"), + RawAgent: proto.Uint32(0), + Device: proto.Uint32(0), + Integrator: proto.Uint32(0), + IsEmpty: proto.Bool(false), + }, + Peer: proto.Bool(true), + Timeout: proto.Int64(99999999), + MediaHandle: proto.String("test-media-handle"), + } + return ProtoReturnV3(&data) +} + +//export SendMessage +func SendMessage(id *C.char, JIDByte *C.uchar, JIDSize C.int, messageByte *C.uchar, messageSize C.int) *C.struct_BytesReturn { + // fmt.Println("SendMessage: Getting client from ID") + client := clients[C.GoString(id)] + // fmt.Println("SendMessage: Getting JID byte array") + jid := getByteByAddr(JIDByte, JIDSize) + // fmt.Println("SendMessage: Creating neonize_jid variable") + var neonize_jid defproto.JID + // fmt.Println("SendMessage: Creating return object") + return_ := defproto.SendMessageReturnFunction{} + // fmt.Println("SendMessage: Unmarshaling JID") + err := proto.Unmarshal(jid, &neonize_jid) + if err != nil { + fmt.Println("SendMessage: Error unmarshaling JID:", err.Error()) + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + // fmt.Println("SendMessage: Getting message byte array") + message_bytes := getByteByAddr(messageByte, messageSize) + // fmt.Println("SendMessage: Creating message variable") + var message waE2E.Message + // fmt.Println("SendMessage: Unmarshaling message") + err_message := proto.Unmarshal(message_bytes, &message) + if err_message != nil { + fmt.Println("SendMessage: Error unmarshaling message:", err_message.Error()) + return_.Error = proto.String(err_message.Error()) + return ProtoReturnV3(&return_) + } + // fmt.Println("SendMessage: Sending message to WhatsApp") + sendresponse, err := client.SendMessage(context.Background(), utils.DecodeJidProto(&neonize_jid), &message) + if err != nil { + fmt.Println("SendMessage: Error sending message:", err.Error()) + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + // fmt.Println("SendMessage: Encoding send response") + return_.SendResponse = utils.EncodeSendResponse(sendresponse) + // buff, err := proto.Marshal(&return_) + // if err != nil { + // panic(err) + // } + // hashx := sha256.Sum256(buff) + // hashl := hex.EncodeToString(hashx[:]) // This is just to ensure the data is not empty + // fmt.Printf("Marshaled data (%d bytes): %x\thash: %s\n", len(buff), buff, hashl) + // fmt.Println("SendMessage: Returning proto response") + // result := ProtoReturnV3(&return_) + // fmt.Println("size of result:", int(result.size)) + return ProtoReturnV3(&return_) +} + +//export PinMessage +func PinMessage(id *C.char, ChatJIDByte *C.uchar, ChatJIDSize C.int, SenderJIDByte *C.uchar, SenderJIDSize C.int, messageID *C.char, seconds C.int) *C.struct_BytesReturn { + client := clients[C.GoString(id)] + _chat_jid := getByteByAddr(ChatJIDByte, ChatJIDSize) + _sender_jid := getByteByAddr(SenderJIDByte, SenderJIDSize) + var chat_jid defproto.JID + var sender_jid defproto.JID + return_ := defproto.SendMessageReturnFunction{} + err := proto.Unmarshal(_chat_jid, &chat_jid) + if err != nil { + fmt.Println("SendMessage: Error unmarshaling JID:", err.Error()) + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + err_message := proto.Unmarshal(_sender_jid, &sender_jid) + if err_message != nil { + fmt.Println("SendMessage: Error unmarshaling JID:", err_message.Error()) + return_.Error = proto.String(err_message.Error()) + return ProtoReturnV3(&return_) + } + chat := utils.DecodeJidProto(&chat_jid) + sender := utils.DecodeJidProto(&sender_jid) + messageId := C.GoString(messageID) + messageKey := client.BuildMessageKey(chat, sender, messageId) + messageKey.Participant = proto.String(sender.ToNonAD().String()) + pinInChatMessage := &waE2E.PinInChatMessage{ + Key: messageKey, + Type: waE2E.PinInChatMessage_PIN_FOR_ALL.Enum(), + SenderTimestampMS: proto.Int64(time.Now().UnixMilli()), + } + message := waE2E.Message{ + MessageContextInfo: &waE2E.MessageContextInfo{ + MessageAddOnExpiryType: waE2E.MessageContextInfo_STATIC.Enum(), + MessageAddOnDurationInSecs: proto.Uint32(uint32(seconds)), + }, + PinInChatMessage: pinInChatMessage, + } + sendresponse, err := client.SendMessage(context.Background(), chat, &message) + if err != nil { + fmt.Println("SendMessage: Error sending message:", err.Error()) + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + return_.SendResponse = utils.EncodeSendResponse(sendresponse) + return ProtoReturnV3(&return_) +} + +//export StopAll +func StopAll() { + for key := range clients { + Stop(C.CString(key)) + } +} + +//export Stop +func Stop(id *C.char) { + utils.Noop.Infof("Stopping client with ID:", C.GoString(id)) // utils.Logger + if client, exists := clients[C.GoString(id)]; exists { + client.Disconnect() + delete(clients, C.GoString(id)) + } + if cancelFunc, exists := StopSignal[C.GoString(id)]; exists { + cancelFunc() + delete(StopSignal, C.GoString(id)) + } + if eventChan, exists := eventChannel[C.GoString(id)]; exists { + close(eventChan) + delete(eventChannel, C.GoString(id)) + } +} + +//export Neonize +func Neonize(db *C.char, id *C.char, JIDByte *C.uchar, JIDSize C.int, logLevel *C.char, qrCb C.ptr_to_python_function_string, logStatus C.ptr_to_python_function_string, event C.ptr_to_python_function_bytes, logCb C.ptr_to_python_function_callback_bytes2, subscribes *C.uchar, lenSubscriber C.int, devicePropsBuf *C.uchar, devicePropsSize C.int, pairphone *C.uchar, pairphoneSize C.int) { // , + subscribers := map[int]bool{} + var deviceProps waCompanionReg.DeviceProps + loginStateChan := make(chan bool) + err_proto := proto.Unmarshal(getByteByAddr(devicePropsBuf, devicePropsSize), &deviceProps) + ctx, cancel := context.WithCancel(context.Background()) + StopSignal[C.GoString(id)] = cancel + if err_proto != nil { + panic(err_proto) + } + for _, s := range getByteByAddr(subscribes, lenSubscriber) { + subscribers[int(s)] = true + } + dbLog := utils.NewLogger("Database", C.GoString(logLevel), utils.Callback(logCb)) + // Make sure you add appropriate DB connector imports, e.g. github.com/mattn/go-sqlite3 for SQLite + container, err := getDB(db, dbLog) + uuid := C.GoString(id) + eventChan := make(chan *MessageEvent, 100) + eventChannel[uuid] = eventChan + if err != nil { + panic(err) + } + // If you want multiple sessions, remember their JIDs and use .GetDevice(jid) or .GetAllDevices() instead. + var deviceStore *store.Device + var err_device error + var JID defproto.JID + if int(JIDSize) > 0 { + jidbyte_err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if jidbyte_err != nil { + panic(jidbyte_err) + } + deviceStore, err_device = container.GetDevice(context.TODO(), utils.DecodeJidProto(&JID)) + } else { + deviceStore, err_device = container.GetFirstDevice(context.TODO()) + } + if err_device != nil { + panic(err_device) + } + proto.Merge(store.DeviceProps, &deviceProps) + clientLog := utils.NewLogger("Client", C.GoString(logLevel), utils.Callback(logCb)) + client := whatsmeow.NewClient(deviceStore, clientLog) + clients[uuid] = client + eventHandler := func(evt interface{}) { + switch v := evt.(type) { + case *events.QR: + if _, ok := subscribers[1]; ok { + qr := defproto.QR{ + Codes: v.Codes, + } + messageEvent := MessageEvent{ + eventType: 1, + message: &qr, + } + eventChan <- &messageEvent + } + case *events.PairError: + if _, ok := subscribers[2]; ok { + pair := utils.EncodePairError(v) + messageEvent := MessageEvent{ + eventType: 2, + message: pair, + } + eventChan <- &messageEvent + } + case *events.PairSuccess: + if _, ok := subscribers[2]; ok { + pair := utils.EncodePairSuccess(v) + messageEvent := MessageEvent{ + eventType: 2, + message: pair, + } + eventChan <- &messageEvent + } + case *events.Connected: + if int(pairphoneSize) > 0 { + loginStateChan <- true + } + if _, ok := subscribers[3]; ok { + connected := defproto.Connected{Status: proto.Bool(true)} + messageEvent := MessageEvent{ + eventType: 3, + message: &connected, + } + eventChan <- &messageEvent + } + case *events.KeepAliveTimeout: + if _, ok := subscribers[4]; ok { + timeout := defproto.KeepAliveTimeout{ + ErrorCount: proto.Int64(int64(v.ErrorCount)), + LastSuccess: proto.Int64(v.LastSuccess.Unix()), + } + messageEvent := MessageEvent{ + eventType: 4, + message: &timeout, + } + eventChan <- &messageEvent + } + case *events.KeepAliveRestored: + if _, ok := subscribers[5]; ok { + restored := defproto.KeepAliveRestored{} + messageEvent := MessageEvent{ + eventType: 5, + message: &restored, + } + eventChan <- &messageEvent + } + case *events.LoggedOut: + if _, ok := subscribers[6]; ok { + logout := utils.EncodeLoggedOut(v) + messageEvent := MessageEvent{ + eventType: 6, + message: logout, + } + eventChan <- &messageEvent + } + case *events.StreamReplaced: + if _, ok := subscribers[7]; ok { + stream := defproto.StreamReplaced{} + messageEvent := MessageEvent{ + eventType: 7, + message: &stream, + } + eventChan <- &messageEvent + } + case *events.TemporaryBan: + if _, ok := subscribers[8]; ok { + ban := utils.EncodeTemporaryBan(v) + messageEvent := MessageEvent{ + eventType: 8, + message: ban, + } + eventChan <- &messageEvent + } + case *events.ConnectFailure: + if _, ok := subscribers[9]; ok { + failure := utils.EncodeConnectFailure(v) + messageEvent := MessageEvent{ + eventType: 9, + message: failure, + } + eventChan <- &messageEvent + } + case *events.ClientOutdated: + if _, ok := subscribers[10]; ok { + outdated := defproto.ClientOutdated{} + messageEvent := MessageEvent{ + eventType: 10, + message: &outdated, + } + eventChan <- &messageEvent + } + case *events.StreamError: + if _, ok := subscribers[11]; ok { + stream_error := defproto.StreamError{ + Code: &v.Code, + Raw: utils.EncodeNode(v.Raw), + } + messageEvent := MessageEvent{ + eventType: 11, + message: &stream_error, + } + eventChan <- &messageEvent + } + case *events.Disconnected: + if _, ok := subscribers[12]; ok { + disconnect := defproto.Disconnected{ + Status: proto.Bool(true), + } + messageEvent := MessageEvent{ + eventType: 12, + message: &disconnect, + } + eventChan <- &messageEvent + } + case *events.HistorySync: + if _, ok := subscribers[13]; ok { + data := defproto.HistorySync{ + Data: v.Data, + } + messageEvent := MessageEvent{ + eventType: 13, + message: &data, + } + eventChan <- &messageEvent + } + case *events.Message: + if _, ok := subscribers[17]; ok { + messageSource := utils.EncodeEventTypesMessage(v) + messageEvent := MessageEvent{ + eventType: 17, + message: messageSource, + } + eventChan <- &messageEvent + } + case *events.Receipt: + if _, ok := subscribers[18]; ok { + receipt := utils.EncodeReceipts(v) + messageEvent := MessageEvent{ + eventType: 18, + message: &receipt, + } + eventChan <- &messageEvent + } + case *events.ChatPresence: + if _, ok := subscribers[19]; ok { + presence := utils.EncodeChatPresence(v) + messageEvent := MessageEvent{ + eventType: 19, + message: &presence, + } + eventChan <- &messageEvent + } + case *events.Presence: + if _, ok := subscribers[20]; ok { + presence := utils.EncodePresence(v) + messageEvent := MessageEvent{ + eventType: 20, + message: &presence, + } + eventChan <- &messageEvent + } + case *events.JoinedGroup: + if _, ok := subscribers[21]; ok { + joined := utils.EncodeJoinedGroup(v) + messageEvent := MessageEvent{ + eventType: 21, + message: &joined, + } + eventChan <- &messageEvent + } + case *events.GroupInfo: + if _, ok := subscribers[22]; ok { + groupinfo := utils.EncodeGroupInfoEvent(v) + messageEvent := MessageEvent{ + eventType: 22, + message: groupinfo, + } + eventChan <- &messageEvent + } + case *events.Picture: + if _, ok := subscribers[23]; ok { + picture := defproto.Picture{ + JID: utils.EncodeJidProto(v.JID), + Author: utils.EncodeJidProto(v.Author), + Timestamp: proto.Int64(v.Timestamp.Unix()), + Remove: &v.Remove, + } + messageEvent := MessageEvent{ + eventType: 23, + message: &picture, + } + eventChan <- &messageEvent + } + case *events.IdentityChange: + if _, ok := subscribers[24]; ok { + identity := defproto.IdentityChange{ + JID: utils.EncodeJidProto(v.JID), + Timestamp: proto.Int64(v.Timestamp.Unix()), + Implicit: &v.Implicit, + } + messageEvent := MessageEvent{ + eventType: 24, + message: &identity, + } + eventChan <- &messageEvent + } + case *events.PrivacySettings: + if _, ok := subscribers[25]; ok { + privacy_event := defproto.PrivacySettingsEvent{ + NewSettings: utils.EncodePrivacySettings(v.NewSettings), + GroupAddChanged: &v.GroupAddChanged, + LastSeenChanged: &v.LastSeenChanged, + StatusChanged: &v.StatusChanged, + ProfileChanged: &v.ProfileChanged, + ReadReceiptsChanged: &v.ReadReceiptsChanged, + OnlineChanged: &v.OnlineChanged, + CallAddChanged: &v.CallAddChanged, + } + messageEvent := MessageEvent{ + eventType: 25, + message: &privacy_event, + } + eventChan <- &messageEvent + } + case *events.OfflineSyncPreview: + if _, ok := subscribers[26]; ok { + sync := defproto.OfflineSyncPreview{ + Total: proto.Int32(int32(v.Total)), + AppDataChanges: proto.Int32(int32(v.AppDataChanges)), + Message: proto.Int32(int32(v.Messages)), + Notifications: proto.Int32(int32(v.Notifications)), + Receipts: proto.Int32(int32(v.Receipts)), + } + messageEvent := MessageEvent{ + eventType: 26, + message: &sync, + } + eventChan <- &messageEvent + } + case *events.OfflineSyncCompleted: + if _, ok := subscribers[27]; ok { + sync := defproto.OfflineSyncCompleted{ + Count: proto.Int32(int32(v.Count)), + } + messageEvent := MessageEvent{ + eventType: 27, + message: &sync, + } + eventChan <- &messageEvent + } + case *events.Blocklist: + if _, ok := subscribers[30]; ok { + blocklist := utils.EncodeBlocklistEvent(v) + messageEvent := MessageEvent{ + eventType: 30, + message: &blocklist, + } + eventChan <- &messageEvent + } + case *events.BlocklistChange: + if _, ok := subscribers[31]; ok { + block := utils.EncodeBlocklistChange(v) + messageEvent := MessageEvent{ + eventType: 31, + message: block, + } + eventChan <- &messageEvent + } + case *events.NewsletterJoin: + if _, ok := subscribers[32]; ok { + newsletter := defproto.NewsletterJoin{ + NewsletterMetadata: utils.EncodeNewsLetterMessageMetadata(v.NewsletterMetadata), + } + messageEvent := MessageEvent{ + eventType: 32, + message: &newsletter, + } + eventChan <- &messageEvent + } + case *events.NewsletterLeave: + if _, ok := subscribers[33]; ok { + leave := utils.EncodeNewsletterLeave(v) + messageEvent := MessageEvent{ + eventType: 33, + message: &leave, + } + eventChan <- &messageEvent + } + case *events.NewsletterMuteChange: + if _, ok := subscribers[34]; ok { + mute := utils.EncodeNewsletterMuteChange(v) + messageEvent := MessageEvent{ + eventType: 34, + message: &mute, + } + eventChan <- &messageEvent + } + case *events.NewsletterLiveUpdate: + if _, ok := subscribers[35]; ok { + update := utils.EncodeNewsletterLiveUpdate(v) + messageEvent := MessageEvent{ + eventType: 35, + message: &update, + } + eventChan <- &messageEvent + } + case *events.CallOffer: + if _, ok := subscribers[36]; ok { + callOffer := defproto.CallOffer{ + BasicCallMeta: utils.EncodeBasicCallMeta(v.BasicCallMeta), + CallRemoteMeta: utils.EncodeCallRemoteMeta(v.CallRemoteMeta), + Data: utils.EncodeNode(v.Data), + } + messageEvent := MessageEvent{ + eventType: 36, + message: &callOffer, + } + eventChan <- &messageEvent + } + case *events.CallAccept: + if _, ok := subscribers[37]; ok { + callAccept := defproto.CallAccept{ + BasicCallMeta: utils.EncodeBasicCallMeta(v.BasicCallMeta), + CallRemoteMeta: utils.EncodeCallRemoteMeta(v.CallRemoteMeta), + Data: utils.EncodeNode(v.Data), + } + messageEvent := MessageEvent{ + eventType: 37, + message: &callAccept, + } + eventChan <- &messageEvent + } + case *events.CallPreAccept: + if _, ok := subscribers[38]; ok { + callPreAccept := defproto.CallPreAccept{ + BasicCallMeta: utils.EncodeBasicCallMeta(v.BasicCallMeta), + CallRemoteMeta: utils.EncodeCallRemoteMeta(v.CallRemoteMeta), + Data: utils.EncodeNode(v.Data), + } + messageEvent := MessageEvent{ + eventType: 38, + message: &callPreAccept, + } + eventChan <- &messageEvent + } + case *events.CallTransport: + if _, ok := subscribers[39]; ok { + callTransport := defproto.CallTransport{ + BasicCallMeta: utils.EncodeBasicCallMeta(v.BasicCallMeta), + CallRemoteMeta: utils.EncodeCallRemoteMeta(v.CallRemoteMeta), + Data: utils.EncodeNode(v.Data), + } + messageEvent := MessageEvent{ + eventType: 39, + message: &callTransport, + } + eventChan <- &messageEvent + } + case *events.CallOfferNotice: + if _, ok := subscribers[40]; ok { + callOfferNotice := defproto.CallOfferNotice{ + BasicCallMeta: utils.EncodeBasicCallMeta(v.BasicCallMeta), + Media: proto.String(v.Media), + Type: proto.String(v.Type), + Data: utils.EncodeNode(v.Data), + } + messageEvent := MessageEvent{ + eventType: 40, + message: &callOfferNotice, + } + eventChan <- &messageEvent + } + case *events.CallRelayLatency: + if _, ok := subscribers[41]; ok { + callRelayLatency := defproto.CallRelayLatency{ + BasicCallMeta: utils.EncodeBasicCallMeta(v.BasicCallMeta), + Data: utils.EncodeNode(v.Data), + } + messageEvent := MessageEvent{ + eventType: 41, + message: &callRelayLatency, + } + eventChan <- &messageEvent + } + case *events.CallTerminate: + if _, ok := subscribers[42]; ok { + callTerminate := defproto.CallTerminate{ + BasicCallMeta: utils.EncodeBasicCallMeta(v.BasicCallMeta), + Reason: proto.String(v.Reason), + Data: utils.EncodeNode(v.Data), + } + messageEvent := MessageEvent{ + eventType: 42, + message: &callTerminate, + } + eventChan <- &messageEvent + } + case *events.UnknownCallEvent: + if _, ok := subscribers[43]; ok { + unknownCall := defproto.UnknownCallEvent{ + Node: utils.EncodeNode(v.Node), + } + messageEvent := MessageEvent{ + eventType: 43, + message: &unknownCall, + } + eventChan <- &messageEvent + } + case *events.UndecryptableMessage: + if _, ok := subscribers[44]; ok { + undecryptableMessage := utils.EncodeUndecryptableMessageEvent(*v) + messageEvent := MessageEvent{ + eventType: 44, + message: undecryptableMessage, + } + eventChan <- &messageEvent + } + } + + // C.free(unsafe.Pointer(CData)) + } + client.AddEventHandler(eventHandler) + qrFuncCb := func(data string) { + cstr := C.CString(data) + defer C.free(unsafe.Pointer(cstr)) + C.call_c_func_string(qrCb, C.CString(uuid), cstr) + } + logStatusCb := func(eventName string) { + cstr := C.CString(eventName) + defer C.free(unsafe.Pointer(cstr)) + C.call_c_func_string(logStatus, C.CString(uuid), cstr) + } + if client.Store.ID == nil { + // No ID stored, new login + if int(pairphoneSize) > 0 { + phone_number := getByteByAddr(pairphone, pairphoneSize) + var PairPhone defproto.PairPhoneParams + err_pairparams := proto.Unmarshal(phone_number, &PairPhone) + if err_pairparams != nil { + panic(err_pairparams) + } + phone := *PairPhone.Phone + notif := *PairPhone.ShowPushNotification + displayname := *PairPhone.ClientDisplayName + clientType := *PairPhone.ClientType + client.Connect() + code_, code_err := client.PairPhone(context.Background(), phone, notif, whatsmeow.PairClientType(int(clientType)), displayname) + if code_err != nil { + panic(code_err) + } + fmt.Println("Pair Code: ", code_) + // for stat := range loginStateChan { + // if stat { + // break + // } + // } + + } else { + qrChan, _ := client.GetQRChannel(context.Background()) + err = client.Connect() + if err != nil { + panic(err) + } + for evt := range qrChan { + if evt.Event == "code" { + // Render the QR code here + // e.g. qrterminal.GenerateHalfBlock(evt.Code, qrterminal.L, os.Stdout) + // or just manually `echo 2@... | qrencode -t ansiutf8` in a terminal + qrFuncCb(evt.Code) + // C.free(unsafe.Pointer(cstr)) + } else { + fmt.Println("Login event:", evt.Event) + logStatusCb(evt.Event) + } + } + } + } else { + // Already logged in, just connect + err = client.Connect() + if err != nil { + panic(err) + } + } + + if int(pairphoneSize) > 0 { + for stat := range loginStateChan { + if stat { + break + } + } + } + + // Listen to Ctrl+C (you can also do something else that prevents the program from exiting) + println("Press Ctrl+C to exit") + CallbackFunction(ctx, event, uuid) +} + +//export Disconnect +func Disconnect(id *C.char) { + clients[C.GoString(id)].Disconnect() +} + +//export DownloadAny +func DownloadAny(id *C.char, messageProto *C.uchar, size C.int) *C.struct_BytesReturn { + var message waE2E.Message + return_ := defproto.DownloadReturnFunction{} + err := proto.Unmarshal(getByteByAddr(messageProto, size), &message) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + data_buff, err := clients[C.GoString(id)].DownloadAny(context.Background(), &message) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + if data_buff != nil { + return_.Binary = data_buff + } + return ProtoReturnV3(&return_) +} + +//export DownloadMediaWithPath +func DownloadMediaWithPath(id *C.char, directPath *C.char, encFileHash *C.uchar, encFileHashSize C.int, fileHash *C.uchar, fileHashSize C.int, mediakey *C.uchar, mediaKeySize C.int, fileLength C.int, mediaType C.int, mmsType *C.char) *C.struct_BytesReturn { + data_buff, err := clients[C.GoString(id)].DownloadMediaWithPath(context.Background(), C.GoString(directPath), getByteByAddr(encFileHash, encFileHashSize), getByteByAddr(fileHash, fileHashSize), getByteByAddr(mediakey, mediaKeySize), int(fileLength), utils.MediaType[mediaType], C.GoString(mmsType)) + return_ := defproto.DownloadReturnFunction{} + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + if data_buff != nil { + return_.Binary = data_buff + } + return ProtoReturnV3(&return_) +} + +//export IsOnWhatsApp +func IsOnWhatsApp(id *C.char, numbers *C.char) *C.struct_BytesReturn { + onWhatsApp := []*defproto.IsOnWhatsAppResponse{} + return_ := defproto.IsOnWhatsAppReturnFunction{} + response, err := clients[C.GoString(id)].IsOnWhatsApp(strings.Split(C.GoString(numbers), " ")) + for _, participant := range response { + onWhatsApp = append(onWhatsApp, utils.EncodeIsOnWhatsApp(participant)) + } + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + if len(onWhatsApp) > 0 { + return_.IsOnWhatsAppResponse = onWhatsApp + } else { + return_.Error = proto.String("Function returned nothing.") + } + return ProtoReturnV3(&return_) +} + +//export IsConnected +func IsConnected(id *C.char) C.bool { + check := clients[C.GoString(id)].IsConnected() + return C.bool(check) +} + +//export IsLoggedIn +func IsLoggedIn(id *C.char) C.bool { + check := clients[C.GoString(id)].IsConnected() + return C.bool(check) +} + +//export GetUserInfo +func GetUserInfo(id *C.char, JIDSByte *C.uchar, JIDSSize C.int) *C.struct_BytesReturn { + var NeoJIDS defproto.JIDArray + JIDSBuf := getByteByAddr(JIDSByte, JIDSSize) + err := proto.Unmarshal(JIDSBuf, &NeoJIDS) + return_ := defproto.GetUserInfoReturnFunction{} + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + JIDS := []types.JID{} + for _, jid := range NeoJIDS.JIDS { + JIDS = append(JIDS, utils.DecodeJidProto(jid)) + } + user_info, err := clients[C.GoString(id)].GetUserInfo(JIDS) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + usersinfo := []*defproto.GetUserInfoSingleReturnFunction{} + for jid, info := range user_info { + singlereturn := &defproto.GetUserInfoSingleReturnFunction{ + JID: utils.EncodeJidProto(jid), + UserInfo: utils.EncodeUserInfo(info), + } + + usersinfo = append(usersinfo, singlereturn) + } + return_.UsersInfo = usersinfo + return ProtoReturnV3(&return_) +} + +// /GROUP +// +//export GetGroupInfo +func GetGroupInfo(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.struct_BytesReturn { + var neoJIDProto defproto.JID + jidbyte := getByteByAddr(JIDByte, JIDSize) + groupinfo := defproto.GetGroupInfoReturnFunction{} + err := proto.Unmarshal(jidbyte, &neoJIDProto) + if err != nil { + groupinfo.Error = proto.String(err.Error()) + return ProtoReturnV3(&groupinfo) + } + decodeJid := utils.DecodeJidProto(&neoJIDProto) + info, err_info := clients[C.GoString(id)].GetGroupInfo(decodeJid) + if err_info != nil { + groupinfo.Error = proto.String(err_info.Error()) + return ProtoReturnV3(&groupinfo) + } + if info != nil { + groupinfo.GroupInfo = utils.EncodeGroupInfo(info) + return ProtoReturnV3(&groupinfo) + } + return ProtoReturnV3(&groupinfo) +} + +//export GetGroupInfoFromInvite +func GetGroupInfoFromInvite(id *C.char, JIDByte *C.uchar, JIDSize C.int, inviter *C.uchar, inviterSize C.int, code *C.char, expiration C.int) *C.struct_BytesReturn { + var JIDInviter defproto.JID + var JID defproto.JID + err_jid := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + return_proto := defproto.GetGroupInfoReturnFunction{} + if err_jid != nil { + return_proto.Error = proto.String(err_jid.Error()) + return ProtoReturnV3(&return_proto) + } + err_inviter := proto.Unmarshal(getByteByAddr(inviter, inviterSize), &JIDInviter) + if err_inviter != nil { + return_proto.Error = proto.String(err_inviter.Error()) + return ProtoReturnV3(&return_proto) + } + group_info, err := clients[C.GoString(id)].GetGroupInfoFromInvite(utils.DecodeJidProto(&JID), utils.DecodeJidProto(&JIDInviter), C.GoString(code), int64(expiration)) + if err != nil { + return_proto.Error = proto.String(err.Error()) + } + if group_info != nil { + return_proto.GroupInfo = utils.EncodeGroupInfo(group_info) + } + return ProtoReturnV3(&return_proto) +} + +//export GetGroupInfoFromLink +func GetGroupInfoFromLink(id *C.char, code *C.char) *C.struct_BytesReturn { + return_proto := defproto.GetGroupInfoReturnFunction{} + info, err := clients[C.GoString(id)].GetGroupInfoFromLink(C.GoString(code)) + if err != nil { + return_proto.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_proto) + } + if info != nil { + return_proto.GroupInfo = utils.EncodeGroupInfo(info) + } + return ProtoReturnV3(&return_proto) +} + +//export GetGroupRequestParticipants +func GetGroupRequestParticipants(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.struct_BytesReturn { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + return_ := defproto.GetGroupRequestParticipantsReturnFunction{} + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + request_participants, err_request := clients[C.GoString(id)].GetGroupRequestParticipants(utils.DecodeJidProto(&JID)) + participants := []*defproto.GroupParticipantRequest{} + for _, participant := range request_participants { + participants = append(participants, &defproto.GroupParticipantRequest{ + Participant: utils.EncodeJidProto(participant.JID), + TimeAt: proto.Uint64(uint64(participant.RequestedAt.UnixMicro())), + }) + } + return_.Participants = participants + // return_ := defproto.GetGroupRequestParticipantsReturnFunction{ + // Participants: participants, + // } + if err_request != nil { + return_.Error = proto.String(err_request.Error()) + return ProtoReturnV3(&return_) + } + return ProtoReturnV3(&return_) +} + +//export GetLinkedGroupsParticipants +func GetLinkedGroupsParticipants(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.struct_BytesReturn { + var JID defproto.JID + return_ := defproto.ReturnFunctionWithError{} + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + JIDS, err_get := clients[C.GoString(id)].GetLinkedGroupsParticipants(utils.DecodeJidProto(&JID)) + if err_get != nil { + return_.Error = proto.String(err_get.Error()) + return ProtoReturnV3(&return_) + } + neonizeJID := []*defproto.JID{} + for _, jid := range JIDS { + neonizeJID = append(neonizeJID, utils.EncodeJidProto(jid)) + } + return_.Return = &defproto.ReturnFunctionWithError_GetLinkedGroupsParticipants{ + GetLinkedGroupsParticipants: &defproto.JIDArray{ + JIDS: neonizeJID, + }, + } + return ProtoReturnV3(&return_) +} + +//export SetGroupName +func SetGroupName(id *C.char, JIDByte *C.uchar, JIDSize C.int, name *C.char) *C.char { + jidbyte := getByteByAddr(JIDByte, JIDSize) + var neoJIDProto defproto.JID + err := proto.Unmarshal(jidbyte, &neoJIDProto) + if err != nil { + return C.CString(err.Error()) + } + status_err := clients[C.GoString(id)].SetGroupName(utils.DecodeJidProto(&neoJIDProto), C.GoString(name)) + if status_err != nil { + return C.CString(status_err.Error()) + } + return C.CString("") +} + +//export SetGroupPhoto +func SetGroupPhoto(id *C.char, JIDByte *C.uchar, JIDSize C.int, Photo *C.uchar, PhotoSize C.int) *C.struct_BytesReturn { + var neoJIDProto defproto.JID + return_ := defproto.SetGroupPhotoReturnFunction{} + JIDbyte := getByteByAddr(JIDByte, JIDSize) + err := proto.Unmarshal(JIDbyte, &neoJIDProto) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + photo_buf := getByteByAddr(Photo, PhotoSize) + response, err_status := clients[C.GoString(id)].SetGroupPhoto(utils.DecodeJidProto(&neoJIDProto), photo_buf) + return_.PictureID = &response + if err_status != nil { + return_.Error = proto.String(err_status.Error()) + } + return ProtoReturnV3(&return_) +} + +//export SetProfilePhoto +func SetProfilePhoto(id *C.char, Photo *C.uchar, PhotoSize C.int) *C.struct_BytesReturn { + var empty types.JID + photo_buf := getByteByAddr(Photo, PhotoSize) + response, err_status := clients[C.GoString(id)].SetGroupPhoto(empty, photo_buf) + return_ := defproto.SetGroupPhotoReturnFunction{ + PictureID: &response, + } + if err_status != nil { + return_.Error = proto.String(err_status.Error()) + } + return ProtoReturnV3(&return_) +} + +//export LeaveGroup +func LeaveGroup(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.char { + var neoJIDProto defproto.JID + JIDbyte := getByteByAddr(JIDByte, JIDSize) + err := proto.Unmarshal(JIDbyte, &neoJIDProto) + if err != nil { + return C.CString(err.Error()) + } + err_status := clients[C.GoString(id)].LeaveGroup(utils.DecodeJidProto(&neoJIDProto)) + if err_status != nil { + return C.CString(err_status.Error()) + } + return C.CString("") +} + +//export GetGroupInviteLink +func GetGroupInviteLink(id *C.char, JIDByte *C.uchar, JIDSize C.int, revoke C.bool) *C.struct_BytesReturn { + var neoJIDProto defproto.JID + JIDbyte := getByteByAddr(JIDByte, JIDSize) + return_ := defproto.GetGroupInviteLinkReturnFunction{} + err := proto.Unmarshal(JIDbyte, &neoJIDProto) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + url, err := clients[C.GoString(id)].GetGroupInviteLink(utils.DecodeJidProto(&neoJIDProto), bool(revoke)) + return_.InviteLink = &url + if err != nil { + return_.Error = proto.String(err.Error()) + } + return ProtoReturnV3(&return_) +} + +//export JoinGroupWithLink +func JoinGroupWithLink(id *C.char, code *C.char) *C.struct_BytesReturn { + jid, err := clients[C.GoString(id)].JoinGroupWithLink(C.GoString(code)) + + neojid := utils.EncodeJidProto(jid) + + return_ := defproto.JoinGroupWithLinkReturnFunction{ + Jid: neojid, + } + if err != nil { + return_.Error = proto.String(err.Error()) + } + + return ProtoReturnV3(&return_) +} + +//export JoinGroupWithInvite +func JoinGroupWithInvite(id *C.char, JIDByte *C.uchar, JIDSize C.int, inviterByte *C.uchar, inviterSize C.int, code *C.char, expiration C.int) *C.char { + var JID, Inviter defproto.JID + err := proto.Unmarshal(getByteByAddr(inviterByte, inviterSize), &Inviter) + if err != nil { + return C.CString(err.Error()) + } + err_unmarshal := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err_unmarshal != nil { + return C.CString(err_unmarshal.Error()) + } + err_join := clients[C.GoString(id)].JoinGroupWithInvite(utils.DecodeJidProto(&JID), utils.DecodeJidProto(&Inviter), C.GoString(code), int64(expiration)) + if err_join != nil { + return C.CString(err_join.Error()) + } + return C.CString("") +} + +//export LinkGroup +func LinkGroup(id *C.char, parent *C.uchar, parentSize C.int, child *C.uchar, childSize C.int) *C.char { + var parentJID, childJID defproto.JID + err_parent := proto.Unmarshal(getByteByAddr(parent, parentSize), &parentJID) + if err_parent != nil { + return C.CString(err_parent.Error()) + } + err_child := proto.Unmarshal(getByteByAddr(child, childSize), &childJID) + if err_child != nil { + return C.CString(err_child.Error()) + } + err := clients[C.GoString(id)].LinkGroup(utils.DecodeJidProto(&parentJID), utils.DecodeJidProto(&childJID)) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export SendChatPresence +func SendChatPresence(id *C.char, JIDByte *C.uchar, JIDSize C.int, state C.int, media C.int) *C.char { + jidbyte := getByteByAddr(JIDByte, JIDSize) + var neonize_jid defproto.JID + err := proto.Unmarshal(jidbyte, &neonize_jid) + if err != nil { + return C.CString(err.Error()) + } + err_status := clients[C.GoString(id)].SendChatPresence( + utils.DecodeJidProto(&neonize_jid), + utils.ChatPresence[int(state)], + utils.ChatPresenceMedia[int(media)], + ) + if err_status != nil { + return C.CString(err_status.Error()) + } + return C.CString("") +} + +//export BuildRevoke +func BuildRevoke(id *C.char, ChatByte *C.uchar, ChatSize C.int, SenderByte *C.uchar, SenderSize C.int, messageID *C.char) *C.struct_BytesReturn { + var Chat defproto.JID + var Sender defproto.JID + chatByte := getByteByAddr(ChatByte, ChatSize) + senderByte := getByteByAddr(SenderByte, SenderSize) + err := proto.Unmarshal(chatByte, &Chat) + return_ := defproto.BuildMessageReturnFunction{} + + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + err_ := proto.Unmarshal(senderByte, &Sender) + if err_ != nil { + return_.Error = proto.String(err_.Error()) + return ProtoReturnV3(&return_) + } + message := clients[C.GoString(id)].BuildRevoke( + utils.DecodeJidProto(&Chat), + utils.DecodeJidProto(&Sender), + C.GoString(messageID), + ) + return_.Message = message + return ProtoReturnV3(&return_) +} + +//export BuildPollVoteCreation +func BuildPollVoteCreation(id *C.char, name *C.char, options *C.uchar, optionsSize C.int, selectableOptionCount C.int) *C.struct_BytesReturn { + var options_proto defproto.ArrayString + option_byte := getByteByAddr(options, optionsSize) + return_ := defproto.BuildMessageReturnFunction{} + err := proto.Unmarshal(option_byte, &options_proto) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + msg := clients[C.GoString(id)].BuildPollCreation(C.GoString(name), options_proto.Data, int(selectableOptionCount)) + return_.Message = msg + return ProtoReturnV3(&return_) +} + +//export CreateNewsletter +func CreateNewsletter(id *C.char, createNewsletterParams *C.uchar, size C.int) *C.struct_BytesReturn { + var neonizeParams defproto.CreateNewsletterParams + params_byte := getByteByAddr(createNewsletterParams, size) + err := proto.Unmarshal(params_byte, &neonizeParams) + if err != nil { + panic(err) + } + return_ := defproto.CreateNewsLetterReturnFunction{} + metadata, err_metadata := clients[C.GoString(id)].CreateNewsletter(utils.DecodeCreateNewsletterParams(&neonizeParams)) + if err_metadata != nil { + return_.Error = proto.String(err_metadata.Error()) + } + if metadata != nil { + return_.NewsletterMetadata = utils.EncodeNewsLetterMessageMetadata(*metadata) + } + return ProtoReturnV3(&return_) +} + +//export FollowNewsletter +func FollowNewsletter(id *C.char, jid *C.uchar, size C.int) *C.char { + var JID defproto.JID + jid_byte := getByteByAddr(jid, size) + unmarshal_err := proto.Unmarshal(jid_byte, &JID) + if unmarshal_err != nil { + panic(unmarshal_err) + } + err := clients[C.GoString(id)].FollowNewsletter(utils.DecodeJidProto(&JID)) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export GetNewsletterInfo +func GetNewsletterInfo(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.struct_BytesReturn { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + panic(err) + } + metadata_proto := defproto.CreateNewsLetterReturnFunction{} + metadata, err_metadata := clients[C.GoString(id)].GetNewsletterInfo(utils.DecodeJidProto(&JID)) + if metadata != nil { + metadata_proto.NewsletterMetadata = utils.EncodeNewsLetterMessageMetadata(*metadata) + } + if err_metadata != nil { + metadata_proto.Error = proto.String(err_metadata.Error()) + } + return ProtoReturnV3(&metadata_proto) +} + +//export GetNewsletterInfoWithInvite +func GetNewsletterInfoWithInvite(id *C.char, key *C.char) *C.struct_BytesReturn { + return_ := defproto.CreateNewsLetterReturnFunction{} + metadata, err := clients[C.GoString(id)].GetNewsletterInfoWithInvite(C.GoString(key)) + if metadata != nil { + return_.NewsletterMetadata = utils.EncodeNewsLetterMessageMetadata(*metadata) + } + if err != nil { + return_.Error = proto.String(err.Error()) + } + return ProtoReturnV3(&return_) +} + +//export GetNewsletterMessageUpdate +func GetNewsletterMessageUpdate(id *C.char, JIDByte *C.uchar, JIDSize C.int, Count C.int, Since C.int, After C.int) *C.struct_BytesReturn { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + panic(err) + } + newsletterMessage, errnewsletter := clients[C.GoString(id)].GetNewsletterMessageUpdates(utils.DecodeJidProto(&JID), &whatsmeow.GetNewsletterUpdatesParams{ + Count: int(Count), + Since: time.Unix(int64(Since), 0), + After: int(After), + }) + return_ := defproto.GetNewsletterMessageUpdateReturnFunction{} + if errnewsletter != nil { + return_.Error = proto.String(errnewsletter.Error()) + } + NewsletterMessages := []*defproto.NewsletterMessage{} + for _, msg := range newsletterMessage { + NewsletterMessages = append(NewsletterMessages, utils.EncodeNewsletterMessage(msg)) + } + if newsletterMessage != nil { + return_.NewsletterMessage = NewsletterMessages + } + return ProtoReturnV3(&return_) +} + +//export GetNewsletterMessages +func GetNewsletterMessages(id *C.char, JIDByte *C.uchar, JIDSize C.int, Count C.int, Before C.int) *C.struct_BytesReturn { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + panic(err) + } + newsletterMessage, errnewsletter := clients[C.GoString(id)].GetNewsletterMessages(utils.DecodeJidProto(&JID), &whatsmeow.GetNewsletterMessagesParams{ + Count: int(Count), + Before: int(Before), + }) + return_ := defproto.GetNewsletterMessageUpdateReturnFunction{} + if errnewsletter != nil { + return_.Error = proto.String(errnewsletter.Error()) + } + NewsletterMessages := []*defproto.NewsletterMessage{} + for _, msg := range newsletterMessage { + NewsletterMessages = append(NewsletterMessages, utils.EncodeNewsletterMessage(msg)) + } + if newsletterMessage != nil { + return_.NewsletterMessage = NewsletterMessages + } + return ProtoReturnV3(&return_) +} + +//export Logout +func Logout(id *C.char) *C.char { + err := clients[C.GoString(id)].Logout(context.TODO()) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export MarkRead +func MarkRead(id *C.char, ids *C.char, timestamp C.int, chatByte *C.uchar, chatSize C.int, senderByte *C.uchar, senderSize C.int, receiptType *C.char) *C.char { + var chatJID, senderJID defproto.JID + chat_err := proto.Unmarshal(getByteByAddr(chatByte, chatSize), &chatJID) + if chat_err != nil { + return C.CString(chat_err.Error()) + } + sender_err := proto.Unmarshal(getByteByAddr(senderByte, senderSize), &senderJID) + if sender_err != nil { + return C.CString(sender_err.Error()) + } + err := clients[C.GoString(id)].MarkRead(strings.Split(C.GoString(ids), " "), time.Unix(int64(timestamp), 0), utils.DecodeJidProto(&chatJID), utils.DecodeJidProto(&senderJID), types.ReceiptType(C.GoString(receiptType))) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export NewsletterMarkViewed +func NewsletterMarkViewed(id *C.char, JIDByte *C.uchar, JIDSize C.int, MessageServerID *C.uchar, MessageServerIDSize C.int) *C.char { + var JID defproto.JID + serverIDs := make([]int, int(MessageServerIDSize)) + for _, msid := range getByteByAddr(MessageServerID, MessageServerIDSize) { + serverIDs = append(serverIDs, int(msid)) + } + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + panic(err) + } + err_return := clients[C.GoString(id)].NewsletterMarkViewed(utils.DecodeJidProto(&JID), serverIDs) + if err_return != nil { + return C.CString(err_return.Error()) + } + return C.CString("") +} + +//export NewsletterSendReaction +func NewsletterSendReaction(id *C.char, JIDByte *C.uchar, JIDSize, messageServerID C.int, reaction *C.char, messageID *C.char) *C.char { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + return C.CString(err.Error()) + } + err_react := clients[C.GoString(id)].NewsletterSendReaction(utils.DecodeJidProto(&JID), int(messageServerID), C.GoString(reaction), C.GoString(messageID)) + if err_react != nil { + return C.CString(err_react.Error()) + } + return C.CString("") +} + +//export NewsletterSubscribeLiveUpdates +func NewsletterSubscribeLiveUpdates(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.struct_BytesReturn { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + panic(err) + } + duration, err_subs := clients[C.GoString(id)].NewsletterSubscribeLiveUpdates(context.Background(), utils.DecodeJidProto(&JID)) + return_ := defproto.NewsletterSubscribeLiveUpdatesReturnFunction{ + Duration: proto.Int64(int64(duration)), + } + if err_subs != nil { + return_.Error = proto.String(err_subs.Error()) + } + return ProtoReturnV3(&return_) +} + +//export NewsletterToggleMute +func NewsletterToggleMute(id *C.char, JIDByte *C.uchar, JIDSize C.int, mute C.bool) *C.char { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + panic(err) + } + err_togglemute := clients[C.GoString(id)].NewsletterToggleMute(utils.DecodeJidProto(&JID), bool(mute)) + if err_togglemute != nil { + return C.CString(err_togglemute.Error()) + } + return C.CString("") +} + +//export ResolveBusinessMessageLink +func ResolveBusinessMessageLink(id *C.char, code *C.char) *C.struct_BytesReturn { + return_ := defproto.ResolveBusinessMessageLinkReturnFunction{} + message_link, err := clients[C.GoString(id)].ResolveBusinessMessageLink(C.GoString(code)) + if err != nil { + return_.Error = proto.String(err.Error()) + } + if message_link != nil { + return_.MessageLinkTarget = utils.EncodeBusinessMessageLinkTarget(*message_link) + } + return ProtoReturnV3(&return_) +} + +//export ResolveContactQRLink +func ResolveContactQRLink(id *C.char, code *C.char) *C.struct_BytesReturn { + return_ := defproto.ResolveContactQRLinkReturnFunction{} + contact, err := clients[C.GoString(id)].ResolveContactQRLink(C.GoString(code)) + if contact != nil { + return_.ContactQrLink = utils.EncodeContactQRLinkTarget(*contact) + } + if err != nil { + return_.Error = proto.String(err.Error()) + } + return ProtoReturnV3(&return_) +} + +//export SendAppState +func SendAppState(id *C.char, patchByte *C.uchar, patchSize C.int) *C.char { + var patchInfo defproto.PatchInfo + err_unmarshal := proto.Unmarshal(getByteByAddr(patchByte, patchSize), &patchInfo) + if err_unmarshal != nil { + return C.CString(err_unmarshal.Error()) + } + err := clients[C.GoString(id)].SendAppState(context.Background(), *utils.DecodePatchInfo(&patchInfo)) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export SetDefaultDisappearingTimer +func SetDefaultDisappearingTimer(id *C.char, timer C.int64_t) *C.char { + err := clients[C.GoString(id)].SetDefaultDisappearingTimer(time.Duration(int64(timer))) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export SetDisappearingTimer +func SetDisappearingTimer(id *C.char, JIDByte *C.uchar, JIDSize C.int, timer C.int64_t, settingTS C.int64_t) *C.char { + var JID defproto.JID + err_ := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err_ != nil { + panic(err_) + } + err := clients[C.GoString(id)].SetDisappearingTimer(utils.DecodeJidProto(&JID), time.Duration(timer), time.UnixMilli(int64(settingTS))) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export SetForceActiveDeliveryReceipts +func SetForceActiveDeliveryReceipts(id *C.char, active C.bool) { + clients[C.GoString(id)].SetForceActiveDeliveryReceipts(bool(active)) +} + +//export SetGroupAnnounce +func SetGroupAnnounce(id *C.char, JIDByte *C.uchar, JIDSize C.int, announce C.bool) *C.char { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + return C.CString(err.Error()) + } + err_announce := clients[C.GoString(id)].SetGroupAnnounce(utils.DecodeJidProto(&JID), bool(announce)) + if err_announce != nil { + return C.CString(err_announce.Error()) + } + return C.CString("") +} + +//export SetGroupLocked +func SetGroupLocked(id *C.char, JIDByte *C.uchar, JIDSize C.int, locked C.bool) *C.char { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + return C.CString(err.Error()) + } + err_locked := clients[C.GoString(id)].SetGroupLocked(utils.DecodeJidProto(&JID), bool(locked)) + if err_locked != nil { + return C.CString(err_locked.Error()) + } + return C.CString("") +} + +//export SetGroupTopic +func SetGroupTopic(id *C.char, JIDByte *C.uchar, JIDSize C.int, previousID, newID, topic *C.char) *C.char { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + return C.CString(err.Error()) + } + err_topic := clients[C.GoString(id)].SetGroupTopic(utils.DecodeJidProto(&JID), C.GoString(previousID), C.GoString(newID), C.GoString(topic)) + if err_topic != nil { + return C.CString(err_topic.Error()) + } + return C.CString("") +} + +//export SetPrivacySetting +func SetPrivacySetting(id *C.char, name *C.char, value *C.char) *C.struct_BytesReturn { + return_ := defproto.SetPrivacySettingReturnFunction{} + privacy_settings, err := clients[C.GoString(id)].SetPrivacySetting(context.Background(), types.PrivacySettingType(C.GoString(name)), types.PrivacySetting(C.GoString(value))) + if err != nil { + return_.Error = proto.String(err.Error()) + } + return_.Settings = utils.EncodePrivacySettings(privacy_settings) + return ProtoReturnV3(&return_) +} + +//export SetPassive +func SetPassive(id *C.char, passive C.bool) *C.char { + err := clients[C.GoString(id)].SetPassive(context.Background(), bool(passive)) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export SetStatusMessage +func SetStatusMessage(id *C.char, msg *C.char) *C.char { + err := clients[C.GoString(id)].SetStatusMessage(C.GoString(msg)) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export SubscribePresence +func SubscribePresence(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.char { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + return C.CString(err.Error()) + } + err_ := clients[C.GoString(id)].SubscribePresence(utils.DecodeJidProto(&JID)) + if err_ != nil { + return C.CString(err_.Error()) + } + return C.CString("") +} + +//export UnfollowNewsletter +func UnfollowNewsletter(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.char { + var JID defproto.JID + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + return C.CString(err.Error()) + } + err_ := clients[C.GoString(id)].UnfollowNewsletter(utils.DecodeJidProto(&JID)) + if err_ != nil { + return C.CString(err_.Error()) + } + return C.CString("") +} + +//export UnlinkGroup +func UnlinkGroup(id *C.char, parentByte *C.uchar, parentSize C.int, childByte *C.uchar, childSize C.int) *C.char { + var parent, child defproto.JID + err_p := proto.Unmarshal(getByteByAddr(parentByte, parentSize), &parent) + if err_p != nil { + return C.CString(err_p.Error()) + } + err_c := proto.Unmarshal(getByteByAddr(childByte, childSize), &child) + if err_c != nil { + return C.CString(err_c.Error()) + } + err := clients[C.GoString(id)].UnlinkGroup(utils.DecodeJidProto(&parent), utils.DecodeJidProto(&child)) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export UpdateBlocklist +func UpdateBlocklist(id *C.char, jidByte *C.uchar, JIDSize C.int, action *C.char) *C.struct_BytesReturn { + var JID defproto.JID + return_ := defproto.GetBlocklistReturnFunction{} + err_j := proto.Unmarshal(getByteByAddr(jidByte, JIDSize), &JID) + if err_j != nil { + return_.Error = proto.String(err_j.Error()) + return ProtoReturnV3(&return_) + } + blocklist, err := clients[C.GoString(id)].UpdateBlocklist(utils.DecodeJidProto(&JID), events.BlocklistChangeAction(C.GoString(action))) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + if blocklist != nil { + return_.Blocklist = utils.EncodeBlocklist(blocklist) + } + return ProtoReturnV3(&return_) +} + +//export UpdateGroupParticipants +func UpdateGroupParticipants(id *C.char, JIDByte *C.uchar, JIDSize C.int, participantsChanges *C.uchar, participantSize C.int, action *C.char) *C.struct_BytesReturn { + var JID defproto.JID + var jidArray defproto.JIDArray + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + return_ := defproto.UpdateGroupParticipantsReturnFunction{} + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + err_ := proto.Unmarshal(getByteByAddr(participantsChanges, participantSize), &jidArray) + if err_ != nil { + return_.Error = proto.String(err_.Error()) + return ProtoReturnV3(&return_) + } + ParticipantChanges := make([]types.JID, len(jidArray.JIDS)) + for i, participant := range jidArray.JIDS { + ParticipantChanges[i] = utils.DecodeJidProto(participant) + } + participants, err_changes := clients[C.GoString(id)].UpdateGroupParticipants(utils.DecodeJidProto(&JID), ParticipantChanges, whatsmeow.ParticipantChange(C.GoString(action))) + if err_changes != nil { + return_.Error = proto.String(err_changes.Error()) + } + neonizeParticipants := make([]*defproto.GroupParticipant, len(participants)) + for i, participant := range participants { + neonizeParticipants[i] = utils.EncodeGroupParticipant(participant) + } + return_.Participants = neonizeParticipants + return ProtoReturnV3(&return_) +} + +//export GetPrivacySettings +func GetPrivacySettings(id *C.char) *C.struct_BytesReturn { + settings := utils.EncodePrivacySettings(clients[C.GoString(id)].GetPrivacySettings(context.Background())) + return ProtoReturnV3(settings) +} + +//export GetProfilePicture +func GetProfilePicture(id *C.char, JIDByte *C.uchar, JIDSize C.int, paramsByte *C.uchar, paramsSize C.int) *C.struct_BytesReturn { + var neonizeJID defproto.JID + var neonizeParams defproto.GetProfilePictureParams + return_ := defproto.GetProfilePictureReturnFunction{} + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &neonizeJID) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + err_params := proto.Unmarshal(getByteByAddr(paramsByte, paramsSize), &neonizeParams) + if err_params != nil { + return_.Error = proto.String(err_params.Error()) + return ProtoReturnV3(&return_) + } + picture, err_pict := clients[C.GoString(id)].GetProfilePictureInfo(utils.DecodeJidProto(&neonizeJID), utils.DecodeGetProfilePictureParams(&neonizeParams)) + if err_pict != nil { + return_.Error = proto.String(err_pict.Error()) + return ProtoReturnV3(&return_) + } + if picture != nil { + return_.Picture = utils.EncodeProfilePictureInfo(*picture) + } + return ProtoReturnV3(&return_) +} + +//export GetStatusPrivacy +func GetStatusPrivacy(id *C.char) *C.struct_BytesReturn { + return_ := defproto.GetStatusPrivacyReturnFunction{} + status_privacy_encoded := []*defproto.StatusPrivacy{} + status_privacy, err := clients[C.GoString(id)].GetStatusPrivacy() + if err != nil { + return_.Error = proto.String(err.Error()) + } + for _, privacy := range status_privacy { + status_privacy_encoded = append(status_privacy_encoded, utils.EncodeStatusPrivacy(privacy)) + } + return_.StatusPrivacy = status_privacy_encoded + return ProtoReturnV3(&return_) +} + +//export GetSubGroups +func GetSubGroups(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.struct_BytesReturn { + var JID defproto.JID + return_ := defproto.GetSubGroupsReturnFunction{} + err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + groups := []*defproto.GroupLinkTarget{} + linked_groups, group_err := clients[C.GoString(id)].GetSubGroups(utils.DecodeJidProto(&JID)) + if group_err != nil { + return_.Error = proto.String(group_err.Error()) + return ProtoReturnV3(&return_) + } + for _, group := range linked_groups { + groups = append(groups, utils.EncodeGroupLinkTarget(*group)) + } + return_.GroupLinkTarget = groups + return ProtoReturnV3(&return_) +} + +//export GetSubscribedNewsletters +func GetSubscribedNewsletters(id *C.char) *C.struct_BytesReturn { + return_ := defproto.GetSubscribedNewslettersReturnFunction{} + newsletters_ := []*defproto.NewsletterMetadata{} + newsletters, err_newsletter := clients[C.GoString(id)].GetSubscribedNewsletters() + for _, newsletter := range newsletters { + newsletters_ = append(newsletters_, utils.EncodeNewsLetterMessageMetadata(*newsletter)) + } + return_.Newsletter = newsletters_ + if err_newsletter != nil { + return_.Error = proto.String(err_newsletter.Error()) + } + return ProtoReturnV3(&return_) +} + +//export GetUserDevices +func GetUserDevices(id *C.char, JIDSByte *C.uchar, JIDSSize C.int) *C.struct_BytesReturn { + var JIDS defproto.JIDArray + jids := []types.JID{} + return_ := defproto.GetUserDevicesreturnFunction{} + err := proto.Unmarshal(getByteByAddr(JIDSByte, JIDSSize), &JIDS) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + for _, jid := range JIDS.JIDS { + jids = append(jids, utils.DecodeJidProto(jid)) + } + jidstypes, err_jids := clients[C.GoString(id)].GetUserDevicesContext(context.Background(), jids) + neonizeJID := []*defproto.JID{} + for _, jid := range jidstypes { + neonizeJID = append(neonizeJID, utils.EncodeJidProto(jid)) + } + return_.JID = neonizeJID + if err_jids != nil { + return_.Error = proto.String(err_jids.Error()) + } + return ProtoReturnV3(&return_) +} + +//export GetBlocklist +func GetBlocklist(id *C.char) *C.struct_BytesReturn { + blocklist, err := clients[C.GoString(id)].GetBlocklist() + return_ := defproto.GetBlocklistReturnFunction{} + if err != nil { + return_.Error = proto.String(err.Error()) + } + if blocklist != nil { + return_.Blocklist = utils.EncodeBlocklist(blocklist) + } + return ProtoReturnV3(&return_) +} + +//export BuildPollVote +func BuildPollVote(id *C.char, pollInfo *C.uchar, pollInfoSize C.int, optionName *C.uchar, optionNameSize C.int) *C.struct_BytesReturn { + var msgInfo defproto.MessageInfo + var optionNames defproto.ArrayString + return_ := defproto.BuildPollVoteReturnFunction{} + err := proto.Unmarshal(getByteByAddr(pollInfo, pollInfoSize), &msgInfo) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + err_2 := proto.Unmarshal(getByteByAddr(optionName, optionNameSize), &optionNames) + if err_2 != nil { + return_.Error = proto.String(err_2.Error()) + return ProtoReturnV3(&return_) + } + pollInfo_, err_poll := clients[C.GoString(id)].BuildPollVote(context.Background(), utils.DecodeMessageInfo(&msgInfo), optionNames.Data) + if err_poll != nil { + return_.Error = proto.String(err_poll.Error()) + } + if pollInfo_ != nil { + return_.PollVote = pollInfo_ + } + return ProtoReturnV3(&return_) +} + +//export BuildReaction +func BuildReaction(id *C.char, chat *C.uchar, chatSize C.int, sender *C.uchar, senderSize C.int, messageID *C.char, reaction *C.char) *C.struct_BytesReturn { + var Chat defproto.JID + var Sender defproto.JID + return_ := defproto.BuildMessageReturnFunction{} + chat_err := proto.Unmarshal(getByteByAddr(chat, chatSize), &Chat) + if chat_err != nil { + return_.Error = proto.String(chat_err.Error()) + } + sender_err := proto.Unmarshal(getByteByAddr(sender, senderSize), &Sender) + if sender_err != nil { + return_.Error = proto.String(sender_err.Error()) + } + msg := clients[C.GoString(id)].BuildReaction( + utils.DecodeJidProto(&Chat), + utils.DecodeJidProto(&Sender), + C.GoString(messageID), + C.GoString(reaction), + ) + return_.Message = msg + return ProtoReturnV3(&return_) +} + +//export CreateGroup +func CreateGroup(id *C.char, createGroupByte *C.uchar, createGroupSize C.int) *C.struct_BytesReturn { + return_ := defproto.GetGroupInfoReturnFunction{} + creategrupbyte := getByteByAddr(createGroupByte, createGroupSize) + var reqCreateGroup defproto.ReqCreateGroup + err := proto.Unmarshal(creategrupbyte, &reqCreateGroup) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + group_info, err_ := clients[C.GoString(id)].CreateGroup(context.Background(), utils.DecodeReqCreateGroup(&reqCreateGroup)) + if group_info != nil { + return_.GroupInfo = utils.EncodeGroupInfo(group_info) + } + if err_ != nil { + return_.Error = proto.String(err_.Error()) + } + return ProtoReturnV3(&return_) +} + +//export GetJoinedGroups +func GetJoinedGroups(id *C.char) *C.struct_BytesReturn { + return_ := defproto.GetJoinedGroupsReturnFunction{} + neonize_groups_info := []*defproto.GroupInfo{} + joined_groups, err := clients[C.GoString(id)].GetJoinedGroups(context.Background()) + if err != nil { + return_.Error = proto.String(err.Error()) + return ProtoReturnV3(&return_) + } + for _, group_info := range joined_groups { + neonize_groups_info = append(neonize_groups_info, utils.EncodeGroupInfo(group_info)) + } + + return_.Group = neonize_groups_info + return ProtoReturnV3(&return_) +} + +//export GetMe +func GetMe(id *C.char) *C.struct_BytesReturn { + cli := clients[C.GoString(id)].Store + device := defproto.Device{ + PushName: &cli.PushName, + Platform: &cli.Platform, + BussinessName: &cli.BusinessName, + Initialized: &cli.Initialized, + } + if cli.ID != nil { + device.JID = utils.EncodeJidProto(*cli.ID) + } + device.LID = utils.EncodeJidProto(cli.LID) + return ProtoReturnV3(&device) +} + +//export GetContactQRLink +func GetContactQRLink(id *C.char, revoke C.bool) *C.struct_BytesReturn { + link, err := clients[C.GoString(id)].GetContactQRLink(bool(revoke)) + QRLinkReturn := defproto.GetContactQRLinkReturnFunction{ + Link: &link, + } + if err != nil { + QRLinkReturn.Error = proto.String(err.Error()) + } + return ProtoReturnV3(&QRLinkReturn) +} + +//export GetMessageForRetry +func GetMessageForRetry(id *C.char, requester *C.uchar, requesterSize C.int, to *C.uchar, toSize C.int, messageID *C.char) *C.struct_BytesReturn { + var RequesterJID, toJID defproto.JID + return_ := defproto.GetMessageForRetryReturnFunction{} + err_req := proto.Unmarshal(getByteByAddr(requester, requesterSize), &RequesterJID) + if err_req != nil { + return_.Error = proto.String(err_req.Error()) + return ProtoReturnV3(&return_) + } + err_to := proto.Unmarshal(getByteByAddr(to, toSize), &toJID) + if err_to != nil { + return_.Error = proto.String(err_to.Error()) + return ProtoReturnV3(&return_) + } + msg := clients[C.GoString(id)].GetMessageForRetry(utils.DecodeJidProto(&RequesterJID), utils.DecodeJidProto(&toJID), C.GoString(messageID)) + if msg == nil { + return_.IsEmpty = proto.Bool(true) + } else { + return_.Message = msg + } + return ProtoReturnV3(&return_) +} + +// chat_settings_store.go +// +//export PutPinned +func PutPinned(id *C.char, user *C.uchar, userSize C.int, pinned C.bool) *C.char { + var JID defproto.JID + proto.Unmarshal(getByteByAddr(user, userSize), &JID) + err := clients[C.GoString(id)].Store.ChatSettings.PutPinned(context.Background(), utils.DecodeJidProto(&JID), bool(pinned)) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export PutArchived +func PutArchived(id *C.char, user *C.uchar, userSize C.int, archived C.bool) *C.char { + var JID defproto.JID + proto.Unmarshal(getByteByAddr(user, userSize), &JID) + err := clients[C.GoString(id)].Store.ChatSettings.PutArchived(context.Background(), utils.DecodeJidProto(&JID), bool(archived)) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export GetAllDevices +func GetAllDevices(db *C.char, logCb C.ptr_to_python_function_callback_bytes2) *C.char { + dbLog := utils.NewLogger("Database", "ERROR", utils.Callback(logCb)) + container, err := getDB(db, dbLog) + if err != nil { + panic(err) + } + + deviceStore, err := container.GetAllDevices(context.TODO()) + if err != nil { + panic(err) + } + + var result strings.Builder + for i, device := range deviceStore { + if i > 0 { + // an arbitrary delimiter (a unicode to make sure pushname doesn't collide with it) + result.WriteString("|\u0001|") + } + result.WriteString(fmt.Sprintf("%s,%s,%s,%t", + device.ID.String(), + device.PushName, + device.BusinessName, + device.Initialized)) + } + + return C.CString(result.String()) +} + +//export SendPresence +func SendPresence(id *C.char, presence *C.char) *C.char { + err := clients[C.GoString(id)].SendPresence(types.Presence(C.GoString(presence))) + if err != nil { + return C.CString(err.Error()) + } + return C.CString("") +} + +//export DecryptPollVote +func DecryptPollVote(id *C.char, message *C.uchar, messageSize C.int) *C.struct_BytesReturn { + var pvmessage defproto.Message + return_proto := defproto.ReturnFunctionWithError{} + err := proto.Unmarshal(getByteByAddr(message, messageSize), &pvmessage) + if err != nil { + return_proto.Error = proto.String(err.Error()) + } + result, err := clients[C.GoString(id)].DecryptPollVote(context.Background(), utils.DecodeEventTypesMessage(&pvmessage)) + if err != nil { + return_proto.Error = proto.String(err.Error()) + } else { + return_proto.Return = &defproto.ReturnFunctionWithError_PollVoteMessage{ + PollVoteMessage: result, + } + } + return ProtoReturnV3(&return_proto) +} + +//export SendFBMessage +func SendFBMessage(id *C.char, to *C.uchar, toSize C.int, message *C.uchar, messageSize C.int, metadata *C.uchar, metadataSize C.int, extra *C.uchar, extraSize C.int) *C.struct_BytesReturn { + _return := defproto.SendMessageReturnFunction{} + var toJID defproto.JID + var waConsumerApp waConsumerApplication.ConsumerApplication + var waConsumerAppMetadata waMsgApplication.MessageApplication_Metadata + var SendRequestExtra defproto.SendRequestExtra + err := proto.Unmarshal( + getByteByAddr( + to, + toSize, + ), + &toJID, + ) + if err != nil { + _return.Error = proto.String(err.Error()) + return ProtoReturnV3(&_return) + } + err_1 := proto.Unmarshal( + getByteByAddr( + message, + messageSize, + ), + &waConsumerApp, + ) + if err_1 != nil { + _return.Error = proto.String(err_1.Error()) + return ProtoReturnV3(&_return) + } + err_2 := proto.Unmarshal( + getByteByAddr(metadata, metadataSize), + &waConsumerAppMetadata, + ) + if err_2 != nil { + _return.Error = proto.String(err_2.Error()) + return ProtoReturnV3(&_return) + } + err_3 := proto.Unmarshal( + getByteByAddr(extra, extraSize), + &SendRequestExtra, + ) + if err_3 != nil { + _return.Error = proto.String(err_3.Error()) + return ProtoReturnV3(&_return) + } + resp, err_fbmessage := clients[C.GoString(id)].SendFBMessage( + context.Background(), + utils.DecodeJidProto(&toJID), + &waConsumerApp, + &waConsumerAppMetadata, + utils.DecodeSendRequestExtra( + &SendRequestExtra, + ), + ) + if err_fbmessage != nil { + _return.Error = proto.String(err_fbmessage.Error()) + } + response := defproto.SendResponse{ + Timestamp: proto.Int64(resp.Timestamp.UnixNano()), + ID: proto.String(resp.ID), + ServerID: proto.Int64(int64(resp.ServerID)), + DebugTimings: utils.EncodeMessageDebugTimings(resp.DebugTimings), + } + _return.SendResponse = &response + return ProtoReturnV3(&_return) +} + +func main() { +} + +func FetchMe(id string) *defproto.Device { + cli := clients[id].Store + + // Block until cli.ID is set + for cli.ID == nil { + time.Sleep(100 * time.Millisecond) // Check 10 times per second + } + + device := defproto.Device{ + PushName: &cli.PushName, + Platform: &cli.Platform, + BussinessName: &cli.BusinessName, + Initialized: &cli.Initialized, + } + + // Now guaranteed to have value + device.JID = utils.EncodeJidProto(*cli.ID) + device.LID = utils.EncodeJidProto(cli.LID) + + return &device +} + +// comment +func CallbackFunction(ctx context.Context, callback C.ptr_to_python_function_bytes, id string) { + uuid := C.CString(id) + channel := eventChannel[id] + buff, err := proto.Marshal(FetchMe(id)) + if err != nil { + panic(err) + } + uchars, size := getBytesAndSize(buff) + C.call_c_func_callback_bytes(callback, uuid, uchars, size, C.int(0)) + for { + select { + case <-ctx.Done(): + return + case message := <-channel: + buff, err := proto.Marshal(message.message) + if err != nil { + panic(err) + } + uchars, size := getBytesAndSize(buff) + C.call_c_func_callback_bytes(callback, uuid, uchars, size, C.int(message.eventType)) + + } + } +} + +//export FreeBytesStruct +func FreeBytesStruct(bytesReturn *C.struct_BytesReturn) { + C.free(unsafe.Pointer(bytesReturn.data)) + C.free(unsafe.Pointer(bytesReturn)) +} diff --git a/goneonize/python/pythonptr.c b/goneonize/python/pythonptr.c new file mode 100644 index 00000000..11c0b21b --- /dev/null +++ b/goneonize/python/pythonptr.c @@ -0,0 +1,24 @@ +typedef void (*ptr_to_python_function)(char*, bool); +typedef void (*ptr_to_python_function_string) (char*, char*); +typedef void (*ptr_to_python_function_bytes)(const, char*, char*, size_t); +typedef void (*ptr_to_python_function_callback_bytes)(const, char*, char*, size_t, int); +typedef void (*ptr_to_python_function_callback_bytes2)(const, char*, size_t); + +static inline void call_c_func(ptr_to_python_function ptr, char* uuid, bool stat) { + (ptr)(uuid, stat); +} +static inline void call_c_func_string(ptr_to_python_function_string ptr, char* uuid, char* xStr) { + (ptr)(uuid, xStr); +} + +static inline void call_c_func_bytes(ptr_to_python_function_bytes ptr, const,char* uuid, char* data, size_t size) { + (ptr)(uuid, data, size); +} + +static inline void call_c_func_callback_bytes(ptr_to_python_function_callback_bytes ptr, const char* uuid, char* data, size_t size, int code) { + (ptr)(uuid, data, size, code); +} + +static inline void call_c_func_callback_bytes2(ptr_to_python_function_callback_bytes2 ptr, const char* data, size_t size) { + (ptr)(data, size); +} diff --git a/goneonize/python/pythonptr.h b/goneonize/python/pythonptr.h new file mode 100644 index 00000000..e4dc1757 --- /dev/null +++ b/goneonize/python/pythonptr.h @@ -0,0 +1,34 @@ +#ifndef PYTHONPTR_H +#define PYTHONPTR_H +// example.h +#include +typedef void (*ptr_to_python_function)(char*, bool); +// Tipe data pointer ke fungsi C yang menerima string +typedef void (*ptr_to_python_function_string)(char*, char*); + +// Tipe data pointer ke fungsi C yang menerima data bytes dan ukurannya +typedef void (*ptr_to_python_function_bytes)(const char*, char*, size_t); + +typedef void (*ptr_to_python_function_callback_bytes)(const char*, char*, size_t, int); + +typedef void (*ptr_to_python_function_callback_bytes2)(const char*, size_t); +static inline void call_c_func(ptr_to_python_function ptr,char* uuid, bool stat) { + (ptr)(uuid, stat); +} +// Deklarasi fungsi untuk memanggil fungsi C yang menerima string +static inline void call_c_func_string(ptr_to_python_function_string ptr, char* uuid, char* xStr) { + (ptr)(uuid, xStr); +} +// Deklarasi fungsi untuk memanggil fungsi C yang menerima data bytes dan ukurannya +static inline void call_c_func_bytes(ptr_to_python_function_bytes ptr, const char* uuid,char* data, size_t size) { + (ptr)(uuid, data, size); +} +static inline void call_c_func_callback_bytes(ptr_to_python_function_callback_bytes ptr, const char* uuid, char* data, size_t size, int code){ + (ptr)(uuid, data, size, code); +} + +static inline void call_c_func_callback_bytes2(ptr_to_python_function_callback_bytes2 ptr, const char* data, size_t size){ + (ptr)(data, size); +} + +#endif diff --git a/goneonize/utils/decoder.go b/goneonize/utils/decoder.go new file mode 100644 index 00000000..e92873c2 --- /dev/null +++ b/goneonize/utils/decoder.go @@ -0,0 +1,235 @@ +package utils + +import ( + "C" + "time" + + defproto "github.com/krypton-byte/neonize/defproto" + "go.mau.fi/whatsmeow" + "go.mau.fi/whatsmeow/appstate" + waVname "go.mau.fi/whatsmeow/proto/waVnameCert" + "go.mau.fi/whatsmeow/store" + "go.mau.fi/whatsmeow/types" +) + +import ( + "go.mau.fi/whatsmeow/types/events" +) + +func DecodeJidProto(data *defproto.JID) types.JID { + return types.JID{ + User: *data.User, + RawAgent: uint8(*data.RawAgent), + Device: uint16(*data.Device), + Integrator: uint16(*data.Integrator), + Server: *data.Server, + } +} + +func DecodeGroupParent(groupParent *defproto.GroupParent) types.GroupParent { + return types.GroupParent{ + IsParent: *groupParent.IsParent, + DefaultMembershipApprovalMode: *groupParent.DefaultMembershipApprovalMode, + } +} + +func DecodeGroupLinkedParent(groupLinkedParent *defproto.GroupLinkedParent) types.GroupLinkedParent { + return types.GroupLinkedParent{ + LinkedParentJID: DecodeJidProto(groupLinkedParent.LinkedParentJID), + } +} + +func DecodeReqCreateGroup(reqCreateGroup *defproto.ReqCreateGroup) whatsmeow.ReqCreateGroup { + participants := []types.JID{} + for _, participant := range reqCreateGroup.Participants { + participants = append(participants, DecodeJidProto(participant)) + } + new_type := whatsmeow.ReqCreateGroup{ + Name: *reqCreateGroup.Name, + Participants: participants, + CreateKey: *reqCreateGroup.CreateKey, + } + if reqCreateGroup.GroupParent != nil { + new_type.GroupParent = DecodeGroupParent(reqCreateGroup.GroupParent) + } + if reqCreateGroup.GroupLinkedParent != nil { + new_type.GroupLinkedParent = DecodeGroupLinkedParent(reqCreateGroup.GroupLinkedParent) + } + return new_type +} + +func DecodeAddressingMode(mode_types *defproto.AddressingMode) types.AddressingMode { + var AddressingMode types.AddressingMode + switch mode_types { + case defproto.AddressingMode_PN.Enum(): + AddressingMode = types.AddressingModePN + case defproto.AddressingMode_LID.Enum(): + AddressingMode = types.AddressingModeLID + } + return AddressingMode +} + +func DecodeMessageSource(messageSource *defproto.MessageSource) types.MessageSource { + model := types.MessageSource{ + Chat: DecodeJidProto(messageSource.Chat), + Sender: DecodeJidProto(messageSource.Sender), + IsFromMe: *messageSource.IsFromMe, + IsGroup: *messageSource.IsGroup, + + SenderAlt: DecodeJidProto(messageSource.SenderAlt), + RecipientAlt: DecodeJidProto(messageSource.RecipientAlt), + + BroadcastListOwner: DecodeJidProto(messageSource.BroadcastListOwner), + } + if messageSource.AddressingMode != nil { + model.AddressingMode = DecodeAddressingMode(messageSource.AddressingMode) + } + return model +} + +func DecodeVerifiedNameCertificate(verifiedNameCertificate *waVname.VerifiedNameCertificate) *waVname.VerifiedNameCertificate { + // passing types through protobuf + return verifiedNameCertificate +} + +func DecodeVerifiedNameDetails(verifiedNameDetails *waVname.VerifiedNameCertificate_Details) *waVname.VerifiedNameCertificate_Details { + return verifiedNameDetails +} + +func DecodeVerifiedName(verifiedName *defproto.VerifiedName) *types.VerifiedName { + verifiednametypes := types.VerifiedName{} + if verifiedName.Certificate != nil { + verifiednametypes.Certificate = verifiedName.Certificate + } + if verifiedName.Details != nil { + verifiednametypes.Details = verifiedName.Details + } + return &verifiednametypes +} + +func DecodeDeviceSentMeta(deviceSentMeta *defproto.DeviceSentMeta) *types.DeviceSentMeta { + return &types.DeviceSentMeta{ + DestinationJID: *deviceSentMeta.DestinationJID, + Phash: *deviceSentMeta.Phash, + } +} + +func DecodeMessageInfo(messageInfo *defproto.MessageInfo) *types.MessageInfo { + ts := *messageInfo.Timestamp + model := &types.MessageInfo{ + MessageSource: DecodeMessageSource(messageInfo.MessageSource), + ID: *messageInfo.ID, + ServerID: int(*messageInfo.ServerID), + Type: *messageInfo.Type, + PushName: *messageInfo.Pushname, + Timestamp: time.Unix(0, ts), + Category: *messageInfo.Category, + Multicast: *messageInfo.Multicast, + MediaType: *messageInfo.MediaType, + Edit: types.EditAttribute(*messageInfo.Edit), + } + if messageInfo.VerifiedName != nil { + model.VerifiedName = DecodeVerifiedName(messageInfo.VerifiedName) + } + if messageInfo.DeviceSentMeta != nil { + model.DeviceSentMeta = DecodeDeviceSentMeta(messageInfo.DeviceSentMeta) + } + return model +} + +func DecodeCreateNewsletterParams(createletterNewsParams *defproto.CreateNewsletterParams) whatsmeow.CreateNewsletterParams { + return whatsmeow.CreateNewsletterParams{ + Name: *createletterNewsParams.Name, + Description: *createletterNewsParams.Description, + Picture: createletterNewsParams.Picture, + } +} + +func DecodeGetProfilePictureParams(params *defproto.GetProfilePictureParams) *whatsmeow.GetProfilePictureParams { + if params.Preview == nil || params.ExistingID == nil || params.IsCommunity == nil { + return nil + } + return &whatsmeow.GetProfilePictureParams{ + Preview: *params.Preview, + ExistingID: *params.ExistingID, + IsCommunity: *params.IsCommunity, + } +} + +func DecodeMutationInfo(mutationInfo *defproto.MutationInfo) appstate.MutationInfo { + return appstate.MutationInfo{ + Index: mutationInfo.Index, + Version: *mutationInfo.Version, + Value: mutationInfo.Value, + } +} + +func DecodePatchInfo(patchInfo *defproto.PatchInfo) *appstate.PatchInfo { + var Type appstate.WAPatchName + switch patchInfo.Type { + case defproto.PatchInfo_CRITICAL_BLOCK.Enum(): + Type = appstate.WAPatchCriticalBlock + case defproto.PatchInfo_CRITICAL_UNBLOCK_LOW.Enum(): + Type = appstate.WAPatchCriticalUnblockLow + case defproto.PatchInfo_REGULAR.Enum(): + Type = appstate.WAPatchRegular + } + mutationInfo := []appstate.MutationInfo{} + for _, mutation := range patchInfo.Mutations { + mutationInfo = append(mutationInfo, DecodeMutationInfo(mutation)) + } + return &appstate.PatchInfo{ + Timestamp: time.Unix(0, *patchInfo.Timestamp), + Type: Type, + Mutations: mutationInfo, + } +} + +func DecodeContactEntry(entry *defproto.ContactEntry) *store.ContactEntry { + return &store.ContactEntry{ + JID: DecodeJidProto(entry.JID), + FirstName: *entry.FirstName, + FullName: *entry.FullName, + } +} + +func DecodeSendRequestExtra(extra *defproto.SendRequestExtra) whatsmeow.SendRequestExtra { + return whatsmeow.SendRequestExtra{ + ID: *extra.ID, + InlineBotJID: DecodeJidProto(extra.InlineBotJID), + Peer: *extra.Peer, + Timeout: time.Duration(*extra.Timeout), + } +} + +func DecodeNewsLetterMessageMeta(defproto.NewsLetterMessageMeta) { +} + +func DecodeEventTypesMessage(message *defproto.Message) *events.Message { + model := &events.Message{ + Info: *DecodeMessageInfo(message.Info), + IsEphemeral: *message.IsEphemeral, + IsViewOnce: *message.IsViewOnce, + IsViewOnceV2: *message.IsViewOnceV2, + IsEdit: *message.IsEdit, + IsViewOnceV2Extension: *message.IsViewOnceV2Extension, + IsDocumentWithCaption: *message.IsDocumentWithCaption, + IsLottieSticker: *message.IsLottieSticker, + UnavailableRequestID: *message.UnavailableRequestID, + RetryCount: int(*message.RetryCount), + RawMessage: message.Message, + } + if message.NewsLetterMeta != nil { + model.NewsletterMeta = &events.NewsletterMessageMeta{ + EditTS: time.Unix(0, *message.NewsLetterMeta.EditTS), + OriginalTS: time.Unix(0, *message.NewsLetterMeta.OriginalTS), + } + } + if message.SourceWebMsg != nil { + model.SourceWebMsg = message.SourceWebMsg + } + if message.Message != nil { + model.Message = message.Message + } + return model +} diff --git a/goneonize/utils/encoder.go b/goneonize/utils/encoder.go new file mode 100644 index 00000000..0167f2ec --- /dev/null +++ b/goneonize/utils/encoder.go @@ -0,0 +1,974 @@ +package utils + +import ( + "C" + + // defproto "github.com/krypton-byte/neonize/defproto" + defproto "github.com/krypton-byte/neonize/defproto" + "go.mau.fi/whatsmeow" + waBinary "go.mau.fi/whatsmeow/binary" + "go.mau.fi/whatsmeow/types" + "google.golang.org/protobuf/proto" +) + +import ( + "go.mau.fi/whatsmeow/types/events" +) + +// Function +func EncodeUploadResponse(response whatsmeow.UploadResponse) *defproto.UploadResponse { + return &defproto.UploadResponse{ + Url: &response.URL, + DirectPath: &response.DirectPath, + Handle: &response.Handle, + MediaKey: response.MediaKey, + FileEncSHA256: response.FileEncSHA256, + FileSHA256: response.FileSHA256, + FileLength: proto.Uint32(uint32(response.FileLength)), + } +} + +// types.go +func EncodeJidProto(data types.JID) *defproto.JID { + isempty := data.IsEmpty() + return &defproto.JID{ + User: &data.User, + RawAgent: proto.Uint32(uint32(data.RawAgent)), + Device: proto.Uint32(uint32(data.Device)), + Integrator: proto.Uint32(uint32(data.Integrator)), + Server: &data.Server, + IsEmpty: &isempty, + } +} + +func EncodeGroupName(groupName types.GroupName) *defproto.GroupName { + return &defproto.GroupName{ + Name: &groupName.Name, + NameSetAt: proto.Int64(groupName.NameSetAt.Unix()), + NameSetBy: EncodeJidProto(groupName.NameSetBy), + } +} + +func EncodeGroupTopic(topic types.GroupTopic) *defproto.GroupTopic { + return &defproto.GroupTopic{ + Topic: &topic.Topic, + TopicID: &topic.TopicID, + TopicSetAt: proto.Int64(topic.TopicSetAt.Unix()), + TopicSetBy: EncodeJidProto(topic.TopicSetBy), + TopicDeleted: &topic.TopicDeleted, + } +} + +func EncodeGroupLocked(locked types.GroupLocked) *defproto.GroupLocked { + return &defproto.GroupLocked{ + IsLocked: &locked.IsLocked, + } +} + +func EncodeGroupAnnounce(announce types.GroupAnnounce) *defproto.GroupAnnounce { + return &defproto.GroupAnnounce{ + IsAnnounce: &announce.IsAnnounce, + AnnounceVersionID: &announce.AnnounceVersionID, + } +} + +func EncodeGroupEphemeral(ephemeral types.GroupEphemeral) *defproto.GroupEphemeral { + return &defproto.GroupEphemeral{ + IsEphemeral: &ephemeral.IsEphemeral, + DisappearingTimer: &ephemeral.DisappearingTimer, + } +} + +func EncodeGroupIncognito(incognito types.GroupIncognito) *defproto.GroupIncognito { + return &defproto.GroupIncognito{ + IsIncognito: &incognito.IsIncognito, + } +} + +func EncodeGroupParent(parent types.GroupParent) *defproto.GroupParent { + return &defproto.GroupParent{ + IsParent: &parent.IsParent, + DefaultMembershipApprovalMode: &parent.DefaultMembershipApprovalMode, + } +} + +func EncodeGroupLinkedParent(linkedParent types.GroupLinkedParent) *defproto.GroupLinkedParent { + return &defproto.GroupLinkedParent{ + LinkedParentJID: EncodeJidProto(linkedParent.LinkedParentJID), + } +} + +func EncodeGroupIsDefaultSub(isDefaultSub types.GroupIsDefaultSub) *defproto.GroupIsDefaultSub { + return &defproto.GroupIsDefaultSub{ + IsDefaultSubGroup: &isDefaultSub.IsDefaultSubGroup, + } +} + +func EncodeGroupParticipantAddRequest(addRequest types.GroupParticipantAddRequest) *defproto.GroupParticipantAddRequest { + return &defproto.GroupParticipantAddRequest{ + Code: &addRequest.Code, + Expiration: proto.Float32(float32(addRequest.Expiration.Unix())), + } +} + +func EncodeGroupParticipant(participant types.GroupParticipant) *defproto.GroupParticipant { + participant_group := defproto.GroupParticipant{ + LID: EncodeJidProto(participant.LID), + JID: EncodeJidProto(participant.JID), + PhoneNumber: EncodeJidProto(participant.PhoneNumber), + IsAdmin: &participant.IsAdmin, + IsSuperAdmin: &participant.IsSuperAdmin, + DisplayName: &participant.DisplayName, + Error: proto.Int32(int32(participant.Error)), + } + if participant.AddRequest != nil { + participant_group.AddRequest = EncodeGroupParticipantAddRequest(*participant.AddRequest) + } + return &participant_group +} + +// send.go +func EncodeGroupInfo(info *types.GroupInfo) *defproto.GroupInfo { + participants := []*defproto.GroupParticipant{} + for _, participant := range info.Participants { + participants = append(participants, EncodeGroupParticipant(participant)) + } + return &defproto.GroupInfo{ + JID: EncodeJidProto(info.JID), + OwnerJID: EncodeJidProto(info.OwnerJID), + OwnerPN: EncodeJidProto(info.OwnerPN), + GroupName: EncodeGroupName(info.GroupName), + GroupTopic: EncodeGroupTopic(info.GroupTopic), + GroupLocked: EncodeGroupLocked(info.GroupLocked), + GroupAnnounce: EncodeGroupAnnounce(info.GroupAnnounce), + GroupEphemeral: EncodeGroupEphemeral(info.GroupEphemeral), + GroupIncognito: EncodeGroupIncognito(info.GroupIncognito), + GroupParent: EncodeGroupParent(info.GroupParent), + GroupLinkedParent: EncodeGroupLinkedParent(info.GroupLinkedParent), + GroupIsDefaultSub: EncodeGroupIsDefaultSub(info.GroupIsDefaultSub), + GroupCreated: proto.Float32(float32(info.GroupCreated.Unix())), + ParticipantVersionID: &info.ParticipantVersionID, + Participants: participants, + } +} + +func EncodeMessageDebugTimings(debugTimings whatsmeow.MessageDebugTimings) *defproto.MessageDebugTimings { + return &defproto.MessageDebugTimings{ + Queue: proto.Int64(debugTimings.Queue.Nanoseconds()), + Marshal_: proto.Int64(debugTimings.Marshal.Nanoseconds()), + GetParticipants: proto.Int64(debugTimings.GetParticipants.Nanoseconds()), + GetDevices: proto.Int64(debugTimings.GetParticipants.Nanoseconds()), + GroupEncrypt: proto.Int64(debugTimings.Queue.Nanoseconds()), + PeerEncrypt: proto.Int64(debugTimings.PeerEncrypt.Nanoseconds()), + Send: proto.Int64(debugTimings.Send.Nanoseconds()), + Resp: proto.Int64(debugTimings.Queue.Nanoseconds()), + Retry: proto.Int64(debugTimings.Retry.Nanoseconds()), + } +} + +func EncodeSendResponse(sendResponse whatsmeow.SendResponse) *defproto.SendResponse { + return &defproto.SendResponse{ + Timestamp: proto.Int64(sendResponse.Timestamp.Unix()), + ID: proto.String(sendResponse.ID), + ServerID: proto.Int64(int64(sendResponse.ServerID)), + DebugTimings: EncodeMessageDebugTimings(sendResponse.DebugTimings), + } +} + +func EncodeVerifiedName(verifiedName *types.VerifiedName) *defproto.VerifiedName { + models := &defproto.VerifiedName{} + if verifiedName.Details != nil { + models.Details = verifiedName.Details + } + if verifiedName.Certificate != nil { + models.Certificate = verifiedName.Certificate + } + return models +} + +func EncodeIsOnWhatsApp(isOnWhatsApp types.IsOnWhatsAppResponse) *defproto.IsOnWhatsAppResponse { + model := &defproto.IsOnWhatsAppResponse{ + Query: &isOnWhatsApp.Query, + JID: EncodeJidProto(isOnWhatsApp.JID), + IsIn: &isOnWhatsApp.IsIn, + } + if isOnWhatsApp.VerifiedName != nil { + model.VerifiedName = EncodeVerifiedName(isOnWhatsApp.VerifiedName) + } + return model +} + +func EncodeUserInfo(userInfo types.UserInfo) *defproto.UserInfo { + devices := []*defproto.JID{} + for _, jid := range userInfo.Devices { + devices = append(devices, EncodeJidProto(jid)) + } + models := &defproto.UserInfo{ + Status: &userInfo.Status, + PictureID: &userInfo.PictureID, + Devices: devices, + } + if userInfo.VerifiedName != nil { + models.VerifiedName = EncodeVerifiedName(userInfo.VerifiedName) + } + return models +} + +func EncodeAddressingMode(mode_types types.AddressingMode) *defproto.AddressingMode { + var AddressingMode *defproto.AddressingMode + switch mode_types { + case types.AddressingModePN: + AddressingMode = defproto.AddressingMode_PN.Enum() + case types.AddressingModeLID: + AddressingMode = defproto.AddressingMode_LID.Enum() + } + return AddressingMode +} + +func EncodeBroadcastRecipients(recipients []types.BroadcastRecipient) []*defproto.BroadcastRecipient { + models := []*defproto.BroadcastRecipient{} + for _, recipient := range recipients { + models = append(models, &defproto.BroadcastRecipient{ + LID: EncodeJidProto(recipient.LID), + PN: EncodeJidProto(recipient.PN), + }) + } + return models +} + +func EncodeMessageSource(messageSource types.MessageSource) *defproto.MessageSource { + return &defproto.MessageSource{ + Chat: EncodeJidProto(messageSource.Chat), + Sender: EncodeJidProto(messageSource.Sender), + IsFromMe: &messageSource.IsFromMe, + IsGroup: &messageSource.IsGroup, + + AddressingMode: EncodeAddressingMode(messageSource.AddressingMode), + SenderAlt: EncodeJidProto(messageSource.SenderAlt), + RecipientAlt: EncodeJidProto(messageSource.RecipientAlt), + + BroadcastListOwner: EncodeJidProto(messageSource.BroadcastListOwner), + BroadcastRecipients: EncodeBroadcastRecipients(messageSource.BroadcastRecipients), + } +} + +func EncodeDeviceSentMeta(deviceSentMeta *types.DeviceSentMeta) *defproto.DeviceSentMeta { + return &defproto.DeviceSentMeta{ + DestinationJID: &deviceSentMeta.DestinationJID, + Phash: &deviceSentMeta.Phash, + } +} + +func EncodeMessageInfo(messageInfo types.MessageInfo) *defproto.MessageInfo { + model := &defproto.MessageInfo{ + MessageSource: EncodeMessageSource(messageInfo.MessageSource), + ID: &messageInfo.ID, + ServerID: proto.Int64(int64(messageInfo.ServerID)), + Type: &messageInfo.Type, + Pushname: &messageInfo.PushName, + Timestamp: proto.Int64(messageInfo.Timestamp.UnixMilli()), + Category: &messageInfo.Category, + Multicast: &messageInfo.Multicast, + MediaType: &messageInfo.MediaType, + Edit: (*string)(&messageInfo.Edit), + } + if messageInfo.VerifiedName != nil { + model.VerifiedName = EncodeVerifiedName(messageInfo.VerifiedName) + } + if messageInfo.DeviceSentMeta != nil { + model.DeviceSentMeta = EncodeDeviceSentMeta(messageInfo.DeviceSentMeta) + } + return model +} + +// func EncodeMessage(message *waProto.Message) *defproto.Message { +// var neonizeMessage defproto.Message +// encoded, err := proto.Marshal(message) +// if err != nil { +// panic(err) +// } +// err_decode := proto.Unmarshal(encoded, &neonizeMessage) +// if err_decode != nil { +// panic(err_decode) +// } +// return &neonizeMessage +// } +func EncodeNewsLetterMessageMeta(newsLetter *events.NewsletterMessageMeta) *defproto.NewsLetterMessageMeta { + return &defproto.NewsLetterMessageMeta{ + EditTS: proto.Int64(int64(newsLetter.EditTS.Unix())), + OriginalTS: proto.Int64(int64(newsLetter.OriginalTS.Unix())), + } +} + +func EncodeEventTypesMessage(message *events.Message) *defproto.Message { + model := &defproto.Message{ + Info: EncodeMessageInfo(message.Info), + IsEphemeral: &message.IsEphemeral, + IsViewOnce: &message.IsViewOnce, + IsViewOnceV2: &message.IsViewOnceV2, + IsEdit: &message.IsEdit, + IsViewOnceV2Extension: proto.Bool(message.IsViewOnceV2Extension), + IsDocumentWithCaption: proto.Bool(message.IsDocumentWithCaption), + IsLottieSticker: proto.Bool(message.IsLottieSticker), + UnavailableRequestID: &message.UnavailableRequestID, + RetryCount: proto.Int64(int64(message.RetryCount)), + Raw: message.Message, + } + if message.NewsletterMeta != nil { + model.NewsLetterMeta = EncodeNewsLetterMessageMeta(message.NewsletterMeta) + } + if message.SourceWebMsg != nil { + model.SourceWebMsg = message.SourceWebMsg + } + if message.Message != nil { + model.Message = message.Message + } + return model +} + +func EncodeNewsletterText(newsletterText types.NewsletterText) *defproto.NewsletterText { + return &defproto.NewsletterText{ + Text: &newsletterText.Text, + ID: &newsletterText.ID, + UpdateTime: proto.Int64(newsletterText.UpdateTime.Unix()), + } +} + +func EncodeWrappedNewsletterState(state types.WrappedNewsletterState) *defproto.WrappedNewsletterState { + var enum defproto.WrappedNewsletterState_NewsletterState + switch state.Type { + case types.NewsletterStateActive: + enum = defproto.WrappedNewsletterState_ACTIVE + case types.NewsletterStateSuspended: + enum = defproto.WrappedNewsletterState_SUSPENDED + case types.NewsletterStateGeoSuspended: + enum = defproto.WrappedNewsletterState_GEOSUSPENDED + } + return &defproto.WrappedNewsletterState{ + Type: &enum, + } +} + +func EncodeProfilePictureInfo(profilePictureInfo types.ProfilePictureInfo) *defproto.ProfilePictureInfo { + return &defproto.ProfilePictureInfo{ + URL: &profilePictureInfo.URL, + ID: &profilePictureInfo.ID, + Type: &profilePictureInfo.Type, + DirectPath: &profilePictureInfo.DirectPath, + Hash: profilePictureInfo.Hash, + } +} + +func EncodeNewsletterReactionSettings(reactionSettings types.NewsletterReactionSettings) *defproto.NewsletterReactionSettings { + var reactionMode defproto.NewsletterReactionSettings_NewsletterReactionsMode + switch reactionSettings.Value { + case types.NewsletterReactionsModeAll: + reactionMode = defproto.NewsletterReactionSettings_ALL + case types.NewsletterReactionsModeBasic: + reactionMode = defproto.NewsletterReactionSettings_BASIC + case types.NewsletterReactionsModeNone: + reactionMode = defproto.NewsletterReactionSettings_NONE + case types.NewsletterReactionsModeBlocklist: + reactionMode = defproto.NewsletterReactionSettings_BLOCKLIST + } + return &defproto.NewsletterReactionSettings{ + Value: &reactionMode, + } +} + +func EncodeNewsletterSetting(settings types.NewsletterSettings) *defproto.NewsletterSetting { + return &defproto.NewsletterSetting{ + ReactionCodes: EncodeNewsletterReactionSettings(settings.ReactionCodes), + } +} + +func EncodeNewsletterThreadMetadata(threadMetadata types.NewsletterThreadMetadata) *defproto.NewsletterThreadMetadata { + var state defproto.NewsletterThreadMetadata_NewsletterVerificationState + switch threadMetadata.VerificationState { + case types.NewsletterVerificationStateVerified: + state = defproto.NewsletterThreadMetadata_VERIFIED + case types.NewsletterVerificationStateUnverified: + state = defproto.NewsletterThreadMetadata_UNVERIFIED + } + metadata := defproto.NewsletterThreadMetadata{ + CreationTime: proto.Int64(threadMetadata.CreationTime.Unix()), + InviteCode: &threadMetadata.InviteCode, + Name: EncodeNewsletterText(threadMetadata.Name), + Description: EncodeNewsletterText(threadMetadata.Description), + SubscriberCount: proto.Int64(int64(threadMetadata.SubscriberCount)), + VerificationState: &state, + Preview: EncodeProfilePictureInfo(threadMetadata.Preview), + Settings: EncodeNewsletterSetting(threadMetadata.Settings), + } + if threadMetadata.Picture != nil { + metadata.Picture = EncodeProfilePictureInfo(*threadMetadata.Picture) + } + return &metadata +} + +func EncodeNewsletterViewerMetadata(viewerMetadata *types.NewsletterViewerMetadata) *defproto.NewsletterViewerMetadata { + var mute defproto.NewsletterMuteState + var role defproto.NewsletterRole + switch viewerMetadata.Mute { + case types.NewsletterMuteOff: + mute = defproto.NewsletterMuteState_OFF + case types.NewsletterMuteOn: + mute = defproto.NewsletterMuteState_ON + } + switch viewerMetadata.Role { + case types.NewsletterRoleSubscriber: + role = defproto.NewsletterRole_SUBSCRIBER + case types.NewsletterRoleGuest: + role = defproto.NewsletterRole_GUEST + case types.NewsletterRoleAdmin: + role = defproto.NewsletterRole_ADMIN + case types.NewsletterRoleOwner: + role = defproto.NewsletterRole_OWNER + + } + return &defproto.NewsletterViewerMetadata{ + Mute: &mute, + Role: &role, + } +} + +func EncodeNewsLetterMessageMetadata(metadata types.NewsletterMetadata) *defproto.NewsletterMetadata { + model := &defproto.NewsletterMetadata{ + ID: EncodeJidProto(metadata.ID), + State: EncodeWrappedNewsletterState(metadata.State), + ThreadMeta: EncodeNewsletterThreadMetadata(metadata.ThreadMeta), + } + if metadata.ViewerMeta != nil { + model.ViewerMeta = EncodeNewsletterViewerMetadata(metadata.ViewerMeta) + } + return model +} + +func EncodeBlocklist(blocklist *types.Blocklist) *defproto.Blocklist { + JIDs := []*defproto.JID{} + for _, jid := range blocklist.JIDs { + JIDs = append(JIDs, EncodeJidProto(jid)) + } + return &defproto.Blocklist{ + DHash: &blocklist.DHash, + JIDs: JIDs, + } +} + +func EncodeNewsletterMessage(message *types.NewsletterMessage) *defproto.NewsletterMessage { + reacts := []*defproto.Reaction{} + for react, count := range message.ReactionCounts { + reacts = append(reacts, &defproto.Reaction{ + Type: proto.String(react), + Count: proto.Int64(int64(count)), + }) + } + return &defproto.NewsletterMessage{ + MessageServerID: proto.Int64(int64(message.MessageServerID)), + ViewsCount: proto.Int64(int64(message.ViewsCount)), + Message: message.Message, + ReactionCounts: reacts, + } +} + +func EncodePrivacySetting(privacy types.PrivacySetting) *defproto.PrivacySettings_PrivacySetting { + var privacySetting defproto.PrivacySettings_PrivacySetting + switch privacy { + case types.PrivacySettingUndefined: + privacySetting = defproto.PrivacySettings_UNDEFINED + case types.PrivacySettingAll: + privacySetting = defproto.PrivacySettings_ALL + case types.PrivacySettingContacts: + privacySetting = defproto.PrivacySettings_CONTACTS + case types.PrivacySettingContactBlacklist: + privacySetting = defproto.PrivacySettings_CONTACT_BLACKLIST + case types.PrivacySettingMatchLastSeen: + privacySetting = defproto.PrivacySettings_MATCH_LAST_SEEN + case types.PrivacySettingKnown: + privacySetting = defproto.PrivacySettings_KNOWN + case types.PrivacySettingNone: + privacySetting = defproto.PrivacySettings_NONE + } + return &privacySetting +} + +func EncodePrivacySettings(privacySetting types.PrivacySettings) *defproto.PrivacySettings { + return &defproto.PrivacySettings{ + GroupAdd: EncodePrivacySetting(privacySetting.GroupAdd), + LastSeen: EncodePrivacySetting(privacySetting.LastSeen), + Status: EncodePrivacySetting(privacySetting.Status), + Profile: EncodePrivacySetting(privacySetting.Profile), + ReadReceipts: EncodePrivacySetting(privacySetting.ReadReceipts), + CallAdd: EncodePrivacySetting(privacySetting.CallAdd), + Online: EncodePrivacySetting(privacySetting.Online), + } +} + +func EncodeStatusPrivacy(statusPrivacy types.StatusPrivacy) *defproto.StatusPrivacy { + var ptype defproto.StatusPrivacy_StatusPrivacyType + JIDS := []*defproto.JID{} + switch statusPrivacy.Type { + case types.StatusPrivacyTypeBlacklist: + ptype = defproto.StatusPrivacy_BLACKLIST + case types.StatusPrivacyTypeContacts: + ptype = defproto.StatusPrivacy_CONTACTS + case types.StatusPrivacyTypeWhitelist: + ptype = defproto.StatusPrivacy_WHITELIST + } + for _, jid := range statusPrivacy.List { + JIDS = append(JIDS, EncodeJidProto(jid)) + } + return &defproto.StatusPrivacy{ + Type: &ptype, + List: JIDS, + IsDefault: &statusPrivacy.IsDefault, + } +} + +func EncodeGroupLinkTarget(group types.GroupLinkTarget) *defproto.GroupLinkTarget { + return &defproto.GroupLinkTarget{ + JID: EncodeJidProto(group.JID), + GroupName: EncodeGroupName(group.GroupName), + GroupIsDefaultSub: EncodeGroupIsDefaultSub(group.GroupIsDefaultSub), + } +} + +func EncodeContactQRLinkTarget(contact types.ContactQRLinkTarget) *defproto.ContactQRLinkTarget { + return &defproto.ContactQRLinkTarget{ + JID: EncodeJidProto(contact.JID), + Type: &contact.Type, + PushName: &contact.PushName, + } +} + +func EncodeBusinessMessageLinkTarget(message types.BusinessMessageLinkTarget) *defproto.BusinessMessageLinkTarget { + return &defproto.BusinessMessageLinkTarget{ + JID: EncodeJidProto(message.JID), + PushName: proto.String(message.PushName), + VerifiedName: proto.String(message.VerifiedName), + IsSigned: &message.IsSigned, + VerifiedLevel: &message.VerifiedLevel, + Message: &message.Message, + } +} + +func EncodePairSuccess(pair *events.PairSuccess) *defproto.PairStatus { + return &defproto.PairStatus{ + ID: EncodeJidProto(pair.ID), + BusinessName: &pair.BusinessName, + Platform: &pair.Platform, + Status: defproto.PairStatus_SUCCESS.Enum(), + } +} + +func EncodePairError(pair *events.PairError) *defproto.PairStatus { + return &defproto.PairStatus{ + ID: EncodeJidProto(pair.ID), + BusinessName: &pair.BusinessName, + Platform: &pair.Platform, + Status: defproto.PairStatus_ERROR.Enum(), + Error: proto.String(pair.Error.Error()), + } +} + +func EncodeConnectFailureReason(reason_types events.ConnectFailureReason) *defproto.ConnectFailureReason { + var reason *defproto.ConnectFailureReason + switch reason_types { + case events.ConnectFailureGeneric: + reason = defproto.ConnectFailureReason_GENERIC.Enum() + case events.ConnectFailureLoggedOut: + reason = defproto.ConnectFailureReason_LOGGED_OUT.Enum() + case events.ConnectFailureTempBanned: + reason = defproto.ConnectFailureReason_TEMP_BANNED.Enum() + case events.ConnectFailureMainDeviceGone: + reason = defproto.ConnectFailureReason_MAIN_DEVICE_GONE.Enum() + case events.ConnectFailureUnknownLogout: + reason = defproto.ConnectFailureReason_UNKNOWN_LOGOUT.Enum() + case events.ConnectFailureClientOutdated: + reason = defproto.ConnectFailureReason_CLIENT_OUTDATED.Enum() + case events.ConnectFailureBadUserAgent: + reason = defproto.ConnectFailureReason_BAD_USER_AGENT.Enum() + case events.ConnectFailureInternalServerError: + reason = defproto.ConnectFailureReason_INTERNAL_SERVER_ERROR.Enum() + case events.ConnectFailureExperimental: + reason = defproto.ConnectFailureReason_EXPERIMENTAL.Enum() + case events.ConnectFailureServiceUnavailable: + reason = defproto.ConnectFailureReason_SERVICE_UNAVAILABLE.Enum() + } + return reason +} + +func EncodeLoggedOut(logout *events.LoggedOut) *defproto.LoggedOut { + return &defproto.LoggedOut{ + OnConnect: &logout.OnConnect, + Reason: EncodeConnectFailureReason(logout.Reason), + } +} + +func EncodeTemporaryBan(ban *events.TemporaryBan) *defproto.TemporaryBan { + var reason *defproto.TemporaryBan_TempBanReason + switch ban.Code { + case events.TempBanSentToTooManyPeople: + reason = defproto.TemporaryBan_SEND_TO_TOO_MANY_PEOPLE.Enum() + case events.TempBanBlockedByUsers: + reason = defproto.TemporaryBan_BLOCKED_BY_USERS.Enum() + case events.TempBanCreatedTooManyGroups: + reason = defproto.TemporaryBan_CREATED_TOO_MANY_GROUPS.Enum() + case events.TempBanSentTooManySameMessage: + reason = defproto.TemporaryBan_SENT_TOO_MANY_SAME_MESSAGE.Enum() + case events.TempBanBroadcastList: + reason = defproto.TemporaryBan_BROADCAST_LIST.Enum() + } + return &defproto.TemporaryBan{ + Code: reason, + Expire: proto.Int64(int64(ban.Expire.Seconds())), + } +} + +func EncodeNodeAttrs(attrs waBinary.Attrs) []*defproto.NodeAttrs { + n_attr := []*defproto.NodeAttrs{} + for k, v := range attrs { + attr := defproto.NodeAttrs{Name: proto.String(k)} + switch value := v.(type) { + case int: + attr.Value = &defproto.NodeAttrs_Integer{Integer: *proto.Int64(int64(value))} + case int32: + attr.Value = &defproto.NodeAttrs_Integer{Integer: *proto.Int64(int64(value))} + case int64: + attr.Value = &defproto.NodeAttrs_Integer{Integer: *proto.Int64(int64(value))} + case bool: + attr.Value = &defproto.NodeAttrs_Boolean{Boolean: value} + case string: + attr.Value = &defproto.NodeAttrs_Text{Text: value} + case types.JID: + attr.Value = &defproto.NodeAttrs_Jid{Jid: EncodeJidProto(value)} + } + n_attr = append(n_attr, &attr) + } + return n_attr +} + +func EncodeNode(node *waBinary.Node) *defproto.Node { + nodes := defproto.Node{ + Tag: &node.Tag, + Attrs: EncodeNodeAttrs(node.Attrs), + } + switch v := node.Content.(type) { + case nil: + nodes.Nil = proto.Bool(true) + case []waBinary.Node: + content := make([]*defproto.Node, len(v)) + for i, c_node := range v { + content[i] = EncodeNode(&c_node) + } + nodes.Nodes = content + case []byte: + nodes.Bytes = v + } + + return &nodes +} + +func EncodeConnectFailure(connect *events.ConnectFailure) *defproto.ConnectFailure { + return &defproto.ConnectFailure{ + Reason: EncodeConnectFailureReason(connect.Reason), + Message: &connect.Message, + Raw: EncodeNode(connect.Raw), + } +} + +func EncodeReceipts(receipt *events.Receipt) defproto.Receipt { + var Type *defproto.Receipt_ReceiptType + switch receipt.Type { + case types.ReceiptTypeDelivered: + Type = defproto.Receipt_DELIVERED.Enum() + case types.ReceiptTypeSender: + Type = defproto.Receipt_SENDER.Enum() + case types.ReceiptTypeRetry: + Type = defproto.Receipt_RETRY.Enum() + case types.ReceiptTypeRead: + Type = defproto.Receipt_READ.Enum() + case types.ReceiptTypeReadSelf: + Type = defproto.Receipt_READ_SELF.Enum() + case types.ReceiptTypePlayed: + Type = defproto.Receipt_PLAYED.Enum() + case types.ReceiptTypePlayedSelf: + Type = defproto.Receipt_SERVER_ERROR.Enum() + case types.ReceiptTypeInactive: + Type = defproto.Receipt_INACTIVE.Enum() + case types.ReceiptTypePeerMsg: + Type = defproto.Receipt_PEER_MSG.Enum() + case types.ReceiptTypeHistorySync: + Type = defproto.Receipt_HISTORY_SYNC.Enum() + } + return defproto.Receipt{ + MessageSource: EncodeMessageSource(receipt.MessageSource), + MessageIDs: receipt.MessageIDs, + Timestamp: proto.Int64(receipt.Timestamp.Unix()), + Type: Type, + } +} + +func EncodeChatPresence(presence *events.ChatPresence) defproto.ChatPresence { + var chat_presence *defproto.ChatPresence_ChatPresence + var chat_presence_media *defproto.ChatPresence_ChatPresenceMedia + switch presence.State { + case types.ChatPresenceComposing: + chat_presence = defproto.ChatPresence_COMPOSING.Enum() + case types.ChatPresencePaused: + chat_presence = defproto.ChatPresence_PAUSED.Enum() + } + switch presence.Media { + case types.ChatPresenceMediaAudio: + chat_presence_media = defproto.ChatPresence_AUDIO.Enum() + case types.ChatPresenceMediaText: + chat_presence_media = defproto.ChatPresence_TEXT.Enum() + } + return defproto.ChatPresence{ + MessageSource: EncodeMessageSource(presence.MessageSource), + State: chat_presence, + Media: chat_presence_media, + } +} + +func EncodePresence(presence *events.Presence) defproto.Presence { + return defproto.Presence{ + From: EncodeJidProto(presence.From), + Unavailable: &presence.Unavailable, + LastSeen: proto.Int64(presence.LastSeen.Unix()), + } +} + +func EncodeJoinedGroup(joined *events.JoinedGroup) defproto.JoinedGroup { + return defproto.JoinedGroup{ + Reason: &joined.Reason, + Type: &joined.Reason, + CreateKey: &joined.CreateKey, + GroupInfo: EncodeGroupInfo(&joined.GroupInfo), + } +} + +func EncodeGroupDelete(delete types.GroupDelete) *defproto.GroupDelete { + return &defproto.GroupDelete{ + Deleted: &delete.Deleted, + DeletedReason: &delete.DeleteReason, + } +} + +func EncodeGroupLinkChange(group *types.GroupLinkChange) *defproto.GroupLinkChange { + var Type *defproto.GroupLinkChange_ChangeType + switch group.Type { + case types.GroupLinkChangeTypeParent: + Type = defproto.GroupLinkChange_PARENT.Enum() + case types.GroupLinkChangeTypeSub: + Type = defproto.GroupLinkChange_SUB.Enum() + case types.GroupLinkChangeTypeSibling: + Type = defproto.GroupLinkChange_SIBLING.Enum() + } + return &defproto.GroupLinkChange{ + Type: Type, + UnlinkReason: (*string)(&group.UnlinkReason), + Group: EncodeGroupLinkTarget(group.Group), + } +} + +func EncodeGroupInfoEvent(groupInfo *events.GroupInfo) *defproto.GroupInfoEvent { + Join := make([]*defproto.JID, len(groupInfo.Join)) + Leave := make([]*defproto.JID, len(groupInfo.Leave)) + Promote := make([]*defproto.JID, len(groupInfo.Promote)) + Demote := make([]*defproto.JID, len(groupInfo.Demote)) + UnknownChanges := make([]*defproto.Node, len(groupInfo.UnknownChanges)) + for i, jidJoin := range groupInfo.Join { + Join[i] = EncodeJidProto(jidJoin) + } + for i, jidLeave := range groupInfo.Leave { + Leave[i] = EncodeJidProto(jidLeave) + } + for i, jidPromote := range groupInfo.Promote { + Promote[i] = EncodeJidProto(jidPromote) + } + for i, jidDemote := range groupInfo.Demote { + Demote[i] = EncodeJidProto(jidDemote) + } + for i, changes := range groupInfo.UnknownChanges { + UnknownChanges[i] = EncodeNode(changes) + } + group_info := defproto.GroupInfoEvent{ + JID: EncodeJidProto(groupInfo.JID), + Notify: &groupInfo.Notify, + Timestamp: proto.Int64(groupInfo.Timestamp.Unix()), + PrevParticipantsVersionID: &groupInfo.PrevParticipantVersionID, + ParticipantVersionID: &groupInfo.ParticipantVersionID, + JoinReason: &groupInfo.JoinReason, + Join: Join, + Leave: Leave, + Promote: Promote, + Demote: Demote, + UnknownChanges: UnknownChanges, + } + if groupInfo.Sender != nil { + group_info.Sender = EncodeJidProto(*groupInfo.Sender) + } + if groupInfo.Name != nil { + group_info.Name = EncodeGroupName(*groupInfo.Name) + } + if groupInfo.Topic != nil { + group_info.Topic = EncodeGroupTopic(*groupInfo.Topic) + } + if groupInfo.Locked != nil { + group_info.Locked = EncodeGroupLocked(*groupInfo.Locked) + } + if groupInfo.Announce != nil { + group_info.Announce = EncodeGroupAnnounce(*groupInfo.Announce) + } + if groupInfo.Ephemeral != nil { + group_info.Ephemeral = EncodeGroupEphemeral(*groupInfo.Ephemeral) + } + if groupInfo.Delete != nil { + group_info.Delete = EncodeGroupDelete(*groupInfo.Delete) + } + if groupInfo.Link != nil { + group_info.Link = EncodeGroupLinkChange(groupInfo.Link) + } + if groupInfo.Unlink != nil { + group_info.Unlink = EncodeGroupLinkChange(groupInfo.Unlink) + } + if groupInfo.NewInviteLink != nil { + group_info.NewInviteLink = groupInfo.NewInviteLink + } + return &group_info +} + +func EncodeBlocklistChange(blocklist *events.BlocklistChange) *defproto.BlocklistChange { + var action *defproto.BlocklistChange_Action + switch blocklist.Action { + case events.BlocklistChangeActionBlock: + action = defproto.BlocklistChange_BLOCK.Enum() + case events.BlocklistChangeActionUnblock: + action = defproto.BlocklistChange_UNBLOCK.Enum() + } + return &defproto.BlocklistChange{ + JID: EncodeJidProto(blocklist.JID), + BlockAction: action, + } +} + +func EncodeBlocklistEvent(blocklist *events.Blocklist) defproto.BlocklistEvent { + var action *defproto.BlocklistEvent_Actions + blocklistchanges := make([]*defproto.BlocklistChange, len(blocklist.Changes)) + for i, changes := range blocklist.Changes { + blocklistchanges[i] = EncodeBlocklistChange(&changes) + } + switch blocklist.Action { + case events.BlocklistActionDefault: + action = defproto.BlocklistEvent_DEFAULT.Enum() + case events.BlocklistActionModify: + action = defproto.BlocklistEvent_MODIFY.Enum() + } + return defproto.BlocklistEvent{ + Action: action, + DHASH: &blocklist.DHash, + PrevDHash: &blocklist.PrevDHash, + Changes: blocklistchanges, + } +} + +func EncodeNewsletterLeave(leave *events.NewsletterLeave) defproto.NewsletterLeave { + var role *defproto.NewsletterRole + switch leave.Role { + case types.NewsletterRoleAdmin: + role = defproto.NewsletterRole_ADMIN.Enum() + case types.NewsletterRoleGuest: + role = defproto.NewsletterRole_GUEST.Enum() + case types.NewsletterRoleOwner: + role = defproto.NewsletterRole_OWNER.Enum() + case types.NewsletterRoleSubscriber: + role = defproto.NewsletterRole_SUBSCRIBER.Enum() + } + return defproto.NewsletterLeave{ + ID: EncodeJidProto(leave.ID), + Role: role, + } +} + +func EncodeNewsletterMuteChange(mute *events.NewsletterMuteChange) defproto.NewsletterMuteChange { + var state *defproto.NewsletterMuteState + switch mute.Mute { + case types.NewsletterMuteOff: + state = defproto.NewsletterMuteState_OFF.Enum() + case types.NewsletterMuteOn: + state = defproto.NewsletterMuteState_ON.Enum() + } + return defproto.NewsletterMuteChange{ + ID: EncodeJidProto(mute.ID), + Mute: state, + } +} + +func EncodeNewsletterLiveUpdate(update *events.NewsletterLiveUpdate) defproto.NewsletterLiveUpdate { + messages := make([]*defproto.NewsletterMessage, len(update.Messages)) + for i, message := range update.Messages { + messages[i] = EncodeNewsletterMessage(message) + } + return defproto.NewsletterLiveUpdate{ + JID: EncodeJidProto(update.JID), + TIME: proto.Int64(int64(update.Time.Unix())), + Messages: messages, + } +} + +func EncodeContactInfo(info types.ContactInfo) *defproto.ContactInfo { + return &defproto.ContactInfo{ + Found: proto.Bool(info.Found), + FirstName: proto.String(info.FirstName), + FullName: proto.String(info.FullName), + PushName: proto.String(info.PushName), + BusinessName: proto.String(info.BusinessName), + RedactedPhone: proto.String(info.RedactedPhone), + } +} + +func EncodeContacts(info map[types.JID]types.ContactInfo) []*defproto.Contact { + contacts := make([]*defproto.Contact, len(info)) + i := 0 + for k, v := range info { + contacts[i] = &defproto.Contact{ + JID: EncodeJidProto(k), + Info: EncodeContactInfo(v), + } + i++ + } + return contacts +} + +func EncodeBasicCallMeta(basicCallMeta types.BasicCallMeta) *defproto.BasicCallMeta { + return &defproto.BasicCallMeta{ + From: EncodeJidProto(basicCallMeta.From), + Timestamp: proto.Int64(int64(basicCallMeta.Timestamp.Unix())), + CallCreator: EncodeJidProto(basicCallMeta.CallCreator), + CallCreatorAlt: EncodeJidProto(basicCallMeta.CallCreatorAlt), + CallID: proto.String(basicCallMeta.CallID), + } +} + +func EncodeCallRemoteMeta(callRemoteMeta types.CallRemoteMeta) *defproto.CallRemoteMeta { + return &defproto.CallRemoteMeta{ + RemotePlatform: proto.String(callRemoteMeta.RemotePlatform), + RemoteVersion: proto.String(callRemoteMeta.RemoteVersion), + } +} + +func EncodeUndecryptableMessageEvent(undecryptableMessage events.UndecryptableMessage) *defproto.UndecryptableMessage { + var failMode defproto.UndecryptableMessage_DecryptFailModeT + switch undecryptableMessage.DecryptFailMode { + case "": + failMode = defproto.UndecryptableMessage_DECRYPT_FAIL_SHOW + case "hide": + failMode = defproto.UndecryptableMessage_DECRYPT_FAIL_HIDE + } + return &defproto.UndecryptableMessage{ + Info: EncodeMessageInfo(undecryptableMessage.Info), + IsUnavailable: &undecryptableMessage.IsUnavailable, + DecryptFailMode: &failMode, + } +} diff --git a/goneonize/utils/log.go b/goneonize/utils/log.go new file mode 100644 index 00000000..240861ba --- /dev/null +++ b/goneonize/utils/log.go @@ -0,0 +1,102 @@ +// Copyright (c) 2021 Tulir Asokan +// + +// Package waLog contains a simple logger interface used by the other whatsmeow packages. +package utils + +/* + + #include + #include + #include + #include + #include "../header/cstruct.h" + #include "../python/pythonptr.h" +*/ +import "C" + +import ( + "unsafe" + + defproto "github.com/krypton-byte/neonize/defproto" + waLog "go.mau.fi/whatsmeow/util/log" + "google.golang.org/protobuf/proto" +) + +import ( + "fmt" + "strings" +) + +func getBytesAndSize(data []byte) (*C.char, C.size_t) { + messageSourceCDATA := (*C.char)(unsafe.Pointer(&data[0])) + messageSourceCSize := C.size_t(len(data)) + return messageSourceCDATA, messageSourceCSize +} + +// Logger is a logger interface that emulates waLog.Logger but instead passes the logs to a python function +type Logger interface { + waLog.Logger + Warnf(msg string, args ...interface{}) + Errorf(msg string, args ...interface{}) + Infof(msg string, args ...interface{}) + Debugf(msg string, args ...interface{}) +} + +type noopLogger struct{} + +func (n *noopLogger) Errorf(_ string, _ ...interface{}) {} +func (n *noopLogger) Warnf(_ string, _ ...interface{}) {} +func (n *noopLogger) Infof(_ string, _ ...interface{}) {} +func (n *noopLogger) Debugf(_ string, _ ...interface{}) {} +func (n *noopLogger) Sub(_ string) waLog.Logger { return n } + +// Noop is a no-op Logger implementation that silently drops everything. +var Noop Logger = &noopLogger{} + +type Callback = C.ptr_to_python_function_callback_bytes2 + +type stdoutLogger struct { + mod string + min int + + callback Callback +} + +var levelToInt = map[string]int{ + "": -1, + "DEBUG": 0, + "INFO": 1, + "WARN": 2, + "ERROR": 3, +} + +func (s *stdoutLogger) outputf(level, msg string, args ...interface{}) { + if levelToInt[level] < s.min { + return + } + formatted := fmt.Sprintf(msg, args...) + log_msg := defproto.LogEntry{ + Message: proto.String(formatted), + Level: proto.String(level), + Name: proto.String(s.mod), + } + buff, err := proto.Marshal(&log_msg) + if err != nil { + panic(err) + } + uchars, size := getBytesAndSize(buff) + C.call_c_func_callback_bytes2(s.callback, uchars, size) +} + +func (s *stdoutLogger) Errorf(msg string, args ...interface{}) { s.outputf("ERROR", msg, args...) } +func (s *stdoutLogger) Warnf(msg string, args ...interface{}) { s.outputf("WARN", msg, args...) } +func (s *stdoutLogger) Infof(msg string, args ...interface{}) { s.outputf("INFO", msg, args...) } +func (s *stdoutLogger) Debugf(msg string, args ...interface{}) { s.outputf("DEBUG", msg, args...) } +func (s *stdoutLogger) Sub(mod string) waLog.Logger { + return &stdoutLogger{mod: fmt.Sprintf("%s/%s", s.mod, mod), callback: s.callback, min: s.min} +} + +func NewLogger(module string, minLevel string, callback Callback) Logger { + return &stdoutLogger{mod: module, min: levelToInt[strings.ToUpper(minLevel)], callback: callback} +} diff --git a/neonize/gocode/utils/utils.go b/goneonize/utils/utils.go similarity index 94% rename from neonize/gocode/utils/utils.go rename to goneonize/utils/utils.go index 297b6e5f..057955c7 100644 --- a/neonize/gocode/utils/utils.go +++ b/goneonize/utils/utils.go @@ -13,6 +13,7 @@ var MediaType = []whatsmeow.MediaType{ whatsmeow.MediaHistory, whatsmeow.MediaAppState, whatsmeow.MediaLinkThumbnail, + whatsmeow.MediaStickerPack, } var ChatPresence = []types.ChatPresence{ diff --git a/goneonize/version.go b/goneonize/version.go new file mode 100644 index 00000000..def72f28 --- /dev/null +++ b/goneonize/version.go @@ -0,0 +1,9 @@ +package main + +import "C" + +//export GetVersion +func GetVersion() *C.char { + version := "0.3.12" + return C.CString(version) +} diff --git a/neonize/__init__.py b/neonize/__init__.py index e69de29b..05c88b4a 100644 --- a/neonize/__init__.py +++ b/neonize/__init__.py @@ -0,0 +1,7 @@ +from .client import NewClient +from .events import Event +from .utils.ffmpeg import FFmpeg +from .utils.iofile import TemporaryFile + +__version__ = "0.3.12" +__all__ = ("NewClient", "FFmpeg", "TemporaryFile", "Event") diff --git a/neonize/_binder.py b/neonize/_binder.py index 8646c883..4622dcb2 100644 --- a/neonize/_binder.py +++ b/neonize/_binder.py @@ -1,9 +1,40 @@ import ctypes +import ctypes.util +import os from pathlib import Path +from platform import system +from typing import Any -gocode = ctypes.CDLL((Path(__file__).parent / "gocode/gocode.so")) -func_string = ctypes.CFUNCTYPE(None, ctypes.c_void_p) -func_bytes = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_int) +from .download import __GONEONIZE_VERSION__, download +from .utils.platform import generated_name + +func_string = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p) # qr +func = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_bool) # blocking +func_bytes = ctypes.CFUNCTYPE( + None, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_int +) # status +func_callback_bytes = ctypes.CFUNCTYPE( + None, ctypes.c_char_p, ctypes.c_void_p, ctypes.c_int, ctypes.c_int +) # callback_bytes + +func_callback_bytes2 = ctypes.CFUNCTYPE( + None, ctypes.c_void_p, ctypes.c_int +) # callback_bytes + + +def load_goneonize(): + while True: + try: + gocode = ctypes.CDLL(f"{root_dir}/{generated_name()}") + gocode.GetVersion.restype = ctypes.c_char_p + if gocode.GetVersion().decode() != __GONEONIZE_VERSION__: + raise Exception("Invalid Version") + return gocode + except OSError as e: + print("e", e) + raise e + except Exception: + download() class Bytes(ctypes.Structure): @@ -15,141 +46,471 @@ def get_bytes(self): return ctypes.string_at(self.ptr, self.size) -gocode.Upload.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int, ctypes.c_int] -gocode.Upload.restype = Bytes -gocode.Download.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] -gocode.Download.restype = Bytes -gocode.GetGroupInfo.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] -gocode.GetGroupInfo.restype = Bytes -gocode.SetGroupPhoto.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_char_p, - ctypes.c_int, -] -gocode.SetGroupPhoto.restype = ctypes.c_char_p -gocode.LeaveGroup.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] -gocode.LeaveGroup.restype = ctypes.c_char_p -gocode.SetGroupName.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_char_p, -] -gocode.SetGroupName.restype = ctypes.c_char_p -gocode.GetGroupInviteLink.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_bool, -] -gocode.GetGroupInviteLink.restype = Bytes -gocode.JoinGroupWithLink.argtypes = [ctypes.c_char_p, ctypes.c_char_p] -gocode.JoinGroupWithLink.restype = Bytes -gocode.SendMessage.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_char_p, - ctypes.c_int, -] -gocode.SendMessage.restype = Bytes -gocode.SendChatPresence.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_int, - ctypes.c_int, -] -gocode.SendChatPresence.restype = ctypes.c_char_p -gocode.BuildRevoke.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_char_p, -] -gocode.BuildRevoke.restype = Bytes -gocode.CreateGroup.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] -gocode.CreateGroup.restype = Bytes -gocode.GenerateMessageID.argtypes = [ctypes.c_char_p] -gocode.GenerateMessageID.restype = ctypes.c_char_p -gocode.IsOnWhatsApp.argtypes = [ctypes.c_char_p, ctypes.c_char_p] -gocode.IsOnWhatsApp.restype = Bytes -gocode.IsConnected.argtypes = [ctypes.c_char_p] -gocode.IsConnected.restype = ctypes.c_bool -gocode.IsLoggedIn.argtypes = [ctypes.c_char_p] -gocode.IsLoggedIn.restype = ctypes.c_bool -gocode.GetUserInfo.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] -gocode.GetUserInfo.restype = Bytes -gocode.GetMe.argtypes = [ctypes.c_char_p] -gocode.GetMe.restype = Bytes -gocode.BuildPollVoteCreation.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_int, -] -gocode.BuildPollVoteCreation.restype = Bytes -gocode.BuildPollVote.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_char_p, - ctypes.c_int, -] -gocode.BuildPollVote.restype = Bytes -gocode.BuildReaction.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_char_p, - ctypes.c_char_p, -] -gocode.BuildReaction.restype = Bytes -gocode.CreateNewsletter.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] -gocode.CreateNewsletter.restype = Bytes -gocode.FollowNewsletter.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] -gocode.FollowNewsletter.restype = ctypes.c_char_p -gocode.GetBlocklist.argtypes = [ctypes.c_char_p] -gocode.GetBlocklist.restype = Bytes -gocode.GetContactQRLink.argtypes = [ctypes.c_char_p, ctypes.c_bool] -gocode.GetContactQRLink.restype = Bytes -gocode.GetGroupInfoFromInvite.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_char_p, - ctypes.c_int, - ctypes.c_char_p, - ctypes.c_int -] -gocode.GetGroupInfoFromInvite.restype = Bytes -gocode.GetGroupInfoFromLink.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p -] -gocode.GetGroupInfoFromLink.restype = Bytes -gocode.GetGroupRequestParticipants.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int -] -gocode.GetGroupRequestParticipants.restype = Bytes -gocode.GetJoinedGroups.argtypes = [ctypes.c_char_p] -gocode.GetJoinedGroups.restype = Bytes -gocode.GetLinkedGroupsParticipants.argtypes = [ - ctypes.c_char_p, - ctypes.c_char_p, - ctypes.c_int -] -gocode.GetLinkedGroupsParticipants.restype = Bytes -gocode.GetNewsletterInfo.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] -gocode.GetNewsletterInfo.restype = Bytes -gocode.GetNewsletterInfoWithInvite.argtypes = [ctypes.c_char_p, ctypes.c_char_p] -gocode.GetNewsletterInfoWithInvite.restype = Bytes \ No newline at end of file +if not os.environ.get("SPHINX"): + if not (Path(__file__).parent / generated_name()).exists(): + download() + file_ext = "dll" if system() == "Windows" else "so" + root_dir = os.path.abspath(os.path.dirname(__file__)) + gocode = load_goneonize() + + gocode.Neonize.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + func_string, + func_string, + func_callback_bytes, + func_callback_bytes2, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.GetLIDFromPN.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.GetLIDFromPN.restype = ctypes.POINTER(Bytes) + gocode.GetPNFromLID.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.GetPNFromLID.restype = ctypes.POINTER(Bytes) + gocode.PinMessage.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.PinMessage.restype = ctypes.POINTER(Bytes) + gocode.Upload.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_int, + ] + gocode.TestStruct.argtypes = [] + gocode.TestStruct.restype = ctypes.POINTER(Bytes) + gocode.Upload.restype = ctypes.POINTER(Bytes) + gocode.DownloadAny.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.DownloadAny.restype = ctypes.POINTER(Bytes) + gocode.DownloadMediaWithPath.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_int, + ctypes.c_int, + ctypes.c_char_p, + ] + gocode.DownloadMediaWithPath.restype = ctypes.POINTER(Bytes) + gocode.GetGroupInfo.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.GetGroupInfo.restype = ctypes.POINTER(Bytes) + gocode.SetGroupPhoto.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.SetGroupPhoto.restype = ctypes.POINTER(Bytes) + gocode.SetProfilePhoto.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.SetProfilePhoto.restype = ctypes.POINTER(Bytes) + gocode.LeaveGroup.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.LeaveGroup.restype = ctypes.c_char_p + gocode.SetGroupName.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ] + gocode.SetGroupName.restype = ctypes.c_char_p + gocode.GetGroupInviteLink.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_bool, + ] + gocode.GetGroupInviteLink.restype = ctypes.POINTER(Bytes) + gocode.JoinGroupWithLink.argtypes = [ctypes.c_char_p, ctypes.c_char_p] + gocode.JoinGroupWithLink.restype = ctypes.POINTER(Bytes) + gocode.SendMessage.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.SendMessage.restype = ctypes.POINTER(Bytes) + gocode.SendChatPresence.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_int, + ctypes.c_int, + ] + gocode.SendChatPresence.restype = ctypes.c_char_p + gocode.BuildRevoke.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ] + gocode.BuildRevoke.restype = ctypes.POINTER(Bytes) + gocode.CreateGroup.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.CreateGroup.restype = ctypes.POINTER(Bytes) + gocode.GenerateMessageID.argtypes = [ctypes.c_char_p] + gocode.GenerateMessageID.restype = ctypes.c_char_p + gocode.IsOnWhatsApp.argtypes = [ctypes.c_char_p, ctypes.c_char_p] + gocode.IsOnWhatsApp.restype = ctypes.POINTER(Bytes) + gocode.IsConnected.argtypes = [ctypes.c_char_p] + gocode.IsConnected.restype = ctypes.c_bool + gocode.IsLoggedIn.argtypes = [ctypes.c_char_p] + gocode.IsLoggedIn.restype = ctypes.c_bool + gocode.GetUserInfo.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.GetUserInfo.restype = ctypes.POINTER(Bytes) + gocode.GetMe.argtypes = [ctypes.c_char_p] + gocode.GetMe.restype = ctypes.POINTER(Bytes) + gocode.BuildPollVoteCreation.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_int, + ] + gocode.BuildPollVoteCreation.restype = ctypes.POINTER(Bytes) + gocode.BuildPollVote.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.BuildPollVote.restype = ctypes.POINTER(Bytes) + gocode.BuildReaction.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_char_p, + ] + gocode.BuildReaction.restype = ctypes.POINTER(Bytes) + gocode.CreateNewsletter.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.CreateNewsletter.restype = ctypes.POINTER(Bytes) + gocode.FollowNewsletter.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.FollowNewsletter.restype = ctypes.c_char_p + gocode.GetBlocklist.argtypes = [ctypes.c_char_p] + gocode.GetBlocklist.restype = ctypes.POINTER(Bytes) + gocode.GetContactQRLink.argtypes = [ctypes.c_char_p, ctypes.c_bool] + gocode.GetContactQRLink.restype = ctypes.POINTER(Bytes) + gocode.GetGroupInfoFromInvite.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.GetGroupInfoFromInvite.restype = ctypes.POINTER(Bytes) + gocode.GetGroupInfoFromLink.argtypes = [ctypes.c_char_p, ctypes.c_char_p] + gocode.GetGroupInfoFromLink.restype = ctypes.POINTER(Bytes) + gocode.GetGroupRequestParticipants.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.GetGroupRequestParticipants.restype = ctypes.POINTER(Bytes) + gocode.GetJoinedGroups.argtypes = [ctypes.c_char_p] + gocode.GetJoinedGroups.restype = ctypes.POINTER(Bytes) + gocode.GetLinkedGroupsParticipants.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.GetLinkedGroupsParticipants.restype = ctypes.POINTER(Bytes) + gocode.GetNewsletterInfo.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.GetNewsletterInfo.restype = ctypes.POINTER(Bytes) + gocode.GetNewsletterInfoWithInvite.argtypes = [ctypes.c_char_p, ctypes.c_char_p] + gocode.GetNewsletterInfoWithInvite.restype = ctypes.POINTER(Bytes) + gocode.GetNewsletterMessageUpdate.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_int, + ctypes.c_int, + ctypes.c_int, + ] + gocode.GetNewsletterMessageUpdate.restype = ctypes.POINTER(Bytes) + gocode.GetNewsletterMessages.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_int, + ctypes.c_int, + ] + gocode.GetNewsletterMessages.restype = ctypes.POINTER(Bytes) + gocode.GetPrivacySettings.argtypes = [ctypes.c_char_p] + gocode.GetPrivacySettings.restype = ctypes.POINTER(Bytes) + gocode.GetProfilePicture.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.GetProfilePicture.restype = ctypes.POINTER(Bytes) + gocode.GetStatusPrivacy.argtypes = [ctypes.c_char_p] + gocode.GetStatusPrivacy.restype = ctypes.POINTER(Bytes) + gocode.GetSubGroups.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.GetSubGroups.restype = ctypes.POINTER(Bytes) + gocode.GetSubscribedNewsletters.argtypes = [ctypes.c_char_p] + gocode.GetSubscribedNewsletters.restype = ctypes.POINTER(Bytes) + gocode.GetUserDevices.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.GetUserDevices.restype = ctypes.POINTER(Bytes) + gocode.JoinGroupWithInvite.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.JoinGroupWithInvite.restype = ctypes.c_char_p + gocode.LinkGroup.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.LinkGroup.restype = ctypes.POINTER(Bytes) + gocode.Logout.argtypes = [ctypes.c_char_p] + gocode.Logout.restype = ctypes.c_char_p + gocode.MarkRead.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ] + gocode.MarkRead.restype = ctypes.c_char_p + gocode.NewsletterMarkViewed.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.NewsletterMarkViewed.restype = ctypes.c_char_p + gocode.NewsletterSendReaction.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_char_p, + ] + gocode.NewsletterSendReaction.restype = ctypes.c_char_p + gocode.NewsletterSubscribeLiveUpdates.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.NewsletterSubscribeLiveUpdates.restype = ctypes.POINTER(Bytes) + gocode.NewsletterToggleMute.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_bool, + ] + gocode.NewsletterToggleMute.restype = ctypes.c_char_p + gocode.Disconnect.argtypes = [ctypes.c_char_p] + gocode.ResolveContactQRLink.argtypes = [ctypes.c_char_p, ctypes.c_char_p] + gocode.ResolveContactQRLink.restype = ctypes.POINTER(Bytes) + gocode.ResolveBusinessMessageLink.argtypes = [ctypes.c_char_p, ctypes.c_char_p] + gocode.ResolveBusinessMessageLink.restype = ctypes.POINTER(Bytes) + gocode.SendAppState.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.SendAppState.restype = ctypes.c_char_p + gocode.SetDefaultDisappearingTimer.argtypes = [ctypes.c_char_p, ctypes.c_int64] + gocode.SetDefaultDisappearingTimer.restype = ctypes.c_char_p + gocode.SetDisappearingTimer.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_int64, + ctypes.c_int64, + ] + gocode.SetDisappearingTimer.restype = ctypes.c_char_p + gocode.SetForceActiveDeliveryReceipts.argtypes = [ctypes.c_char_p, ctypes.c_bool] + gocode.SetForceActiveDeliveryReceipts.restype = ctypes.c_void_p + gocode.SetGroupAnnounce.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_bool, + ] + gocode.SetGroupAnnounce.restype = ctypes.c_char_p + gocode.SetGroupLocked.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_bool, + ] + gocode.SetGroupLocked.restype = ctypes.c_char_p + gocode.SetGroupTopic.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_char_p, + ] + gocode.SetGroupTopic.restype = ctypes.c_char_p + gocode.SetPrivacySetting.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_char_p, + ] + gocode.SetPrivacySetting.restype = ctypes.POINTER(Bytes) + gocode.SetPassive.argtypes = [ctypes.c_char_p, ctypes.c_bool] + gocode.SetPassive.restype = ctypes.c_char_p + gocode.SetStatusMessage.argtypes = [ctypes.c_char_p, ctypes.c_char_p] + gocode.SetStatusMessage.restype = ctypes.c_char_p + gocode.SubscribePresence.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.SubscribePresence.restype = ctypes.c_char_p + gocode.UnfollowNewsletter.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.UnfollowNewsletter.restype = ctypes.c_char_p + gocode.UnlinkGroup.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.UnlinkGroup.restype = ctypes.c_char_p + gocode.UpdateBlocklist.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ] + gocode.UpdateBlocklist.restype = ctypes.POINTER(Bytes) + gocode.UpdateGroupParticipants.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ] + gocode.UpdateGroupParticipants.restype = ctypes.POINTER(Bytes) + gocode.GetMessageForRetry.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ] + gocode.GetMessageForRetry.restype = ctypes.POINTER(Bytes) + gocode.PutPushName.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ] + gocode.PutPushName.restype = ctypes.POINTER(Bytes) + gocode.PutContactName.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_char_p, + ] + gocode.PutPushName.restype = ctypes.c_char_p + gocode.PutAllContactNames.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.PutAllContactNames.restype = ctypes.c_char_p + gocode.GetContact.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.GetContact.restype = ctypes.POINTER(Bytes) + gocode.GetAllContacts.argtypes = [ctypes.c_char_p] + gocode.GetAllContacts.restype = ctypes.POINTER(Bytes) + gocode.PutMutedUntil.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_float, + ] + gocode.PutMutedUntil.restype = ctypes.c_char_p + gocode.PutPinned.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_bool, + ] + gocode.PutPinned.restype = ctypes.c_char_p + gocode.PutArchived.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_bool, + ] + gocode.PutArchived.restype = ctypes.c_char_p + gocode.GetChatSettings.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.GetChatSettings.restype = ctypes.POINTER(Bytes) + gocode.GetAllDevices.argtypes = [ctypes.c_char_p, func_callback_bytes2] + gocode.GetAllDevices.restype = ctypes.c_char_p + gocode.SendFBMessage.argtypes = [ + ctypes.c_char_p, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ctypes.c_char_p, + ctypes.c_int, + ] + gocode.SendFBMessage.restype = ctypes.POINTER(Bytes) + gocode.SendPresence.argtypes = [ctypes.c_char_p, ctypes.c_char_p] + gocode.SendPresence.restype = ctypes.c_char_p + gocode.DecryptPollVote.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int] + gocode.DecryptPollVote.restype = ctypes.POINTER(Bytes) + gocode.Stop.argtypes = [ctypes.c_char_p] + gocode.Stop.restype = ctypes.c_void_p + gocode.StopAll.argtypes = [] + gocode.StopAll.restype = ctypes.c_void_p + gocode.FreeBytesStruct.argtypes = [ctypes.POINTER(Bytes)] + gocode.FreeBytesStruct.restype = None +else: + gocode: Any = object() + + +def free_bytes(bytes_ptr: ctypes._Pointer): + # print("Freeing bytes", bytes_ptr) + gocode.FreeBytesStruct(bytes_ptr) diff --git a/neonize/aioze/__init__.py b/neonize/aioze/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/neonize/aioze/client.py b/neonize/aioze/client.py new file mode 100644 index 00000000..c6847da6 --- /dev/null +++ b/neonize/aioze/client.py @@ -0,0 +1,3556 @@ +from __future__ import annotations + +import asyncio +import base64 +import ctypes +import logging +import re +import struct +import time +import traceback +import typing +from asyncio import get_event_loop +from datetime import timedelta +from io import BytesIO +from os import urandom +from typing import ( + Any, + Awaitable, + Callable, + List, + Optional, + ParamSpec, + Sequence, + TypeVar, + overload, +) +from uuid import uuid4 + +import magic +from google.protobuf.internal.containers import RepeatedCompositeFieldContainer +from linkpreview import link_preview as fallback_link_preview +from linkpreview.exceptions import MaximumContentSizeError +from PIL import Image, ImageSequence +from requests.exceptions import HTTPError + +from .._binder import ( + free_bytes, + func_callback_bytes, + func_callback_bytes2, + func_string, + gocode, +) +from ..builder import build_edit, build_revoke +from ..exc import ( + BuildPollVoteCreationError, + BuildPollVoteError, + ContactStoreError, + ConvertStickerError, + CreateGroupError, + CreateNewsletterError, + DecryptPollVoteError, + DownloadError, + FollowNewsletterError, + GetBlocklistError, + GetChatSettingsError, + GetContactQrLinkError, + GetGroupInfoError, + GetGroupInviteLinkError, + GetGroupRequestParticipantsError, + GetJIDFromStoreError, + GetJoinedGroupsError, + GetLinkedGroupParticipantsError, + GetNewsletterInfoError, + GetNewsletterInfoWithInviteError, + GetNewsletterMessagesError, + GetNewsletterMessageUpdateError, + GetProfilePictureError, + GetStatusPrivacyError, + GetSubGroupsError, + GetSubscribedNewslettersError, + GetUserDevicesError, + GetUserInfoError, + InviteLinkError, + IsOnWhatsAppError, + JoinGroupWithInviteError, + LinkGroupError, + LogoutError, + MarkReadError, + NewsletterMarkViewedError, + NewsletterSendReactionError, + NewsletterSubscribeLiveUpdatesError, + NewsletterToggleMuteError, + PutArchivedError, + PutMutedUntilError, + PutPinnedError, + ResolveContactQRLinkError, + SendAppStateError, + SendMessageError, + SendPresenceError, + SetDefaultDisappearingTimerError, + SetDisappearingTimerError, + SetGroupAnnounceError, + SetGroupLockedError, + SetGroupPhotoError, + SetGroupTopicError, + SetPassiveError, + SetPrivacySettingError, + SetStatusMessageError, + SubscribePresenceError, + UnfollowNewsletterError, + UnlinkGroupError, + UpdateBlocklistError, + UpdateGroupParticipantsError, + UploadError, +) +from ..proto import Neonize_pb2 as neonize_proto +from ..proto.Neonize_pb2 import ( + JID, + Blocklist, + BuildMessageReturnFunction, + Contact, + ContactEntry, + ContactEntryArray, + ContactInfo, + ContactsGetAllContactsReturnFunction, + ContactsGetContactReturnFunction, + ContactsPutPushNameReturnFunction, + Device, + DownloadReturnFunction, + GetGroupInfoReturnFunction, + GetGroupInviteLinkReturnFunction, + GetJIDFromStoreReturnFunction, + GetUserInfoReturnFunction, + GetUserInfoSingleReturnFunction, + GroupInfo, + GroupLinkedParent, + GroupLinkTarget, + GroupParent, + GroupParticipant, + GroupParticipantRequest, + IsOnWhatsAppResponse, + IsOnWhatsAppReturnFunction, + JIDArray, + JoinGroupWithLinkReturnFunction, + LocalChatSettings, + MessageInfo, + NewsletterMessage, + NewsletterMetadata, + PrivacySettings, + ProfilePictureInfo, + ReqCreateGroup, + ReturnFunctionWithError, + SendMessageReturnFunction, + SendRequestExtra, + SendResponse, + SetGroupPhotoReturnFunction, + StatusPrivacy, + UploadResponse, + UploadReturnFunction, +) +from ..proto.waCommon.WACommon_pb2 import MessageKey +from ..proto.waCompanionReg.WAWebProtobufsCompanionReg_pb2 import DeviceProps +from ..proto.waConsumerApplication.WAConsumerApplication_pb2 import ConsumerApplication +from ..proto.waE2E.WAWebProtobufsE2E_pb2 import ( + AlbumMessage, + AudioMessage, + ContactMessage, + ContextInfo, + DocumentMessage, + ExtendedTextMessage, + GroupMention, + ImageMessage, + Message, + MessageAssociation, + PollVoteMessage, + StickerMessage, + StickerPackMessage, + VideoMessage, +) +from ..proto.waMsgApplication.WAMsgApplication_pb2 import MessageApplication +from ..types import MessageServerID, MessageWithContextInfo +from ..utils import add_exif, gen_vcard, get_message_type, validate_link +from ..utils.calc import AspectRatioMethod, auto_sticker, original_sticker +from ..utils.enum import ( + BlocklistAction, + ChatPresence, + ChatPresenceMedia, + ClientName, + ClientType, + LogLevel, + MediaType, + MediaTypeToMMS, + ParticipantChange, + Presence, + PrivacySetting, + PrivacySettingType, + ReceiptType, + VoteType, +) +from ..utils.ffmpeg import AFFmpeg +from ..utils.iofile import ( + get_bytes_from_name_or_url, + get_bytes_from_name_or_url_async, + prepare_zip_file_content, +) +from ..utils.jid import Jid2String, JIDToNonAD, build_jid, jid_is_lid +from ..utils.log import log, log_whatsmeow +from ..utils.sticker import aio_convert_to_sticker, aio_convert_to_webp +from .events import Event, EventsManager, event_global_loop +from .preview.compose import link_preview + +_log_ = logging.getLogger(__name__) +loop = get_event_loop() + +SyncFunctionParams = ParamSpec("SyncFunctionParams") +ReturnType = TypeVar("ReturnType") + + +class GoCode: + @staticmethod + def execute_sync_function( + func: Callable[SyncFunctionParams, ReturnType], + ) -> Callable[SyncFunctionParams, Awaitable[ReturnType]]: + def call( + *args: SyncFunctionParams.args, **kwargs: SyncFunctionParams.kwargs + ) -> Awaitable[ReturnType]: + return asyncio.to_thread(func, *args, **kwargs) + + return call + + def __getattr__(self, name: str, /) -> Any: + def call(*args, **kwargs): + return asyncio.to_thread(getattr(gocode, name), *args, **kwargs) + + return call + + +async_gocode = GoCode() + + +class ContactStore: + def __init__(self, uuid: bytes) -> None: + self.uuid = uuid + self.__client = async_gocode + + async def put_pushname( + self, user: JID, pushname: str + ) -> ContactsPutPushNameReturnFunction: + """ + Updates the pushname of a specific user. + + :param user: The JID (Jabber ID) of the user whose pushname needs to be updated. + :type user: JID + :param pushname: The new pushname for the user. + :type pushname: str + :raises ContactStoreError: If there is any error updating the pushname. + :return: The updated contact model after the pushname has been updated. + :rtype: ContactsPutPushNameReturnFunction + """ + user_bytes = user.SerializeToString() + bytes_ptr = await self.__client.PutPushName( + user_bytes, len(user_bytes), pushname.encode() + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = ContactsPutPushNameReturnFunction.FromString(protobytes) + if model.Error: + raise ContactStoreError(model.Error) + return model + + async def put_contact_name(self, user: JID, fullname: str, firstname: str): + """ + This method is used to update the contact name in the contact store. It takes the user's JID, + full name and first name as input parameters, + then calls the PutContactName method of the client with the user's JID, full name and first name. + If there is an error, it returns a ContactStoreError with the error message. + + :param user: The JID of the user whose contact name is to be updated + :type user: JID + :param fullname: The full name of the user + :type fullname: str + :param firstname: The first name of the user + :type firstname: str + :return: If there is an error, return a ContactStoreError with the error message, else None + :rtype: ContactStoreError or None + """ + user_bytes = user.SerializeToString() + err = ( + await self.__client.PutContactName( + self.uuid, + user_bytes, + len(user_bytes), + fullname.encode(), + firstname.encode(), + ) + ).decode() + if err: + return ContactStoreError(err) + + async def put_all_contact_name(self, contact_entry: List[ContactEntry]): + """ + This method serializes a list of ContactEntry objects and sends them to a + remote service using the client's PutAllContactNames method. If the service + returns an error, it raises a ContactStoreError with the error message. + + :param contact_entry: List of ContactEntry objects to be serialized and sent + :type contact_entry: List[ContactEntry] + :raises ContactStoreError: If the remote service returns an error message + """ + entry = ContactEntryArray(ContactEntry=contact_entry).SerializeToString() + err = ( + await self.__client.PutAllContactNames(self.uuid, entry, len(entry)) + ).decode() + if err: + raise ContactStoreError(err) + + async def get_contact(self, user: JID) -> ContactInfo: + """ + This method retrieves a user's contact information based on their JID (Jabber Identifier). + + :param user: The Jabber Identifier of the user whose contact information is to be retrieved. + :type user: JID + :raises ContactStoreError: If there is an error while retrieving the contact information. + :return: The contact information of the user. + :rtype: ContactInfo + """ + jid = user.SerializeToString() + bytes_ptr = await self.__client.GetContact(self.uuid, jid, len(jid)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = ContactsGetContactReturnFunction.FromString(protobytes) + if model.Error: + raise ContactStoreError(model.Error) + return model.ContactInfo + + async def get_all_contacts(self) -> RepeatedCompositeFieldContainer[Contact]: + """ + This function retrieves all contacts from the client. It deserializes the response + from the client, checks for any errors, and if there are no errors, returns the contacts. + + :raises ContactStoreError: If there is an error in the response from the client. + :return: A list of all contacts. + :rtype: RepeatedCompositeFieldContainer[Contact] + """ + bytes_ptr = await self.__client.GetAllContacts(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = ContactsGetAllContactsReturnFunction.FromString(protobytes) + if model.Error: + raise ContactStoreError(model.Error) + return model.Contact + + +class ChatSettingsStore: + def __init__(self, uuid: bytes) -> None: + """ + Initialize the ChatSettingsStore with a unique identifier. + + :param uuid: Unique identifier for the chat settings store. + :type uuid: bytes + """ + self.uuid = uuid + self.__client = async_gocode + + async def put_muted_until(self, user: JID, until: timedelta): + """ + Mute a user until a specified time. + + :param user: The user to be muted. + :type user: JID + :param until: The duration until when the user will be muted. + :type until: timedelta + :raises PutMutedUntilError: If there is an error while muting the user. + """ + user_buf = user.SerializeToString() + return_ = await self.__client.PutMutedUntil( + self.uuid, user_buf, len(user_buf), until.total_seconds() + ) + if return_: + raise PutMutedUntilError(return_.decode()) + + async def put_pinned(self, user: JID, pinned: bool): + """ + Pin or unpin a user. + + :param user: The user to be pinned or unpinned. + :type user: JID + :param pinned: True if the user should be pinned, False otherwise. + :type pinned: bool + :raises PutPinnedError: If there is an error while pinning the user. + """ + user_buf = user.SerializeToString() + return_ = await self.__client.PutPinned( + self.uuid, user_buf, len(user_buf), pinned + ) + if return_: + raise PutPinnedError(return_.decode()) + + async def put_archived(self, user: JID, archived: bool): + """ + Archive or unarchive a user. + + :param user: The user to be archived or unarchived. + :type user: JID + :param archived: True if the user should be archived, False otherwise. + :type archived: bool + :raises PutArchivedError: If there is an error while archiving the user. + """ + user_buf = user.SerializeToString() + return_ = await self.__client.PutArchived( + self.uuid, user_buf, len(user_buf), archived + ) + if return_: + raise PutArchivedError(return_.decode()) + + async def get_chat_settings(self, user: JID) -> LocalChatSettings: + """ + Retrieve the chat settings for a user. + + :param user: The user whose chat settings are to be retrieved. + :type user: JID + :raises GetChatSettingsError: If there is an error while retrieving the chat settings. + :return: The chat settings for the specified user. + :rtype: LocalChatSettings + """ + user_buf = user.SerializeToString() + bytes_ptr = await self.__client.GetChatSettings( + self.uuid, user_buf, len(user_buf) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + return_ = ReturnFunctionWithError.FromString(protobytes) + if return_.Error: + raise GetChatSettingsError(return_.Error) + return return_.LocalChatSettings + + +class NewAClient: + def __init__( + self, + name: str, + jid: Optional[JID] = None, + props: Optional[DeviceProps] = None, + uuid: Optional[str] = None, + ): + """Initializes a new client instance. + + :param name: The name or identifier for the new client. + :type name: str + :param jid: Optional. The JID (Jabber Identifier) for the client. If not provided, first client is used. + :param qrCallback: Optional. A callback function for handling QR code updates, defaults to None. + :type qrCallback: Optional[Callable[[NewClient, bytes], None]], optional + :param messageCallback: Optional. A callback function for handling incoming messages, defaults to None. + :type messageCallback: Optional[Callable[[NewClient, MessageSource, Message], None]], optional + :param uuid: Optional. A unique identifier for the client, defaults to None. + :type uuid: Optional[str], optional + """ + self.name = name + self.device_props = props + self.jid = jid + self.uuid = ( + jid.User if jid else (uuid or name) + ).encode() # ((jid.User if jid else None) or uuid or name).encode() + self.__client = async_gocode + self.event = Event(self) + self.paircode = self.event.paircode + self.qr = self.event.qr + self.contact = ContactStore(self.uuid) + self.chat_settings = ChatSettingsStore(self.uuid) + self.connect_task = None + self.connected = False + self.loop = event_global_loop + self.me = None + _log_.debug("πŸ”¨ Creating a NewClient instance") + + def __onLoginStatus(self, uuid: int, status: int): + pass + + def __onQr(self, uuid: int, qr_protoaddr: int): + """ + This method triggers an event when a QR code is detected. + + :param qr_protoaddr: The address of the QR code in memory. + :type qr_protoaddr: int + """ + asyncio.run_coroutine_threadsafe( + self.event._qr(self, ctypes.string_at(qr_protoaddr)), event_global_loop + ) + + def _parse_mention( + self, text: Optional[str] = None, are_lids: bool = False + ) -> list[str]: + """ + This function parses a given text and returns a list of 'mentions' in the format of 'mention@s.whatsapp.net'. + A 'mention' is defined as a sequence of numbers (5 to 16 digits long) that is prefixed by '@' in the text. + + :param text: The text to be parsed for mentions, defaults to None + :type text: Optional[str], optional + :param are_lids: whether the mentions are lids, defaults to False + :type are_lids: bool, optional + :return: A list of mentions in the format of 'mention@s.whatsapp.net' + :rtype: list[str] + """ + if text is None: + return [] + # Definitely need a better method + # WIP + server = "@s.whatsapp.net" if not are_lids else "@lid" + return [jid.group(1) + server for jid in re.finditer(r"@([0-9]{5,16}|0)", text)] + + async def _parse_group_mention( + self, text: Optional[str] = None + ) -> list[GroupMention]: + """ + This function parses a given text and returns a list of 'mentions' in the format of 'GroupMention(…' + A 'mention' is defined as a sequence of numbers (11 to 26 digits long) (might also include an hypen) that is prefixed by '@' and suffixed byg.us in the text. + + :param text: The text to be parsed for mentions, defaults to None + :type text: Optional[str], optional + :return: A list of mentions in the format of 'GroupMention(groupJID="group_id@g.us", groupSubject="group_name")' + :rtype: list[GroupMention] + """ + if text is None: + return [] + + gc_mentions = [] + for jid in re.finditer(r"@([0-9-]{11,26}|0)@g\.us", text): + try: + group = await self.get_group_info(build_jid(jid.group(1), "g.us")) + except GetGroupInfoError: + continue + except Exception: + _log_.error(traceback.format_exc()) + continue + gc_mentions.append( + GroupMention( + groupJID=Jid2String(group.JID), groupSubject=group.GroupName.Name + ) + ) + + return gc_mentions + + async def _generate_link_preview(self, text: str) -> ExtendedTextMessage | None: + youtube_url_pattern = re.compile( + r"(?:https?:)?//(?:www\.)?(?:youtube\.com/(?:[^/\n\s]+" + r"/\S+/|(?:v|e(?:mbed)?)/|\S*?[?&]v=)|youtu\.be/)([a-zA-Z0-9_-]{11})", + re.IGNORECASE, + ) + links = re.findall(r"https?://\S+", text) + valid_links = list(filter(validate_link, links)) + if valid_links: + preview = await link_preview(valid_links[0]) + if preview is False: + return None + if not preview: + try: + preview = fallback_link_preview(valid_links[0]) + except (HTTPError, MaximumContentSizeError): + _log_.debug( + f"Getting link preview failed for link: {valid_links[0]}" + ) + return None + preview_type = ( + ExtendedTextMessage.PreviewType.VIDEO + if re.match(youtube_url_pattern, valid_links[0]) + else ExtendedTextMessage.PreviewType.NONE + ) + msg = ExtendedTextMessage( + title=str(preview.title), + description=str(preview.description), + matchedText=valid_links[0], + previewType=preview_type, + ) + if preview.absolute_image: + thumbnail = await get_bytes_from_name_or_url_async( + str(preview.absolute_image) + ) + mimetype = magic.from_buffer(thumbnail, mime=True) + if "jpeg" in mimetype or "png" in mimetype: + image = Image.open(BytesIO(thumbnail)) + upload = await self.upload(thumbnail, MediaType.MediaLinkThumbnail) + msg.MergeFrom( + ExtendedTextMessage( + JPEGThumbnail=thumbnail, + thumbnailDirectPath=upload.DirectPath, + thumbnailSHA256=upload.FileSHA256, + thumbnailEncSHA256=upload.FileEncSHA256, + mediaKey=upload.MediaKey, + mediaKeyTimestamp=int(time.time()), + thumbnailWidth=image.size[0], + thumbnailHeight=image.size[1], + ) + ) + return msg + return None + + def _make_quoted_message( + self, message: neonize_proto.Message, reply_privately: bool = False + ) -> ContextInfo: + if not isinstance((msg := get_message_type(message.Message)), str): + try: + msg.contextInfo.Clear() + except Exception: + _log_.warning( + "@_make_quoted_message; Couldn't clear the contextInfo of:" + ) + _log_.warning(msg) + sender = message.Info.MessageSource.Sender + if jid_is_lid(sender): + senderalt = message.Info.MessageSource.SenderAlt + sender = senderalt if senderalt.ListFields() else sender + return ContextInfo( + stanzaID=message.Info.ID, + participant=Jid2String(JIDToNonAD(sender)), + quotedMessage=message.Message, + remoteJID=( + Jid2String(JIDToNonAD(message.Info.MessageSource.Chat)) + if reply_privately + else None + ), + ) + + async def send_message( + self, + to: JID, + message: typing.Union[Message, str], + link_preview: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """Send a message to the specified JID. + + :param to: The JID to send the message to. + :type to: JID + :param message: The message to send. + :type message: typing.Union[Message, str] + :param link_preview: Whether to send a link preview, defaults to False + :type link_preview: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :param add_msg_secret: Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :raises SendMessageError: If there was an error sending the message. + :return: The response from the server. + :rtype: SendResponse + """ + to_bytes = to.SerializeToString() + if isinstance(message, str): + mentioned_groups = await self._parse_group_mention(message) + mentioned_jid = self._parse_mention( + (ghost_mentions or message), mentions_are_lids + ) + partial_msg = ExtendedTextMessage( + text=message, + contextInfo=ContextInfo( + mentionedJID=mentioned_jid, groupMentions=mentioned_groups + ), + ) + if link_preview: + preview = await self._generate_link_preview(message) + if preview: + partial_msg.MergeFrom(preview) + if partial_msg.previewType is None and not ( + mentioned_groups or mentioned_jid + ): + msg = Message(conversation=message) + else: + msg = Message(extendedTextMessage=partial_msg) + else: + msg = message + if add_msg_secret: + # optionally patch message with messageSecret to allow reactions and replies to messages sent to community announcements + # see: + # https://github.com/tulir/whatsmeow/issues/509#issuecomment-1842732773 + msg.messageContextInfo.messageSecret = urandom(32) + message_bytes = msg.SerializeToString() + bytes_ptr = await self.__client.SendMessage( + self.uuid, to_bytes, len(to_bytes), message_bytes, len(message_bytes) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = SendMessageReturnFunction.FromString(protobytes) + if model.Error: + raise SendMessageError(model.Error) + model.SendResponse.MergeFrom(model.SendResponse.__class__(Message=msg)) + return model.SendResponse + + async def build_reply_message( + self, + message: typing.Union[str, MessageWithContextInfo], + quoted: neonize_proto.Message, + link_preview: bool = False, + reply_privately: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + ) -> Message: + """Send a reply message to a specified JID. + + :param message: The message to be sent. Can be a string or a MessageWithContextInfo object. + :type message: typing.Union[str, MessageWithContextInfo] + :param quoted: The message to be quoted in the message being sent. + :type quoted: neonize_proto.Message + :param link_preview: If set to True, enables link previews in the message being sent. Defaults to False. + :type link_preview: bool, optional + :param reply_privately: If set to True, the message is sent as a private reply. Defaults to False. + :type reply_privately: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :return: Response of the send operation. + :rtype: SendResponse + """ + build_message = Message() + if isinstance(message, str): + partial_message = ExtendedTextMessage( + text=message, + contextInfo=ContextInfo( + mentionedJID=self._parse_mention( + (ghost_mentions or message), mentions_are_lids + ), + groupMentions=(await self._parse_group_mention(message)), + ), + ) + if link_preview: + preview = await self._generate_link_preview(message) + if preview is not None: + partial_message.MergeFrom(preview) + else: + partial_message = message + field_name = ( + partial_message.__class__.__name__[0].lower() + + partial_message.__class__.__name__[1:] + ) # type: ignore + partial_message.contextInfo.MergeFrom( + self._make_quoted_message(quoted, reply_privately) + ) + getattr(build_message, field_name).MergeFrom(partial_message) + return build_message + + async def reply_message( + self, + message: typing.Union[str, MessageWithContextInfo], + quoted: neonize_proto.Message, + to: Optional[JID] = None, + link_preview: bool = False, + reply_privately: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """Send a reply message to a specified JID. + + :param message: The message to be sent. Can be a string or a MessageWithContextInfo object. + :type message: typing.Union[str, MessageWithContextInfo] + :param quoted: The message to be quoted in the message being sent. + :type quoted: neonize_proto.Message + :param to: The recipient of the message. If not specified, the message is sent to the default recipient. + :type to: Optional[JID], optional + :param link_preview: If set to True, enables link previews in the message being sent. Defaults to False. + :type link_preview: bool, optional + :param reply_privately: If set to True, the message is sent as a private reply. Defaults to False. + :type reply_privately: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :param add_msg_secret: If set to True generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: Response of the send operation. + :rtype: SendResponse + """ + if to is None: + if reply_privately: + sender = quoted.Info.MessageSource.Sender + if jid_is_lid(sender): + sender = quoted.Info.MessageSource.SenderAlt or sender + to = JIDToNonAD(sender) + else: + to = quoted.Info.MessageSource.Chat + return await self.send_message( + to, + await self.build_reply_message( + message=message, + quoted=quoted, + link_preview=link_preview, + reply_privately=reply_privately, + ghost_mentions=ghost_mentions, + mentions_are_lids=mentions_are_lids, + ), + link_preview, + add_msg_secret=add_msg_secret, + ) + + async def edit_message( + self, chat: JID, message_id: str, new_message: Message + ) -> SendResponse: + """Edit a message. + + :param chat: Chat ID + :type chat: JID + :param message_id: Message ID + :type message_id: str + :param new_message: New message + :type new_message: Message + :return: Response from server + :rtype: SendResponse + """ + return await self.send_message(chat, build_edit(chat, message_id, new_message)) + + async def revoke_message( + self, chat: JID, sender: JID, message_id: str + ) -> SendResponse: + """Revoke a message. + + :param chat: Chat ID + :type chat: JID + :param sender: Sender ID + :type sender: JID + :param message_id: Message ID + :type message_id: str + :return: Response from server + :rtype: SendResponse + """ + return await self.send_message( + chat, await self.build_revoke(chat, sender, message_id) + ) + + async def build_poll_vote_creation( + self, + name: str, + options: List[str], + selectable_count: VoteType, + quoted: Optional[neonize_proto.Message] = None, + ) -> Message: + """Build a poll vote creation message. + + :param name: The name of the poll. + :type name: str + :param options: The options for the poll. + :type options: List[str] + :param selectable_count: The number of selectable options. + :type selectable_count: int + :param quoted: A message that the poll message is a reply to, defaults to None + :type quoted: Optional[neonize_proto.Message], optional + :return: The poll vote creation message. + :rtype: Message + """ + options_buf = neonize_proto.ArrayString(data=options).SerializeToString() + bytes_ptr = await self.__client.BuildPollVoteCreation( + self.uuid, + name.encode(), + options_buf, + len(options_buf), + selectable_count.value, + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = BuildMessageReturnFunction.FromString(protobytes) + if model.Error: + # To be replaced with a custom exception + raise BuildPollVoteCreationError(model.Error) + message = model.Message + # result = Message.FromString(protobytes) + if quoted: + message.pollCreationMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + async def build_poll_vote( + self, poll_info: MessageInfo, option_names: List[str] + ) -> Message: + """Builds a poll vote. + + :param poll_info: The information about the poll. + :type poll_info: MessageInfo + :param option_names: The names of the options to vote for. + :type option_names: List[str] + :return: The poll vote message. + :rtype: Message + :raises BuildPollVoteError: If there is an error building the poll vote. + """ + option_names_proto = neonize_proto.ArrayString( + data=option_names + ).SerializeToString() + poll_info_proto = poll_info.SerializeToString() + bytes_ptr = await self.__client.BuildPollVote( + self.uuid, + poll_info_proto, + len(poll_info_proto), + option_names_proto, + len(option_names_proto), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.BuildPollVoteReturnFunction.FromString(protobytes) + if model.Error: + raise BuildPollVoteError(model.Error) + return model.PollVote + + async def build_reaction( + self, chat: JID, sender: JID, message_id: str, reaction: str + ) -> Message: + """ + This function builds a reaction message in a chat. It takes the chat and sender IDs, + the message ID to which the reaction is being made, and the reaction itself as input. + It then serializes the chat and sender IDs to strings, and calls the BuildReaction + function of the client with these serialized IDs, the message ID, and the reaction. + It finally returns the reaction message. + + :param chat: The ID of the chat in which the reaction is being made + :type chat: JID + :param sender: The ID of the sender making the reaction + :type sender: JID + :param message_id: The ID of the message to which the reaction is being made + :type message_id: str + :param reaction: The reaction being made + :type reaction: str + :return: The reaction message + :rtype: Message + """ + sender_proto = sender.SerializeToString() + chat_proto = chat.SerializeToString() + bytes_ptr = await self.__client.BuildReaction( + self.uuid, + chat_proto, + len(chat_proto), + sender_proto, + len(sender_proto), + message_id.encode(), + reaction.encode(), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + result = BuildMessageReturnFunction.FromString(protobytes) + if result.Error: + raise SendMessageError(result.Error) + return result.Message + + async def build_revoke(self, chat: JID, sender: JID, message_id: str) -> Message: + """Builds a message to revoke a previous message. + + :param chat: The JID (Jabber Identifier) of the chat where the message should be revoked. + :type chat: JID + :param sender: The JID of the sender of the message to be revoked. + :type sender: JID + :param message_id: The unique identifier of the message to be revoked. + :type message_id: str + :return: The constructed Message object for revoking the specified message. + :rtype: Message + """ + return build_revoke(chat, sender, message_id, (await self.get_me()).JID) + + async def build_sticker_message( + self, + file: typing.Union[str, bytes], + quoted: Optional[neonize_proto.Message] = None, + name: str = "", + packname: str = "", + crop: bool = False, + enforce_not_broken: bool = False, + animated_gif: bool = False, + passthrough: bool = False, + ) -> Message: + """ + This function builds a sticker message from a given image or video file. + The file is converted to a webp format and uploaded to a server. + The resulting URL and other metadata are used to construct the sticker message. + + :param file: The path to the image or video file or the file data in bytes + :type file: typing.Union[str, bytes] + :param quoted: A message that the sticker message is a reply to, defaults to None + :type quoted: Optional[neonize_proto.Message], optional + :param name: The name of the sticker, defaults to "" + :type name: str, optional + :param packname: The name of the sticker pack, defaults to "" + :type packname: str, optional + :param crop: Crop-center the image, defaults to False + :type crop: bool, optional + :param enforce_not_broken: Enforce non-broken stickers by constraining sticker size to WA limits, defaults to False + :type enforce_not_broken: bool, optional + :param animated_gif: Ensure transparent media are properly processed, defaults to False + :type animated_gif: bool, optional + :param passthrough: Don't process sticker, send as is, defaults to False. + :type passthrough: bool, optional + :return: The constructed sticker message + :rtype: Message + """ + sticker = await get_bytes_from_name_or_url_async(file) + animated = is_webm = is_webp = is_image = saved_exif = False + mime = magic.from_buffer(sticker, mime=True) + if mime == "image/webp": + is_webp = True + io_save = BytesIO(sticker) + img = Image.open(io_save) + if len(ImageSequence.all_frames(img)) < 2: + is_image = True + elif mime == "video/webm": + is_webm = True + elif (mime := mime.split("/"))[0] == "image": + is_image = True + animated = not (is_image) + if not passthrough and not animated_gif and is_image: + io_save = BytesIO(sticker) + stk = auto_sticker(io_save) if crop else original_sticker(io_save) + io_save = BytesIO() + # io_save.seek(0) + elif not passthrough: + animated = True + sticker, saved_exif = await aio_convert_to_sticker( + sticker, name, packname, enforce_not_broken, animated_gif, is_webm + ) + if saved_exif: + io_save = BytesIO(sticker) + else: + stk = Image.open(BytesIO(sticker)) + io_save = BytesIO() + else: + if not is_webp: + raise ConvertStickerError( + "File is not a webp, which is required for passthrough." + ) + if not (passthrough or saved_exif): + stk.save( + io_save, + format="webp", + exif=add_exif(name, packname), + save_all=True, + loop=0, + ) + upload = await self.upload(io_save.getvalue()) + message = Message( + stickerMessage=StickerMessage( + URL=upload.url, + directPath=upload.DirectPath, + fileEncSHA256=upload.FileEncSHA256, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + mediaKey=upload.MediaKey, + mimetype=magic.from_buffer(io_save.getvalue(), mime=True), + isAnimated=animated, + ) + ) + if quoted: + message.stickerMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + async def send_sticker( + self, + to: JID, + file: typing.Union[str, bytes], + quoted: Optional[neonize_proto.Message] = None, + name: str = "", + packname: str = "", + crop: bool = False, + enforce_not_broken: bool = False, + animated_gif: bool = False, + passthrough: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """ + Send a sticker to a specific JID. + + :param to: The JID to send the sticker to. + :type to: JID + :param file: The file path of the sticker or the sticker data in bytes. + :type file: typing.Union[str, bytes] + :param quoted: The quoted message, if any, defaults to None. + :type quoted: Optional[neonize_proto.Message], optional + :param name: The name of the sticker, defaults to "". + :type name: str, optional + :param packname: The name of the sticker pack, defaults to "". + :type packname: str, optional + :param crop: Whether to crop-center the image, defaults to False + :type crop: bool, optional + :param enforce_not_broken: Whether to enforce non-broken stickers by constraining sticker size to WA limits, defaults to False + :type enforce_not_broken: bool, optional + :param animated_gif: Ensure transparent media are properly processed, defaults to False + :type animated_gif: bool, optional + :param passthrough: Don't process sticker, send as is, defaults to False. + :type passthrough: bool, optional + :param add_msg_secret: Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: The response from the send message function. + :rtype: SendResponse + """ + return await self.send_message( + to, + await self.build_sticker_message( + file, + quoted, + name, + packname, + crop, + enforce_not_broken, + animated_gif, + passthrough, + ), + add_msg_secret=add_msg_secret, + ) + + async def _process_single_pack( + self, + stickers: List[List[bytes, bool]], + pack_name: str, + publisher: str = "", + quoted: Optional[neonize_proto.Message] = None, + ) -> Message: + """ + Helper function to process a single sticker pack chunk + + """ + zip_dict = {} + # Upload all stickers concurrently + funcs = [ + self._upload_sticker(sticker, animated, zip_dict) + for sticker, animated in stickers + ] + sticker_metadata = await asyncio.gather(*funcs) + + # Generate unique pack ID + sticker_id = f"{uuid4()}" + + tray_icon = f"{sticker_id}.png" + io_save = BytesIO() + img = Image.open(BytesIO(stickers[0][0])) + img = img.resize((252, 252)) + img.save( + io_save, + format="png", + save_all=False, + loop=0, + ) + cover = io_save.getvalue() + zip_dict.update({tray_icon: cover}) + file_size = 0 + for f in zip_dict.values(): + file_size += len(f) + + # Create zip archive + sticker_pack = prepare_zip_file_content(zip_dict) + thumbnail = await self.upload(cover) + img_hash = ( + base64.b64encode(thumbnail.FileSHA256).decode("utf-8").replace("/", "-") + ) + upload = await self.upload(sticker_pack, MediaType.MediaStickerPack) + + message = Message( + stickerPackMessage=StickerPackMessage( + stickerPackID=sticker_id, + name=pack_name, + publisher=publisher, + stickers=sticker_metadata, + # fileLength=upload.FileLength, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + fileEncSHA256=upload.FileEncSHA256, + mediaKey=upload.MediaKey, + directPath=upload.DirectPath, + mediaKeyTimestamp=int(time.time()), + trayIconFileName=tray_icon, + thumbnailDirectPath=thumbnail.DirectPath, + thumbnailSHA256=thumbnail.FileSHA256, + thumbnailEncSHA256=thumbnail.FileEncSHA256, + thumbnailHeight=252, + thumbnailWidth=252, + imageDataHash=img_hash, + stickerPackSize=file_size, + # stickerPackOrigin=StickerPackMessage.StickerPackOrigin.USER_CREATED, + stickerPackOrigin=StickerPackMessage.StickerPackOrigin.THIRD_PARTY, + ) + ) + if quoted: + message.stickerPackMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + async def _upload_sticker( + self, sticker: bytes, animated: bool, zip_dict: dict + ) -> StickerPackMessage.Sticker: + upload = await self.upload(sticker) + b64 = base64.b64encode(upload.FileSHA256) + file_name = b64.decode("ascii").replace("/", "-") + ".webp" + # b64 = base64.urlsafe_b64encode(upload.FileSHA256) + # file_name = b64.decode("ascii") + ".webp" + zip_dict.update({file_name: sticker}) + mimetype = magic.from_buffer(sticker, mime=True) + return StickerPackMessage.Sticker( + fileName=file_name, + isAnimated=animated, + accessibilityLabel="", + isLottie=False, + mimetype=mimetype, + ) + + async def build_stickerpack_message( + self, + files: list, + quoted: Optional[neonize_proto.Message] = None, + packname: str = "Sticker pack", + publisher: str = "", + crop: bool = False, + animated_gif: bool = False, + passthrough: bool = False, + ) -> List[Message]: + funcs = [ + aio_convert_to_webp( + file, packname, publisher, crop, passthrough, animated_gif + ) + for file in files + ] + + def ensure_non_broken_packs(stickers): + return [sticker for sticker in stickers if len(sticker[0]) < 1000000] + + stickers = await asyncio.gather(*funcs) + stickers = ensure_non_broken_packs( + stickers + ) # prevents broken packs by removing invalid stickers + CHUNK_SIZE = 60 + chunks = [ + stickers[i : i + CHUNK_SIZE] for i in range(0, len(stickers), CHUNK_SIZE) + ] + tasks = [] + total = len(chunks) + for idx, chunk in enumerate(chunks): + pack_suffix = f" ({idx + 1})" if total > 1 else "" + task = self._process_single_pack( + stickers=chunk, + pack_name=packname + pack_suffix, + publisher=publisher, + quoted=quoted, + ) + tasks.append(task) + + return await asyncio.gather(*tasks) + + async def send_stickerpack( + self, + to: JID, + files: list, + quoted: Optional[neonize_proto.Message] = None, + packname: str = "Sticker pack", + publisher: str = "", + crop: bool = False, + animated_gif: bool = False, + passthrough: bool = False, + add_msg_secret: bool = False, + ) -> List[SendResponse]: + """ + Send a sticker pack to a specific JID. + + :param to: The JID to send the sticker to. + :type to: JID + :param files: A list of file paths of the stickers or a list of stickers data in bytes. + :type file: List[typing.Union[str, bytes]] + :param quoted: The quoted message, if any, defaults to None. + :type quoted: Optional[neonize_proto.Message], optional + :param packname: The name of the sticker pack, defaults to "Sticker pack". + :type packname: str, optional + :param publisher: The name of the publisher, defaults to "". + :type publisher: str, optional + :param crop: Whether to crop-center the image, defaults to False + :type crop: bool, optional + :param add_msg_secret: Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A list of response(s) from the send message function. + :rtype: List[SendResponse] + """ + responses = [] + msgs = await self.build_stickerpack_message( + files, quoted, packname, publisher, crop, animated_gif, passthrough + ) + for msg in msgs: + response = await self.send_message( + to, + msg, + add_msg_secret=add_msg_secret, + ) + responses.append(response) + return responses + + async def build_video_message( + self, + file: str | bytes, + caption: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + viewonce: bool = False, + gifplayback: bool = False, + is_gif: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + ) -> Message: + """ + This function is used to build a video message. It uploads a video file, extracts necessary information, + and constructs a message with the given parameters. + + :param file: The file path or bytes of the video file to be uploaded. + :type file: str | bytes + :param caption: The caption to be added to the video message, defaults to None + :type caption: Optional[str], optional + :param quoted: A message that the video message is in response to, defaults to None + :type quoted: Optional[neonize_proto.Message], optional + :param viewonce: A flag indicating if the video message can be viewed only once, defaults to False + :type viewonce: bool, optional + :param gifplayback: Optional. Whether the video should be sent as gif. Defaults to False. + :type gifplayback: bool, optional + :param is_gif: Optional. Whether the video to be sent is a gif. Defaults to False. + :type is_gif: bool, optional + :return: A video message with the given parameters. + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :rtype: Message + """ + io = BytesIO(await get_bytes_from_name_or_url_async(file)) + io.seek(0) + buff = io.read() + if is_gif: + async with AFFmpeg(file) as ffmpeg: + buff = file = await ffmpeg.gif_to_mp4() + async with AFFmpeg(file) as ffmpeg: + duration = int((await ffmpeg.extract_info()).format.duration) + thumbnail = await ffmpeg.extract_thumbnail() + upload = await self.upload(buff) + message = Message( + videoMessage=VideoMessage( + URL=upload.url, + caption=caption, + gifPlayback=gifplayback, + seconds=duration, + directPath=upload.DirectPath, + fileEncSHA256=upload.FileEncSHA256, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + mediaKey=upload.MediaKey, + mimetype=magic.from_buffer(buff, mime=True), + JPEGThumbnail=thumbnail, + thumbnailDirectPath=upload.DirectPath, + thumbnailEncSHA256=upload.FileEncSHA256, + thumbnailSHA256=upload.FileSHA256, + viewOnce=viewonce, + contextInfo=ContextInfo( + mentionedJID=self._parse_mention( + (ghost_mentions or caption), mentions_are_lids + ), + groupMentions=(await self._parse_group_mention(caption)), + ), + ) + ) + if quoted: + message.videoMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + async def send_video( + self, + to: JID, + file: str | bytes, + caption: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + viewonce: bool = False, + gifplayback: bool = False, + is_gif: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """Sends a video to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param file: Either a file path (str), url (str) or binary data (bytes) representing the video. + :type file: typing.Union[str | bytes] + :param caption: Optional. The caption of the video. Defaults to None. + :type caption: Optional[str], optional + :param quoted: Optional. The message to which the video is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :param viewonce: Optional. Whether the video should be viewonce. Defaults to False. + :type viewonce: bool, optional + :param gifplayback: Optional. Whether the video should be sent as gif. Defaults to False. + :type gifplayback: bool, optional + :param is_gif: Optional. Whether the video to be sent is a gif. Defaults to False. + :type is_gif: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param add_msg_secret: Optional. Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A function for handling the result of the video sending process. + :rtype: SendResponse + """ + return await self.send_message( + to, + await self.build_video_message( + file, + caption, + quoted, + viewonce, + gifplayback, + is_gif, + ghost_mentions, + mentions_are_lids, + ), + add_msg_secret=add_msg_secret, + ) + + async def build_image_message( + self, + file: str | bytes, + caption: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + viewonce: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + ) -> Message: + """ + This function builds an image message. It takes a file (either a string or bytes), + an optional caption, an optional quoted message, and a boolean indicating whether + the message should be viewed once. It then uploads the image, generates a thumbnail, + and constructs the message with the given parameters and the information from the + uploaded image. + + :param file: The image file to be uploaded and sent, either as a string URL or bytes. + :type file: str | bytes + :param caption: The caption for the image message, defaults to None. + :type caption: Optional[str], optional + :param quoted: The message to be quoted in the image message, defaults to None. + :type quoted: Optional[neonize_proto.Message], optional + :param viewonce: Whether the image message should be viewable only once, defaults to False. + :type viewonce: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :return: The constructed image message. + :rtype: Message + """ + n_file = await get_bytes_from_name_or_url_async(file) + img = Image.open(BytesIO(n_file)) + img.thumbnail(AspectRatioMethod(*img.size, res=200)) + thumbnail = BytesIO() + img_saveable = img if img.mode == "RGB" else img.convert("RGB") + img_saveable.save(thumbnail, format="jpeg") + upload = await self.upload(n_file) + message = Message( + imageMessage=ImageMessage( + URL=upload.url, + caption=caption, + directPath=upload.DirectPath, + fileEncSHA256=upload.FileEncSHA256, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + mediaKey=upload.MediaKey, + mimetype=magic.from_buffer(n_file, mime=True), + JPEGThumbnail=thumbnail.getvalue(), + thumbnailDirectPath=upload.DirectPath, + thumbnailEncSHA256=upload.FileEncSHA256, + thumbnailSHA256=upload.FileSHA256, + viewOnce=viewonce, + contextInfo=ContextInfo( + mentionedJID=self._parse_mention( + (ghost_mentions or caption), mentions_are_lids + ), + groupMentions=(await self._parse_group_mention(caption)), + ), + ) + ) + if quoted: + message.imageMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + async def send_image( + self, + to: JID, + file: str | bytes, + caption: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + viewonce: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """Sends an image to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param file: Either a file path (str), url (str) or binary data (bytes) representing the image. + :type file: typing.Union[str | bytes] + :param caption: Optional. The caption of the image. Defaults to None. + :type caption: Optional[str], optional + :param quoted: Optional. The message to which the image is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :param viewonce: Optional. Whether the image should be viewonce. Defaults to False. + :type viewonce: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param add_msg_secret: Optional. Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A function for handling the result of the image sending process. + :rtype: SendResponse + """ + return await self.send_message( + to, + await self.build_image_message( + file, + caption, + quoted, + viewonce=viewonce, + ghost_mentions=ghost_mentions, + mentions_are_lids=mentions_are_lids, + ), + add_msg_secret=add_msg_secret, + ) + + async def build_album_content( + self, + file: str | bytes, + media_type: str, + msg_association: MessageAssociation, + **kwargs, + ) -> Message: + build_message = ( + self.build_image_message + if media_type == "image" + else self.build_video_message + ) + msg = await build_message(file, **kwargs) + msg.messageContextInfo.MergeFrom( + msg.messageContextInfo.__class__(messageAssociation=msg_association) + ) + return msg + + async def send_album( + self, + to: JID, + files: list, + caption: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> List[SendResponse, List[SendResponse]]: + """Sends an album containing images, videos or both to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param files: A list containing either a file path (str), url (str) or binary data (bytes) representing the image/video. + :type file: List[typing.Union[str | bytes]] + :param caption: Optional. The caption of the first media in the album. Defaults to None. + :type caption: Optional[str], optional + :param quoted: Optional. The message to which the album is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param add_msg_secret: Optional. Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A function for handling the result of the album sending process. + :rtype: List[SendResponse, List[SendResponse]] + """ + image_count = video_count = 0 + medias = [] + for file in files: + file = await get_bytes_from_name_or_url_async(file) + mime = magic.from_buffer(file, mime=True) + media_type = mime.split("/")[0] + if media_type == "image": + image_count += 1 + elif media_type == "video": + video_count += 1 + else: + _log_.warning( + f"File with mime_type: {mime} was wrongly passed to send_album_message, ignoring…" + ) + continue + medias.append((file, media_type)) + if not (image_count or video_count): + raise SendMessageError("No media found to send!") + elif len(medias) < 2: + raise SendMessageError("No enough media to send an album") + message = Message( + albumMessage=AlbumMessage( + expectedImageCount=image_count, + expectedVideoCount=video_count, + contextInfo=ContextInfo( + mentionedJID=self._parse_mention( + (ghost_mentions or caption), mentions_are_lids + ), + groupMentions=(await self._parse_group_mention(caption)), + ), + ) + ) + if quoted: + message.albumMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + response = await self.send_message(to, message, add_msg_secret=add_msg_secret) + msg_association = MessageAssociation( + associationType=MessageAssociation.AssociationType.MEDIA_ALBUM, + parentMessageKey=MessageKey( + remoteJID=Jid2String(to), + fromMe=True, + ID=response.ID, + ), + ) + funcs = [ + self.build_album_content( + file, + media_type, + msg_association, + caption=caption, + quoted=quoted, + ghost_mentions=ghost_mentions, + mentions_are_lids=mentions_are_lids, + ) + for file, media_type in medias[:1] + ] + funcs.extend( + [ + self.build_album_content( + file, media_type, msg_association, quoted=quoted + ) + for file, media_type in medias[1:] + ] + ) + messages = await asyncio.gather(*funcs) + funcs = [ + self.send_message(to, message, add_msg_secret=add_msg_secret) + for message in messages + ] + responses = await asyncio.gather(*funcs) + return [response, responses] + + async def build_audio_message( + self, + file: str | bytes, + ptt: bool = False, + quoted: Optional[neonize_proto.Message] = None, + ) -> Message: + """ + This method builds an audio message from a given file or bytes. + + :param file: The audio file in string or bytes format to be converted into an audio message + :type file: str | bytes + :param ptt: A boolean indicating if the audio message is a 'push to talk' message, defaults to False + :type ptt: bool, optional + :param quoted: A message that the audio message may be replying to, defaults to None + :type quoted: Optional[neonize_proto.Message], optional + :return: The audio message built from the given parameters + :rtype: Message + """ + io = BytesIO(await get_bytes_from_name_or_url_async(file)) + io.seek(0) + buff = io.read() + upload = await self.upload(buff) + async with AFFmpeg(io.getvalue()) as ffmpeg: + duration = int((await ffmpeg.extract_info()).format.duration) + message = Message( + audioMessage=AudioMessage( + URL=upload.url, + seconds=duration, + directPath=upload.DirectPath, + fileEncSHA256=upload.FileEncSHA256, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + mediaKey=upload.MediaKey, + mimetype=magic.from_buffer(buff, mime=True), + PTT=ptt, + ) + ) + if quoted: + message.audioMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + async def send_audio( + self, + to: JID, + file: str | bytes, + ptt: bool = False, + quoted: Optional[neonize_proto.Message] = None, + add_msg_secret: bool = False, + ) -> SendResponse: + """Sends an audio to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param file: Either a file path (str), url (str) or binary data (bytes) representing the audio. + :type file: typing.Union[str | bytes] + :param ptt: Optional. Whether the audio should be ptt. Defaults to False. + :type ptt: bool, optional + :param quoted: Optional. The message to which the audio is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :param add_msg_secret: Optional. Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A function for handling the result of the audio sending process. + :rtype: SendResponse + """ + + return await self.send_message( + to, + await self.build_audio_message(file, ptt, quoted), + add_msg_secret=add_msg_secret, + ) + + async def build_document_message( + self, + file: str | bytes, + caption: Optional[str] = None, + title: Optional[str] = None, + filename: Optional[str] = None, + mimetype: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + ): + io = BytesIO(await get_bytes_from_name_or_url_async(file)) + io.seek(0) + buff = io.read() + upload = await self.upload(buff, MediaType.MediaDocument) + message = Message( + documentMessage=DocumentMessage( + URL=upload.url, + caption=caption, + directPath=upload.DirectPath, + fileEncSHA256=upload.FileEncSHA256, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + mediaKey=upload.MediaKey, + mimetype=mimetype or magic.from_buffer(buff, mime=True), + title=title, + fileName=filename, + contextInfo=ContextInfo( + mentionedJID=self._parse_mention( + (ghost_mentions or caption), mentions_are_lids + ), + groupMentions=(await self._parse_group_mention(caption)), + ), + ) + ) + if quoted: + message.documentMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + async def send_document( + self, + to: JID, + file: str | bytes, + caption: Optional[str] = None, + title: Optional[str] = None, + filename: Optional[str] = None, + mimetype: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """Sends a document to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param file: Either a file path (str), url (str) or binary data (bytes) representing the document. + :type file: typing.Union[str | bytes] + :param caption: Optional. The caption of the document. Defaults to None. + :type caption: Optional[str], optional + :param title: Optional. The title of the document. Defaults to None. + :type title: Optional[str], optional + :param filename: Optional. The filename of the document. Defaults to None. + :type filename: Optional[str], optional + :param quoted: Optional. The message to which the document is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param add_msg_secret: Optional. Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A function for handling the result of the document sending process. + :rtype: SendResponse + """ + return await self.send_message( + to, + await self.build_document_message( + file, + caption, + title, + filename, + mimetype, + quoted, + ghost_mentions, + mentions_are_lids, + ), + add_msg_secret=add_msg_secret, + ) + + async def send_contact( + self, + to: JID, + contact_name: str, + contact_number: str, + quoted: Optional[neonize_proto.Message] = None, + ) -> SendResponse: + """Sends a contact to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param contact_name: The name of the contact. + :type contact_name: str + :param contact_number: The number of the contact. + :type contact_number: str + :param quoted: Optional. The message to which the contact is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :return: A function for handling the result of the contact sending process. + :rtype: SendResponse + """ + message = Message( + contactMessage=ContactMessage( + displayName=contact_name, + vcard=gen_vcard(contact_name, contact_number), + ) + ) + if quoted: + message.contactMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return await self.send_message(to, message) + + async def upload( + self, binary: bytes, media_type: Optional[MediaType] = None + ) -> UploadResponse: + """Uploads media content. + + :param binary: The binary data to be uploaded. + :type binary: bytes + :param media_type: Optional. The media type of the binary data, defaults to None. + :type media_type: Optional[MediaType], optional + :raises UploadError: Raised if there is an issue with the upload. + :return: An UploadResponse containing information about the upload. + :rtype: UploadResponse + """ + if not media_type: + mime = MediaType.from_magic(binary) + else: + mime = media_type + bytes_ptr = await self.__client.Upload( + self.uuid, binary, len(binary), mime.value + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + upload_model = UploadReturnFunction.FromString(protobytes) + if upload_model.Error: + raise UploadError(upload_model.Error) + return upload_model.UploadResponse + + @overload + async def download_any(self, message: Message) -> bytes: ... + + @overload + async def download_any(self, message: Message, path: str) -> None: ... + + async def download_any( + self, message: Message, path: Optional[str] = None + ) -> typing.Union[None, bytes]: + """Downloads content from a message. + + :param message: The message containing the content to download. + :type message: Message + :param path: Optional. The local path to save the downloaded content, defaults to None. + :type path: Optional[str], optional + :raises DownloadException: Raised if there is an issue with the download. + :return: The downloaded content as bytes, or None if the content is not available. + :rtype: Union[None, bytes] + """ + msg_protobuf = message.SerializeToString() + bytes_ptr = await self.__client.DownloadAny( + self.uuid, msg_protobuf, len(msg_protobuf) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + media = DownloadReturnFunction.FromString(protobytes) + if media.Error: + raise DownloadError(media.Error) + if path: + with open(path, "wb") as file: + file.write(media.Binary) + else: + return media.Binary + return None + + async def download_media_with_path( + self, + direct_path: str, + enc_file_hash: bytes, + file_hash: bytes, + media_key: bytes, + file_length: int, + media_type: MediaType, + mms_type: MediaTypeToMMS, + ) -> bytes: + """ + Downloads media with the given parameters and path. The media is downloaded from the path specified. + + :param direct_path: The direct path to the media to be downloaded. + :type direct_path: str + :param enc_file_hash: The encrypted hash of the file. + :type enc_file_hash: bytes + :param file_hash: The hash of the file. + :type file_hash: bytes + :param media_key: The key of the media to be downloaded. + :type media_key: bytes + :param file_length: The length of the file to be downloaded. + :type file_length: int + :param media_type: The type of the media to be downloaded. + :type media_type: MediaType + :param mms_type: The type of the MMS to be downloaded. + :type mms_type: str + :raises DownloadError: If there is an error in the download process. + :return: The downloaded media in bytes. + :rtype: bytes + """ + bytes_ptr = await self.__client.DownloadMediaWithPath( + self.uuid, + direct_path.encode(), + enc_file_hash, + len(enc_file_hash), + file_hash, + len(file_hash), + media_key, + len(media_key), + file_length, + media_type.value, + mms_type.value.encode(), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.DownloadReturnFunction.FromString(protobytes) + if model.Error: + raise DownloadError(model.Error) + return model.Binary + + async def generate_message_id(self) -> str: + """Generates a unique identifier for a message. + + :return: A string representing the unique identifier for the message. + :rtype: str + """ + return (await self.__client.GenerateMessageID(self.uuid)).decode() + + async def send_chat_presence( + self, jid: JID, state: ChatPresence, media: ChatPresenceMedia + ) -> str: + """Sends chat presence information. + + :param jid: The JID (Jabber Identifier) of the chat. + :type jid: JID + :param state: The chat presence state. + :type state: ChatPresence + :param media: The chat presence media information. + :type media: ChatPresenceMedia + :return: A string indicating the result or status of the presence information sending. + :rtype: str + """ + jidbyte = jid.SerializeToString() + return ( + await self.__client.SendChatPresence( + self.uuid, jidbyte, len(jidbyte), state.value, media.value + ) + ).decode() + + async def is_on_whatsapp(self, *numbers: str) -> Sequence[IsOnWhatsAppResponse]: + """ + This function checks if the provided phone numbers are registered with WhatsApp. + + :param numbers: A series of phone numbers to be checked. + :type numbers: str + :raises IsOnWhatsAppError: If an error occurs while verifying the phone numbers. + :return: A list of responses, each indicating whether the corresponding number is registered with WhatsApp. + :rtype: Sequence[IsOnWhatsAppResponse] + """ + if numbers: + numbers_buf = " ".join(numbers).encode() + bytes_ptr = await self.__client.IsOnWhatsApp( + self.uuid, numbers_buf, len(numbers_buf) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = IsOnWhatsAppReturnFunction.FromString(protobytes) + if model.Error: + raise IsOnWhatsAppError(model.Error) + return model.IsOnWhatsAppResponse + return [] + + @property + def is_connected(self) -> bool: + """Check if the object is currently connected. + + :return: True if the object is connected, False otherwise. + :rtype: bool + """ + return self.__client.IsConnected(self.uuid) + + @property + def is_logged_in(self) -> bool: + """Check if the user is currently logged in. + + :return: True if the user is logged in, False otherwise. + :rtype: bool + """ + return self.__client.IsLoggedIn(self.uuid) + + async def get_user_info( + self, *jid: JID + ) -> RepeatedCompositeFieldContainer[GetUserInfoSingleReturnFunction]: + """ + This function retrieves user information given a set of JID. It serializes the JID into a string, + gets the user information from the client, deserializes the returned information, checks for any errors, + and finally returns the user information. + + :param jid: JID of the users to retrieve information from + :type jid: JID + :raises GetUserInfoError: If there is an error in the model returned by the client + :return: The user information for each JID + :rtype: RepeatedCompositeFieldContainer[GetUserInfoSingleReturnFunction] + """ + jidbuf = JIDArray(JIDS=jid).SerializeToString() + bytes_ptr = await self.__client.GetUserInfo(self.uuid, jidbuf, len(jidbuf)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetUserInfoReturnFunction.FromString(protobytes) + if model.Error: + raise GetUserInfoError(model.Error) + return model.UsersInfo + + async def get_group_info(self, jid: JID) -> GroupInfo: + """Retrieves information about a group. + + :param jid: The JID (Jabber Identifier) of the group. + :type jid: JID + :raises GetGroupInfoError: Raised if there is an issue retrieving group information. + :return: Information about the specified group. + :rtype: GroupInfo + """ + jidbuf = jid.SerializeToString() + bytes_ptr = await self.__client.GetGroupInfo( + self.uuid, + jidbuf, + len(jidbuf), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetGroupInfoReturnFunction.FromString(protobytes) + if model.Error: + raise GetGroupInfoError(model.Error) + return model.GroupInfo + + async def get_group_info_from_link(self, code: str) -> GroupInfo: + """Retrieves group information from a given link. + + :param code: The link code. + :type code: str + :return: An object containing the group information. + :rtype: GroupInfo + :raises GetGroupInfoError: If there is an error retrieving the group information. + """ + bytes_ptr = await self.__client.GetGroupInfoFromLink(self.uuid, code.encode()) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetGroupInfoReturnFunction.FromString(protobytes) + if model.Error: + raise GetGroupInfoError(model.Error) + return model.GroupInfo + + async def get_group_info_from_invite( + self, jid: JID, inviter: JID, code: str, expiration: int + ) -> GroupInfo: + """Retrieves group information from an invite. + + :param jid: The JID (Jabber ID) of the group. + :type jid: JID + :param inviter: The JID of the user who sent the invite. + :type inviter: JID + :param code: The invite code. + :type code: str + :param expiration: The expiration time of the invite. + :type expiration: int + + :return: The group information. + :rtype: GroupInfo + + :raises GetGroupInfoError: If there is an error retrieving the group information. + """ + jidbyte = jid.SerializeToString() + inviterbyte = inviter.SerializeToString() + bytes_ptr = await self.__client.GetGroupInfoFromInvite( + self.uuid, + jidbyte, + len(jidbyte), + inviterbyte, + len(inviterbyte), + code.encode(), + expiration, + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetGroupInfoReturnFunction.FromString(protobytes) + if model.Error: + raise GetGroupInfoError(model.Error) + return model.GroupInfo + + async def set_group_name(self, jid: JID, name: str) -> str: + """Sets the name of a group. + + :param jid: The JID (Jabber Identifier) of the group. + :type jid: JID + :param name: The new name to be set for the group. + :type name: str + :return: A string indicating the result or an error status. Empty string if successful. + :rtype: str + """ + jidbuf = jid.SerializeToString() + return ( + await self.__client.SetGroupName( + self.uuid, + jidbuf, + len(jidbuf), + ctypes.create_string_buffer(name.encode()), + ) + ).decode() + + async def set_group_photo( + self, jid: JID, file_or_bytes: typing.Union[str, bytes] + ) -> str: + """Sets the photo of a group. + + :param jid: The JID (Jabber Identifier) of the group. + :type jid: JID + :param file_or_bytes: Either a file path (str) or binary data (bytes) representing the group photo. + :type file_or_bytes: typing.Union[str, bytes] + :raises SetGroupPhotoError: Raised if there is an issue setting the group photo. + :return: A string indicating the result or an error status. + :rtype: str + """ + data = get_bytes_from_name_or_url(file_or_bytes) + jid_buf = jid.SerializeToString() + bytes_ptr = await self.__client.SetGroupPhoto( + self.uuid, jid_buf, len(jid_buf), data, len(data) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = SetGroupPhotoReturnFunction.FromString(protobytes) + if model.Error: + raise SetGroupPhotoError(model.Error) + return model.PictureID + + async def set_profile_photo(self, file_or_bytes: typing.Union[str, bytes]) -> str: + """Sets profile photo. + + :param file_or_bytes: Either a file path (str) or binary data (bytes) representing the group photo. + :type file_or_bytes: typing.Union[str, bytes] + :raises SetGroupPhotoError: Raised if there is an issue setting the profile photo. + :return: A string indicating the result or an error status. + :rtype: str + """ + data = get_bytes_from_name_or_url(file_or_bytes) + bytes_ptr = await self.__client.SetProfilePhoto(self.uuid, data, len(data)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = SetGroupPhotoReturnFunction.FromString(protobytes) + if model.Error: + raise SetGroupPhotoError(model.Error) + return model.PictureID + + async def get_lid_from_pn(self, jid: JID) -> JID: + """Retrieves the matching lid from the supplied jid. + + :param jid: The JID (Jabber Identifier) (pn) of the target user. + :type jid: JID + :raises GetJIDFromStoreError: Raised if there is an issue getting the lid from the given jid. + :return: The lid (hidden user) matching the supplied jid. + :rtype: JID + """ + jid_buf = jid.SerializeToString() + bytes_ptr = await self.__client.GetLIDFromPN(self.uuid, jid_buf, len(jid_buf)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetJIDFromStoreReturnFunction.FromString(protobytes) + if model.Error: + raise GetJIDFromStoreError(model.Error) + return model.Jid + + async def get_pn_from_lid(self, jid: JID) -> JID: + """Retrieves the matching jid from the supplied lid. + + :param jid: The JID (Jabber Identifier) (lid) of the target user. + :type jid: JID + :raises GetJIDFromStoreError: Raised if there is an issue getting the jid from the given lid. + :return: The jid (phone number) matching the supplied lid. + :rtype: JID + """ + jid_buf = jid.SerializeToString() + bytes_ptr = await self.__client.GetPNFromLID(self.uuid, jid_buf, len(jid_buf)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetJIDFromStoreReturnFunction.FromString(protobytes) + if model.Error: + raise GetJIDFromStoreError(model.Error) + return model.Jid + + async def pin_message( + self, chat_jid: JID, sender_jid: JID, message_id: str, seconds: int + ): + """ + Currently Non-functional + """ + chat_buf = chat_jid.SerializeToString() + sender_buf = sender_jid.SerializeToString() + bytes_ptr = await self.__client.PinMessage( + self.uuid, + chat_buf, + len(chat_buf), + sender_buf, + len(sender_buf), + message_id.encode(), + seconds, + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = SendMessageReturnFunction.FromString(protobytes) + if model.Error: + raise SendMessageError(model.Error) + return model.SendResponse + + async def leave_group(self, jid: JID) -> str: + """Leaves a group. + + :param jid: The JID (Jabber Identifier) of the target group. + :type jid: JID + :return: A string indicating the result or an error status. Empty string if successful. + :rtype: str + """ + jid_buf = jid.SerializeToString() + return ( + await self.__client.LeaveGroup(self.uuid, jid_buf, len(jid_buf)) + ).decode() + + async def get_group_invite_link(self, jid: JID, revoke: bool = False) -> str: + """Gets or revokes the invite link for a group. + + :param jid: The JID (Jabber Identifier) of the group. + :type jid: JID + :param revoke: Optional. If True, revokes the existing invite link; if False, gets the invite link. Defaults to False. + :type revoke: bool, optional + :raises GetGroupInviteLinkError: Raised if there is an issue getting or revoking the invite link. + :return: The group invite link or an error status. + :rtype: str + """ + jid_buf = jid.SerializeToString() + bytes_ptr = await self.__client.GetGroupInviteLink( + self.uuid, jid_buf, len(jid_buf), revoke + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetGroupInviteLinkReturnFunction.FromString(protobytes) + if model.Error: + raise GetGroupInviteLinkError(model.Error) + return model.InviteLink + + async def join_group_with_link(self, code: str) -> JID: + """Join a group using an invite link. + + :param code: The invite code or link for joining the group. + :type code: str + :raises InviteLinkError: Raised if the group membership is pending approval or if the link is invalid. + :return: The JID (Jabber Identifier) of the joined group. + :rtype: JID + """ + bytes_ptr = await self.__client.JoinGroupWithLink(self.uuid, code.encode()) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = JoinGroupWithLinkReturnFunction.FromString(protobytes) + if model.Error: + raise InviteLinkError(model.Error) + return model.Jid + + async def join_group_with_invite( + self, jid: JID, inviter: JID, code: str, expiration: int + ): + """ + This function allows a user to join a group in a chat application using an invite. + It uses the JID (Jabber ID) of the group, the JID of the inviter, an invitation code, and an expiration time for the code. + + :param jid: The JID of the group to join. + :type jid: JID + :param inviter: The JID of the person who sent the invite. + :type inviter: JID + :param code: The invitation code. + :type code: str + :param expiration: The expiration time of the invitation code in seconds. + :type expiration: int + :raises JoinGroupWithInviteError: If there is an error in joining the group, such as an invalid code or expired invitation. + """ + jidbytes = jid.SerializeToString() + inviterbytes = inviter.SerializeToString() + err = ( + await self.__client.JoinGroupWithInvite( + self.uuid, + jidbytes, + len(jidbytes), + inviterbytes, + len(inviterbytes), + code.encode(), + expiration, + ) + ).decode() + if err: + raise JoinGroupWithInviteError(err) + + async def link_group(self, parent: JID, child: JID): + """ + Links a child group to a parent group. + + :param parent: The JID of the parent group + :type parent: JID + :param child: The JID of the child group + :type child: JID + :raises LinkGroupError: If there is an error while linking the groups + """ + parent_bytes = parent.SerializeToString() + child_bytes = child.SerializeToString() + err = ( + await self.__client.LinkGroup( + self.uuid, + parent_bytes, + len(parent_bytes), + child_bytes, + len(child_bytes), + ) + ).decode() + if err: + raise LinkGroupError(err) + + async def logout(self): + err = (await self.__client.Logout(self.uuid)).decode() + if err: + raise LogoutError(err) + + async def mark_read( + self, + *message_ids: str, + chat: JID, + sender: JID, + receipt: ReceiptType, + timestamp: Optional[int] = None, + ): + """Marks the specified messages as read. + + :param message_ids: Identifiers of the messages to mark as read. + :type message_ids: str + :param chat: The JID of the chat. + :type chat: JID + :param sender: The JID of the sender. + :type sender: JID + :param receipt: The type of receipt indicating the message status. + :type receipt: ReceiptType + :param timestamp: The timestamp of the read action, defaults to None. + :type timestamp: Optional[int], optional + :raises MarkReadError: If there is an error marking messages as read. + """ + chat_proto = chat.SerializeToString() + sender_proto = sender.SerializeToString() + timestamp_args = int(time.time()) if timestamp is None else timestamp + err = await self.__client.MarkRead( + self.uuid, + " ".join(message_ids).encode(), + timestamp_args, + chat_proto, + len(chat_proto), + sender_proto, + len(sender_proto), + receipt.value, + ) + if err: + raise MarkReadError(err.decode()) + + async def newsletter_mark_viewed( + self, jid: JID, message_server_ids: List[MessageServerID] + ): + """ + Marks the specified newsletters as viewed by the user with the given JID. + + :param jid: The JID (Jabber ID) of the user who has viewed the newsletters. + :type jid: JID + :param message_server_ids: List of server IDs of the newsletters that have been viewed. + :type message_server_ids: List[MessageServerID] + :raises NewsletterMarkViewedError: If an error occurs while marking the newsletters as viewed. + """ + servers = struct.pack(f"{len(message_server_ids)}b", *message_server_ids) + jid_proto = jid.SerializeToString() + err = await self.__client.NewsletterMarkViewed( + self.uuid, jid_proto, len(jid_proto), servers, len(servers) + ) + if err: + raise NewsletterMarkViewedError(err) + + async def newsletter_send_reaction( + self, + jid: JID, + message_server_id: MessageServerID, + reaction: str, + message_id: str, + ): + """ + Sends a reaction to a newsletter. + + :param jid: The unique identifier for the recipient of the newsletter. + :type jid: JID + :param message_server_id: The unique identifier for the server where the message is stored. + :type message_server_id: MessageServerID + :param reaction: The reaction to be sent. + :type reaction: str + :param message_id: The unique identifier for the message to which the reaction is being sent. + :type message_id: str + :raises NewsletterSendReactionError: If an error occurs while sending the reaction. + """ + jid_proto = jid.SerializeToString() + err = await self.__client.NewsletterSendReaction( + self.uuid, + jid_proto, + len(jid_proto), + message_server_id, + reaction.encode(), + message_id.encode(), + ) + if err: + raise NewsletterSendReactionError(err) + return + + async def newsletter_subscribe_live_updates(self, jid: JID) -> int: + """Subscribes a user to live updates of a newsletter. + + :param jid: The unique identifier of the user subscribing to the newsletter. + :type jid: JID + :raises NewsletterSubscribeLiveUpdatesError: If there is an error during the subscription process. + :return: The duration for which the subscription is valid. + :rtype: int + """ + jid_proto = jid.SerializeToString() + bytes_ptr = await self.__client.NewsletterSubscribeLiveUpdates( + self.uuid, jid_proto, len(jid_proto) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.NewsletterSubscribeLiveUpdatesReturnFunction.FromString( + protobytes + ) + if model.Error: + raise NewsletterSubscribeLiveUpdatesError(model.Error) + return model.Duration + + async def newsletter_toggle_mute(self, jid: JID, mute: bool): + """Toggle the mute status of a given JID. + + :param jid: The JID (Jabber Identifier) of the user. + :type jid: JID + :param mute: The desired mute status. If True, the user will be muted. If False, the user will be unmuted. + + :type mute: bool + :raises NewsletterToggleMuteError: If there is an error while toggling the mute status. + """ + jid_proto = jid.SerializeToString() + err = ( + await self.__client.NewsletterToggleMute( + self.uuid, jid_proto, len(jid_proto), mute + ) + ).decode() + if err: + raise NewsletterToggleMuteError(err) + + async def resolve_business_message_link( + self, code: str + ) -> neonize_proto.BusinessMessageLinkTarget: + """Resolves the target of a business message link. + + :param code: The code of the business message link to be resolved. + :type code: str + :raises ResolveContactQRLinkError: If an error occurs while resolving the link. + :return: The target of the business message link. + :rtype: neonize_proto.BusinessMessageLinkTarget + """ + bytes_ptr = await self.__client.ResolveBusinessMessageLink( + self.uuid, code.encode() + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.ResolveBusinessMessageLinkReturnFunction.FromString( + protobytes + ) + if model.Error: + raise ResolveContactQRLinkError(model.Error) + return model.MessageLinkTarget + + async def resolve_contact_qr_link( + self, code: str + ) -> neonize_proto.ContactQRLinkTarget: + """Resolves a QR link for a specific contact. + + :param code: The QR code to be resolved. + :type code: str + :raises ResolveContactQRLinkError: If an error occurs while resolving the QR link. + :return: The target contact of the QR link. + :rtype: neonize_proto.ContactQRLinkTarget + """ + bytes_ptr = await self.__client.ResolveContactQRLink(self.uuid, code.encode()) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.ResolveContactQRLinkReturnFunction.FromString(protobytes) + if model.Error: + raise ResolveContactQRLinkError(model.Error) + return model.ContactQrLink + + async def send_app_state(self, patch_info: neonize_proto.PatchInfo): + """ + This function serializes the application state and sends it to the client. If there's an error during this process, + it raises a SendAppStateError exception. + + :param patch_info: Contains the information about the application state that needs to be patched. + :type patch_info: neonize_proto.PatchInfo + :raises SendAppStateError: If there's an error while sending the application state, this exception is raised. + """ + patch = patch_info.SerializeToString() + err = (await self.__client.SendAppState(self.uuid, patch, len(patch))).decode() + if err: + raise SendAppStateError(err) + + async def set_default_disappearing_timer(self, timer: typing.Union[timedelta, int]): + """ + Sets a default disappearing timer for messages. The timer can be specified as a timedelta or an integer. + If a timedelta is provided, it is converted to nanoseconds. If an integer is provided, it is used directly as the timer. + + :param timer: The duration for messages to exist before disappearing. Can be a timedelta or an integer. + :type timer: typing.Union[timedelta, int] + :raises SetDefaultDisappearingTimerError: If an error occurs while setting the disappearing timer. + """ + timestamp = 0 + if isinstance(timer, timedelta): + timestamp = int(timer.total_seconds() * 1000**3) + else: + timestamp = timer + err = ( + await self.__client.SetDefaultDisappearingTimer(self.uuid, timestamp) + ).decode() + if err: + raise SetDefaultDisappearingTimerError(err) + + async def set_disappearing_timer( + self, + jid: JID, + timer: typing.Union[timedelta, int], + setting_ts: Optional[timedelta] = None, + ): + """ + Set a disappearing timer for a specific JID. The timer can be set as either a timedelta object or an integer. + If a timedelta object is provided, it's converted into nanoseconds. If an integer is provided, it's interpreted as nanoseconds. + + :param jid: The JID for which the disappearing timer is to be set + :type jid: JID + :param timer: The duration for the disappearing timer. Can be a timedelta object or an integer representing nanoseconds. + :type timer: typing.Union[timedelta, int] + :raises SetDisappearingTimerError: If there is an error in setting the disappearing timer + """ + timestamp = 0 + jid_proto = jid.SerializeToString() + if isinstance(timer, timedelta): + timestamp = int(timer.total_seconds() * 1000) + else: + timestamp = timer + setting_ts_ms = 0 + if setting_ts: + setting_ts_ms = int(time.time() + setting_ts.total_seconds() * 1000) + err = ( + await self.__client.SetDisappearingTimer( + self.uuid, jid_proto, len(jid_proto), timestamp, setting_ts_ms + ) + ).decode() + if err: + raise SetDisappearingTimerError(err) + + async def set_force_activate_delivery_receipts(self, active: bool): + """ + This method is used to forcibly activate or deactivate the delivery receipts for a client. + + :param active: This parameter determines whether the delivery receipts should be forcibly activated or deactivated. If it's True, the delivery receipts will be forcibly activated, otherwise, they will be deactivated. + :type active: bool + """ + await self.__client.SetForceActiveDeliveryReceipts(self.uuid, active) + + async def set_group_announce(self, jid: JID, announce: bool): + """ + Sets the announcement status of a group. + + :param jid: The unique identifier of the group + :type jid: JID + :param announce: The announcement status to be set. If True, announcements are enabled. If False, they are disabled. + :type announce: bool + :raises SetGroupAnnounceError: If there is an error while setting the announcement status + """ + jid_proto = jid.SerializeToString() + err = ( + await self.__client.SetGroupAnnounce( + self.uuid, jid_proto, len(jid_proto), announce + ) + ).decode() + if err: + raise SetGroupAnnounceError(err) + + async def set_group_locked(self, jid: JID, locked: bool): + """ + Sets the locked status of a group identified by the given JID. + + :param jid: The JID (Jabber ID) of the group to be locked/unlocked. + :type jid: JID + :param locked: The new locked status of the group. True to lock the group, False to unlock. + :type locked: bool + :raises SetGroupLockedError: If the operation fails, an error with the reason for the failure is raised. + """ + jid_proto = jid.SerializeToString() + err = ( + await self.__client.SetGroupLocked( + self.uuid, jid_proto, len(jid_proto), locked + ) + ).decode() + if err: + raise SetGroupLockedError(err) + + async def set_group_topic( + self, jid: JID, previous_id: str, new_id: str, topic: str + ): + """ + Set the topic of a group in a chat application. + + :param jid: The unique identifier of the group + :type jid: JID + :param previous_id: The previous identifier of the topic + :type previous_id: str + :param new_id: The new identifier for the topic + :type new_id: str + :param topic: The new topic to be set + :type topic: str + :raises SetGroupTopicError: If there is an error setting the group topic + """ + jid_proto = jid.SerializeToString() + err = ( + await self.__client.SetGroupTopic( + self.uuid, + jid_proto, + len(jid_proto), + previous_id.encode(), + new_id.encode(), + topic.encode(), + ) + ).decode() + if err: + raise SetGroupTopicError(err) + + async def set_privacy_setting( + self, name: PrivacySettingType, value: PrivacySetting + ): + """ + This method is used to set the privacy settings of a user. + + :param name: The name of the privacy setting to be changed. + :type name: PrivacySettingType + :param value: The new value for the privacy setting. + :type value: PrivacySetting + :raises SetPrivacySettingError: If there is an error while setting the privacy setting. + """ + err = ( + await self.__client.SetPrivacySetting( + self.uuid, name.value.encode(), value.value.encode() + ) + ).decode() + if err: + raise SetPrivacySettingError(err) + + async def set_passive(self, passive: bool): + """ + Sets the passive mode of the client. + + :param passive: If True, sets the client to passive mode. If False, sets the client to active mode. + :type passive: bool + :raises SetPassiveError: If an error occurs while setting the client to passive mode. + """ + err = await self.__client.SetPassive(self.uuid, passive) + if err: + raise SetPassiveError(err) + + async def set_status_message(self, msg: str): + """ + Sets a status message for a client using the client's UUID. + + :param msg: The status message to be set. + :type msg: str + :raises SetStatusMessageError: If there is an error while setting the status message. + """ + err = (await self.__client.SetStatusMessage(self.uuid, msg.encode())).decode() + if err: + raise SetStatusMessageError(err) + + async def subscribe_presence(self, jid: JID): + """ + This method is used to subscribe to the presence of a certain JID (Jabber ID). + + :param jid: The Jabber ID (JID) that we want to subscribe to. + :type jid: JID + :raises SubscribePresenceError: If there is an error while subscribing to the presence of the JID. + """ + jid_proto = jid.SerializeToString() + err = ( + await self.__client.SubscribePresence(self.uuid, jid_proto, len(jid_proto)) + ).decode() + if err: + raise SubscribePresenceError(err) + + async def unfollow_newsletter(self, jid: JID): + """ + Unfollows a newsletter by providing the JID (Jabber ID) of the newsletter. + + :param jid: The Jabber ID of the newsletter to unfollow. + :type jid: JID + :raises UnfollowNewsletterError: If there is an error while attempting to unfollow the newsletter. + """ + jid_proto = jid.SerializeToString() + err = ( + await self.__client.UnfollowNewsletter(self.uuid, jid_proto, len(jid_proto)) + ).decode() + if err: + raise UnfollowNewsletterError(err) + + async def unlink_group(self, parent: JID, child: JID): + """ + This method is used to unlink a child group from a parent group. + + :param parent: The JID of the parent group from which the child group is to be unlinked. + :type parent: JID + :param child: The JID of the child group which is to be unlinked from the parent group. + :type child: JID + :raises UnlinkGroupError: If there is an error while unlinking the child group from the parent group. + """ + parent_proto = parent.SerializeToString() + child_proto = child.SerializeToString() + err = ( + await self.__client.UnlinkGroup( + self.uuid, + parent_proto, + len(parent_proto), + child_proto, + len(child_proto), + ) + ).decode() + if err: + raise UnlinkGroupError(err) + + async def update_blocklist(self, jid: JID, action: BlocklistAction) -> Blocklist: + """ + Function to update the blocklist with a given action on a specific JID. + + :param jid: The Jabber ID (JID) of the user to be blocked or unblocked. + :type jid: JID + :param action: The action to be performed (block or unblock) on the JID. + :type action: BlocklistAction + :raises UpdateBlocklistError: If there is an error while updating the blocklist. + :return: The updated blocklist. + :rtype: Blocklist + """ + jid_proto = jid.SerializeToString() + bytes_ptr = await self.__client.UpdateBlocklist( + self.uuid, jid_proto, len(jid_proto), action.value.encode() + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetBlocklistReturnFunction.FromString(protobytes) + if model.Error: + raise UpdateBlocklistError(model.Error) + return model.Blocklist + + async def update_group_participants( + self, jid: JID, participants_changes: List[JID], action: ParticipantChange + ) -> RepeatedCompositeFieldContainer[GroupParticipant]: + """ + This method is used to update the list of participants in a group. + It takes in the group's JID, a list of participant changes, and an action to perform. + + :param jid: The JID (Jabber ID) of the group to update. + :type jid: JID + :param participants_changes: A list of JIDs representing the participants to be added or removed. + :type participants_changes: List[JID] + :param action: The action to perform (add, remove, promote or demote participants). + :type action: ParticipantChange + :raises UpdateGroupParticipantsError: This error is raised if there is a problem updating the group participants. + :return: A list of the updated group participants. + :rtype: RepeatedCompositeFieldContainer[GroupParticipant] + """ + jid_proto = jid.SerializeToString() + jids_proto = neonize_proto.JIDArray( + JIDS=participants_changes + ).SerializeToString() + bytes_ptr = await self.__client.UpdateGroupParticipants( + self.uuid, + jid_proto, + len(jid_proto), + jids_proto, + len(jids_proto), + action.value.encode(), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.UpdateGroupParticipantsReturnFunction.FromString( + protobytes + ) + if model.Error: + raise UpdateGroupParticipantsError(model.Error) + return model.participants + + async def upload_newsletter( + self, data: bytes, media_type: MediaType + ) -> UploadResponse: + """Uploads the newsletter to the server. + + :param data: The newsletter content in bytes. + :type data: bytes + :param media_type: The type of media being uploaded. + :type media_type: MediaType + :raises UploadError: If there is an error during the upload process. + :return: The response from the server after the upload. + :rtype: UploadResponse + """ + bytes_ptr = await self.__client.UploadNewsletter( + self.uuid, data, len(data), media_type.value + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = UploadReturnFunction.FromString(protobytes) + if model.Error: + raise UploadError(model.Error) + return model.UploadResponse + + async def create_group( + self, + name: str, + participants: List[JID] = [], + linked_parent: Optional[GroupLinkedParent] = None, + group_parent: Optional[GroupParent] = None, + ) -> GroupInfo: + """Create a new group. + + :param name: The name of the new group. + :type name: str + :param participants: Optional. A list of participant JIDs (Jabber Identifiers) to be included in the group. Defaults to an empty list. + :type participants: List[JID], optional + :param linked_parent: Optional. Information about a linked parent group, if applicable. Defaults to None. + :type linked_parent: Optional[GroupLinkedParent], optional + :param group_parent: Optional. Information about a parent group, if applicable. Defaults to None. + :type group_parent: Optional[GroupParent], optional + :return: Information about the newly created group. + :rtype: GroupInfo + """ + group_info = ReqCreateGroup( + name=name, + Participants=participants, + CreateKey=await self.generate_message_id(), + ) + if linked_parent: + group_info.GroupLinkedParent.MergeFrom(linked_parent) + if group_parent: + group_info.GroupParent.MergeFrom(group_parent) + group_info_buf = group_info.SerializeToString() + bytes_ptr = await self.__client.CreateGroup( + self.uuid, group_info_buf, len(group_info_buf) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetGroupInfoReturnFunction.FromString(protobytes) + if model.Error: + raise CreateGroupError(model.Error) + return model.GroupInfo + + async def get_group_request_participants( + self, jid: JID + ) -> RepeatedCompositeFieldContainer[GroupParticipantRequest]: + """Get the participants of a group request. + + :param jid: The JID of the group request. + :type jid: JID + :return: A list of JIDs representing the participants of the group request. + :rtype: RepeatedCompositeFieldContainer[JID] + """ + jidbyte = jid.SerializeToString() + bytes_ptr = await self.__client.GetGroupRequestParticipants( + self.uuid, jidbyte, len(jidbyte) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetGroupRequestParticipantsReturnFunction.FromString( + protobytes + ) + if model.Error: + raise GetGroupRequestParticipantsError(model.Error) + return model.Participants + + async def get_joined_groups(self) -> RepeatedCompositeFieldContainer[GroupInfo]: + """Get the joined groups for the current user. + + :return: A list of :class:`GroupInfo` objects representing the joined groups. + :rtype: RepeatedCompositeFieldContainer[GroupInfo] + + :raises GetJoinedGroupsError: If there was an error retrieving the joined groups. + """ + bytes_ptr = await self.__client.GetJoinedGroups(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetJoinedGroupsReturnFunction.FromString(protobytes) + if model.Error: + raise GetJoinedGroupsError(model.Error) + return model.Group + + async def create_newsletter( + self, name: str, description: str, picture: typing.Union[str, bytes] + ) -> NewsletterMetadata: + """Create a newsletter with the given name, description, and picture. + + :param name: The name of the newsletter. + :type name: str + :param description: The description of the newsletter. + :type description: str + :param picture: The picture of the newsletter. It can be either a URL or bytes. + :type picture: Union[str, bytes] + :return: The metadata of the created newsletter. + :rtype: NewsletterMetadata + :raises CreateNewsletterError: If there is an error creating the newsletter. + """ + protobuf = neonize_proto.CreateNewsletterParams( + Name=name, + Description=description, + Picture=get_bytes_from_name_or_url(picture), + ).SerializeToString() + bytes_ptr = await self.__client.CreateNewsletter( + self.uuid, protobuf, len(protobuf) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.CreateNewsLetterReturnFunction.FromString(protobytes) + if model.Error: + raise CreateNewsletterError(model.Error) + return model.NewsletterMetadata + + async def follow_newsletter(self, jid: JID): + """Follows a newsletter with the given JID. + + :param jid: The JID of the newsletter to follow. + :type jid: JID + :return: None + :rtype: None + :raises FollowNewsletterError: If there is an error following the newsletter. + """ + + jidbyte = jid.SerializeToString() + err = ( + await self.__client.FollowNewsletter(self.uuid, jidbyte, len(jidbyte)) + ).decode() + if err: + raise FollowNewsletterError(err) + + async def get_newsletter_info_with_invite(self, key: str) -> NewsletterMetadata: + """Retrieves the newsletter information with an invite using the provided key. + + :param key: The key used to identify the newsletter. + :type key: str + :return: The newsletter metadata. + :rtype: NewsletterMetadata + :raises GetNewsletterInfoWithInviteError: If there is an error retrieving the newsletter information. + """ + bytes_ptr = await self.__client.GetNewsletterInfoWithInvite( + self.uuid, key.encode() + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.CreateNewsLetterReturnFunction.FromString(protobytes) + if model.Error: + raise GetNewsletterInfoWithInviteError(model.Error) + return model.NewsletterMetadata + + async def get_newsletter_message_update( + self, jid: JID, count: int, since: int, after: int + ) -> RepeatedCompositeFieldContainer[NewsletterMessage]: + """Retrieves a list of newsletter messages that have been updated since a given timestamp. + + :param jid: The JID (Jabber ID) of the user. + :type jid: JID + :param count: The maximum number of messages to retrieve. + :type count: int + :param since: The timestamp (in milliseconds) to retrieve messages from. + :type since: int + :param after: The timestamp (in milliseconds) to retrieve messages after. + :type after: int + + :return: A list of updated newsletter messages. + :rtype: RepeatedCompositeFieldContainer[NewsletterMessage] + + :raises GetNewsletterMessageUpdateError: If there was an error retrieving the newsletter messages. + """ + jidbyte = jid.SerializeToString() + bytes_ptr = await self.__client.GetNewsletterMessageUpdate( + self.uuid, jidbyte, len(jidbyte), count, since, after + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetNewsletterMessageUpdateReturnFunction.FromString( + protobytes + ) + if model.Error: + raise GetNewsletterMessageUpdateError(model.Error) + return model.NewsletterMessage + + async def get_newsletter_messages( + self, jid: JID, count: int, before: MessageServerID + ) -> RepeatedCompositeFieldContainer[NewsletterMessage]: + """Retrieves a list of newsletter messages for a given JID. + + :param jid: The JID (Jabber Identifier) of the user. + :type jid: JID + :param count: The maximum number of messages to retrieve. + :type count: int + :param before: The ID of the message before which to retrieve messages. + :type before: MessageServerID + :return: A list of newsletter messages. + :rtype: RepeatedCompositeFieldContaine[NewsletterMessage] + """ + jidbyte = jid.SerializeToString() + bytes_ptr = await self.__client.GetNewsletterMessages( + self.uuid, jidbyte, len(jidbyte), count, before + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetNewsletterMessageUpdateReturnFunction.FromString( + protobytes + ) + if model.Error: + raise GetNewsletterMessagesError(model.Error) + return model.NewsletterMessage + + async def get_privacy_settings(self) -> PrivacySettings: + """ + This function retrieves the my privacy settings. + + :return: privacy settings + :rtype: PrivacySettings + """ + bytes_ptr = await self.__client.GetPrivacySettings(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + result = neonize_proto.PrivacySettings.FromString(protobytes) + return result + + async def get_profile_picture( + self, + jid: JID, + extra: neonize_proto.GetProfilePictureParams = neonize_proto.GetProfilePictureParams(), + ) -> ProfilePictureInfo: + """ + This function is used to get the profile picture of a user. + + :param jid: The unique identifier of the user whose profile picture we want to retrieve. + :type jid: JID + :param extra: Additional parameters, defaults to neonize_proto.GetProfilePictureParams() + :type extra: neonize_proto.GetProfilePictureParams, optional + :raises GetProfilePictureError: If there is an error while trying to get the profile picture. + :return: The information about the profile picture. + :rtype: ProfilePictureInfo + """ + jid_bytes = jid.SerializeToString() + extra_bytes = extra.SerializeToString() + bytes_ptr = await self.__client.GetProfilePicture( + self.uuid, + jid_bytes, + len(jid_bytes), + extra_bytes, + len(extra_bytes), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetProfilePictureReturnFunction.FromString(protobytes) + if model.Error: + raise GetProfilePictureError(model) + return model.Picture + + async def get_status_privacy( + self, + ) -> RepeatedCompositeFieldContainer[StatusPrivacy]: + """Returns the status privacy settings of the user. + + :raises GetStatusPrivacyError: If there is an error in getting the status privacy. + :return: The status privacy settings of the user. + :rtype: RepeatedCompositeFieldContainer[StatusPrivacy] + """ + bytes_ptr = await self.__client.GetStatusPrivacy(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetStatusPrivacyReturnFunction.FromString(protobytes) + if model.Error: + raise GetStatusPrivacyError(model.Error) + return model.StatusPrivacy + + async def get_sub_groups( + self, community: JID + ) -> RepeatedCompositeFieldContainer[GroupLinkTarget]: + """ + Get the subgroups of a given community. + + :param community: The community for which to get the subgroups. + :type community: JID + :raises GetSubGroupsError: If there is an error while getting the subgroups. + :return: The subgroups of the given community. + :rtype: RepeatedCompositeFieldContainer[GroupLinkTarget] + """ + jid = community.SerializeToString() + bytes_ptr = await self.__client.GetSubGroups(self.uuid, jid, len(jid)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetSubGroupsReturnFunction.FromString(protobytes) + if model.Error: + raise GetSubGroupsError(model.Error) + return model.GroupLinkTarget + + async def get_subscribed_newletters( + self, + ) -> RepeatedCompositeFieldContainer[NewsletterMetadata]: + """ + This function retrieves the newsletters the user has subscribed to. + + :raises GetSubscribedNewslettersError: If there is an error while fetching the subscribed newsletters + :return: A container with the metadata of each subscribed newsletter + :rtype: RepeatedCompositeFieldContainer[NewsletterMetadata] + """ + bytes_ptr = await self.__client.GetSubscribedNewsletters(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetSubscribedNewslettersReturnFunction.FromString( + protobytes + ) + if model.Error: + raise GetSubscribedNewslettersError(model.Error) + return model.Newsletter + + async def get_user_devices( + self, *jids: JID + ) -> RepeatedCompositeFieldContainer[JID]: + """ + Retrieve devices associated with specified user JIDs. + + :param jids: Variable number of JIDs (Jabber Identifiers) of users. + :type jids: JID + :raises GetUserDevicesError: If there is an error retrieving user devices. + :return: Devices associated with the specified user JIDs. + :rtype: RepeatedCompositeFieldContainer[JID] + """ + jids_ = neonize_proto.JIDArray(JIDS=jids).SerializeToString() + bytes_ptr = await self.__client.GetUserDevices(self.uuid, jids_, len(jids_)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetUserDevicesreturnFunction.FromString(protobytes) + if model.Error: + raise GetUserDevicesError(model.Error) + return model.JID + + async def get_blocklist(self) -> Blocklist: + """Retrieves the blocklist from the client. + + :return: Blocklist: The retrieved blocklist. + :raises GetBlocklistError: If there was an error retrieving the blocklist. + """ + bytes_ptr = await self.__client.GetBlocklist(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetBlocklistReturnFunction.FromString(protobytes) + if model.Error: + raise GetBlocklistError(model.Error) + return model.Blocklist + + async def get_me(self) -> Device: + """ + This method is used to get the device information associated with a given UUID. + + :return: It returns a Device object created from the byte string response from the client's GetMe method. + :rtype: Device + """ + bytes_ptr = await self.__client.GetMe(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + result = Device.FromString(protobytes) + return result + + async def get_contact_qr_link(self, revoke: bool = False) -> str: + """ + This function returns a QR link for a specific contact. If the 'revoke' parameter is set to True, + it revokes the existing QR link and generates a new one. + + :param revoke: If set to True, revokes the existing QR link and generates a new one. Defaults to False. + :type revoke: bool, optional + :raises GetContactQrLinkError: If there is an error in getting the QR link. + :return: The QR link for the contact. + :rtype: str + """ + bytes_ptr = await self.__client.GetContactQRLink(self.uuid, revoke) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetContactQRLinkReturnFunction.FromString(protobytes) + if model.Error: + raise GetContactQrLinkError(model.Error) + return model.Link + + async def get_linked_group_participants( + self, community: JID + ) -> neonize_proto.JIDArray: + """Fetches the participants of a linked group in a community. + + :param community: The community in which the linked group belongs. + :type community: JID + :raises GetLinkedGroupParticipantsError: If there is an error while fetching the participants. + :return: A list of participants in the linked group. + :rtype: RepeatedCompositeFieldContainer[JID] + """ + jidbyte = community.SerializeToString() + bytes_ptr = await self.__client.GetLinkedGroupsParticipants( + self.uuid, jidbyte, len(jidbyte) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.ReturnFunctionWithError.FromString(protobytes) + if model.Error: + raise GetLinkedGroupParticipantsError(model.Error) + return model.GetLinkedGroupsParticipants + + async def get_newsletter_info(self, jid: JID) -> neonize_proto.NewsletterMetadata: + """ + Fetches the metadata of a specific newsletter using its JID. + + :param jid: The unique identifier of the newsletter + :type jid: JID + :raises GetNewsletterInfoError: If there is an error while fetching the newsletter information + :return: The metadata of the requested newsletter + :rtype: neonize_proto.NewsletterMetadata + """ + jidbyte = jid.SerializeToString() + bytes_ptr = await self.__client.GetNewsletterInfo( + self.uuid, jidbyte, len(jidbyte) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.CreateNewsLetterReturnFunction.FromString(protobytes) + if model.Error: + raise GetNewsletterInfoError(model.Error) + return model.NewsletterMetadata + + async def PairPhone( + self, + phone: str, + show_push_notification: bool, + client_name: ClientName = ClientName.LINUX, + client_type: Optional[ClientType] = None, + ): + """ + Pair a phone with the client. This function will try to connect to the WhatsApp servers and pair the phone. + If successful, it will show a push notification on the paired phone. + + :param phone: The phone number to be paired. + :type phone: str + :param show_push_notification: If true, a push notification will be shown on the paired phone. + :type show_push_notification: bool + :param client_name: The name of the client, defaults to LINUX. + :type client_name: ClientName, optional + :param client_type: The type of the client, defaults to None. If None, it will be set to FIREFOX or determined by the device properties. + :type client_type: Optional[ClientType], optional + """ + + if client_type is None: + if self.device_props is None: + client_type = ClientType.FIREFOX + else: + try: + client_type = ClientType(self.device_props.platformType) + except ValueError: + client_type = ClientType.FIREFOX + + pl = neonize_proto.PairPhoneParams( + phone=phone, + clientDisplayName="%s (%s)" % (client_type.name, client_name.name), + clientType=client_type.value, + showPushNotification=show_push_notification, + ) + payload = pl.SerializeToString() + d = bytearray(list(self.event.list_func)) + + _log_.debug("trying connect to whatsapp servers") + + deviceprops = ( + DeviceProps(os="Neonize", platformType=DeviceProps.SAFARI) + if self.device_props is None + else self.device_props + ).SerializeToString() + + jidbuf_size = 0 + jidbuf = b"" + if self.jid: + jidbuf = self.jid.SerializeToString() + jidbuf_size = len(jidbuf) + + task = self.__client.Neonize( + self.name.encode(), + self.uuid, + jidbuf, + jidbuf_size, + LogLevel.from_logging(log.level).level, + func_string(self.__onQr), + func_string(self.__onLoginStatus), + func_callback_bytes(self.event.execute), + func_callback_bytes2(log_whatsmeow), + (ctypes.c_char * self.event.list_func.__len__()).from_buffer(d), + len(d), + deviceprops, + len(deviceprops), + payload, + len(payload), + ) + self.connect_task = connect_task = self.loop.create_task(task) + return connect_task + + async def idle(self): + """ + Idles the client + """ + await self.connect_task + + async def stop(self): + """ + Stops the client and disconnects from the WhatsApp servers. + """ + await self.__client.Stop(self.uuid) + + async def get_message_for_retry( + self, requester: JID, to: JID, message_id: str + ) -> typing.Union[None, Message]: + """ + This function retrieves a specific message for retrying transmission. + It communicates with a client to get the message using provided requester, recipient, and message ID. + + :param requester: The JID of the entity requesting the message. + :type requester: JID + :param to: The JID of the intended recipient of the message. + :type to: JID + :param message_id: The unique identifier of the message to be retrieved. + :type message_id: str + :return: The message to be retried if found, None otherwise. + :rtype: Union[None, Message] + """ + requester_buf = requester.SerializeToString() + to_buf = to.SerializeToString() + bytes_ptr = await self.__client.GetMessageForRetry( + self.uuid, + requester_buf, + len(requester_buf), + to_buf, + len(to_buf), + message_id.encode(), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetMessageForRetryReturnFunction.FromString(protobytes) + if model.Error: + raise Exception(model.Error) + if not model.isEmpty: + return model.Message + + async def send_fb_message( + self, + to: JID, + message: ConsumerApplication, + metadata: MessageApplication.Metadata, + extra: SendRequestExtra, + ): + to_buff = to.SerializeToString() + message_buff = message.SerializeToString() + metadata_buff = metadata.SerializeToString() + extra_buff = extra.SerializeToString() + bytes_ptr = await self.__client.SendFBMessage( + self.uuid, + to_buff, + len(to_buff), + message_buff, + len(message_buff), + metadata_buff, + len(metadata_buff), + extra_buff, + len(extra_buff), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + result = SendMessageReturnFunction.FromString(protobytes) + if result.Error: + raise SendMessageError(result.Error) + return result.SendResponse + + async def send_presence(self, presence: Presence): + response = await self.__client.SendPresence(self.uuid, presence.value) + if response: + raise SendPresenceError(response) + + async def decrypt_poll_vote( + self, message: neonize_proto.Message + ) -> PollVoteMessage: + """Decrypt PollMessage""" + msg_buff = message.SerializeToString() + bytes_ptr = await self.__client.DecryptPollVote( + self.uuid, msg_buff, len(msg_buff), len(msg_buff) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = ReturnFunctionWithError.FromString(protobytes) + if model.Error: + raise DecryptPollVoteError(model.Error) + return model.PollVoteMessage + + async def connect(self): + """Establishes a connection to the WhatsApp servers.""" + # Convert the list of functions to a bytearray + d = bytearray(list(self.event.list_func)) + _log_.debug("πŸ”’ Attempting to connect to the WhatsApp servers.") + # Set device properties + deviceprops = ( + DeviceProps(os="Neonize", platformType=DeviceProps.SAFARI) + if self.device_props is None + else self.device_props + ).SerializeToString() + + jidbuf_size = 0 + jidbuf = b"" + if self.jid: + jidbuf = self.jid.SerializeToString() + jidbuf_size = len(jidbuf) + + # Initiate connection to the server + task = self.__client.Neonize( + self.name.encode(), + self.uuid, + jidbuf, + jidbuf_size, + LogLevel.from_logging(log.level).level, + func_string(self.__onQr), + func_string(self.__onLoginStatus), + func_callback_bytes(self.event.execute), + func_callback_bytes2(log_whatsmeow), + (ctypes.c_char * len(self.event.list_func)).from_buffer(d), + len(d), + deviceprops, + len(deviceprops), + b"", + 0, + ) + self.connect_task = connect_task = self.loop.create_task(task) + return connect_task + + async def disconnect(self) -> None: + """ + Disconnect the client + """ + await self.__client.Disconnect(self.uuid) + + +class ClientFactory: + def __init__(self, database_name: str = "neonize.db") -> None: + """ + This class is used to create new instances of the client. + """ + self.database_name = database_name + self.clients: list[NewAClient] = [] + self.event = EventsManager(self) + self.loop = event_global_loop + + @staticmethod + def get_all_devices_from_db(db: str) -> List[Device]: + """ + Retrieves all devices associated with the current account. + :param db: The name of the database to retrieve the devices from. + :return: A list of Device-like objects representing all associated devices. + :rtype: List[neonize_proto.Device] + """ + c_string = gocode.GetAllDevices( + db.encode(), func_callback_bytes2(log_whatsmeow) + ).decode() + if not c_string: + return [] + + devices: list[Device] = [] + + for device_str in c_string.split("|\u0001|"): + id, push_name, bussniess_name, initialized = device_str.split(",") + id, server = id.split("@") + jid = build_jid(id, server) + + device = Device( + JID=jid, + PushName=push_name, + BussinessName=bussniess_name, + Initialized=initialized == "true", + ) + devices.append(device) + + return devices + + def get_all_devices(self) -> List["Device"]: + """Retrieves all devices associated with the current account from the database.""" + return self.get_all_devices_from_db(self.database_name) + + @staticmethod + async def stop(): + """ + Stops all clients and disconnects from the WhatsApp servers. + """ + await async_gocode.StopAll() + + def new_client( + self, + jid: Optional[JID] = None, + uuid: Optional[str] = None, + props: Optional[DeviceProps] = None, + ) -> NewAClient: + """ + This function creates a new instance of the client. If the jid parameter is not provided, a new client will be created. + :param name: The name of the client. + :type name: str + :param uuid: The unique identifier of the client. + :type uuid: str + :param jid: The JID of the client. + :type jid: JID + :param props: The device properties of the client. + :type props: Optional[DeviceProps] + """ + + if jid is None and uuid is None: + # you must at least provide a uuid to make sure the client is + # unique + raise Exception("JID and UUID cannot be none") + + client = NewAClient(self.database_name, jid, props, uuid) + client.event.list_func = self.event.list_func + self.clients.append(client) + return client + + async def run(self): + return await asyncio.gather(*[client.connect() for client in self.clients]) diff --git a/neonize/aioze/events.py b/neonize/aioze/events.py new file mode 100644 index 00000000..4447b2be --- /dev/null +++ b/neonize/aioze/events.py @@ -0,0 +1,252 @@ +from __future__ import annotations + +import asyncio +import ctypes +from asyncio import Event as IOEvent +from typing import TYPE_CHECKING, Awaitable, Callable, Coroutine, Dict, Type, TypeVar + +import segno +from google.protobuf.message import Message + +from ..events import EVENT_TO_INT, INT_TO_EVENT, UnsupportedEvent, log +from ..proto.Neonize_pb2 import QR as QREv +from ..proto.Neonize_pb2 import BlocklistChange as BlocklistChangeEv +from ..proto.Neonize_pb2 import BlocklistEvent as BlocklistEv +from ..proto.Neonize_pb2 import CallAccept as CallAcceptEv +from ..proto.Neonize_pb2 import CallOffer as CallOfferEv +from ..proto.Neonize_pb2 import CallOfferNotice as CallOfferNoticeEv +from ..proto.Neonize_pb2 import CallPreAccept as CallPreAcceptEv +from ..proto.Neonize_pb2 import CallRelayLatency as CallRelayLatencyEv +from ..proto.Neonize_pb2 import CallTerminate as CallTerminateEv +from ..proto.Neonize_pb2 import CallTransport as CallTransportEv +from ..proto.Neonize_pb2 import ChatPresence as ChatPresenceEv +from ..proto.Neonize_pb2 import ClientOutdated as ClientOutdatedEv +from ..proto.Neonize_pb2 import Connected as ConnectedEv +from ..proto.Neonize_pb2 import ConnectFailure as ConnectFailureEv +from ..proto.Neonize_pb2 import Disconnected as DisconnectedEv +from ..proto.Neonize_pb2 import GroupInfoEvent as GroupInfoEv +from ..proto.Neonize_pb2 import HistorySync as HistorySyncEv +from ..proto.Neonize_pb2 import IdentityChange as IdentityChangeEv +from ..proto.Neonize_pb2 import JoinedGroup as JoinedGroupEv +from ..proto.Neonize_pb2 import KeepAliveRestored as KeepAliveRestoredEv +from ..proto.Neonize_pb2 import KeepAliveTimeout as KeepAliveTimeoutEv +from ..proto.Neonize_pb2 import LoggedOut as LoggedOutEv +from ..proto.Neonize_pb2 import Message as MessageEv +from ..proto.Neonize_pb2 import NewsletterJoin as NewsletterJoinEv +from ..proto.Neonize_pb2 import NewsletterLeave as NewsletterLeaveEv +from ..proto.Neonize_pb2 import NewsletterLiveUpdate as NewsletterLiveUpdateEv +from ..proto.Neonize_pb2 import NewsLetterMessageMeta as NewsLetterMessageMetaEv +from ..proto.Neonize_pb2 import NewsletterMuteChange as NewsletterMuteChangeEv +from ..proto.Neonize_pb2 import OfflineSyncCompleted as OfflineSyncCompletedEv +from ..proto.Neonize_pb2 import OfflineSyncPreview as OfflineSyncPreviewEv +from ..proto.Neonize_pb2 import PairStatus as PairStatusEv +from ..proto.Neonize_pb2 import Picture as PictureEv +from ..proto.Neonize_pb2 import Presence as PresenceEv +from ..proto.Neonize_pb2 import Receipt as ReceiptEv +from ..proto.Neonize_pb2 import StreamError as StreamErrorEv +from ..proto.Neonize_pb2 import StreamReplaced as StreamReplacedEv +from ..proto.Neonize_pb2 import TemporaryBan as TemporaryBanEv +from ..proto.Neonize_pb2 import UnknownCallEvent as UnknownCallEventEv +from ..proto.Neonize_pb2 import privacySettingsEvent as PrivacySettingsEv + +event_global_loop = asyncio.new_event_loop() + +if TYPE_CHECKING: + from .client import ClientFactory, NewAClient +EventType = TypeVar("EventType", bound=Message) +event = IOEvent() +__all__ = [ + "QREv", + "PairStatusEv", + "ConnectedEv", + "KeepAliveTimeoutEv", + "KeepAliveRestoredEv", + "LoggedOutEv", + "StreamReplacedEv", + "TemporaryBanEv", + "ConnectFailureEv", + "ClientOutdatedEv", + "StreamErrorEv", + "DisconnectedEv", + "HistorySyncEv", + "NewsLetterMessageMetaEv", + "MessageEv", + "ReceiptEv", + "ChatPresenceEv", + "PresenceEv", + "JoinedGroupEv", + "GroupInfoEv", + "PictureEv", + "IdentityChangeEv", + "PrivacySettingsEv", + "OfflineSyncPreviewEv", + "OfflineSyncCompletedEv", + "BlocklistEv", + "BlocklistChangeEv", + "NewsletterJoinEv", + "NewsletterLeaveEv", + "NewsletterMuteChangeEv", + "NewsletterLiveUpdateEv", + "CallOfferEv", + "CallAcceptEv", + "CallPreAcceptEv", + "CallTransportEv", + "CallOfferNoticeEv", + "CallRelayLatencyEv", + "CallTerminateEv", + "UnknownCallEventEv", +] + + +class Event: + def __init__(self, client: NewAClient): + """ + Initializes the Event class with a client of type NewClient. + Also sets up a default blocking function and an empty dictionary for list functions. + + :param client: An instance of the NewClient class + :type client: NewClient + """ + self.client = client + self.blocking_func = self.paircode(self.default_paircode_cb) + self.list_func: Dict[ + int, Callable[[NewAClient, Message], Coroutine[None, None, None]] + ] = {} + self._qr = self.__onqr + + def execute(self, uuid: int, binary: int, size: int, code: int): + """Executes a function from the list of functions based on the given code. + + :param binary: The binary data to be processed by the function. + :type binary: int + :param size: The size of the binary data. + :type size: int + :param code: The index of the function to be executed from the list of functions. + :type code: int + """ + if code not in INT_TO_EVENT: + raise UnsupportedEvent() + # print("key", code, "uuid", uuid, "size", size) + # print(f"Executing function for event code {ctypes.string_at(code, size)} with UUID {uuid}") + message = INT_TO_EVENT[code].FromString(ctypes.string_at(binary, size)) + + if code == 0: + self.client.me = message + return + elif code == 3: + self.client.connected = True + # loop = asyncio.new_event_loop() + # loop.run_until_complete( + # self.list_func[code](self.client, message) + # ) + # loop.close() + asyncio.run_coroutine_threadsafe( + self.list_func[code](self.client, message), event_global_loop + ) + + async def __onqr(self, _: NewAClient, data_qr: bytes): + """ + Handles QR code generation and display. + + :param _: The client instance (not used in the function). + :type _: NewClient + :param data_qr: The data to be encoded in the QR code. + :type data_qr: bytes + """ + segno.make_qr(data_qr).terminal(compact=True) + + def qr(self, f: Callable[[NewAClient, bytes], Coroutine[None, None, None]]): + """ + Sets a callback function for handling QR code data. + + :param f: The callback function that takes a NewClient instance and QR code data in bytes. + :type f: Callable[[NewClient, bytes], None] + """ + self._qr = f + + @property + def paircode(self): + def paircodecb( + f: Callable[[NewAClient, str, bool], Coroutine[None, None, None]], + ): + """ + A decorator that registers a callback function for handling pair code events. + :param f: The callback function that takes a NewAClient instance, pair code as a string, and a boolean indicating if the connection is established. + :type f: Callable[[NewAClient, str, bool], Coroutine[None, None, None]] + :return: A function that wraps the callback function to handle pair code events. + :rtype: Callable[[NewAClient, bytes, bool], Coroutine[None, None, None]] + """ + + def wrap_paircode(_, code, connected: bool): + paircode = ctypes.string_at(code) + asyncio.run_coroutine_threadsafe( + f(self.client, paircode.decode(), connected), event_global_loop + ).result() + + self.blocking_func = wrap_paircode + return self.blocking_func + + return paircodecb + + @staticmethod + async def default_paircode_cb( + client: NewAClient, data: str, connected: bool = True + ): + """ + A default callback function that handles the pair code event. + This function is called when the pair code event occurs, and it blocks the execution until the event is processed. + :param client: The client instance that triggered the event. + :type client: NewAClient + :param data: The pair code data as a string. + :type data: str + """ + if connected: + log.info("Pair code successfully processed: %s", data) + else: + log.info("Pair code: %s", data) + + def __call__( + self, event: Type[EventType] + ) -> Callable[[Callable[[NewAClient, EventType], Awaitable[None]]], None]: + """ + Registers a callback function for a specific event type. + + :param event: The type of event to register the callback for. + :type event: Type[EventType] + :return: A decorator that registers the callback function. + :rtype: Callable[[Callable[[NewClient, EventType], None]], None] + """ + + def callback(func: Callable[[NewAClient, EventType], Awaitable[None]]) -> None: + self.list_func.update({EVENT_TO_INT[event]: func}) + + return callback + + +class EventsManager: + def __init__(self, client_factory: ClientFactory): + self.client_factory = client_factory + self.list_func: Dict[int, Callable[[NewAClient, Message], Awaitable[None]]] = {} + + def __call__( + self, event: Type[EventType] + ) -> Callable[[Callable[[NewAClient, EventType], Awaitable[None]]], None]: + """ + Registers a callback function for a specific event type. + + :param event: The type of event to register the callback for. + :type event: Type[EventType] + :return: A decorator that registers the callback function. + :rtype: Callable[[Callable[[NewClient, EventType], None]], None] + """ + + def callback(func: Callable[[NewAClient, EventType], Awaitable[None]]) -> None: + self.list_func.update({EVENT_TO_INT[event]: func}) + + return callback + + +# threading.Thread( +# target=event_global_loop.run_forever, +# daemon=True, +# ).start() diff --git a/neonize/aioze/preview/compose.py b/neonize/aioze/preview/compose.py new file mode 100644 index 00000000..0b7ecf3a --- /dev/null +++ b/neonize/aioze/preview/compose.py @@ -0,0 +1,47 @@ +from httpx import ConnectTimeout, HTTPStatusError +from linkpreview import Link +from linkpreview import LinkGrabber as fallback_LinkGrabber +from linkpreview import LinkPreview +from linkpreview.exceptions import InvalidMimeTypeError + +from .grabber import LinkGrabber + + +def fallback_grab_link(url: str): + try: + grabber = fallback_LinkGrabber( + initial_timeout=20, + maxsize=1048576, + receive_timeout=10, + chunk_size=1024, + ) + return grabber.get_content( + url, headers={"user-agent": "imessagebot", "accept": "*/*"} + ) + except Exception: + return None, url + + +async def link_preview( + url: str = None, + content: str = None, + parser: str = "html.parser", +): + """ + Get link preview + """ + if content is None: + try: + grabber = LinkGrabber() + content, url = await grabber.get_content(url) + except InvalidMimeTypeError: + content = "" + except ConnectTimeout: + return False + except HTTPStatusError: + content, url = fallback_grab_link(url) + if not content: + return + + link = Link(url, content) + return LinkPreview(link, parser=parser) diff --git a/neonize/aioze/preview/grabber.py b/neonize/aioze/preview/grabber.py new file mode 100644 index 00000000..ab0b0ac6 --- /dev/null +++ b/neonize/aioze/preview/grabber.py @@ -0,0 +1,74 @@ +import time +from typing import Optional + +import httpx +from linkpreview.exceptions import ( + InvalidContentError, + InvalidMimeTypeError, + MaximumContentSizeError, +) + + +class LinkGrabber: + headers = { + "user-agent": ( + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0" + ), + "accept-language": "en-US,en;q=0.5", + "accept": ("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"), + } + + def __init__( + self, + initial_timeout: int = 20, + maxsize: int = 1048576, + receive_timeout: int = 10, + chunk_size: int = 1024, + ): + """ + :param initial_timeout in seconds + :param maxsize in bytes (default 1048576 = 1 MB) + :param receive_timeout in seconds + :param chunk_size in bytes + """ + self.initial_timeout = initial_timeout + self.maxsize = maxsize + self.receive_timeout = receive_timeout + self.chunk_size = chunk_size + + async def get_content(self, url: str, headers: Optional[dict] = None): + async with httpx.AsyncClient() as client: + async with client.stream( + "GET", + url, + timeout=self.initial_timeout, + headers={**self.headers, **headers} if headers else self.headers, + ) as r: + r.raise_for_status() + + content_type = r.headers.get("content-type") + if not content_type: + raise InvalidContentError("Invalid content type") + + mime_type = content_type.split(";")[0].lower() + if mime_type != "text/html": + raise InvalidMimeTypeError("Invalid mime type") + + length = r.headers.get("Content-Length") + if length and int(length) > self.maxsize: + raise MaximumContentSizeError("response too large") + + size = 0 + start = time.time() + content = b"" + async for chunk in r.aiter_bytes(self.chunk_size): + if time.time() - start > self.receive_timeout: + raise TimeoutError("timeout reached") + + size += len(chunk) + if size > self.maxsize: + raise MaximumContentSizeError("response too large") + + content += chunk + + return content.decode(), url diff --git a/neonize/builder.py b/neonize/builder.py index 0d89d648..8dcab8a3 100644 --- a/neonize/builder.py +++ b/neonize/builder.py @@ -1,24 +1,43 @@ -from .proto import Neonize_pb2 as neonize, def_pb2 as waProto +import time + from .const import DEFAULT_USER_SERVER +from .proto import Neonize_pb2 as neonize +from .proto.waCommon.WACommon_pb2 import MessageKey +from .proto.waE2E.WAWebProtobufsE2E_pb2 import ( + FutureProofMessage, + Message, + PeerDataOperationRequestMessage, + PeerDataOperationRequestType, + ProtocolMessage, +) from .utils.jid import Jid2String, JIDToNonAD -import time -def build_edit( - chat: neonize.JID, message_id: str, new_message: waProto.Message -) -> waProto.Message: - return waProto.Message( - editedMessage=waProto.FutureProofMessage( - message=waProto.Message( - protocolMessage=waProto.ProtocolMessage( - key=waProto.MessageKey( +def build_edit(chat: neonize.JID, message_id: str, new_message: Message) -> Message: + """ + This function builds an edited message in the WhatsApp protocol format. + + :param chat: The JID (Jabber ID) of the chat where the message will be sent. + :type chat: neonize.JID + :param message_id: The unique identifier of the message to be edited. + :type message_id: str + :param new_message: The new message content that will replace the old message. + :type new_message: waProto.Message + :return: The constructed message in the WhatsApp protocol format. + :rtype: waProto.Message + """ + return Message( + editedMessage=FutureProofMessage( + message=Message( + protocolMessage=ProtocolMessage( + key=MessageKey( fromMe=True, - id=message_id, - remoteJid=Jid2String(chat), + ID=message_id, + remoteJID=Jid2String(chat), ), - type=waProto.ProtocolMessage.MESSAGE_EDIT, + type=ProtocolMessage.MESSAGE_EDIT, editedMessage=new_message, - timestampMs=int(time.time() * 1000), + timestampMS=int(time.time() * 1000), ) ) ) @@ -27,16 +46,58 @@ def build_edit( def build_revoke( chat: neonize.JID, sender: neonize.JID, id: str, myJID: neonize.JID -) -> waProto.Message: - msgKey = waProto.MessageKey( +) -> Message: + """ + This function builds and returns a protocol message of type 'REVOKE' with given parameters. + + :param chat: The chat ID where the message is to be revoked + :type chat: neonize.JID + :param sender: The sender's ID who is revoking the message + :type sender: neonize.JID + :param id: The ID of the message to be revoked + :type id: str + :param myJID: The ID of the user using the application + :type myJID: neonize.JID + :return: A protocol message of type 'REVOKE' + :rtype: waProto.Message + """ + msgKey = MessageKey( fromMe=myJID.User == sender.User, - id=id, - remoteJid=Jid2String(chat), + ID=id, + remoteJID=Jid2String(chat), ) if not sender.IsEmpty and not msgKey.fromMe and chat.Server != DEFAULT_USER_SERVER: msgKey.participant = Jid2String(JIDToNonAD(sender)) - return waProto.Message( - protocolMessage=waProto.ProtocolMessage( - type=waProto.ProtocolMessage.REVOKE, key=msgKey + return Message( + protocolMessage=ProtocolMessage(type=ProtocolMessage.REVOKE, key=msgKey) + ) + + +def build_history_sync_request( + message_info: neonize.MessageInfo, count: int +) -> Message: + """ + Builds a history sync request message. + + :param message_info: Information about the message to sync from. + :type message_info: neonize.MessageInfo + :param count: Number of messages to sync. + :type count: int + :return: A constructed Message object for history sync. + :rtype: Message + """ + return Message( + protocolMessage=ProtocolMessage( + type=ProtocolMessage.PEER_DATA_OPERATION_REQUEST_MESSAGE, + peerDataOperationRequestMessage=PeerDataOperationRequestMessage( + peerDataOperationRequestType=PeerDataOperationRequestType.HISTORY_SYNC_ON_DEMAND, + historySyncOnDemandRequest=PeerDataOperationRequestMessage.HistorySyncOnDemandRequest( + chatJID=Jid2String(message_info.MessageSource.Chat), + oldestMsgID=message_info.ID, + oldestMsgFromMe=message_info.MessageSource.IsFromMe, + onDemandMsgCount=count, + oldestMsgTimestampMS=message_info.Timestamp, + ), + ), ) ) diff --git a/neonize/client.py b/neonize/client.py index d8bc44a0..369f02bd 100644 --- a/neonize/client.py +++ b/neonize/client.py @@ -1,85 +1,401 @@ from __future__ import annotations -from ._binder import gocode, func_bytes, func_string -from typing import Optional, Callable, List -import typing -import magic + +import base64 import ctypes -from PIL import Image -from io import BytesIO +import logging +import re +import struct import time -from .proto.Neonize_pb2 import ( - MessageInfo, - MessageSource, - JID, - UploadReturnFunction, - GroupInfo, - JoinGroupWithLinkReturnFunction, - GetGroupInviteLinkReturnFunction, - GetGroupInfoReturnFunction, - DownloadReturnFunction, - SendMessageReturnFunction, - UploadResponse, - SetGroupPhotoReturnFunction, - ReqCreateGroup, - GroupLinkedParent, - GroupParent, - IsOnWhatsAppReturnFunction, - IsOnWhatsAppResponse, - JIDArray, - GetUserInfoReturnFunction, - GetUserInfoSingleReturnFunction, - SendResponse, - Device, -) -from .proto import Neonize_pb2 as neonize_proto -from .proto.def_pb2 import Message, StickerMessage, ExtendedTextMessage, ContextInfo -from .proto import def_pb2 as waProto -from .utils import ( - MediaType, - Jid2String, - get_bytes_from_name_or_url, - ChatPresence, - ChatPresenceMedia, +import traceback +import typing +from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor +from datetime import timedelta +from functools import partial +from io import BytesIO +from os import urandom +from threading import Thread +from types import NoneType +from typing import List, Optional, Sequence, overload +from uuid import uuid4 + +import magic +from google.protobuf.internal.containers import RepeatedCompositeFieldContainer +from linkpreview import link_preview +from PIL import Image, ImageSequence + +from ._binder import ( + free_bytes, + func_callback_bytes, + func_callback_bytes2, + func_string, + gocode, ) +from .builder import build_edit, build_revoke +from .events import Event, EventsManager from .exc import ( - DownloadError, - UploadError, - InviteLinkError, - GetGroupInfoError, - SetGroupPhotoError, - GetGroupInviteLinkError, - CreateGroupError, - IsOnWhatsAppError, - GetUserInfoError, - SendMessageError, + BuildPollVoteCreationError, BuildPollVoteError, + ContactStoreError, + ConvertStickerError, + CreateGroupError, CreateNewsletterError, + DecryptPollVoteError, + DownloadError, FollowNewsletterError, GetBlocklistError, + GetChatSettingsError, GetContactQrLinkError, + GetGroupInfoError, + GetGroupInviteLinkError, GetGroupRequestParticipantsError, + GetJIDFromStoreError, GetJoinedGroupsError, GetLinkedGroupParticipantsError, GetNewsletterInfoError, GetNewsletterInfoWithInviteError, + GetNewsletterMessagesError, + GetNewsletterMessageUpdateError, + GetProfilePictureError, + GetStatusPrivacyError, + GetSubGroupsError, + GetSubscribedNewslettersError, + GetUserDevicesError, + GetUserInfoError, + InviteLinkError, + IsOnWhatsAppError, + JoinGroupWithInviteError, + LinkGroupError, + LogoutError, + MarkReadError, + NewsletterMarkViewedError, + NewsletterSendReactionError, + NewsletterSubscribeLiveUpdatesError, + NewsletterToggleMuteError, + PutArchivedError, + PutMutedUntilError, + PutPinnedError, + ResolveContactQRLinkError, + SendAppStateError, + SendMessageError, + SendPresenceError, + SetDefaultDisappearingTimerError, + SetDisappearingTimerError, + SetGroupAnnounceError, + SetGroupLockedError, + SetGroupPhotoError, + SetGroupTopicError, + SetPassiveError, + SetPrivacySettingError, + SetStatusMessageError, + SubscribePresenceError, + UnfollowNewsletterError, + UnlinkGroupError, + UpdateBlocklistError, + UpdateGroupParticipantsError, + UploadError, ) -from .builder import build_edit, build_revoke +from .proto import Neonize_pb2 as neonize_proto +from .proto.Neonize_pb2 import ( + JID, + Blocklist, + BuildMessageReturnFunction, + Contact, + ContactEntry, + ContactEntryArray, + ContactInfo, + ContactsGetContactReturnFunction, + ContactsPutPushNameReturnFunction, + Device, + DownloadReturnFunction, + GetGroupInfoReturnFunction, + GetGroupInviteLinkReturnFunction, + GetJIDFromStoreReturnFunction, + GetUserInfoReturnFunction, + GetUserInfoSingleReturnFunction, + GroupInfo, + GroupLinkedParent, + GroupLinkTarget, + GroupParent, + GroupParticipant, + GroupParticipantRequest, + IsOnWhatsAppResponse, + IsOnWhatsAppReturnFunction, + JIDArray, + JoinGroupWithLinkReturnFunction, + LocalChatSettings, + MessageInfo, + NewsletterMessage, + NewsletterMetadata, + PrivacySettings, + ProfilePictureInfo, + ReqCreateGroup, + ReturnFunctionWithError, + SendMessageReturnFunction, + SendRequestExtra, + SendResponse, + SetGroupPhotoReturnFunction, + StatusPrivacy, + UploadResponse, + UploadReturnFunction, +) +from .proto.waCommon.WACommon_pb2 import MessageKey +from .proto.waCompanionReg.WAWebProtobufsCompanionReg_pb2 import DeviceProps +from .proto.waConsumerApplication.WAConsumerApplication_pb2 import ConsumerApplication +from .proto.waE2E.WAWebProtobufsE2E_pb2 import ( + AlbumMessage, + AudioMessage, + ContactMessage, + ContextInfo, + DocumentMessage, + ExtendedTextMessage, + GroupMention, + ImageMessage, + Message, + MessageAssociation, + PollVoteMessage, + StickerMessage, + StickerPackMessage, + VideoMessage, +) +from .proto.waMsgApplication.WAMsgApplication_pb2 import MessageApplication +from .types import MessageServerID, MessageWithContextInfo +from .utils import ( + add_exif, + gen_vcard, + get_message_type, + log, + log_whatsmeow, + validate_link, +) +from .utils.calc import AspectRatioMethod, auto_sticker, original_sticker +from .utils.enum import ( + BlocklistAction, + ChatPresence, + ChatPresenceMedia, + ClientName, + ClientType, + LogLevel, + MediaType, + MediaTypeToMMS, + ParticipantChange, + Presence, + PrivacySetting, + PrivacySettingType, + ReceiptType, + VoteType, +) +from .utils.ffmpeg import FFmpeg +from .utils.iofile import get_bytes_from_name_or_url, prepare_zip_file_content +from .utils.jid import Jid2String, JIDToNonAD, build_jid, jid_is_lid +from .utils.sticker import convert_to_sticker, convert_to_webp + +_log_ = logging.getLogger(__name__) + + +class ContactStore: + def __init__(self, uuid: bytes) -> None: + self.uuid = uuid + self.__client = gocode + + def put_pushname( + self, user: JID, pushname: str + ) -> ContactsPutPushNameReturnFunction: + """ + Updates the pushname of a specific user. + + :param user: The JID (Jabber ID) of the user whose pushname needs to be updated. + :type user: JID + :param pushname: The new pushname for the user. + :type pushname: str + :raises ContactStoreError: If there is any error updating the pushname. + :return: The updated contact model after the pushname has been updated. + :rtype: ContactsPutPushNameReturnFunction + """ + user_bytes = user.SerializeToString() + bytes_ptr = self.__client.PutPushName( + user_bytes, len(user_bytes), pushname.encode() + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = ContactsPutPushNameReturnFunction.FromString(protobytes) + if model.Error: + raise ContactStoreError(model.Error) + return model + + def put_contact_name(self, user: JID, fullname: str, firstname: str): + """ + This method is used to update the contact name in the contact store. It takes the user's JID, + full name and first name as input parameters, + then calls the PutContactName method of the client with the user's JID, full name and first name. + If there is an error, it returns a ContactStoreError with the error message. + + :param user: The JID of the user whose contact name is to be updated + :type user: JID + :param fullname: The full name of the user + :type fullname: str + :param firstname: The first name of the user + :type firstname: str + :return: If there is an error, return a ContactStoreError with the error message, else None + :rtype: ContactStoreError or None + """ + user_bytes = user.SerializeToString() + err = self.__client.PutContactName( + self.uuid, + user_bytes, + len(user_bytes), + fullname.encode(), + firstname.encode(), + ).decode() + if err: + return ContactStoreError(err) + + def put_all_contact_name(self, contact_entry: List[ContactEntry]): + """ + This method serializes a list of ContactEntry objects and sends them to a + remote service using the client's PutAllContactNames method. If the service + returns an error, it raises a ContactStoreError with the error message. + + :param contact_entry: List of ContactEntry objects to be serialized and sent + :type contact_entry: List[ContactEntry] + :raises ContactStoreError: If the remote service returns an error message + """ + entry = ContactEntryArray(ContactEntry=contact_entry).SerializeToString() + err = self.__client.PutAllContactNames(self.uuid, entry, len(entry)).decode() + if err: + raise ContactStoreError(err) + + def get_contact(self, user: JID) -> ContactInfo: + """ + This method retrieves a user's contact information based on their JID (Jabber Identifier). + + :param user: The Jabber Identifier of the user whose contact information is to be retrieved. + :type user: JID + :raises ContactStoreError: If there is an error while retrieving the contact information. + :return: The contact information of the user. + :rtype: ContactInfo + """ + jid = user.SerializeToString() + bytes_ptr = self.__client.GetContact(self.uuid, jid, len(jid)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = ContactsGetContactReturnFunction.FromString(protobytes) + if model.Error: + raise ContactStoreError(model.Error) + return model.ContactInfo + + def get_all_contacts(self) -> RepeatedCompositeFieldContainer[Contact]: + """ + This function retrieves all contacts from the client. It deserializes the response + from the client, checks for any errors, and if there are no errors, returns the contacts. + + :raises ContactStoreError: If there is an error in the response from the client. + :return: A list of all contacts. + :rtype: RepeatedCompositeFieldContainer[Contact] + """ + bytes_ptr = self.__client.GetAllContacts(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.ContactsGetAllContactsReturnFunction.FromString( + protobytes + ) + if model.Error: + raise ContactStoreError(model.Error) + return model.Contact + + +class ChatSettingsStore: + def __init__(self, uuid: bytes) -> None: + """ + Initialize the ChatSettingsStore with a unique identifier. + + :param uuid: Unique identifier for the chat settings store. + :type uuid: bytes + """ + self.uuid = uuid + self.__client = gocode + + def put_muted_until(self, user: JID, until: timedelta): + """ + Mute a user until a specified time. + + :param user: The user to be muted. + :type user: JID + :param until: The duration until when the user will be muted. + :type until: timedelta + :raises PutMutedUntilError: If there is an error while muting the user. + """ + user_buf = user.SerializeToString() + return_ = self.__client.PutMutedUntil( + self.uuid, user_buf, len(user_buf), until.total_seconds() + ) + if return_: + raise PutMutedUntilError(return_.decode()) + + def put_pinned(self, user: JID, pinned: bool): + """ + Pin or unpin a user. + + :param user: The user to be pinned or unpinned. + :type user: JID + :param pinned: True if the user should be pinned, False otherwise. + :type pinned: bool + :raises PutPinnedError: If there is an error while pinning the user. + """ + user_buf = user.SerializeToString() + return_ = self.__client.PutPinned(self.uuid, user_buf, len(user_buf), pinned) + if return_: + raise PutPinnedError(return_.decode()) + + def put_archived(self, user: JID, archived: bool): + """ + Archive or unarchive a user. + + :param user: The user to be archived or unarchived. + :type user: JID + :param archived: True if the user should be archived, False otherwise. + :type archived: bool + :raises PutArchivedError: If there is an error while archiving the user. + """ + user_buf = user.SerializeToString() + return_ = self.__client.PutArchived( + self.uuid, user_buf, len(user_buf), archived + ) + if return_: + raise PutArchivedError(return_.decode()) + + def get_chat_settings(self, user: JID) -> LocalChatSettings: + """ + Retrieve the chat settings for a user. + + :param user: The user whose chat settings are to be retrieved. + :type user: JID + :raises GetChatSettingsError: If there is an error while retrieving the chat settings. + :return: The chat settings for the specified user. + :rtype: LocalChatSettings + """ + user_buf = user.SerializeToString() + bytes_ptr = self.__client.GetChatSettings(self.uuid, user_buf, len(user_buf)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + return_ = ReturnFunctionWithError.FromString(protobytes) + if return_.Error: + raise GetChatSettingsError(return_.Error) + return return_.LocalChatSettings class NewClient: def __init__( self, name: str, - qrCallback: Optional[Callable[[NewClient, bytes], None]] = None, - messageCallback: Optional[ - Callable[[NewClient, neonize_proto.Message], None] - ] = None, + jid: Optional[JID] = None, + props: Optional[DeviceProps] = None, uuid: Optional[str] = None, ): """Initializes a new client instance. :param name: The name or identifier for the new client. :type name: str + :param jid: Optional. The JID (Jabber Identifier) for the client. If not provided, first client is used. :param qrCallback: Optional. A callback function for handling QR code updates, defaults to None. :type qrCallback: Optional[Callable[[NewClient, bytes], None]], optional :param messageCallback: Optional. A callback function for handling incoming messages, defaults to None. @@ -88,123 +404,419 @@ def __init__( :type uuid: Optional[str], optional """ self.name = name - self.uuid = (uuid or name).encode() - self.qrCallback = qrCallback - self.messageCallback = messageCallback + self.device_props = props + self.jid = jid + self.uuid = (jid.User if jid else (uuid or name)).encode() self.__client = gocode + self.event = Event(self) + self.qr = self.event.qr + self.contact = ContactStore(self.uuid) + self.chat_settings = ChatSettingsStore(self.uuid) + self.connected = False + self.me = None + _log_.debug("πŸ”¨ Creating a NewClient instance") + + def __onLoginStatus(self, uuid: int, status: int): + print(status) - def __onLoginStatus(self, s: str): - print(s) + def __onQr(self, uuid: int, qr_protoaddr: int): + """ + This method triggers an event when a QR code is detected. - def __onQr(self, qr_protobytes): - if self.qrCallback: - self.qrCallback(self, ctypes.string_at(qr_protobytes)) + :param qr_protoaddr: The address of the QR code in memory. + :type qr_protoaddr: int + """ + self.event._qr(self, ctypes.string_at(qr_protoaddr)) - def __onMessage( - self, - message_protobytes: int, - message_size: int, - ): - """Handles incoming messages. + def _parse_mention( + self, text: Optional[str] = None, are_lids: bool = False + ) -> list[str]: + """ + This function parses a given text and returns a list of 'mentions' in the format of 'mention@s.whatsapp.net'. + A 'mention' is defined as a sequence of numbers (5 to 16 digits long) that is prefixed by '@' in the text. + + :param text: The text to be parsed for mentions, defaults to None + :type text: Optional[str], optional + :param are_lids: whether the mentions are lids defaults to False + :type are_lids: bool, optional + :return: A list of mentions in the format of 'mention@s.whatsapp.net' + :rtype: list[str] + """ + if text is None: + return [] + # Definitely need a better method + # WIP + server = "@s.whatsapp.net" if not are_lids else "@lid" + return [jid.group(1) + server for jid in re.finditer(r"@([0-9]{5,16}|0)", text)] + + def _parse_group_mention(self, text: Optional[str] = None) -> list[GroupMention]: + """ + This function parses a given text and returns a list of 'mentions' in the format of 'GroupMention(…' + A 'mention' is defined as a sequence of numbers (11 to 26 digits long) (might also include an hypen) that is prefixed by '@' and suffixed by @g.us in the text. - :param message_protobytes: The bytes representing the message. - :type message_protobytes: int - :param message_size: The size of the message in bytes. - :type message_size: int - :param message_source: The source of the message. - :type message_source: int - :param message_source_size: The size of the message source. - :type message_source_size: int + :param text: The text to be parsed for mentions, defaults to None + :type text: Optional[str], optional + :return: A list of mentions in the format of 'GroupMention(groupJID="group_id@g.us", groupSubject="group_name")' + :rtype: list[GroupMention] """ - if self.messageCallback: - bytes_data = ctypes.string_at(message_protobytes, message_size) - self.messageCallback(self, neonize_proto.Message.FromString(bytes_data)) + if text is None: + return [] + + gc_mentions = [] + for jid in re.finditer(r"@([0-9-]{11,26}|0)@g\.us", text): + try: + group = self.get_group_info(build_jid(jid.group(1), "g.us")) + except GetGroupInfoError: + continue + except Exception: + _log_.error(traceback.format_exc()) + continue + gc_mentions.append( + GroupMention( + groupJID=Jid2String(group.JID), groupSubject=group.GroupName.Name + ) + ) + + return gc_mentions + + def _generate_link_preview(self, text: str) -> ExtendedTextMessage | None: + youtube_url_pattern = re.compile( + r"(?:https?:)?//(?:www\.)?(?:youtube\.com/(?:[^/\n\s]+" + r"/\S+/|(?:v|e(?:mbed)?)/|\S*?[?&]v=)|youtu\.be/)([a-zA-Z0-9_-]{11})", + re.IGNORECASE, + ) + links = re.findall(r"https?://\S+", text) + valid_links = list(filter(validate_link, links)) + if valid_links: + preview = link_preview(valid_links[0]) + preview_type = ( + ExtendedTextMessage.PreviewType.VIDEO + if re.match(youtube_url_pattern, valid_links[0]) + else ExtendedTextMessage.PreviewType.NONE + ) + msg = ExtendedTextMessage( + title=str(preview.title), + description=str(preview.description), + matchedText=valid_links[0], + previewType=preview_type, + ) + if preview.absolute_image: + thumbnail = get_bytes_from_name_or_url(str(preview.absolute_image)) + mimetype = magic.from_buffer(thumbnail, mime=True) + if "jpeg" in mimetype or "png" in mimetype: + image = Image.open(BytesIO(thumbnail)) + upload = self.upload(thumbnail, MediaType.MediaLinkThumbnail) + msg.MergeFrom( + ExtendedTextMessage( + JPEGThumbnail=thumbnail, + thumbnailDirectPath=upload.DirectPath, + thumbnailSHA256=upload.FileSHA256, + thumbnailEncSHA256=upload.FileEncSHA256, + mediaKey=upload.MediaKey, + mediaKeyTimestamp=int(time.time()), + thumbnailWidth=image.size[0], + thumbnailHeight=image.size[1], + ) + ) + return msg + return None + + def _make_quoted_message( + self, message: neonize_proto.Message, reply_privately: bool = False + ) -> ContextInfo: + if not isinstance((msg := get_message_type(message.Message)), str): + try: + msg.contextInfo.Clear() + except Exception: + _log_.warning( + "@_make_quoted_message; Couldn't clear the contextInfo of:" + ) + _log_.warning(msg) + sender = message.Info.MessageSource.Sender + if jid_is_lid(sender): + senderalt = message.Info.MessageSource.SenderAlt + sender = senderalt if senderalt.ListFields() else sender + return ContextInfo( + stanzaID=message.Info.ID, + participant=Jid2String(JIDToNonAD(sender)), + quotedMessage=message.Message, + remoteJID=( + Jid2String(JIDToNonAD(message.Info.MessageSource.Chat)) + if reply_privately + else None + ), + ) def send_message( - self, to: JID, message: typing.Union[Message, str] - ) -> SendResponse: # edit commenct - """_summary_ + self, + to: JID, + message: typing.Union[Message, str], + link_preview: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """Send a message to the specified JID. - :param to: _description_ + :param to: The JID to send the message to. :type to: JID - :param message: _description_ + :param message: The message to send. :type message: typing.Union[Message, str] - :raises SendMessageError: _description_ - :return: _description_ + :param link_preview: Whether to send a link preview, defaults to False + :type link_preview: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :param add_msg_secret: Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :raises SendMessageError: If there was an error sending the message. + :return: The response from the server. :rtype: SendResponse """ to_bytes = to.SerializeToString() if isinstance(message, str): - message_bytes = Message(conversation=message).SerializeToString() + mentioned_groups = self._parse_group_mention(message) + mentioned_jid = self._parse_mention( + (ghost_mentions or message), mentions_are_lids + ) + partial_msg = ExtendedTextMessage( + text=message, + contextInfo=ContextInfo( + mentionedJID=mentioned_jid, groupMentions=mentioned_groups + ), + ) + if link_preview: + preview = self._generate_link_preview(message) + if preview: + partial_msg.MergeFrom(preview) + if partial_msg.previewType is None and not ( + mentioned_groups or mentioned_jid + ): + msg = Message(conversation=message) + else: + msg = Message(extendedTextMessage=partial_msg) else: - message_bytes = message.SerializeToString() - sendresponse = self.__client.SendMessage( + msg = message + if add_msg_secret: + msg.messageContextInfo.messageSecret = urandom(32) + message_bytes = msg.SerializeToString() + bytes_ptr = self.__client.SendMessage( self.uuid, to_bytes, len(to_bytes), message_bytes, len(message_bytes) - ).get_bytes() - model = SendMessageReturnFunction.FromString(sendresponse) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = SendMessageReturnFunction.FromString(protobytes) if model.Error: raise SendMessageError(model.Error) + model.SendResponse.MergeFrom(model.SendResponse.__class__(Message=msg)) return model.SendResponse + def build_reply_message( + self, + message: typing.Union[str, MessageWithContextInfo], + quoted: neonize_proto.Message, + link_preview: bool = False, + reply_privately: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + ) -> Message: + """Send a reply message to a specified JID. + + :param message: The message to be sent. Can be a string or a MessageWithContextInfo object. + :type message: typing.Union[str, MessageWithContextInfo] + :param quoted: The message to be quoted in the message being sent. + :type quoted: neonize_proto.Message + :param link_preview: If set to True, enables link previews in the message being sent. Defaults to False. + :type link_preview: bool, optional + :param reply_privately: If set to True, the message is sent as a private reply. Defaults to False. + :type reply_privately: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :return: Response of the send operation. + :rtype: SendResponse + """ + build_message = Message() + if isinstance(message, str): + partial_message = ExtendedTextMessage( + text=message, + contextInfo=ContextInfo( + mentionedJID=self._parse_mention( + (ghost_mentions or message), mentions_are_lids + ), + groupMentions=(self._parse_group_mention(message)), + ), + ) + if link_preview: + preview = self._generate_link_preview(message) + if preview is not None: + partial_message.MergeFrom(preview) + else: + partial_message = message + field_name = ( + partial_message.__class__.__name__[0].lower() + + partial_message.__class__.__name__[1:] + ) # type: ignore + partial_message.contextInfo.MergeFrom( + self._make_quoted_message(quoted, reply_privately) + ) + getattr(build_message, field_name).MergeFrom(partial_message) + return build_message + + def reply_message( + self, + message: typing.Union[str, MessageWithContextInfo], + quoted: neonize_proto.Message, + to: Optional[JID] = None, + link_preview: bool = False, + reply_privately: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """Send a reply message to a specified JID. + + :param message: The message to be sent. Can be a string or a MessageWithContextInfo object. + :type message: typing.Union[str, MessageWithContextInfo] + :param quoted: The message to be quoted in the message being sent. + :type quoted: neonize_proto.Message + :param to: The recipient of the message. If not specified, the message is sent to the default recipient. + :type to: Optional[JID], optional + :param link_preview: If set to True, enables link previews in the message being sent. Defaults to False. + :type link_preview: bool, optional + :param reply_privately: If set to True, the message is sent as a private reply. Defaults to False. + :type reply_privately: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :param add_msg_secret: If set to True generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: Response of the send operation. + :rtype: SendResponse + """ + if to is None: + if reply_privately: + sender = quoted.Info.MessageSource.Sender + if jid_is_lid(sender): + sender = quoted.Info.MessageSource.SenderAlt or sender + to = JIDToNonAD(sender) + else: + to = quoted.Info.MessageSource.Chat + return self.send_message( + to, + self.build_reply_message( + message=message, + quoted=quoted, + link_preview=link_preview, + reply_privately=reply_privately, + ghost_mentions=ghost_mentions, + mentions_are_lids=mentions_are_lids, + ), + link_preview, + add_msg_secret=add_msg_secret, + ) + def edit_message( self, chat: JID, message_id: str, new_message: Message ) -> SendResponse: - """_summary_ + """Edit a message. - :param chat: _description_ + :param chat: Chat ID :type chat: JID - :param message_id: _description_ + :param message_id: Message ID :type message_id: str - :param new_message: _description_ + :param new_message: New message :type new_message: Message - :return: _description_ + :return: Response from server :rtype: SendResponse """ return self.send_message(chat, build_edit(chat, message_id, new_message)) def revoke_message(self, chat: JID, sender: JID, message_id: str) -> SendResponse: - """_summary_ + """Revoke a message. - :param chat: _description_ + :param chat: Chat ID :type chat: JID - :param sender: _description_ + :param sender: Sender ID :type sender: JID - :param message_id: _description_ + :param message_id: Message ID :type message_id: str - :return: _description_ + :return: Response from server :rtype: SendResponse """ return self.send_message(chat, self.build_revoke(chat, sender, message_id)) def build_poll_vote_creation( - self, name: str, options: List[str], selectable_count: int + self, + name: str, + options: List[str], + selectable_count: VoteType, + quoted: Optional[neonize_proto.Message] = None, ) -> Message: + """Build a poll vote creation message. + + :param name: The name of the poll. + :type name: str + :param options: The options for the poll. + :type options: List[str] + :param selectable_count: The number of selectable options. + :type selectable_count: int + :param quoted: A message that the poll message is a reply to, defaults to None + :type quoted: Optional[neonize_proto.Message], optional + :return: The poll vote creation message. + :rtype: Message + """ options_buf = neonize_proto.ArrayString(data=options).SerializeToString() - return Message.FromString( - self.__client.BuildPollVoteCreation( - self.uuid, - name.encode(), - options_buf, - len(options_buf), - selectable_count, - ).get_bytes() + bytes_ptr = self.__client.BuildPollVoteCreation( + self.uuid, + name.encode(), + options_buf, + len(options_buf), + selectable_count.value, ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = BuildMessageReturnFunction.FromString(protobytes) + if model.Error: + raise BuildPollVoteCreationError(model.Error) + message = model.Message + + if quoted: + message.pollCreationMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message def build_poll_vote( self, poll_info: MessageInfo, option_names: List[str] ) -> Message: + """Builds a poll vote. + + :param poll_info: The information about the poll. + :type poll_info: MessageInfo + :param option_names: The names of the options to vote for. + :type option_names: List[str] + :return: The poll vote message. + :rtype: Message + :raises BuildPollVoteError: If there is an error building the poll vote. + """ option_names_proto = neonize_proto.ArrayString( data=option_names ).SerializeToString() poll_info_proto = poll_info.SerializeToString() - resp = self.__client.BuildPollVote( + bytes_ptr = self.__client.BuildPollVote( self.uuid, poll_info_proto, len(poll_info_proto), option_names_proto, len(option_names_proto), - ).get_bytes() - model = neonize_proto.BuildPollVoteReturnFunction.FromString(resp) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.BuildPollVoteReturnFunction.FromString(protobytes) if model.Error: raise BuildPollVoteError(model.Error) return model.PollVote @@ -212,19 +824,41 @@ def build_poll_vote( def build_reaction( self, chat: JID, sender: JID, message_id: str, reaction: str ) -> Message: + """ + This function builds a reaction message in a chat. It takes the chat and sender IDs, + the message ID to which the reaction is being made, and the reaction itself as input. + It then serializes the chat and sender IDs to strings, and calls the BuildReaction + function of the client with these serialized IDs, the message ID, and the reaction. + It finally returns the reaction message. + + :param chat: The ID of the chat in which the reaction is being made + :type chat: JID + :param sender: The ID of the sender making the reaction + :type sender: JID + :param message_id: The ID of the message to which the reaction is being made + :type message_id: str + :param reaction: The reaction being made + :type reaction: str + :return: The reaction message + :rtype: Message + """ sender_proto = sender.SerializeToString() chat_proto = chat.SerializeToString() - return Message.FromString( - self.__client.BuildReaction( - self.uuid, - chat_proto, - len(chat_proto), - sender_proto, - len(sender_proto), - message_id.encode(), - reaction.encode(), - ).get_bytes() + bytes_ptr = self.__client.BuildReaction( + self.uuid, + chat_proto, + len(chat_proto), + sender_proto, + len(sender_proto), + message_id.encode(), + reaction.encode(), ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + result = BuildMessageReturnFunction.FromString(protobytes) + if result.Error: + raise SendMessageError(result.Error) + return result.Message def build_revoke( self, chat: JID, sender: JID, message_id: str, with_go: bool = False @@ -243,84 +877,936 @@ def build_revoke( if with_go: chat_buf = chat.SerializeToString() sender_buf = sender.SerializeToString() - return Message.FromString( - self.__client.BuildRevoke( - self.uuid, - chat_buf, - len(chat_buf), - sender_buf, - len(sender_buf), - message_id.encode(), - ).get_bytes() + bytes_ptr = self.__client.BuildRevoke( + self.uuid, + chat_buf, + len(chat_buf), + sender_buf, + len(sender_buf), + message_id.encode(), ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + result = Message.FromString(protobytes) + return result else: return build_revoke(chat, sender, message_id, self.get_me().JID) - def send_sticker( + def build_sticker_message( self, - to: JID, - file_or_bytes: typing.Union[str, bytes], - quoted: Optional[Message] = None, - from_: Optional[MessageSource] = None, - ) -> SendMessageReturnFunction: - """Sends a sticker to the specified recipient. + file: typing.Union[str, bytes], + quoted: Optional[neonize_proto.Message] = None, + name: str = "", + packname: str = "", + crop: bool = False, + enforce_not_broken: bool = False, + animated_gif: bool = False, + passthrough: bool = False, + ) -> Message: + """ + This function builds a sticker message from a given image or video file. + The file is converted to a webp format and uploaded to a server. + The resulting URL and other metadata are used to construct the sticker message. - :param to: The JID (Jabber Identifier) of the recipient. - :type to: JID - :param file_or_bytes: Either a file path (str) or binary data (bytes) representing the sticker. - :type file_or_bytes: typing.Union[str | bytes] - :param quoted: Optional. The message to which the sticker is a reply. Defaults to None. - :type quoted: Optional[Message], optional - :param from_: Optional. The source information of the sender. Defaults to None. - :type from_: Optional[MessageSource], optional - :return: A function for handling the result of the sticker sending process. - :rtype: SendMessageReturnFunction - """ - if isinstance(file_or_bytes, str): - with open(file_or_bytes, "rb") as file: - image_buf = file.read() + :param file: The path to the image or video file or the file data in bytes + :type file: typing.Union[str, bytes] + :param quoted: A message that the sticker message is a reply to, defaults to None + :type quoted: Optional[neonize_proto.Message], optional + :param name: The name of the sticker, defaults to "" + :type name: str, optional + :param packname: The name of the sticker pack, defaults to "" + :type packname: str, optional + :param crop: Crop-center the image, defaults to False + :type crop: bool, optional + :param enforce_not_broken: Enforce non-broken stickers by constraining sticker size to WA limits, defaults to False + :type enforce_not_broken: bool, optional + :param animated_gif: Ensure transparent media are properly processed, defaults to False + :type animated_gif: bool, optional + :param passthrough: Don't process sticker, send as is, defaults to False. + :type passthrough: bool, optional + :return: The constructed sticker message + :rtype: Message + """ + sticker = get_bytes_from_name_or_url(file) + animated = is_webm = is_webp = is_image = saved_exif = False + mime = magic.from_buffer(sticker, mime=True) + if mime == "image/webp": + is_webp = True + io_save = BytesIO(sticker) + img = Image.open(io_save) + if len(ImageSequence.all_frames(img)) < 2: + is_image = True + elif mime == "video/webm": + is_webm = True + elif (mime := mime.split("/"))[0] == "image": + is_image = True + animated = not (is_image) + if not passthrough and not animated_gif and is_image: + io_save = BytesIO(sticker) + stk = auto_sticker(io_save) if crop else original_sticker(io_save) + io_save = BytesIO() + # io_save.seek(0) + elif not passthrough: + animated = True + sticker, saved_exif = convert_to_sticker( + sticker, name, packname, enforce_not_broken, animated_gif, is_webm + ) + if saved_exif: + io_save = BytesIO(sticker) + else: + stk = Image.open(BytesIO(sticker)) + io_save = BytesIO() else: - image_buf = file_or_bytes - io_save = BytesIO() - Image.open(BytesIO(image_buf)).convert("RGBA").resize((512, 512)).save( - io_save, format="webp" - ) - io_save.seek(0) - save = io_save.read() - upload = self.upload(save) + if not is_webp: + raise ConvertStickerError( + "File is not a webp, which is required for passthrough." + ) + if not (passthrough or saved_exif): + stk.save( + io_save, + format="webp", + exif=add_exif(name, packname), + save_all=True, + loop=0, + ) + upload = self.upload(io_save.getvalue()) message = Message( stickerMessage=StickerMessage( - url=upload.url, + URL=upload.url, directPath=upload.DirectPath, - fileEncSha256=upload.FileEncSHA256, + fileEncSHA256=upload.FileEncSHA256, fileLength=upload.FileLength, - fileSha256=upload.FileSHA256, + fileSHA256=upload.FileSHA256, mediaKey=upload.MediaKey, - mimetype=magic.from_buffer(save, mime=True), + mimetype=magic.from_buffer(io_save.getvalue(), mime=True), + isAnimated=animated, ) ) - if quoted and from_: + if quoted: message.stickerMessage.contextInfo.MergeFrom( - ContextInfo( - stanzaId=from_.ID, - participant=Jid2String(from_.Sender), - quotedMessage=message, - ) + self._make_quoted_message(quoted) ) + return message + + def send_sticker( + self, + to: JID, + file: typing.Union[str, bytes], + quoted: Optional[neonize_proto.Message] = None, + name: str = "", + packname: str = "", + crop: bool = False, + enforce_not_broken: bool = False, + animated_gif: bool = False, + passthrough: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """ + Send a sticker to a specific JID. + + :param to: The JID to send the sticker to. + :type to: JID + :param file: The file path of the sticker or the sticker data in bytes. + :type file: typing.Union[str, bytes] + :param quoted: The quoted message, if any, defaults to None. + :type quoted: Optional[neonize_proto.Message], optional + :param name: The name of the sticker, defaults to "". + :type name: str, optional + :param packname: The name of the sticker pack, defaults to "". + :type packname: str, optional + :param crop: Whether to crop-center the image, defaults to False + :type crop: bool, optional + :param enforce_not_broken: Whether to enforce non-broken stickers by constraining sticker size to WA limits, defaults to False + :type enforce_not_broken: bool, optional + :param animated_gif: Ensure transparent media are properly processed, defaults to False + :type animated_gif: bool, optional + :param passthrough: Don't process sticker, send as is, defaults to False. + :type passthrough: bool, optional + :param add_msg_secret: Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: The response from the send message function. + :rtype: SendResponse + """ return self.send_message( to, - message, + self.build_sticker_message( + file, + quoted, + name, + packname, + crop, + enforce_not_broken, + animated_gif, + passthrough, + ), + add_msg_secret=add_msg_secret, ) - def upload( - self, binary: bytes, media_type: Optional[MediaType] = None - ) -> UploadResponse: - """Uploads media content. + def _process_single_pack( + self, + stickers: List[List[bytes, bool]], + pack_name: str, + publisher: str = "", + quoted: Optional[neonize_proto.Message] = None, + ) -> Message: + """ + Helper function to process a single sticker pack chunk - :param binary: The binary data to be uploaded. - :type binary: bytes - :param media_type: Optional. The media type of the binary data, defaults to None. - :type media_type: Optional[MediaType], optional + """ + zip_dict = {} + # Upload all stickers concurrently + with ThreadPoolExecutor(max_workers=50) as executor: + futures = [ + executor.submit(self._upload_sticker, sticker, animated, zip_dict) + for sticker, animated in stickers + ] + sticker_metadata = [future.result() for future in futures] + + # Generate unique pack ID + sticker_id = f"{uuid4()}" + + tray_icon = f"{sticker_id}.png" + io_save = BytesIO() + img = Image.open(BytesIO(stickers[0][0])) + img = img.resize((252, 252)) + img.save( + io_save, + format="png", + save_all=False, + loop=0, + ) + cover = io_save.getvalue() + zip_dict.update({tray_icon: cover}) + file_size = 0 + for f in zip_dict.values(): + file_size += len(f) + + # Create zip archive + sticker_pack = prepare_zip_file_content(zip_dict) + thumbnail = self.upload(cover) + img_hash = ( + base64.b64encode(thumbnail.FileSHA256).decode("utf-8").replace("/", "-") + ) + upload = self.upload(sticker_pack, MediaType.MediaStickerPack) + + message = Message( + stickerPackMessage=StickerPackMessage( + stickerPackID=sticker_id, + name=pack_name, + publisher=publisher, + stickers=sticker_metadata, + # fileLength=upload.FileLength, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + fileEncSHA256=upload.FileEncSHA256, + mediaKey=upload.MediaKey, + directPath=upload.DirectPath, + mediaKeyTimestamp=int(time.time()), + trayIconFileName=tray_icon, + thumbnailDirectPath=thumbnail.DirectPath, + thumbnailSHA256=thumbnail.FileSHA256, + thumbnailEncSHA256=thumbnail.FileEncSHA256, + thumbnailHeight=252, + thumbnailWidth=252, + imageDataHash=img_hash, + stickerPackSize=file_size, + # stickerPackOrigin=StickerPackMessage.StickerPackOrigin.USER_CREATED, + stickerPackOrigin=StickerPackMessage.StickerPackOrigin.THIRD_PARTY, + ) + ) + if quoted: + message.stickerPackMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + def _upload_sticker( + self, sticker: bytes, animated: bool, zip_dict: dict + ) -> StickerPackMessage.Sticker: + upload = self.upload(sticker) + b64 = base64.b64encode(upload.FileSHA256) + file_name = b64.decode("ascii").replace("/", "-") + ".webp" + # b64 = base64.urlsafe_b64encode(upload.FileSHA256) + # file_name = b64.decode("ascii") + ".webp" + zip_dict.update({file_name: sticker}) + mimetype = magic.from_buffer(sticker, mime=True) + return StickerPackMessage.Sticker( + fileName=file_name, + isAnimated=animated, + accessibilityLabel="", + isLottie=False, + mimetype=mimetype, + ) + + def build_stickerpack_message( + self, + files: list, + quoted: Optional[neonize_proto.Message] = None, + packname: str = "Sticker pack", + publisher: str = "", + crop: bool = False, + animated_gif: bool = False, + passthrough: bool = False, + ) -> List[Message]: + p_func = partial( + convert_to_webp, + name=packname, + packname=publisher, + crop=crop, + passthrough=passthrough, + transparent=animated_gif, + ) + + def ensure_non_broken_packs(stickers): + return [sticker for sticker in stickers if len(sticker[0]) < 1000000] + + with ProcessPoolExecutor(max_workers=20) as executor: + stickers = list(executor.map(p_func, files)) + stickers = ensure_non_broken_packs( + stickers + ) # prevents broken packs by removing invalid stickers + CHUNK_SIZE = 60 + chunks = [ + stickers[i : i + CHUNK_SIZE] for i in range(0, len(stickers), CHUNK_SIZE) + ] + total = len(chunks) + + with ThreadPoolExecutor(max_workers=4) as executor: + futures = [] + for idx, chunk in enumerate(chunks): + suffix = f" ({idx + 1})" if total > 1 else "" + full_name = packname + suffix + futures.append( + executor.submit( + self._process_single_pack, + stickers=chunk, + pack_name=full_name, + publisher=publisher, + quoted=quoted, + ) + ) + return [future.result() for future in futures] + + def send_stickerpack( + self, + to: JID, + files: list, + quoted: Optional[neonize_proto.Message] = None, + packname: str = "Sticker pack", + publisher: str = "", + crop: bool = False, + animated_gif: bool = False, + passthrough: bool = False, + add_msg_secret: bool = False, + ) -> List[SendResponse]: + """ + Send a sticker pack to a specific JID. + + :param to: The JID to send the sticker to. + :type to: JID + :param files: A list of file paths of the stickers or a list of stickers data in bytes. + :type file: List[typing.Union[str, bytes]] + :param quoted: The quoted message, if any, defaults to None. + :type quoted: Optional[neonize_proto.Message], optional + :param packname: The name of the sticker pack, defaults to "Sticker pack". + :type packname: str, optional + :param publisher: The name of the publisher, defaults to "". + :type publisher: str, optional + :param crop: Whether to crop-center the image, defaults to False + :type crop: bool, optional + :param add_msg_secret: Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A list of response(s) from the send message function. + :rtype: List[SendResponse] + """ + responses = [] + msgs = self.build_stickerpack_message( + files, quoted, packname, publisher, crop, animated_gif, passthrough + ) + for msg in msgs: + response = self.send_message( + to, + msg, + add_msg_secret=add_msg_secret, + ) + responses.append(response) + return responses + + def build_video_message( + self, + file: str | bytes, + caption: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + viewonce: bool = False, + gifplayback: bool = False, + is_gif: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + ) -> Message: + """ + This function is used to build a video message. It uploads a video file, extracts necessary information, + and constructs a message with the given parameters. + + :param file: The file path or bytes of the video file to be uploaded. + :type file: str | bytes + :param caption: The caption to be added to the video message, defaults to None + :type caption: Optional[str], optional + :param quoted: A message that the video message is in response to, defaults to None + :type quoted: Optional[neonize_proto.Message], optional + :param viewonce: A flag indicating if the video message can be viewed only once, defaults to False + :type viewonce: bool, optional + :param gifplayback: Optional. Whether the video should be sent as gif. Defaults to False. + :type gifplayback: bool, optional + :param is_gif: Optional. Whether the video to be sent is a gif. Defaults to False. + :type is_gif: bool, optional + :return: A video message with the given parameters. + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :rtype: Message + """ + io = BytesIO(get_bytes_from_name_or_url(file)) + io.seek(0) + buff = io.read() + if is_gif: + with FFmpeg(file) as ffmpeg: + buff = file = ffmpeg.gif_to_mp4() + with FFmpeg(file) as ffmpeg: + duration = int(ffmpeg.extract_info().format.duration) + thumbnail = ffmpeg.extract_thumbnail() + upload = self.upload(buff) + message = Message( + videoMessage=VideoMessage( + URL=upload.url, + caption=caption, + gifPlayback=gifplayback, + seconds=duration, + directPath=upload.DirectPath, + fileEncSHA256=upload.FileEncSHA256, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + mediaKey=upload.MediaKey, + mimetype=magic.from_buffer(buff, mime=True), + JPEGThumbnail=thumbnail, + thumbnailDirectPath=upload.DirectPath, + thumbnailEncSHA256=upload.FileEncSHA256, + thumbnailSHA256=upload.FileSHA256, + viewOnce=viewonce, + contextInfo=ContextInfo( + mentionedJID=self._parse_mention( + (ghost_mentions or caption), mentions_are_lids + ), + groupMentions=(self._parse_group_mention(caption)), + ), + ) + ) + if quoted: + message.videoMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + def send_video( + self, + to: JID, + file: str | bytes, + caption: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + viewonce: bool = False, + gifplayback: bool = False, + is_gif: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """Sends a video to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param file: Either a file path (str), url (str) or binary data (bytes) representing the video. + :type file: typing.Union[str | bytes] + :param caption: Optional. The caption of the video. Defaults to None. + :type caption: Optional[str], optional + :param quoted: Optional. The message to which the video is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :param viewonce: Optional. Whether the video should be viewonce. Defaults to False. + :type viewonce: bool, optional + :param gifplayback: Optional. Whether the video should be sent as gif. Defaults to False. + :type gifplayback: bool, optional + :param is_gif: Optional. Whether the video to be sent is a gif. Defaults to False. + :type is_gif: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :param add_msg_secret: Optional. Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A function for handling the result of the video sending process. + :rtype: SendResponse + """ + return self.send_message( + to, + self.build_video_message( + file, + caption, + quoted, + viewonce, + gifplayback, + is_gif, + ghost_mentions, + mentions_are_lids, + ), + add_msg_secret=add_msg_secret, + ) + + def build_image_message( + self, + file: str | bytes, + caption: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + viewonce: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + ) -> Message: + """ + This function builds an image message. It takes a file (either a string or bytes), + an optional caption, an optional quoted message, and a boolean indicating whether + the message should be viewed once. It then uploads the image, generates a thumbnail, + and constructs the message with the given parameters and the information from the + uploaded image. + + :param file: The image file to be uploaded and sent, either as a string URL or bytes. + :type file: str | bytes + :param caption: The caption for the image message, defaults to None. + :type caption: Optional[str], optional + :param quoted: The message to be quoted in the image message, defaults to None. + :type quoted: Optional[neonize_proto.Message], optional + :param viewonce: Whether the image message should be viewable only once, defaults to False. + :type viewonce: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :return: The constructed image message. + :rtype: Message + """ + n_file = get_bytes_from_name_or_url(file) + img = Image.open(BytesIO(n_file)) + img.thumbnail(AspectRatioMethod(*img.size, res=200)) + thumbnail = BytesIO() + img_saveable = img if img.mode == "RGB" else img.convert("RGB") + img_saveable.save(thumbnail, format="jpeg") + upload = self.upload(n_file) + message = Message( + imageMessage=ImageMessage( + URL=upload.url, + caption=caption, + directPath=upload.DirectPath, + fileEncSHA256=upload.FileEncSHA256, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + mediaKey=upload.MediaKey, + mimetype=magic.from_buffer(n_file, mime=True), + JPEGThumbnail=thumbnail.getvalue(), + thumbnailDirectPath=upload.DirectPath, + thumbnailEncSHA256=upload.FileEncSHA256, + thumbnailSHA256=upload.FileSHA256, + viewOnce=viewonce, + contextInfo=ContextInfo( + mentionedJID=self._parse_mention( + (ghost_mentions or caption), mentions_are_lids + ), + groupMentions=(self._parse_group_mention(caption)), + ), + ) + ) + if quoted: + message.imageMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + def send_image( + self, + to: JID, + file: str | bytes, + caption: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + viewonce: bool = False, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """Sends an image to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param file: Either a file path (str), url (str) or binary data (bytes) representing the image. + :type file: typing.Union[str | bytes] + :param caption: Optional. The caption of the image. Defaults to None. + :type caption: Optional[str], optional + :param quoted: Optional. The message to which the image is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :param viewonce: Optional. Whether the image should be viewonce. Defaults to False. + :type viewonce: bool, optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :param add_msg_secret: Optional. Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A function for handling the result of the image sending process. + :rtype: SendResponse + """ + return self.send_message( + to, + self.build_image_message( + file, + caption, + quoted, + viewonce=viewonce, + ghost_mentions=ghost_mentions, + mentions_are_lids=mentions_are_lids, + ), + add_msg_secret=add_msg_secret, + ) + + def build_album_content( + self, + file: str | bytes, + media_type: str, + msg_association: MessageAssociation, + **kwargs, + ) -> Message: + build_message = ( + self.build_image_message + if media_type == "image" + else self.build_video_message + ) + msg = build_message(file, **kwargs) + msg.messageContextInfo.MergeFrom( + msg.messageContextInfo.__class__(messageAssociation=msg_association) + ) + return msg + + def send_album( + self, + to: JID, + files: list, + caption: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> List[SendResponse, List[SendResponse]]: + """Sends an album containing images, videos or both to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param files: A list containing either a file path (str), url (str) or binary data (bytes) representing the image/video. + :type file: List[typing.Union[str | bytes]] + :param caption: Optional. The caption of the first media in the album. Defaults to None. + :type caption: Optional[str], optional + :param quoted: Optional. The message to which the album is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param add_msg_secret: Optional. Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A function for handling the result of the album sending process. + :rtype: List[SendResponse, List[SendResponse]] + """ + image_count = video_count = 0 + medias = [] + for file in files: + file = get_bytes_from_name_or_url(file) + mime = magic.from_buffer(file, mime=True) + media_type = mime.split("/")[0] + if media_type == "image": + image_count += 1 + elif media_type == "video": + video_count += 1 + else: + _log_.warning( + f"File with mime_type: {mime} was wrongly passed to send_album_message, ignoring…" + ) + continue + medias.append((file, media_type)) + if not (image_count or video_count): + raise SendMessageError("No media found to send!") + elif len(medias) < 2: + raise SendMessageError("No enough media to send an album") + message = Message( + albumMessage=AlbumMessage( + expectedImageCount=image_count, + expectedVideoCount=video_count, + contextInfo=ContextInfo( + mentionedJID=self._parse_mention( + (ghost_mentions or caption), mentions_are_lids + ), + groupMentions=(self._parse_group_mention(caption)), + ), + ) + ) + if quoted: + message.albumMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + response = self.send_message(to, message, add_msg_secret=add_msg_secret) + msg_association = MessageAssociation( + associationType=MessageAssociation.AssociationType.MEDIA_ALBUM, + parentMessageKey=MessageKey( + remoteJID=Jid2String(to), + fromMe=True, + ID=response.ID, + ), + ) + with ThreadPoolExecutor(max_workers=25) as executor: + futures = [ + executor.submit( + self.build_album_content, + file, + media_type, + msg_association, + caption=caption, + quoted=quoted, + ghost_mentions=ghost_mentions, + mentions_are_lids=mentions_are_lids, + ) + for file, media_type in medias[:1] + ] + futures.extend( + [ + executor.submit( + self.build_album_content, + file, + media_type, + msg_association, + quoted=quoted, + ) + for file, media_type in medias[1:] + ] + ) + + messages = [fut.result() for fut in futures] + + with ThreadPoolExecutor(max_workers=25) as executor: + send_futures = [ + executor.submit( + self.send_message, to, msg, add_msg_secret=add_msg_secret + ) + for msg in messages + ] + responses = [fut.result() for fut in send_futures] + return [response, responses] + + def build_audio_message( + self, + file: str | bytes, + ptt: bool = False, + quoted: Optional[neonize_proto.Message] = None, + ) -> Message: + """ + This method builds an audio message from a given file or bytes. + + :param file: The audio file in string or bytes format to be converted into an audio message + :type file: str | bytes + :param ptt: A boolean indicating if the audio message is a 'push to talk' message, defaults to False + :type ptt: bool, optional + :param quoted: A message that the audio message may be replying to, defaults to None + :type quoted: Optional[neonize_proto.Message], optional + :return: The audio message built from the given parameters + :rtype: Message + """ + io = BytesIO(get_bytes_from_name_or_url(file)) + io.seek(0) + buff = io.read() + upload = self.upload(buff) + with FFmpeg(io.getvalue()) as ffmpeg: + duration = int(ffmpeg.extract_info().format.duration) + message = Message( + audioMessage=AudioMessage( + URL=upload.url, + seconds=duration, + directPath=upload.DirectPath, + fileEncSHA256=upload.FileEncSHA256, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + mediaKey=upload.MediaKey, + mimetype=magic.from_buffer(buff, mime=True), + PTT=ptt, + ) + ) + if quoted: + message.audioMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + def send_audio( + self, + to: JID, + file: str | bytes, + ptt: bool = False, + quoted: Optional[neonize_proto.Message] = None, + add_msg_secret: bool = False, + ) -> SendResponse: + """Sends an audio to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param file: Either a file path (str), url (str) or binary data (bytes) representing the audio. + :type file: typing.Union[str | bytes] + :param ptt: Optional. Whether the audio should be ptt. Defaults to False. + :type ptt: bool, optional + :param quoted: Optional. The message to which the audio is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :param add_msg_secret: Optional. Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A function for handling the result of the audio sending process. + :rtype: SendResponse + """ + + return self.send_message( + to, + self.build_audio_message(file, ptt, quoted), + add_msg_secret=add_msg_secret, + ) + + def build_document_message( + self, + file: str | bytes, + caption: Optional[str] = None, + title: Optional[str] = None, + filename: Optional[str] = None, + mimetype: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + ): + io = BytesIO(get_bytes_from_name_or_url(file)) + io.seek(0) + buff = io.read() + upload = self.upload(buff, MediaType.MediaDocument) + message = Message( + documentMessage=DocumentMessage( + URL=upload.url, + caption=caption, + directPath=upload.DirectPath, + fileEncSHA256=upload.FileEncSHA256, + fileLength=upload.FileLength, + fileSHA256=upload.FileSHA256, + mediaKey=upload.MediaKey, + mimetype=mimetype or magic.from_buffer(buff, mime=True), + title=title, + fileName=filename, + contextInfo=ContextInfo( + mentionedJID=self._parse_mention( + (ghost_mentions or caption), mentions_are_lids + ), + groupMentions=(self._parse_group_mention(caption)), + ), + ) + ) + if quoted: + message.documentMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return message + + def send_document( + self, + to: JID, + file: str | bytes, + caption: Optional[str] = None, + title: Optional[str] = None, + filename: Optional[str] = None, + mimetype: Optional[str] = None, + quoted: Optional[neonize_proto.Message] = None, + ghost_mentions: Optional[str] = None, + mentions_are_lids: bool = False, + add_msg_secret: bool = False, + ) -> SendResponse: + """Sends a document to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param file: Either a file path (str), url (str) or binary data (bytes) representing the document. + :type file: typing.Union[str | bytes] + :param caption: Optional. The caption of the document. Defaults to None. + :type caption: Optional[str], optional + :param title: Optional. The title of the document. Defaults to None. + :type title: Optional[str], optional + :param filename: Optional. The filename of the document. Defaults to None. + :type filename: Optional[str], optional + :param quoted: Optional. The message to which the document is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :param ghost_mentions: List of users to tag silently (Takes precedence over auto detected mentions) + :type ghost_mentions: str, optional + :param mentions_are_lids: whether mentions contained in message or ghost_mentions are lids, defaults to False. + :type mentions_are_lids: bool, optional + :param add_msg_secret: Optional. Whether to generate 32 random bytes for messageSecret inside MessageContextInfo before sending, defaults to False + :type add_msg_secret: bool, optional + :return: A function for handling the result of the document sending process. + :rtype: SendResponse + """ + return self.send_message( + to, + self.build_document_message( + file, + caption, + title, + filename, + mimetype, + quoted, + ghost_mentions, + mentions_are_lids, + ), + add_msg_secret=add_msg_secret, + ) + + def send_contact( + self, + to: JID, + contact_name: str, + contact_number: str, + quoted: Optional[neonize_proto.Message] = None, + ) -> SendResponse: + """Sends a contact to the specified recipient. + + :param to: The JID (Jabber Identifier) of the recipient. + :type to: JID + :param contact_name: The name of the contact. + :type contact_name: str + :param contact_number: The number of the contact. + :type contact_number: str + :param quoted: Optional. The message to which the contact is a reply. Defaults to None. + :type quoted: Optional[Message], optional + :return: A function for handling the result of the contact sending process. + :rtype: SendResponse + """ + message = Message( + contactMessage=ContactMessage( + displayName=contact_name, + vcard=gen_vcard(contact_name, contact_number), + ) + ) + if quoted: + message.contactMessage.contextInfo.MergeFrom( + self._make_quoted_message(quoted) + ) + return self.send_message(to, message) + + def upload( + self, binary: bytes, media_type: Optional[MediaType] = None + ) -> UploadResponse: + """Uploads media content. + + :param binary: The binary data to be uploaded. + :type binary: bytes + :param media_type: Optional. The media type of the binary data, defaults to None. + :type media_type: Optional[MediaType], optional :raises UploadError: Raised if there is an issue with the upload. :return: An UploadResponse containing information about the upload. :rtype: UploadResponse @@ -329,13 +1815,21 @@ def upload( mime = MediaType.from_magic(binary) else: mime = media_type - response = self.__client.Upload(self.uuid, binary, len(binary), mime.value) - upload_model = UploadReturnFunction.FromString(response.get_bytes()) + bytes_ptr = self.__client.Upload(self.uuid, binary, len(binary), mime.value) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + upload_model = UploadReturnFunction.FromString(protobytes) if upload_model.Error: raise UploadError(upload_model.Error) return upload_model.UploadResponse - def download( + @overload + def download_any(self, message: Message) -> bytes: ... + + @overload + def download_any(self, message: Message, path: str) -> NoneType: ... + + def download_any( self, message: Message, path: Optional[str] = None ) -> typing.Union[None, bytes]: """Downloads content from a message. @@ -349,17 +1843,71 @@ def download( :rtype: Union[None, bytes] """ msg_protobuf = message.SerializeToString() - media_buff = self.__client.Download( + bytes_ptr = self.__client.DownloadAny( self.uuid, msg_protobuf, len(msg_protobuf) - ).get_bytes() - media = DownloadReturnFunction.FromString(media_buff) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + media = DownloadReturnFunction.FromString(protobytes) if media.Error: - raise DownloadException(media.Error) + raise DownloadError(media.Error) if path: with open(path, "wb") as file: - file.write(media.binary) + file.write(media.Binary) else: return media.Binary + return None + + def download_media_with_path( + self, + direct_path: str, + enc_file_hash: bytes, + file_hash: bytes, + media_key: bytes, + file_length: int, + media_type: MediaType, + mms_type: MediaTypeToMMS, + ) -> bytes: + """ + Downloads media with the given parameters and path. The media is downloaded from the path specified. + + :param direct_path: The direct path to the media to be downloaded. + :type direct_path: str + :param enc_file_hash: The encrypted hash of the file. + :type enc_file_hash: bytes + :param file_hash: The hash of the file. + :type file_hash: bytes + :param media_key: The key of the media to be downloaded. + :type media_key: bytes + :param file_length: The length of the file to be downloaded. + :type file_length: int + :param media_type: The type of the media to be downloaded. + :type media_type: MediaType + :param mms_type: The type of the MMS to be downloaded. + :type mms_type: str + :raises DownloadError: If there is an error in the download process. + :return: The downloaded media in bytes. + :rtype: bytes + """ + bytes_ptr = self.__client.DownloadMediaWithPath( + self.uuid, + direct_path.encode(), + enc_file_hash, + len(enc_file_hash), + file_hash, + len(file_hash), + media_key, + len(media_key), + file_length, + media_type.value, + mms_type.value.encode(), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.DownloadReturnFunction.FromString(protobytes) + if model.Error: + raise DownloadError(model.Error) + return model.Binary def generate_message_id(self) -> str: """Generates a unique identifier for a message. @@ -388,21 +1936,24 @@ def send_chat_presence( self.uuid, jidbyte, len(jidbyte), state.value, media.value ).decode() - def is_on_whatsapp(self, numbers: List[str] = []) -> IsOnWhatsAppResponse: - """Check if the provided phone numbers are on WhatsApp. + def is_on_whatsapp(self, *numbers: str) -> Sequence[IsOnWhatsAppResponse]: + """ + This function checks if the provided phone numbers are registered with WhatsApp. - :param numbers: List of phone numbers to check. Defaults to []. - :type numbers: List[str], optional - :raises IsOnWhatsAppError: Raised if there is an error while checking. - :return: A response object containing information about WhatsApp presence. - :rtype: IsOnWhatsAppResponse + :param numbers: A series of phone numbers to be checked. + :type numbers: str + :raises IsOnWhatsAppError: If an error occurs while verifying the phone numbers. + :return: A list of responses, each indicating whether the corresponding number is registered with WhatsApp. + :rtype: Sequence[IsOnWhatsAppResponse] """ if numbers: numbers_buf = " ".join(numbers).encode() - response = self.__client.IsOnWhatsApp( + bytes_ptr = self.__client.IsOnWhatsApp( self.uuid, numbers_buf, len(numbers_buf) - ).get_bytes() - model = IsOnWhatsAppReturnFunction.FromString(response) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = IsOnWhatsAppReturnFunction.FromString(protobytes) if model.Error: raise IsOnWhatsAppError(model.Error) return model.IsOnWhatsAppResponse @@ -426,18 +1977,25 @@ def is_logged_in(self) -> bool: """ return self.__client.IsLoggedIn(self.uuid) - def get_user_info(self, jid: List[JID]) -> GetUserInfoSingleReturnFunction: - """Retrieve information for the provided JIDs. + def get_user_info( + self, *jid: JID + ) -> RepeatedCompositeFieldContainer[GetUserInfoSingleReturnFunction]: + """ + This function retrieves user information given a set of JID. It serializes the JID into a string, + gets the user information from the client, deserializes the returned information, checks for any errors, + and finally returns the user information. - :param jid: List of JIDs (Jabber IDs) for which to retrieve information. - :type jid: List[JID] - :raises GetUserInfoError: Raised if there is an error while retrieving user information. - :return: A function providing information for the specified JIDs. - :rtype: GetUserInfoSingleReturnFunction + :param jid: JID of the users to retrieve information from + :type jid: JID + :raises GetUserInfoError: If there is an error in the model returned by the client + :return: The user information for each JID + :rtype: RepeatedCompositeFieldContainer[GetUserInfoSingleReturnFunction] """ jidbuf = JIDArray(JIDS=jid).SerializeToString() - getUser = self.__client.GetUserInfo(self.uuid, jidbuf, len(jidbuf)).get_bytes() - model = GetUserInfoReturnFunction.FromString(getUser) + bytes_ptr = self.__client.GetUserInfo(self.uuid, jidbuf, len(jidbuf)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetUserInfoReturnFunction.FromString(protobytes) if model.Error: raise GetUserInfoError(model.Error) return model.UsersInfo @@ -452,20 +2010,31 @@ def get_group_info(self, jid: JID) -> GroupInfo: :rtype: GroupInfo """ jidbuf = jid.SerializeToString() - group_info_buf = self.__client.GetGroupInfo( + bytes_ptr = self.__client.GetGroupInfo( self.uuid, jidbuf, len(jidbuf), ) - model = GetGroupInfoReturnFunction.FromString(group_info_buf.get_bytes()) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetGroupInfoReturnFunction.FromString(protobytes) if model.Error: raise GetGroupInfoError(model.Error) return model.GroupInfo def get_group_info_from_link(self, code: str) -> GroupInfo: - model = GetGroupInfoReturnFunction.FromString( - self.__client.GetGroupInfoFromLink(self.uuid, code.encode()).get_bytes() - ) + """Retrieves group information from a given link. + + :param code: The link code. + :type code: str + :return: An object containing the group information. + :rtype: GroupInfo + :raises GetGroupInfoError: If there is an error retrieving the group information. + """ + bytes_ptr = self.__client.GetGroupInfoFromLink(self.uuid, code.encode()) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetGroupInfoReturnFunction.FromString(protobytes) if model.Error: raise GetGroupInfoError(model.Error) return model.GroupInfo @@ -473,19 +2042,36 @@ def get_group_info_from_link(self, code: str) -> GroupInfo: def get_group_info_from_invite( self, jid: JID, inviter: JID, code: str, expiration: int ) -> GroupInfo: + """Retrieves group information from an invite. + + :param jid: The JID (Jabber ID) of the group. + :type jid: JID + :param inviter: The JID of the user who sent the invite. + :type inviter: JID + :param code: The invite code. + :type code: str + :param expiration: The expiration time of the invite. + :type expiration: int + + :return: The group information. + :rtype: GroupInfo + + :raises GetGroupInfoError: If there is an error retrieving the group information. + """ jidbyte = jid.SerializeToString() inviterbyte = inviter.SerializeToString() - model = GetGroupInfoReturnFunction.FromString( - self.__client( - self.uuid, - jidbyte, - len(jidbyte), - inviterbyte, - len(inviterbyte), - code.encode(), - expiration, - ).get_bytes() + bytes_ptr = self.__client.GetGroupInfoFromInvite( + self.uuid, + jidbyte, + len(jidbyte), + inviterbyte, + len(inviterbyte), + code.encode(), + expiration, ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetGroupInfoReturnFunction.FromString(protobytes) if model.Error: raise GetGroupInfoError(model.Error) return model.GroupInfo @@ -518,14 +2104,94 @@ def set_group_photo(self, jid: JID, file_or_bytes: typing.Union[str, bytes]) -> """ data = get_bytes_from_name_or_url(file_or_bytes) jid_buf = jid.SerializeToString() - response = self.__client.SetGroupPhoto( + bytes_ptr = self.__client.SetGroupPhoto( self.uuid, jid_buf, len(jid_buf), data, len(data) ) - model = SetGroupPhotoReturnFunction.FromString(response.get_bytes()) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = SetGroupPhotoReturnFunction.FromString(protobytes) + if model.Error: + raise SetGroupPhotoError(model.Error) + return model.PictureID + + def set_profile_photo(self, file_or_bytes: typing.Union[str, bytes]) -> str: + """Sets profile photo. + + :param file_or_bytes: Either a file path (str) or binary data (bytes) representing the group photo. + :type file_or_bytes: typing.Union[str, bytes] + :raises SetGroupPhotoError: Raised if there is an issue setting the profile photo. + :return: A string indicating the result or an error status. + :rtype: str + """ + data = get_bytes_from_name_or_url(file_or_bytes) + bytes_ptr = self.__client.SetProfilePhoto(self.uuid, data, len(data)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = SetGroupPhotoReturnFunction.FromString(protobytes) if model.Error: raise SetGroupPhotoError(model.Error) return model.PictureID + def get_lid_from_pn(self, jid: JID) -> JID: + """Retrieves the matching lid from the supplied jid. + + :param jid: The JID (Jabber Identifier) (pn) of the target user. + :type jid: JID + :raises GetJIDFromStoreError: Raised if there is an issue getting the lid from the given jid. + :return: The lid (hidden user) matching the supplied jid. + :rtype: JID + """ + jid_buf = jid.SerializeToString() + bytes_ptr = self.__client.GetLIDFromPN(self.uuid, jid_buf, len(jid_buf)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetJIDFromStoreReturnFunction.FromString(protobytes) + if model.Error: + raise GetJIDFromStoreError(model.Error) + return model.Jid + + def get_pn_from_lid(self, jid: JID) -> JID: + """Retrieves the matching jid from the supplied lid. + + :param jid: The JID (Jabber Identifier) (lid) of the target user. + :type jid: JID + :raises GetJIDFromStoreError: Raised if there is an issue getting the jid from the given lid. + :return: The jid (phone number) matching the supplied lid. + :rtype: JID + """ + jid_buf = jid.SerializeToString() + bytes_ptr = self.__client.GetPNFromLID(self.uuid, jid_buf, len(jid_buf)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetJIDFromStoreReturnFunction.FromString(protobytes) + if model.Error: + raise GetJIDFromStoreError(model.Error) + return model.Jid + + def pin_message( + self, chat_jid: JID, sender_jid: JID, message_id: str, seconds: int + ): + """ + Currently Non-functional + """ + chat_buf = chat_jid.SerializeToString() + sender_buf = sender_jid.SerializeToString() + bytes_ptr = self.__client.PinMessage( + self.uuid, + chat_buf, + len(chat_buf), + sender_buf, + len(sender_buf), + message_id.encode(), + seconds, + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = SendMessageReturnFunction.FromString(protobytes) + if model.Error: + raise SendMessageError(model.Error) + return model.SendResponse + def leave_group(self, jid: JID) -> str: """Leaves a group. @@ -549,16 +2215,18 @@ def get_group_invite_link(self, jid: JID, revoke: bool = False) -> str: :rtype: str """ jid_buf = jid.SerializeToString() - response = self.__client.GetGroupInviteLink( + bytes_ptr = self.__client.GetGroupInviteLink( self.uuid, jid_buf, len(jid_buf), revoke - ).get_bytes() - model = GetGroupInviteLinkReturnFunction.FromString(response) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetGroupInviteLinkReturnFunction.FromString(protobytes) if model.Error: raise GetGroupInviteLinkError(model.Error) return model.InviteLink def join_group_with_link(self, code: str) -> JID: - """Joins a group using an invite link. + """Join a group using an invite link. :param code: The invite code or link for joining the group. :type code: str @@ -566,20 +2234,545 @@ def join_group_with_link(self, code: str) -> JID: :return: The JID (Jabber Identifier) of the joined group. :rtype: JID """ - resp = self.__client.JoinGroupWithLink(self.uuid, code.encode()).get_bytes() - model = JoinGroupWithLinkReturnFunction.FromString(resp) + bytes_ptr = self.__client.JoinGroupWithLink(self.uuid, code.encode()) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = JoinGroupWithLinkReturnFunction.FromString(protobytes) if model.Error: raise InviteLinkError(model.Error) return model.Jid - def create_group( - self, - name: str, - participants: List[JID] = [], + def join_group_with_invite( + self, jid: JID, inviter: JID, code: str, expiration: int + ): + """ + This function allows a user to join a group in a chat application using an invite. + It uses the JID (Jabber ID) of the group, the JID of the inviter, an invitation code, and an expiration time for the code. + + :param jid: The JID of the group to join. + :type jid: JID + :param inviter: The JID of the person who sent the invite. + :type inviter: JID + :param code: The invitation code. + :type code: str + :param expiration: The expiration time of the invitation code. + :type expiration: int + :raises JoinGroupWithInviteError: If there is an error in joining the group, such as an invalid code or expired invitation. + """ + jidbytes = jid.SerializeToString() + inviterbytes = inviter.SerializeToString() + err = self.__client.JoinGroupWithInvite( + self.uuid, + jidbytes, + len(jidbytes), + inviterbytes, + len(inviterbytes), + code.encode(), + expiration, + ).decode() + if err: + raise JoinGroupWithInviteError(err) + + def link_group(self, parent: JID, child: JID): + """ + Links a child group to a parent group. + + :param parent: The JID of the parent group + :type parent: JID + :param child: The JID of the child group + :type child: JID + :raises LinkGroupError: If there is an error while linking the groups + """ + parent_bytes = parent.SerializeToString() + child_bytes = child.SerializeToString() + err = self.__client.LinkGroup( + self.uuid, parent_bytes, len(parent_bytes), child_bytes, len(child_bytes) + ).decode() + if err: + raise LinkGroupError(err) + + def logout(self): + err = self.__client.Logout(self.uuid).decode() + if err: + raise LogoutError(err) + + def mark_read( + self, + *message_ids: str, + chat: JID, + sender: JID, + receipt: ReceiptType, + timestamp: Optional[int] = None, + ): + """Marks the specified messages as read. + + :param message_ids: Identifiers of the messages to mark as read. + :type message_ids: str + :param chat: The JID of the chat. + :type chat: JID + :param sender: The JID of the sender. + :type sender: JID + :param receipt: The type of receipt indicating the message status. + :type receipt: ReceiptType + :param timestamp: The timestamp of the read action, defaults to None. + :type timestamp: Optional[int], optional + :raises MarkReadError: If there is an error marking messages as read. + """ + chat_proto = chat.SerializeToString() + sender_proto = sender.SerializeToString() + timestamp_args = int(time.time()) if timestamp is None else timestamp + err = self.__client.MarkRead( + self.uuid, + " ".join(message_ids).encode(), + timestamp_args, + chat_proto, + len(chat_proto), + sender_proto, + len(sender_proto), + receipt.value, + ) + if err: + raise MarkReadError(err.decode()) + + def newsletter_mark_viewed( + self, jid: JID, message_server_ids: List[MessageServerID] + ): + """ + Marks the specified newsletters as viewed by the user with the given JID. + + :param jid: The JID (Jabber ID) of the user who has viewed the newsletters. + :type jid: JID + :param message_server_ids: List of server IDs of the newsletters that have been viewed. + :type message_server_ids: List[MessageServerID] + :raises NewsletterMarkViewedError: If an error occurs while marking the newsletters as viewed. + """ + servers = struct.pack(f"{len(message_server_ids)}b", *message_server_ids) + jid_proto = jid.SerializeToString() + err = self.__client.NewsletterMarkViewed( + self.uuid, jid_proto, len(jid_proto), servers, len(servers) + ) + if err: + raise NewsletterMarkViewedError(err) + + def newsletter_send_reaction( + self, + jid: JID, + message_server_id: MessageServerID, + reaction: str, + message_id: str, + ): + """ + Sends a reaction to a newsletter. + + :param jid: The unique identifier for the recipient of the newsletter. + :type jid: JID + :param message_server_id: The unique identifier for the server where the message is stored. + :type message_server_id: MessageServerID + :param reaction: The reaction to be sent. + :type reaction: str + :param message_id: The unique identifier for the message to which the reaction is being sent. + :type message_id: str + :raises NewsletterSendReactionError: If an error occurs while sending the reaction. + """ + jid_proto = jid.SerializeToString() + err = self.__client.NewsletterSendReaction( + self.uuid, + jid_proto, + len(jid_proto), + message_server_id, + reaction.encode(), + message_id.encode(), + ) + if err: + raise NewsletterSendReactionError(err) + return + + def newsletter_subscribe_live_updates(self, jid: JID) -> int: + """Subscribes a user to live updates of a newsletter. + + :param jid: The unique identifier of the user subscribing to the newsletter. + :type jid: JID + :raises NewsletterSubscribeLiveUpdatesError: If there is an error during the subscription process. + :return: The duration for which the subscription is valid. + :rtype: int + """ + jid_proto = jid.SerializeToString() + bytes_ptr = self.__client.NewsletterSubscribeLiveUpdates( + self.uuid, jid_proto, len(jid_proto) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.NewsletterSubscribeLiveUpdatesReturnFunction.FromString( + protobytes + ) + if model.Error: + raise NewsletterSubscribeLiveUpdatesError(model.Error) + return model.Duration + + def newsletter_toggle_mute(self, jid: JID, mute: bool): + """Toggle the mute status of a given JID. + + :param jid: The JID (Jabber Identifier) of the user. + :type jid: JID + :param mute: The desired mute status. If True, the user will be muted. If False, the user will be unmuted. + :type mute: bool + :raises NewsletterToggleMuteError: If there is an error while toggling the mute status. + """ + jid_proto = jid.SerializeToString() + err = self.__client.NewsletterToggleMute( + self.uuid, jid_proto, len(jid_proto), mute + ).decode() + if err: + raise NewsletterToggleMuteError(err) + + def resolve_business_message_link( + self, code: str + ) -> neonize_proto.BusinessMessageLinkTarget: + """Resolves the target of a business message link. + + :param code: The code of the business message link to be resolved. + :type code: str + :raises ResolveContactQRLinkError: If an error occurs while resolving the link. + :return: The target of the business message link. + :rtype: neonize_proto.BusinessMessageLinkTarget + """ + bytes_ptr = self.__client.ResolveBusinessMessageLink(self.uuid, code.encode()) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.ResolveBusinessMessageLinkReturnFunction.FromString( + protobytes + ) + if model.Error: + raise ResolveContactQRLinkError(model.Error) + return model.MessageLinkTarget + + def resolve_contact_qr_link(self, code: str) -> neonize_proto.ContactQRLinkTarget: + """Resolves a QR link for a specific contact. + + :param code: The QR code to be resolved. + :type code: str + :raises ResolveContactQRLinkError: If an error occurs while resolving the QR link. + :return: The target contact of the QR link. + :rtype: neonize_proto.ContactQRLinkTarget + """ + bytes_ptr = self.__client.ResolveContactQRLink(self.uuid, code.encode()) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.ResolveContactQRLinkReturnFunction.FromString(protobytes) + if model.Error: + raise ResolveContactQRLinkError(model.Error) + return model.ContactQrLink + + def send_app_state(self, patch_info: neonize_proto.PatchInfo): + """ + This function serializes the application state and sends it to the client. If there's an error during this process, + it raises a SendAppStateError exception. + + :param patch_info: Contains the information about the application state that needs to be patched. + :type patch_info: neonize_proto.PatchInfo + :raises SendAppStateError: If there's an error while sending the application state, this exception is raised. + """ + patch = patch_info.SerializeToString() + err = self.__client.SendAppState(self.uuid, patch, len(patch)).decode() + if err: + raise SendAppStateError(err) + + def set_default_disappearing_timer(self, timer: typing.Union[timedelta, int]): + """ + Sets a default disappearing timer for messages. The timer can be specified as a timedelta or an integer. + If a timedelta is provided, it is converted to nanoseconds. If an integer is provided, it is used directly as the timer. + + :param timer: The duration for messages to exist before disappearing. Can be a timedelta or an integer. + :type timer: typing.Union[timedelta, int] + :raises SetDefaultDisappearingTimerError: If an error occurs while setting the disappearing timer. + """ + timestamp = 0 + if isinstance(timer, timedelta): + timestamp = int(timer.total_seconds() * 1000**3) + else: + timestamp = timer + err = self.__client.SetDefaultDisappearingTimer(self.uuid, timestamp).decode() + if err: + raise SetDefaultDisappearingTimerError(err) + + def set_disappearing_timer( + self, + jid: JID, + timer: typing.Union[timedelta, int], + setting_ts: Optional[timedelta] = None, + ): + """ + Set a disappearing timer for a specific JID. The timer can be set as either a timedelta object or an integer. + If a timedelta object is provided, it's converted into nanoseconds. If an integer is provided, it's interpreted as nanoseconds. + + :param jid: The JID for which the disappearing timer is to be set + :type jid: JID + :param timer: The duration for the disappearing timer. Can be a timedelta object or an integer representing nanoseconds. + :type timer: typing.Union[timedelta, int] + :raises SetDisappearingTimerError: If there is an error in setting the disappearing timer + """ + timestamp = 0 + jid_proto = jid.SerializeToString() + if isinstance(timer, timedelta): + timestamp = int(timer.total_seconds() * 1000) + else: + timestamp = timer + setting_ts_ms = 0 + if setting_ts: + setting_ts_ms = int(time.time() + setting_ts.total_seconds() * 1000) + err = self.__client.SetDisappearingTimer( + self.uuid, jid_proto, len(jid_proto), timestamp, setting_ts_ms + ).decode() + if err: + raise SetDisappearingTimerError(err) + + def set_force_activate_delivery_receipts(self, active: bool): + """ + This method is used to forcibly activate or deactivate the delivery receipts for a client. + + :param active: This parameter determines whether the delivery receipts should be forcibly activated or deactivated. If it's True, the delivery receipts will be forcibly activated, otherwise, they will be deactivated. + :type active: bool + """ + self.__client.SetForceActiveDeliveryReceipts(self.uuid, active) + + def set_group_announce(self, jid: JID, announce: bool): + """ + Sets the announcement status of a group. + + :param jid: The unique identifier of the group + :type jid: JID + :param announce: The announcement status to be set. If True, announcements are enabled. If False, they are disabled. + :type announce: bool + :raises SetGroupAnnounceError: If there is an error while setting the announcement status + """ + jid_proto = jid.SerializeToString() + err = self.__client.SetGroupAnnounce( + self.uuid, jid_proto, len(jid_proto), announce + ).decode() + if err: + raise SetGroupAnnounceError(err) + + def set_group_locked(self, jid: JID, locked: bool): + """ + Sets the locked status of a group identified by the given JID. + + :param jid: The JID (Jabber ID) of the group to be locked/unlocked. + :type jid: JID + :param locked: The new locked status of the group. True to lock the group, False to unlock. + :type locked: bool + :raises SetGroupLockedError: If the operation fails, an error with the reason for the failure is raised. + """ + jid_proto = jid.SerializeToString() + err = self.__client.SetGroupLocked( + self.uuid, jid_proto, len(jid_proto), locked + ).decode() + if err: + raise SetGroupLockedError(err) + + def set_group_topic(self, jid: JID, previous_id: str, new_id: str, topic: str): + """ + Set the topic of a group in a chat application. + + :param jid: The unique identifier of the group + :type jid: JID + :param previous_id: The previous identifier of the topic + :type previous_id: str + :param new_id: The new identifier for the topic + :type new_id: str + :param topic: The new topic to be set + :type topic: str + :raises SetGroupTopicError: If there is an error setting the group topic + """ + jid_proto = jid.SerializeToString() + err = self.__client.SetGroupTopic( + self.uuid, + jid_proto, + len(jid_proto), + previous_id.encode(), + new_id.encode(), + topic.encode(), + ).decode() + if err: + raise SetGroupTopicError(err) + + def set_privacy_setting(self, name: PrivacySettingType, value: PrivacySetting): + """ + This method is used to set the privacy settings of a user. + + :param name: The name of the privacy setting to be changed. + :type name: PrivacySettingType + :param value: The new value for the privacy setting. + :type value: PrivacySetting + :raises SetPrivacySettingError: If there is an error while setting the privacy setting. + """ + err = self.__client.SetPrivacySetting( + self.uuid, name.value.encode(), value.value.encode() + ).decode() + if err: + raise SetPrivacySettingError(err) + + def set_passive(self, passive: bool): + """ + Sets the passive mode of the client. + + :param passive: If True, sets the client to passive mode. If False, sets the client to active mode. + :type passive: bool + :raises SetPassiveError: If an error occurs while setting the client to passive mode. + """ + err = self.__client.SetPassive(self.uuid, passive) + if err: + raise SetPassiveError(err) + + def set_status_message(self, msg: str): + """ + Sets a status message for a client using the client's UUID. + + :param msg: The status message to be set. + :type msg: str + :raises SetStatusMessageError: If there is an error while setting the status message. + """ + err = self.__client.SetStatusMessage(self.uuid, msg.encode()).decode() + if err: + raise SetStatusMessageError(err) + + def subscribe_presence(self, jid: JID): + """ + This method is used to subscribe to the presence of a certain JID (Jabber ID). + + :param jid: The Jabber ID (JID) that we want to subscribe to. + :type jid: JID + :raises SubscribePresenceError: If there is an error while subscribing to the presence of the JID. + """ + jid_proto = jid.SerializeToString() + err = self.__client.SubscribePresence( + self.uuid, jid_proto, len(jid_proto) + ).decode() + if err: + raise SubscribePresenceError(err) + + def unfollow_newsletter(self, jid: JID): + """ + Unfollows a newsletter by providing the JID (Jabber ID) of the newsletter. + + :param jid: The Jabber ID of the newsletter to unfollow. + :type jid: JID + :raises UnfollowNewsletterError: If there is an error while attempting to unfollow the newsletter. + """ + jid_proto = jid.SerializeToString() + err = self.__client.UnfollowNewsletter( + self.uuid, jid_proto, len(jid_proto) + ).decode() + if err: + raise UnfollowNewsletterError(err) + + def unlink_group(self, parent: JID, child: JID): + """ + This method is used to unlink a child group from a parent group. + + :param parent: The JID of the parent group from which the child group is to be unlinked. + :type parent: JID + :param child: The JID of the child group which is to be unlinked from the parent group. + :type child: JID + :raises UnlinkGroupError: If there is an error while unlinking the child group from the parent group. + """ + parent_proto = parent.SerializeToString() + child_proto = child.SerializeToString() + err = self.__client.UnlinkGroup( + self.uuid, parent_proto, len(parent_proto), child_proto, len(child_proto) + ).decode() + if err: + raise UnlinkGroupError(err) + + def update_blocklist(self, jid: JID, action: BlocklistAction) -> Blocklist: + """ + Function to update the blocklist with a given action on a specific JID. + + :param jid: The Jabber ID (JID) of the user to be blocked or unblocked. + :type jid: JID + :param action: The action to be performed (block or unblock) on the JID. + :type action: BlocklistAction + :raises UpdateBlocklistError: If there is an error while updating the blocklist. + :return: The updated blocklist. + :rtype: Blocklist + """ + jid_proto = jid.SerializeToString() + bytes_ptr = self.__client.UpdateBlocklist( + self.uuid, jid_proto, len(jid_proto), action.value.encode() + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetBlocklistReturnFunction.FromString(protobytes) + if model.Error: + raise UpdateBlocklistError(model.Error) + return model.Blocklist + + def update_group_participants( + self, jid: JID, participants_changes: List[JID], action: ParticipantChange + ) -> RepeatedCompositeFieldContainer[GroupParticipant]: + """ + This method is used to update the list of participants in a group. + It takes in the group's JID, a list of participant changes, and an action to perform. + + :param jid: The JID (Jabber ID) of the group to update. + :type jid: JID + :param participants_changes: A list of JIDs representing the participants to be added or removed. + :type participants_changes: List[JID] + :param action: The action to perform (add, remove, promote or demote participants). + :type action: ParticipantChange + :raises UpdateGroupParticipantsError: This error is raised if there is a problem updating the group participants. + :return: A list of the updated group participants. + :rtype: RepeatedCompositeFieldContainer[GroupParticipant] + """ + jid_proto = jid.SerializeToString() + jids_proto = neonize_proto.JIDArray( + JIDS=participants_changes + ).SerializeToString() + bytes_ptr = self.__client.UpdateGroupParticipants( + self.uuid, + jid_proto, + len(jid_proto), + jids_proto, + len(jids_proto), + action.value.encode(), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.UpdateGroupParticipantsReturnFunction.FromString( + protobytes + ) + if model.Error: + raise UpdateGroupParticipantsError(model.Error) + return model.participants + + def upload_newsletter(self, data: bytes, media_type: MediaType) -> UploadResponse: + """Uploads the newsletter to the server. + + :param data: The newsletter content in bytes. + :type data: bytes + :param media_type: The type of media being uploaded. + :type media_type: MediaType + :raises UploadError: If there is an error during the upload process. + :return: The response from the server after the upload. + :rtype: UploadResponse + """ + bytes_ptr = self.__client.UploadNewsletter( + self.uuid, data, len(data), media_type.value + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = UploadReturnFunction.FromString(protobytes) + if model.Error: + raise UploadError(model.Error) + return model.UploadResponse + + def create_group( + self, + name: str, + participants: List[JID] = [], linked_parent: Optional[GroupLinkedParent] = None, group_parent: Optional[GroupParent] = None, ) -> GroupInfo: - """Creates a new group. + """Create a new group. :param name: The name of the new group. :type name: str @@ -596,119 +2789,665 @@ def create_group( name=name, Participants=participants, CreateKey=self.generate_message_id() ) if linked_parent: - group_info.GroupLinkedParent = linked_parent + group_info.GroupLinkedParent.MergeFrom(linked_parent) if group_parent: - group_info.GroupParent = group_parent + group_info.GroupParent.MergeFrom(group_parent) group_info_buf = group_info.SerializeToString() - resp = self.__client.CreateGroup(self.uuid, group_info_buf, len(group_info_buf)) - model = GetGroupInfoReturnFunction.FromString(resp.get_bytes()) + bytes_ptr = self.__client.CreateGroup( + self.uuid, group_info_buf, len(group_info_buf) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = GetGroupInfoReturnFunction.FromString(protobytes) if model.Error: - return CreateGroupError(model.Error) + raise CreateGroupError(model.Error) return model.GroupInfo - def get_group_request_participants(self, jid: JID) -> List[JID]: + def get_group_request_participants( + self, jid: JID + ) -> RepeatedCompositeFieldContainer[GroupParticipantRequest]: + """Get the participants of a group request. + + :param jid: The JID of the group request. + :type jid: JID + :return: A list of JIDs representing the participants of the group request. + :rtype: RepeatedCompositeFieldContainer[JID] + """ jidbyte = jid.SerializeToString() + bytes_ptr = self.__client.GetGroupRequestParticipants( + self.uuid, jidbyte, len(jidbyte) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) model = neonize_proto.GetGroupRequestParticipantsReturnFunction.FromString( - self.__client.GetGroupRequestParticipants( - self.uuid, jidbyte, len(jidbyte) - ).get_bytes() + protobytes ) if model.Error: raise GetGroupRequestParticipantsError(model.Error) return model.Participants - def get_joined_groups(self) -> List[GroupInfo]: - model = neonize_proto.GetJoinedGroupsReturnFunction.FromString( - self.__client.GetJoinedGroups(self.uuid).get_bytes() - ) + def get_joined_groups(self) -> RepeatedCompositeFieldContainer[GroupInfo]: + """Get the joined groups for the current user. + + :return: A list of :class:`GroupInfo` objects representing the joined groups. + :rtype: RepeatedCompositeFieldContainer[GroupInfo] + + :raises GetJoinedGroupsError: If there was an error retrieving the joined groups. + """ + bytes_ptr = self.__client.GetJoinedGroups(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetJoinedGroupsReturnFunction.FromString(protobytes) if model.Error: raise GetJoinedGroupsError(model.Error) return model.Group def create_newsletter( self, name: str, description: str, picture: typing.Union[str, bytes] - ) -> neonize_proto.NewsletterMetadata: + ) -> NewsletterMetadata: + """Create a newsletter with the given name, description, and picture. + + :param name: The name of the newsletter. + :type name: str + :param description: The description of the newsletter. + :type description: str + :param picture: The picture of the newsletter. It can be either a URL or bytes. + :type picture: Union[str, bytes] + :return: The metadata of the created newsletter. + :rtype: NewsletterMetadata + :raises CreateNewsletterError: If there is an error creating the newsletter. + """ protobuf = neonize_proto.CreateNewsletterParams( Name=name, Description=description, Picture=get_bytes_from_name_or_url(picture), ).SerializeToString() - model = neonize_proto.CreateNewsLetterReturnFunction.FromString( - self.__client.CreateNewsletter( - self.uuid, protobuf, len(protobuf) - ).get_bytes() - ) + bytes_ptr = self.__client.CreateNewsletter(self.uuid, protobuf, len(protobuf)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.CreateNewsLetterReturnFunction.FromString(protobytes) if model.Error: raise CreateNewsletterError(model.Error) return model.NewsletterMetadata def follow_newsletter(self, jid: JID): + """Follows a newsletter with the given JID. + + :param jid: The JID of the newsletter to follow. + :type jid: JID + :return: None + :rtype: None + :raises FollowNewsletterError: If there is an error following the newsletter. + """ + jidbyte = jid.SerializeToString() err = self.__client.FollowNewsletter(self.uuid, jidbyte, len(jidbyte)).decode() if err: raise FollowNewsletterError(err) - return err - def get_newsletter_info_with_invite( - self, key: str - ) -> neonize_proto.NewsletterMetadata: - model = neonize_proto.CreateNewsLetterReturnFunction.FromString( - self.__client.GetNewsletterInfoWithInvite( - self.uuid, key.encode() - ).get_bytes() - ) + def get_newsletter_info_with_invite(self, key: str) -> NewsletterMetadata: + """Retrieves the newsletter information with an invite using the provided key. + + :param key: The key used to identify the newsletter. + :type key: str + :return: The newsletter metadata. + :rtype: NewsletterMetadata + :raises GetNewsletterInfoWithInviteError: If there is an error retrieving the newsletter information. + """ + bytes_ptr = self.__client.GetNewsletterInfoWithInvite(self.uuid, key.encode()) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.CreateNewsLetterReturnFunction.FromString(protobytes) if model.Error: raise GetNewsletterInfoWithInviteError(model.Error) return model.NewsletterMetadata - def get_blocklist(self) -> neonize_proto.Blocklist: - model = neonize_proto.GetBlocklistReturnFunction.FromString( - self.__client.GetBlocklist(self.uuid).get_bytes() + def get_newsletter_message_update( + self, jid: JID, count: int, since: int, after: int + ) -> RepeatedCompositeFieldContainer[NewsletterMessage]: + """Retrieves a list of newsletter messages that have been updated since a given timestamp. + + :param jid: The JID (Jabber ID) of the user. + :type jid: JID + :param count: The maximum number of messages to retrieve. + :type count: int + :param since: The timestamp (in milliseconds) to retrieve messages from. + :type since: int + :param after: The timestamp (in milliseconds) to retrieve messages after. + :type after: int + + :return: A list of updated newsletter messages. + :rtype: RepeatedCompositeFieldContainer[NewsletterMessage] + + :raises GetNewsletterMessageUpdateError: If there was an error retrieving the newsletter messages. + """ + jidbyte = jid.SerializeToString() + bytes_ptr = self.__client.GetNewsletterMessageUpdate( + self.uuid, jidbyte, len(jidbyte), count, since, after + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetNewsletterMessageUpdateReturnFunction.FromString( + protobytes + ) + if model.Error: + raise GetNewsletterMessageUpdateError(model.Error) + return model.NewsletterMessage + + def get_newsletter_messages( + self, jid: JID, count: int, before: MessageServerID + ) -> RepeatedCompositeFieldContainer[NewsletterMessage]: + """Retrieves a list of newsletter messages for a given JID. + + :param jid: The JID (Jabber Identifier) of the user. + :type jid: JID + :param count: The maximum number of messages to retrieve. + :type count: int + :param before: The ID of the message before which to retrieve messages. + :type before: MessageServerID + :return: A list of newsletter messages. + :rtype: RepeatedCompositeFieldContaine[NewsletterMessage] + """ + jidbyte = jid.SerializeToString() + bytes_ptr = self.__client.GetNewsletterMessages( + self.uuid, jidbyte, len(jidbyte), count, before + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetNewsletterMessageUpdateReturnFunction.FromString( + protobytes + ) + if model.Error: + raise GetNewsletterMessagesError(model.Error) + return model.NewsletterMessage + + def get_privacy_settings(self) -> PrivacySettings: + """ + This function retrieves the my privacy settings. + + :return: privacy settings + :rtype: PrivacySettings + """ + bytes_ptr = self.__client.GetPrivacySettings(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + result = neonize_proto.PrivacySettings.FromString(protobytes) + return result + + def get_profile_picture( + self, + jid: JID, + extra: neonize_proto.GetProfilePictureParams = neonize_proto.GetProfilePictureParams(), + ) -> ProfilePictureInfo: + """ + This function is used to get the profile picture of a user. + + :param jid: The unique identifier of the user whose profile picture we want to retrieve. + :type jid: JID + :param extra: Additional parameters, defaults to neonize_proto.GetProfilePictureParams() + :type extra: neonize_proto.GetProfilePictureParams, optional + :raises GetProfilePictureError: If there is an error while trying to get the profile picture. + :return: The information about the profile picture. + :rtype: ProfilePictureInfo + """ + jid_bytes = jid.SerializeToString() + extra_bytes = extra.SerializeToString() + bytes_ptr = self.__client.GetProfilePicture( + self.uuid, + jid_bytes, + len(jid_bytes), + extra_bytes, + len(extra_bytes), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetProfilePictureReturnFunction.FromString(protobytes) + if model.Error: + raise GetProfilePictureError(model) + return model.Picture + + def get_status_privacy( + self, + ) -> RepeatedCompositeFieldContainer[StatusPrivacy]: + """Returns the status privacy settings of the user. + + :raises GetStatusPrivacyError: If there is an error in getting the status privacy. + :return: The status privacy settings of the user. + :rtype: RepeatedCompositeFieldContainer[StatusPrivacy] + """ + bytes_ptr = self.__client.GetStatusPrivacy(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetStatusPrivacyReturnFunction.FromString(protobytes) + if model.Error: + raise GetStatusPrivacyError(model.Error) + return model.StatusPrivacy + + def get_sub_groups( + self, community: JID + ) -> RepeatedCompositeFieldContainer[GroupLinkTarget]: + """ + Get the subgroups of a given community. + + :param community: The community for which to get the subgroups. + :type community: JID + :raises GetSubGroupsError: If there is an error while getting the subgroups. + :return: The subgroups of the given community. + :rtype: RepeatedCompositeFieldContainer[GroupLinkTarget] + """ + jid = community.SerializeToString() + bytes_ptr = self.__client.GetSubGroups(self.uuid, jid, len(jid)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetSubGroupsReturnFunction.FromString(protobytes) + if model.Error: + raise GetSubGroupsError(model.Error) + return model.GroupLinkTarget + + def get_subscribed_newletters( + self, + ) -> RepeatedCompositeFieldContainer[NewsletterMetadata]: + """ + This function retrieves the newsletters the user has subscribed to. + + :raises GetSubscribedNewslettersError: If there is an error while fetching the subscribed newsletters + :return: A container with the metadata of each subscribed newsletter + :rtype: RepeatedCompositeFieldContainer[NewsletterMetadata] + """ + bytes_ptr = self.__client.GetSubscribedNewsletters(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetSubscribedNewslettersReturnFunction.FromString( + protobytes ) + if model.Error: + raise GetSubscribedNewslettersError(model.Error) + return model.Newsletter + + def get_user_devices(self, *jids: JID) -> RepeatedCompositeFieldContainer[JID]: + """ + Retrieve devices associated with specified user JIDs. + + :param jids: Variable number of JIDs (Jabber Identifiers) of users. + :type jids: JID + :raises GetUserDevicesError: If there is an error retrieving user devices. + :return: Devices associated with the specified user JIDs. + :rtype: RepeatedCompositeFieldContainer[JID] + """ + jids_ = neonize_proto.JIDArray(JIDS=jids).SerializeToString() + bytes_ptr = self.__client.GetUserDevices(self.uuid, jids_, len(jids_)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetUserDevicesreturnFunction.FromString(protobytes) + if model.Error: + raise GetUserDevicesError(model.Error) + return model.JID + + def get_blocklist(self) -> Blocklist: + """Retrieves the blocklist from the client. + + :return: Blocklist: The retrieved blocklist. + :raises GetBlocklistError: If there was an error retrieving the blocklist. + """ + bytes_ptr = self.__client.GetBlocklist(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetBlocklistReturnFunction.FromString(protobytes) if model.Error: raise GetBlocklistError(model.Error) return model.Blocklist def get_me(self) -> Device: - return Device.FromString(self.__client.GetMe(self.uuid).get_bytes()) + """ + This method is used to get the device information associated with a given UUID. + + :return: It returns a Device object created from the byte string response from the client's GetMe method. + :rtype: Device + """ + bytes_ptr = self.__client.GetMe(self.uuid) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + result = Device.FromString(protobytes) + return result def get_contact_qr_link(self, revoke: bool = False) -> str: - model = neonize_proto.GetContactQRLinkReturnFunction.FromString( - self.__client.GetContactQRLink(self.uuid, revoke).get_bytes() - ) + """ + This function returns a QR link for a specific contact. If the 'revoke' parameter is set to True, + it revokes the existing QR link and generates a new one. + + :param revoke: If set to True, revokes the existing QR link and generates a new one. Defaults to False. + :type revoke: bool, optional + :raises GetContactQrLinkError: If there is an error in getting the QR link. + :return: The QR link for the contact. + :rtype: str + """ + bytes_ptr = self.__client.GetContactQRLink(self.uuid, revoke) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetContactQRLinkReturnFunction.FromString(protobytes) if model.Error: raise GetContactQrLinkError(model.Error) return model.Link - def get_linked_group_participants(self, community: JID) -> List[JID]: # untested + def get_linked_group_participants( + self, community: JID + ) -> RepeatedCompositeFieldContainer[GroupParticipantRequest]: + """Fetches the participants of a linked group in a community. + + :param community: The community in which the linked group belongs. + :type community: JID + :raises GetLinkedGroupParticipantsError: If there is an error while fetching the participants. + :return: A list of participants in the linked group. + :rtype: RepeatedCompositeFieldContainer[JID] + """ jidbyte = community.SerializeToString() + bytes_ptr = self.__client.GetLinkedGroupsParticipants( + self.uuid, jidbyte, len(jidbyte) + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) model = neonize_proto.GetGroupRequestParticipantsReturnFunction.FromString( - self.__client.GetLinkedGroupsParticipants( - self.uuid, jidbyte, len(jidbyte) - ).get_bytes() + protobytes ) if model.Error: raise GetLinkedGroupParticipantsError(model.Error) return model.Participants - def get_newsletter_info( - self, jid: JID - ) -> neonize_proto.NewsletterMetadata: # untested + def get_newsletter_info(self, jid: JID) -> neonize_proto.NewsletterMetadata: + """ + Fetches the metadata of a specific newsletter using its JID. + + :param jid: The unique identifier of the newsletter + :type jid: JID + :raises GetNewsletterInfoError: If there is an error while fetching the newsletter information + :return: The metadata of the requested newsletter + :rtype: neonize_proto.NewsletterMetadata + """ jidbyte = jid.SerializeToString() - model = neonize_proto.CreateNewsLetterReturnFunction.FromString( - self.__client.GetNewsletterInfo( - self.uuid, jidbyte, len(jidbyte) - ).get_bytes() - ) + bytes_ptr = self.__client.GetNewsletterInfo(self.uuid, jidbyte, len(jidbyte)) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.CreateNewsLetterReturnFunction.FromString(protobytes) if model.Error: raise GetNewsletterInfoError(model.Error) return model.NewsletterMetadata + def PairPhone( + self, + phone: str, + show_push_notification: bool, + client_name: ClientName = ClientName.LINUX, + client_type: Optional[ClientType] = None, + ): + """ + Pair a phone with the client. This function will try to connect to the WhatsApp servers and pair the phone. + If successful, it will show a push notification on the paired phone. + + :param phone: The phone number to be paired. + :type phone: str + :param show_push_notification: If true, a push notification will be shown on the paired phone. + :type show_push_notification: bool + :param client_name: The name of the client, defaults to LINUX. + :type client_name: ClientName, optional + :param client_type: The type of the client, defaults to None. If None, it will be set to FIREFOX or determined by the device properties. + :type client_type: Optional[ClientType], optional + """ + + if client_type is None: + if self.device_props is None: + client_type = ClientType.FIREFOX + else: + try: + client_type = ClientType(self.device_props.platformType) + except ValueError: + client_type = ClientType.FIREFOX + + pl = neonize_proto.PairPhoneParams( + phone=phone, + clientDisplayName="%s (%s)" % (client_type.name, client_name.name), + clientType=client_type.value, + showPushNotification=show_push_notification, + ) + payload = pl.SerializeToString() + d = bytearray(list(self.event.list_func)) + + _log_.debug("trying connect to whatsapp servers") + + deviceprops = ( + DeviceProps(os="Neonize", platformType=DeviceProps.SAFARI) + if self.device_props is None + else self.device_props + ).SerializeToString() + + jidbuf_size = 0 + jidbuf = b"" + if self.jid: + jidbuf = self.jid.SerializeToString() + jidbuf_size = len(jidbuf) + + self.__client.Neonize( + self.name.encode(), + self.uuid, + jidbuf, + jidbuf_size, + LogLevel.from_logging(log.level).level, + func_string(self.__onQr), + func_string(self.__onLoginStatus), + func_callback_bytes(self.event.execute), + func_callback_bytes2(log_whatsmeow), + (ctypes.c_char * self.event.list_func.__len__()).from_buffer(d), + len(d), + deviceprops, + len(deviceprops), + payload, + len(payload), + ) + + def stop(self): + """ + Stops the client by disconnecting it from the WhatsApp servers. + """ + _log_.debug("Stopping client and disconnecting from WhatsApp servers.") + self.__client.stop() + + def get_message_for_retry( + self, requester: JID, to: JID, message_id: str + ) -> typing.Union[None, Message]: + """ + This function retrieves a specific message for retrying transmission. + It communicates with a client to get the message using provided requester, recipient, and message ID. + + :param requester: The JID of the entity requesting the message. + :type requester: JID + :param to: The JID of the intended recipient of the message. + :type to: JID + :param message_id: The unique identifier of the message to be retrieved. + :type message_id: str + :return: The message to be retried if found, None otherwise. + :rtype: Union[None, Message] + """ + requester_buf = requester.SerializeToString() + to_buf = to.SerializeToString() + bytes_ptr = self.__client.GetMessageForRetry( + self.uuid, + requester_buf, + len(requester_buf), + to_buf, + len(to_buf), + message_id.encode(), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = neonize_proto.GetMessageForRetryReturnFunction.FromString(protobytes) + if model.Error: + raise Exception(model.Error) + if not model.isEmpty: + return model.Message + + def send_fb_message( + self, + to: JID, + message: ConsumerApplication, + metadata: MessageApplication.Metadata, + extra: SendRequestExtra, + ): + to_buff = to.SerializeToString() + message_buff = message.SerializeToString() + metadata_buff = metadata.SerializeToString() + extra_buff = extra.SerializeToString() + bytes_ptr = self.__client.SendFBMessage( + self.uuid, + to_buff, + len(to_buff), + message_buff, + len(message_buff), + metadata_buff, + len(metadata_buff), + extra_buff, + len(extra_buff), + ) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + result = SendMessageReturnFunction.FromString(protobytes) + if result.Error: + raise SendMessageError(result.Error) + + def send_presence(self, presence: Presence): + response = self.__client.SendPresence(self.uuid, presence.value) + if response: + raise SendPresenceError(response) + + def decrypt_poll_vote(self, message: neonize_proto.Message) -> PollVoteMessage: + """Decrypt PollMessage""" + msg_buff = message.SerializeToString() + bytes_ptr = self.__client.DecryptPollVote(self.uuid, msg_buff) + protobytes = bytes_ptr.contents.get_bytes() + free_bytes(bytes_ptr) + model = ReturnFunctionWithError.FromString(protobytes) + if model.Error: + raise DecryptPollVoteError(model.Error) + return model.PollVoteMessage + def connect(self): + """Establishes a connection to the WhatsApp servers.""" + # Convert the list of functions to a bytearray + d = bytearray(list(self.event.list_func)) + _log_.debug("πŸ”’ Attempting to connect to the WhatsApp servers.") + # Set device properties + deviceprops = ( + DeviceProps(os="Neonize", platformType=DeviceProps.SAFARI) + if self.device_props is None + else self.device_props + ).SerializeToString() + + jidbuf_size = 0 + jidbuf = b"" + if self.jid: + jidbuf = self.jid.SerializeToString() + jidbuf_size = len(jidbuf) + + # Initiate connection to the server self.__client.Neonize( - ctypes.create_string_buffer(self.name.encode()), - ctypes.create_string_buffer(self.uuid), + self.name.encode(), + self.uuid, + jidbuf, + jidbuf_size, + LogLevel.from_logging(log.level).level, func_string(self.__onQr), - func_bytes(self.__onLoginStatus), - func_bytes(self.__onMessage), + func_string(self.__onLoginStatus), + func_callback_bytes(self.event.execute), + func_callback_bytes2(log_whatsmeow), + (ctypes.c_char * len(self.event.list_func)).from_buffer(d), + len(d), + deviceprops, + len(deviceprops), + b"", + 0, ) + + def disconnect(self) -> None: + """ + Disconnect the client + """ + self.__client.Disconnect(self.uuid) + + +class ClientFactory: + def __init__(self, database_name: str = "neonize.db") -> None: + """ + This class is used to create new instances of the client. + """ + self.database_name = database_name + self.clients: list[NewClient] = [] + self.event = EventsManager(self) + + @staticmethod + def get_all_devices_from_db(db: str) -> List[Device]: + """ + Retrieves all devices associated with the current account. + :param db: The name of the database to retrieve the devices from. + :return: A list of Device-like objects representing all associated devices. + :rtype: List[neonize_proto.Device] + """ + c_string = gocode.GetAllDevices( + db.encode(), func_callback_bytes2(log_whatsmeow) + ).decode() + if not c_string: + return [] + + devices: list[Device] = [] + + for device_str in c_string.split("|\u0001|"): + id, push_name, bussniess_name, initialized = device_str.split(",") + id, server = id.split("@") + jid = build_jid(id, server) + + device = Device( + JID=jid, + PushName=push_name, + BussinessName=bussniess_name, + Initialized=initialized == "true", + ) + devices.append(device) + + return devices + + def get_all_devices(self) -> List["Device"]: + """Retrieves all devices associated with the current account from the database.""" + return self.get_all_devices_from_db(self.database_name) + + def new_client( + self, + jid: Optional[JID] = None, + uuid: Optional[str] = None, + props: Optional[DeviceProps] = None, + ) -> NewClient: + """ + This function creates a new instance of the client. If the jid parameter is not provided, a new client will be created. + :param name: The name of the client. + :type name: str + :param uuid: The unique identifier of the client. + :type uuid: str + :param jid: The JID of the client. + :type jid: JID + :param props: The device properties of the client. + :type props: Optional[DeviceProps] + """ + + if not jid and not uuid: + # you must at least provide a uuid to make sure the client is + # unique + raise Exception("JID and UUID cannot be none") + + client = NewClient(self.database_name, jid, props, uuid) + client.event.list_func = self.event.list_func + self.clients.append(client) + return client + + def run(self): + for client in self.clients: + Thread( + target=client.connect, + daemon=True, + name=client.uuid.decode(), + ).start() diff --git a/neonize/const.py b/neonize/const.py index f04c678b..f4d2296c 100644 --- a/neonize/const.py +++ b/neonize/const.py @@ -1,2 +1,2 @@ DEFAULT_USER_SERVER = "s.whatsapp.net" -HIDDEN_USER_SERVER = "lid" \ No newline at end of file +HIDDEN_USER_SERVER = "lid" diff --git a/neonize/download.py b/neonize/download.py new file mode 100644 index 00000000..c50fa30e --- /dev/null +++ b/neonize/download.py @@ -0,0 +1,48 @@ +import os +from pathlib import Path + +import requests +from tqdm import tqdm + +from .utils.platform import generated_name + +__GONEONIZE_VERSION__ = "0.3.12" +__GIT_RELEASE_URL__ = "https://github.com/krypton-byte/neonize" + + +class UnsupportedPlatform(Exception): + pass + + +def __download(url: str, fname: str, chunk_size=1024): + resp = requests.get(url, stream=True) + if resp.status_code != 200: + resp.close() + raise UnsupportedPlatform(generated_name()) + total = int(resp.headers.get("content-length", 0)) + with ( + open(fname, "wb") as file, + tqdm( + desc=Path(fname).name, + total=total, + unit="iB", + unit_scale=True, + unit_divisor=1024, + ) as bar, + ): + for data in resp.iter_content(chunk_size=chunk_size): + size = file.write(data) + bar.update(size) + bar.n = total + bar.close() + + +def download(): + __download( + f"{__GIT_RELEASE_URL__}/releases/download/{__GONEONIZE_VERSION__}/{generated_name()}", + f"{os.path.dirname(__file__)}/{generated_name()}", + ) + + +if __name__ == "__main__": + download() diff --git a/neonize/events.py b/neonize/events.py new file mode 100644 index 00000000..fa6aeb0c --- /dev/null +++ b/neonize/events.py @@ -0,0 +1,234 @@ +from __future__ import annotations + +import ctypes +import logging +from threading import Event as EventThread +from typing import TYPE_CHECKING, Callable, Dict, Type, TypeVar + +import segno +from google.protobuf.message import Message + +from neonize.exc import UnsupportedEvent + +from .proto.Neonize_pb2 import QR as QREv +from .proto.Neonize_pb2 import BlocklistChange as BlocklistChangeEv +from .proto.Neonize_pb2 import BlocklistEvent as BlocklistEv +from .proto.Neonize_pb2 import CallAccept as CallAcceptEv +from .proto.Neonize_pb2 import CallOffer as CallOfferEv +from .proto.Neonize_pb2 import CallOfferNotice as CallOfferNoticeEv +from .proto.Neonize_pb2 import CallPreAccept as CallPreAcceptEv +from .proto.Neonize_pb2 import CallRelayLatency as CallRelayLatencyEV +from .proto.Neonize_pb2 import CallTerminate as CallTerminateEv +from .proto.Neonize_pb2 import CallTransport as CallTransportEv +from .proto.Neonize_pb2 import ChatPresence as ChatPresenceEv +from .proto.Neonize_pb2 import ClientOutdated as ClientOutdatedEv +from .proto.Neonize_pb2 import Connected as ConnectedEv +from .proto.Neonize_pb2 import ConnectFailure as ConnectFailureEv +from .proto.Neonize_pb2 import Device +from .proto.Neonize_pb2 import Disconnected as DisconnectedEv +from .proto.Neonize_pb2 import GroupInfoEvent as GroupInfoEv +from .proto.Neonize_pb2 import HistorySync as HistorySyncEv +from .proto.Neonize_pb2 import IdentityChange as IdentityChangeEv +from .proto.Neonize_pb2 import JoinedGroup as JoinedGroupEv +from .proto.Neonize_pb2 import KeepAliveRestored as KeepAliveRestoredEv +from .proto.Neonize_pb2 import KeepAliveTimeout as KeepAliveTimeoutEv +from .proto.Neonize_pb2 import LoggedOut as LoggedOutEv +from .proto.Neonize_pb2 import Message as MessageEv +from .proto.Neonize_pb2 import NewsletterJoin as NewsletterJoinEv +from .proto.Neonize_pb2 import NewsletterLeave as NewsletterLeaveEv +from .proto.Neonize_pb2 import NewsletterLiveUpdate as NewsletterLiveUpdateEV +from .proto.Neonize_pb2 import NewsLetterMessageMeta as NewsLetterMessageMetaEv +from .proto.Neonize_pb2 import NewsletterMuteChange as NewsletterMuteChangeEv +from .proto.Neonize_pb2 import OfflineSyncCompleted as OfflineSyncCompletedEv +from .proto.Neonize_pb2 import OfflineSyncPreview as OfflineSyncPreviewEv +from .proto.Neonize_pb2 import PairStatus as PairStatusEv +from .proto.Neonize_pb2 import Picture as PictureEv +from .proto.Neonize_pb2 import Presence as PresenceEv +from .proto.Neonize_pb2 import Receipt as ReceiptEv +from .proto.Neonize_pb2 import StreamError as StreamErrorEv +from .proto.Neonize_pb2 import StreamReplaced as StreamReplacedEv +from .proto.Neonize_pb2 import TemporaryBan as TemporaryBanEv +from .proto.Neonize_pb2 import UndecryptableMessage as UndecryptableMessageEv +from .proto.Neonize_pb2 import UnknownCallEvent as UnknownCallEventEV +from .proto.Neonize_pb2 import privacySettingsEvent as PrivacySettingsEv + +log = logging.getLogger(__name__) +if TYPE_CHECKING: + from .client import ClientFactory, NewClient +EventType = TypeVar("EventType", bound=Message) +EVENT_TO_INT: Dict[Type[Message], int] = { + Device: 0, + QREv: 1, + PairStatusEv: 2, + ConnectedEv: 3, + KeepAliveTimeoutEv: 4, + KeepAliveRestoredEv: 5, + LoggedOutEv: 6, + StreamReplacedEv: 7, + TemporaryBanEv: 8, + ConnectFailureEv: 9, + ClientOutdatedEv: 10, + StreamErrorEv: 11, + DisconnectedEv: 12, + HistorySyncEv: 13, + NewsLetterMessageMetaEv: 16, + MessageEv: 17, + ReceiptEv: 18, + ChatPresenceEv: 19, + PresenceEv: 20, + JoinedGroupEv: 21, + GroupInfoEv: 22, + PictureEv: 23, + IdentityChangeEv: 24, + PrivacySettingsEv: 25, + OfflineSyncPreviewEv: 26, + OfflineSyncCompletedEv: 27, + BlocklistEv: 30, + BlocklistChangeEv: 31, + NewsletterJoinEv: 32, + NewsletterLeaveEv: 33, + NewsletterMuteChangeEv: 34, + NewsletterLiveUpdateEV: 35, + CallOfferEv: 36, + CallAcceptEv: 37, + CallPreAcceptEv: 38, + CallTransportEv: 39, + CallOfferNoticeEv: 40, + CallRelayLatencyEV: 41, + CallTerminateEv: 42, + UnknownCallEventEV: 43, + UndecryptableMessageEv: 44, +} +INT_TO_EVENT: Dict[int, Type[Message]] = {code: ev for ev, code in EVENT_TO_INT.items()} + +event = EventThread() + + +class EventsManager: + def __init__(self, client_factory: ClientFactory): + self.client_factory = client_factory + self.list_func: Dict[int, Callable[[NewClient, Message], None]] = {} + + def __call__( + self, event: Type[EventType] + ) -> Callable[[Callable[[NewClient, EventType], None]], None]: + """ + Registers a callback function for a specific event type. + + :param event: The type of event to register the callback for. + :type event: Type[EventType] + :return: A decorator that registers the callback function. + :rtype: Callablae[[Callable[[NewClient, EventType], None]], None] + """ + + def callback(func: Callable[[NewClient, EventType], None]) -> None: + self.list_func.update({EVENT_TO_INT[event]: func}) + + return callback + + +class Event: + def __init__(self, client: NewClient): + """ + Initializes the Event class with a client of type NewClient. + Also sets up a default blocking function and an empty dictionary for list functions. + + :param client: An instance of the NewClient class + :type client: NewClient + """ + self.client = client + self.paircode_cb = self.paircode(self.default_paircode_cb) + self.list_func: Dict[int, Callable[[NewClient, Message], None]] = {} + self._qr = self.__onqr + + def execute( + self, uuid: int, binary: int, size: int, code: int + ): # Demands Attention + """Executes a function from the list of functions based on the given code. + + :param binary: The binary data to be processed by the function. + :type binary: int + :param size: The size of the binary data. + :type size: int + :param code: The index of the function to be executed from the list of functions. + :type code: int + """ + if code not in INT_TO_EVENT: + raise UnsupportedEvent() + message = INT_TO_EVENT[code].FromString(ctypes.string_at(binary, size)) + if code == 0: + self.client.me = message + return + elif code == 3: + self.client.connected = True + self.list_func[code](self.client, message) + + def __onqr(self, _: NewClient, data_qr: bytes): + """ + Handles QR code generation and display. + + :param _: The client instance (not used in the function). + :type _: NewClient + :param data_qr: The data to be encoded in the QR code. + :type data_qr: bytes + """ + segno.make_qr(data_qr).terminal(compact=True) + + def qr(self, f: Callable[[NewClient, bytes], None]): + """ + Sets a callback function for handling QR code data. + + :param f: The callback function that takes a NewClient instance and QR code data in bytes. + :type f: Callable[[NewClient, bytes], None] + """ + self._qr = f + + @property + def paircode(self): + def paircodecb(f: Callable[[NewClient, str, bool], None]): + """ + Sets a callback function for handling pair codes. + :param f: The callback function that takes a NewClient instance and pair code as a string. + :type f: Callable[[NewClient, str], None] + """ + + def wrap_paircode_cb(code, connected): + """ + Wraps the pair code callback function to include the client instance. + :param code: The pair code as a string. + :type code: str + :param connected: A boolean indicating if the client is connected. + :type connected: bool + """ + paircode = ctypes.string_at(code) + if self.paircode_cb: + f(self.client, paircode.decode(), connected) + + self.paircode_cb = wrap_paircode_cb + return self.paircode_cb + + return paircodecb + + @staticmethod + def default_paircode_cb(client: NewClient, data: str, connected: bool): + if connected: + log.info("authtenticated with pair code: %s", data) + else: + log.info("Pair code: %s", data) + + def __call__( + self, event: Type[EventType] + ) -> Callable[[Callable[[NewClient, EventType], None]], None]: + """ + Registers a callback function for a specific event type. + + :param event: The type of event to register the callback for. + :type event: Type[EventType] + :return: A decorator that registers the callback function. + :rtype: Callable[[Callable[[NewClient, EventType], None]], None] + """ + + def callback(func: Callable[[NewClient, EventType], None]) -> None: + self.list_func.update({EVENT_TO_INT[event]: func}) + + return callback diff --git a/neonize/exc.py b/neonize/exc.py index aa9df666..d34f433c 100644 --- a/neonize/exc.py +++ b/neonize/exc.py @@ -1,5 +1,7 @@ # class InvalidInviteLink(Exception): # pass + + class UploadError(Exception): pass @@ -27,41 +29,230 @@ class GetGroupInviteLinkError(Exception): class CreateGroupError(Exception): pass + class IsOnWhatsAppError(Exception): pass + class GetUserInfoError(Exception): pass + class SendMessageError(Exception): pass + class BuildPollVoteError(Exception): pass + class CreateNewsletterError(Exception): pass + class FollowNewsletterError(Exception): pass + class GetBlocklistError(Exception): pass + class GetContactQrLinkError(Exception): pass + class GetGroupRequestParticipantsError(Exception): pass + class GetJoinedGroupsError(Exception): pass + class GetLinkedGroupParticipantsError(Exception): pass + class GetNewsletterInfoError(Exception): pass + class GetNewsletterInfoWithInviteError(Exception): - pass \ No newline at end of file + pass + + +class GetNewsletterMessageUpdateError(Exception): + pass + + +class GetNewsletterMessagesError(Exception): + pass + + +class GetProfilePictureError(Exception): + pass + + +class GetStatusPrivacyError(Exception): + pass + + +class GetSubGroupsError(Exception): + pass + + +class GetSubscribedNewslettersError(Exception): + pass + + +class GetUserDevicesError(Exception): + pass + + +class JoinGroupWithInviteError(Exception): + pass + + +class LinkGroupError(Exception): + pass + + +class LogoutError(Exception): + pass + + +class MarkReadError(Exception): + pass + + +class NewsletterMarkViewedError(Exception): + pass + + +class NewsletterSendReactionError(Exception): + pass + + +class NewsletterSubscribeLiveUpdatesError(Exception): + pass + + +class NewsletterToggleMuteError(Exception): + pass + + +class ResolveContactQRLinkError(Exception): + pass + + +class ResolveBusinessMessageLinkError(Exception): + pass + + +class SendAppStateError(Exception): + pass + + +class SetDefaultDisappearingTimerError(Exception): + pass + + +class SetDisappearingTimerError(Exception): + pass + + +class SetGroupAnnounceError(Exception): + pass + + +class SetGroupLockedError(Exception): + pass + + +class SetGroupTopicError(Exception): + pass + + +class SetPrivacySettingError(Exception): + pass + + +class SetPassiveError(Exception): + pass + + +class SetStatusMessageError(Exception): + pass + + +class SubscribePresenceError(Exception): + pass + + +class UnfollowNewsletterError(Exception): + pass + + +class UnlinkGroupErro(Exception): + pass + + +class UnlinkGroupError(Exception): + pass + + +class UpdateBlocklistError(Exception): + pass + + +class UpdateGroupParticipantsError(Exception): + pass + + +class UnsupportedEvent(Exception): + pass + + +class ContactStoreError(Exception): + pass + + +class FFProbeError(Exception): + pass + + +class PutMutedUntilError(Exception): + pass + + +class PutPinnedError(Exception): + pass + + +class PutArchivedError(Exception): + pass + + +class GetChatSettingsError(Exception): + pass + + +class SendPresenceError(Exception): + pass + + +class DecryptPollVoteError(Exception): + pass + + +class BuildPollVoteCreationError(Exception): + pass + + +class GetJIDFromStoreError(Exception): + pass + + +class ConvertStickerError(Exception): + pass diff --git a/neonize/gocode/Neonize.proto b/neonize/gocode/Neonize.proto deleted file mode 100644 index e72af440..00000000 --- a/neonize/gocode/Neonize.proto +++ /dev/null @@ -1,357 +0,0 @@ -syntax = "proto2"; -import "def.proto"; -option go_package = "./neonize"; -package neonize; - -//types -message JID { - required string User = 1; - required uint32 RawAgent = 2; - required uint32 Device = 3; - required uint32 Integrator= 4; - required string Server=5; - required bool IsEmpty = 6; -} -message MessageInfo{ - required MessageSource MessageSource = 1; - required string ID = 2; - required int64 ServerID = 3; - required string Type = 4; - required string Pushname = 5; - required int64 Timestamp = 6; - required string Category = 7; - required bool Multicast = 8; - required string MediaType = 9; - required string Edit = 10; //enum - optional VerifiedName VerifiedName = 11; - optional DeviceSentMeta DeviceSentMeta = 12; -} -message UploadResponse { - required string url = 1; - required string DirectPath = 2; - required string Handle = 3; - required bytes MediaKey = 4; - required bytes FileEncSHA256 = 5; - required bytes FileSHA256 = 6; - required uint32 FileLength = 7; -} -message MessageSource { - required JID Chat = 1; - required JID Sender = 2; - required bool IsFromMe = 3; - required bool IsGroup = 4; - required JID BroadcastListOwner = 5; -} -message DeviceSentMeta { - required string DestinationJID = 1; - required string Phash = 2; -} -// message MessageInfo{ -// required MessageSource MessageSource = 1; -// required string ID = 2; -// required string ServerID=3; -// required string Type = 4; -// required string PushName = 5; -// required uint64 Timestamp = 6; -// required string Category = 7; -// required bool Multicast = 8; -// required string MediaType = 9; -// required string EditAttribute = 10; - -// } -message VerifiedName { - optional defproto.VerifiedNameCertificate Certificate = 1; - optional defproto.VerifiedNameCertificate.Details Details = 2; -} -message IsOnWhatsAppResponse { - required string Query = 1; - required JID JID = 2; - required bool IsIn = 3; - optional VerifiedName VerifiedName = 4; -} - -message UserInfo { - optional VerifiedName VerifiedName = 1; - required string Status = 2; - required string PictureID = 3; - repeated JID Devices = 4; -} - -message Device { - optional JID JID = 1; - required string Platform = 2; - required string BussinessName = 3; - required string PushName = 4; - required bool Initialized = 5; -} - - -// GROUP -message GroupName { - required string Name = 1; - required int64 NameSetAt=2; - required JID NameSetBy=3; -} -message GroupTopic{ - required string Topic = 1; - required string TopicID = 2; - required int64 TopicSetAt = 3; - required JID TopicSetBy = 4; - required bool TopicDeleted = 5; -} -message GroupLocked { - required bool isLocked = 1; -} -message GroupAnnounce { - required bool IsAnnounce = 1; - required string AnnounceVersionID = 2; -} -message GroupEphemeral{ - required bool IsEphemeral = 1; - required uint32 DisappearingTimer = 2; -} -message GroupIncognito{ - required bool IsIncognito = 1; -} -message GroupParent { - required bool IsParent = 1; - required string DefaultMembershipApprovalMode = 2; -} -message GroupLinkedParent { - required JID LinkedParentJID = 1; -} -message GroupIsDefaultSub { - required bool IsDefaultSubGroup = 1; -} -message GroupParticipantAddRequest { - required string Code = 1; - required float Expiration = 2; -} -message GroupParticipant { - optional JID JID = 1; - required JID LID = 2; - required bool IsAdmin = 3; - required bool IsSuperAdmin = 4; - required string DisplayName = 5; - required int32 Error = 6; - optional GroupParticipantAddRequest AddRequest = 7; -} -message GroupInfo{ - required JID OwnerJID=2; - required JID JID=1; - required GroupName GroupName = 3; - required GroupTopic GroupTopic = 4; - required GroupLocked GroupLocked = 5; - required GroupAnnounce GroupAnnounce = 6; - required GroupEphemeral GroupEphemeral = 7; - required GroupIncognito GroupIncognito = 8; - required GroupParent GroupParent = 9; - required GroupLinkedParent GroupLinkedParent = 10; - required GroupIsDefaultSub GroupIsDefaultSub = 11; - required float GroupCreated = 12; - required string ParticipantVersionID = 13; - repeated GroupParticipant Participants = 14; - enum GroupMemberAddMode { - GroupMemberAddModeAdmin = 1; - } -} -message MessageDebugTimings{ - required int64 Queue = 1; - required int64 Marshal = 2; - required int64 GetParticipants = 3; - required int64 GetDevices = 4; - required int64 GroupEncrypt = 5; - required int64 PeerEncrypt = 6; - required int64 Send = 7; - required int64 Resp = 8; - required int64 Retry = 9; -} -message SendResponse { - required int64 Timestamp = 1; - required string ID = 2; - required int64 ServerID = 3; - required MessageDebugTimings DebugTimings = 4; -} - -message SendMessageReturnFunction { - optional string Error = 1; - optional SendResponse SendResponse = 2; -} - - - - - - - - -//Function -message GetGroupInfoReturnFunction{ - optional GroupInfo GroupInfo = 1; - optional string Error = 2; -} -message JoinGroupWithLinkReturnFunction{ - optional string Error = 1; - optional JID Jid = 2; -} -message GetGroupInviteLinkReturnFunction{ - optional string InviteLink = 1; - optional string Error = 2; -} -message DownloadReturnFunction { - optional bytes Binary = 1; - optional string Error = 2; -} -message UploadReturnFunction { - optional UploadResponse UploadResponse = 1; - optional string Error = 2; -} - -message SetGroupPhotoReturnFunction { - required string PictureID = 1; - optional string Error = 2; -} -message IsOnWhatsAppReturnFunction { - repeated IsOnWhatsAppResponse IsOnWhatsAppResponse = 1; - optional string Error = 2; -} -message GetUserInfoSingleReturnFunction { - optional JID JID = 1; - optional UserInfo UserInfo = 2; -} -message GetUserInfoReturnFunction { - repeated GetUserInfoSingleReturnFunction UsersInfo = 1; - optional string Error = 2; -} -message BuildPollVoteReturnFunction { - optional defproto.Message PollVote = 1; - optional string Error = 2; -} -message CreateNewsLetterReturnFunction{ - optional NewsletterMetadata NewsletterMetadata = 1; - optional string Error = 2; -} -message GetBlocklistReturnFunction{ - optional Blocklist Blocklist = 1; - optional string Error = 2; -} -message GetContactQRLinkReturnFunction { - required string Link = 1; - optional string Error = 2; -} -message GetGroupRequestParticipantsReturnFunction { - repeated JID Participants = 1; - optional string Error = 2; -} -message GetJoinedGroupsReturnFunction { - repeated GroupInfo Group = 1; - optional string Error = 2; -} -message ReqCreateGroup { - required string name = 1; - repeated JID Participants = 2; - required string CreateKey = 3; - optional GroupParent GroupParent = 4; - optional GroupLinkedParent GroupLinkedParent = 5; -} -message JIDArray { - repeated JID JIDS = 1; -} - -message ArrayString { - repeated string data = 1; -} -message NewsLetterMessageMeta { - required int64 EditTS = 1; - required int64 OriginalTS = 2; -} -message Message { - required MessageInfo Info = 1; - optional defproto.Message Message = 2; - required bool IsEphemeral = 3; - required bool IsViewOnce = 4; - required bool IsViewOnceV2 = 5; - required bool IsEdit = 6; - optional defproto.WebMessageInfo SourceWebMsg = 7; - required string UnavailableRequestID = 8; - required int64 RetryCount = 9; - optional NewsLetterMessageMeta NewsLetterMeta = 10; -} -message CreateNewsletterParams { - required string Name = 1; - required string Description = 2; - required bytes Picture = 3; -} -message WrappedNewsletterState { - enum NewsletterState { - ACTIVE = 1; - SUSPENDED = 2; - GEOSUSPENDED = 3; - } - required NewsletterState Type = 1; -} -message NewsletterText { - required string Text = 1; - required string ID = 2; - required int64 UpdateTime = 3; -} -message ProfilePictureInfo { - required string URL = 1; - required string ID = 2; - required string Type = 3; - required string DirectPath = 4; -} -message NewsletterReactionSettings { - enum NewsletterReactionsMode { - ALL = 1; - BASIC = 2; - NONE = 3; - BLOCKLIST = 4; - } - required NewsletterReactionsMode Value = 1; -} -message NewsletterSetting { - required NewsletterReactionSettings ReactionCodes = 1; -} -message NewsletterThreadMetadata { - enum NewsletterVerificationState { - VERIFIED = 1; - UNVERIFIED = 2; - } - required int64 CreationTime = 1; - required string InviteCode = 2; - required NewsletterText Name = 3; - required NewsletterText Description = 4; - required int64 SubscriberCount = 5; - required NewsletterVerificationState VerificationState = 6; - optional ProfilePictureInfo Picture = 7; - required ProfilePictureInfo Preview = 8; - required NewsletterSetting Settings = 9; - -} -message NewsletterViewerMetadata { - enum NewsletterMuteState { - ON = 1; - OFF = 2; - } - enum NewsletterRole { - SUBSCRIBER = 1; - GUEST = 2; - ADMIN = 3; - OWNER = 4; - } - required NewsletterMuteState Mute= 1; - required NewsletterRole Role = 2; -} -message NewsletterMetadata { - required JID ID = 1; - required WrappedNewsletterState State = 2; - required NewsletterThreadMetadata ThreadMeta = 3; - optional NewsletterViewerMetadata ViewerMeta = 4; - -} - -message Blocklist { - required string DHash = 1; - repeated JID JIDs = 2; -} diff --git a/neonize/gocode/build.py b/neonize/gocode/build.py deleted file mode 100644 index 92345533..00000000 --- a/neonize/gocode/build.py +++ /dev/null @@ -1,10 +0,0 @@ -import subprocess -import os -import shlex -from pathlib import Path -def build(): - subprocess.call( - shlex.split("bash build.sh"), - cwd=Path(__file__).parent, - env=os.environ.update({'build_neonize': '1'}) - ) \ No newline at end of file diff --git a/neonize/gocode/build.sh b/neonize/gocode/build.sh deleted file mode 100644 index 2a97f8b4..00000000 --- a/neonize/gocode/build.sh +++ /dev/null @@ -1,12 +0,0 @@ -protoc --go_out=. Neonize.proto def.proto && protoc --python_out=../proto --mypy_out=../proto def.proto Neonize.proto -python3 build.py -protoc --go_out=. --go-grpc_out=. -I . Neonize.proto def.proto -if [[ -f defproto ]] -then -rm -rf defproto -fi -mv -f github.com/krypton-byte/neonize/defproto/* defproto -rm -rf github.com/ -GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -buildmode=c-shared -ldflags=-s -o gocode.so main.go - - diff --git a/neonize/gocode/build_python_proto.py b/neonize/gocode/build_python_proto.py deleted file mode 100644 index c712ff8c..00000000 --- a/neonize/gocode/build_python_proto.py +++ /dev/null @@ -1,6 +0,0 @@ -from pathlib import Path - -for fp in (Path(__file__).parent.parent / 'proto').iterdir(): - if fp.is_file() and not (fp.name.startswith('__init__') and 'sys.path' in fp.read_text()): - text = fp.read_text() - fp.write_text('import sys\nfrom pathlib import Path\nsys.path.insert(0, Path(__file__).parent.__str__())\n' + text) \ No newline at end of file diff --git a/neonize/gocode/ctype.go b/neonize/gocode/ctype.go deleted file mode 100644 index fcc5777f..00000000 --- a/neonize/gocode/ctype.go +++ /dev/null @@ -1,14 +0,0 @@ -package main - -/* -#include -#include "header/cstruct.h" -*/ -import "C" - -func ReturnBytes(data []byte) C.struct_BytesReturn { - size := C.size_t(len(data)) - ptr := (*C.char)(C.CBytes(data)) - // defer C.free(unsafe.Pointer(&ptr)) - return C.struct_BytesReturn{ptr, size} -} diff --git a/neonize/gocode/def.proto b/neonize/gocode/def.proto deleted file mode 100644 index bf4df1ec..00000000 --- a/neonize/gocode/def.proto +++ /dev/null @@ -1,3037 +0,0 @@ -syntax = "proto2"; -option go_package = "github.com/krypton-byte/neonize/defproto;defproto"; -package defproto; - -message ADVSignedKeyIndexList { - optional bytes details = 1; - optional bytes accountSignature = 2; - optional bytes accountSignatureKey = 3; -} - -message ADVSignedDeviceIdentity { - optional bytes details = 1; - optional bytes accountSignatureKey = 2; - optional bytes accountSignature = 3; - optional bytes deviceSignature = 4; -} - -message ADVSignedDeviceIdentityHMAC { - optional bytes details = 1; - optional bytes hmac = 2; - optional ADVEncryptionType accountType = 3; -} - -message ADVKeyIndexList { - optional uint32 rawId = 1; - optional uint64 timestamp = 2; - optional uint32 currentIndex = 3; - repeated uint32 validIndexes = 4 [packed=true]; - optional ADVEncryptionType accountType = 5; -} - -enum ADVEncryptionType { - E2EE = 0; - HOSTED = 1; -} -message ADVDeviceIdentity { - optional uint32 rawId = 1; - optional uint64 timestamp = 2; - optional uint32 keyIndex = 3; - optional ADVEncryptionType accountType = 4; - optional ADVEncryptionType deviceType = 5; -} - -message DeviceProps { - enum PlatformType { - UNKNOWN = 0; - CHROME = 1; - FIREFOX = 2; - IE = 3; - OPERA = 4; - SAFARI = 5; - EDGE = 6; - DESKTOP = 7; - IPAD = 8; - ANDROID_TABLET = 9; - OHANA = 10; - ALOHA = 11; - CATALINA = 12; - TCL_TV = 13; - IOS_PHONE = 14; - IOS_CATALYST = 15; - ANDROID_PHONE = 16; - ANDROID_AMBIGUOUS = 17; - WEAR_OS = 18; - AR_WRIST = 19; - AR_DEVICE = 20; - UWP = 21; - VR = 22; - } - message HistorySyncConfig { - optional uint32 fullSyncDaysLimit = 1; - optional uint32 fullSyncSizeMbLimit = 2; - optional uint32 storageQuotaMb = 3; - optional bool inlineInitialPayloadInE2EeMsg = 4; - optional uint32 recentSyncDaysLimit = 5; - optional bool supportCallLogHistory = 6; - optional bool supportBotUserAgentChatHistory = 7; - optional bool supportCagReactionsAndPolls = 8; - } - - message AppVersion { - optional uint32 primary = 1; - optional uint32 secondary = 2; - optional uint32 tertiary = 3; - optional uint32 quaternary = 4; - optional uint32 quinary = 5; - } - - optional string os = 1; - optional AppVersion version = 2; - optional PlatformType platformType = 3; - optional bool requireFullSync = 4; - optional HistorySyncConfig historySyncConfig = 5; -} - -message InteractiveMessage { - message ShopMessage { - enum Surface { - UNKNOWN_SURFACE = 0; - FB = 1; - IG = 2; - WA = 3; - } - optional string id = 1; - optional Surface surface = 2; - optional int32 messageVersion = 3; - } - - message NativeFlowMessage { - message NativeFlowButton { - optional string name = 1; - optional string buttonParamsJson = 2; - } - - repeated NativeFlowButton buttons = 1; - optional string messageParamsJson = 2; - optional int32 messageVersion = 3; - } - - message Header { - optional string title = 1; - optional string subtitle = 2; - optional bool hasMediaAttachment = 5; - oneof media { - DocumentMessage documentMessage = 3; - ImageMessage imageMessage = 4; - bytes jpegThumbnail = 6; - VideoMessage videoMessage = 7; - LocationMessage locationMessage = 8; - } - } - - message Footer { - optional string text = 1; - } - - message CollectionMessage { - optional string bizJid = 1; - optional string id = 2; - optional int32 messageVersion = 3; - } - - message CarouselMessage { - repeated InteractiveMessage cards = 1; - optional int32 messageVersion = 2; - } - - message Body { - optional string text = 1; - } - - optional Header header = 1; - optional Body body = 2; - optional Footer footer = 3; - optional ContextInfo contextInfo = 15; - oneof interactiveMessage { - ShopMessage shopStorefrontMessage = 4; - CollectionMessage collectionMessage = 5; - NativeFlowMessage nativeFlowMessage = 6; - CarouselMessage carouselMessage = 7; - } -} - -message InitialSecurityNotificationSettingSync { - optional bool securityNotificationEnabled = 1; -} - -message ImageMessage { - optional string url = 1; - optional string mimetype = 2; - optional string caption = 3; - optional bytes fileSha256 = 4; - optional uint64 fileLength = 5; - optional uint32 height = 6; - optional uint32 width = 7; - optional bytes mediaKey = 8; - optional bytes fileEncSha256 = 9; - repeated InteractiveAnnotation interactiveAnnotations = 10; - optional string directPath = 11; - optional int64 mediaKeyTimestamp = 12; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; - optional bytes firstScanSidecar = 18; - optional uint32 firstScanLength = 19; - optional uint32 experimentGroupId = 20; - optional bytes scansSidecar = 21; - repeated uint32 scanLengths = 22; - optional bytes midQualityFileSha256 = 23; - optional bytes midQualityFileEncSha256 = 24; - optional bool viewOnce = 25; - optional string thumbnailDirectPath = 26; - optional bytes thumbnailSha256 = 27; - optional bytes thumbnailEncSha256 = 28; - optional string staticUrl = 29; - repeated InteractiveAnnotation annotations = 30; -} - -message HistorySyncNotification { - enum HistorySyncType { - INITIAL_BOOTSTRAP = 0; - INITIAL_STATUS_V3 = 1; - FULL = 2; - RECENT = 3; - PUSH_NAME = 4; - NON_BLOCKING_DATA = 5; - ON_DEMAND = 6; - } - optional bytes fileSha256 = 1; - optional uint64 fileLength = 2; - optional bytes mediaKey = 3; - optional bytes fileEncSha256 = 4; - optional string directPath = 5; - optional HistorySyncType syncType = 6; - optional uint32 chunkOrder = 7; - optional string originalMessageId = 8; - optional uint32 progress = 9; - optional int64 oldestMsgInChunkTimestampSec = 10; - optional bytes initialHistBootstrapInlinePayload = 11; - optional string peerDataRequestSessionId = 12; -} - -message HighlyStructuredMessage { - message HSMLocalizableParameter { - message HSMDateTime { - message HSMDateTimeUnixEpoch { - optional int64 timestamp = 1; - } - - message HSMDateTimeComponent { - enum DayOfWeekType { - MONDAY = 1; - TUESDAY = 2; - WEDNESDAY = 3; - THURSDAY = 4; - FRIDAY = 5; - SATURDAY = 6; - SUNDAY = 7; - } - enum CalendarType { - GREGORIAN = 1; - SOLAR_HIJRI = 2; - } - optional DayOfWeekType dayOfWeek = 1; - optional uint32 year = 2; - optional uint32 month = 3; - optional uint32 dayOfMonth = 4; - optional uint32 hour = 5; - optional uint32 minute = 6; - optional CalendarType calendar = 7; - } - - oneof datetimeOneof { - HSMDateTimeComponent component = 1; - HSMDateTimeUnixEpoch unixEpoch = 2; - } - } - - message HSMCurrency { - optional string currencyCode = 1; - optional int64 amount1000 = 2; - } - - optional string default = 1; - oneof paramOneof { - HSMCurrency currency = 2; - HSMDateTime dateTime = 3; - } - } - - optional string namespace = 1; - optional string elementName = 2; - repeated string params = 3; - optional string fallbackLg = 4; - optional string fallbackLc = 5; - repeated HSMLocalizableParameter localizableParams = 6; - optional string deterministicLg = 7; - optional string deterministicLc = 8; - optional TemplateMessage hydratedHsm = 9; -} - -message GroupInviteMessage { - enum GroupType { - DEFAULT = 0; - PARENT = 1; - } - optional string groupJid = 1; - optional string inviteCode = 2; - optional int64 inviteExpiration = 3; - optional string groupName = 4; - optional bytes jpegThumbnail = 5; - optional string caption = 6; - optional ContextInfo contextInfo = 7; - optional GroupType groupType = 8; -} - -message FutureProofMessage { - optional Message message = 1; -} - -message ExtendedTextMessage { - enum PreviewType { - NONE = 0; - VIDEO = 1; - PLACEHOLDER = 4; - IMAGE = 5; - } - enum InviteLinkGroupType { - DEFAULT = 0; - PARENT = 1; - SUB = 2; - DEFAULT_SUB = 3; - } - enum FontType { - SYSTEM = 0; - SYSTEM_TEXT = 1; - FB_SCRIPT = 2; - SYSTEM_BOLD = 6; - MORNINGBREEZE_REGULAR = 7; - CALISTOGA_REGULAR = 8; - EXO2_EXTRABOLD = 9; - COURIERPRIME_BOLD = 10; - } - optional string text = 1; - optional string matchedText = 2; - optional string canonicalUrl = 4; - optional string description = 5; - optional string title = 6; - optional fixed32 textArgb = 7; - optional fixed32 backgroundArgb = 8; - optional FontType font = 9; - optional PreviewType previewType = 10; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; - optional bool doNotPlayInline = 18; - optional string thumbnailDirectPath = 19; - optional bytes thumbnailSha256 = 20; - optional bytes thumbnailEncSha256 = 21; - optional bytes mediaKey = 22; - optional int64 mediaKeyTimestamp = 23; - optional uint32 thumbnailHeight = 24; - optional uint32 thumbnailWidth = 25; - optional InviteLinkGroupType inviteLinkGroupType = 26; - optional string inviteLinkParentGroupSubjectV2 = 27; - optional bytes inviteLinkParentGroupThumbnailV2 = 28; - optional InviteLinkGroupType inviteLinkGroupTypeV2 = 29; - optional bool viewOnce = 30; -} - -message EventResponseMessage { - enum EventResponseType { - UNKNOWN = 0; - GOING = 1; - NOT_GOING = 2; - } - optional EventResponseType response = 1; - optional int64 timestampMs = 2; -} - -message EventMessage { - optional ContextInfo contextInfo = 1; - optional bool isCanceled = 2; - optional string name = 3; - optional string description = 4; - optional LocationMessage location = 5; - optional string joinLink = 6; - optional int64 startTime = 7; -} - -message EncReactionMessage { - optional MessageKey targetMessageKey = 1; - optional bytes encPayload = 2; - optional bytes encIv = 3; -} - -message EncEventResponseMessage { - optional MessageKey eventCreationMessageKey = 1; - optional bytes encPayload = 2; - optional bytes encIv = 3; -} - -message EncCommentMessage { - optional MessageKey targetMessageKey = 1; - optional bytes encPayload = 2; - optional bytes encIv = 3; -} - -message DocumentMessage { - optional string url = 1; - optional string mimetype = 2; - optional string title = 3; - optional bytes fileSha256 = 4; - optional uint64 fileLength = 5; - optional uint32 pageCount = 6; - optional bytes mediaKey = 7; - optional string fileName = 8; - optional bytes fileEncSha256 = 9; - optional string directPath = 10; - optional int64 mediaKeyTimestamp = 11; - optional bool contactVcard = 12; - optional string thumbnailDirectPath = 13; - optional bytes thumbnailSha256 = 14; - optional bytes thumbnailEncSha256 = 15; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; - optional uint32 thumbnailHeight = 18; - optional uint32 thumbnailWidth = 19; - optional string caption = 20; -} - -message DeviceSentMessage { - optional string destinationJid = 1; - optional Message message = 2; - optional string phash = 3; -} - -message DeclinePaymentRequestMessage { - optional MessageKey key = 1; -} - -message ContactsArrayMessage { - optional string displayName = 1; - repeated ContactMessage contacts = 2; - optional ContextInfo contextInfo = 17; -} - -message ContactMessage { - optional string displayName = 1; - optional string vcard = 16; - optional ContextInfo contextInfo = 17; -} - -message CommentMessage { - optional Message message = 1; - optional MessageKey targetMessageKey = 2; -} - -message Chat { - optional string displayName = 1; - optional string id = 2; -} - -message CancelPaymentRequestMessage { - optional MessageKey key = 1; -} - -message Call { - optional bytes callKey = 1; - optional string conversionSource = 2; - optional bytes conversionData = 3; - optional uint32 conversionDelaySeconds = 4; -} - -message CallLogMessage { - enum CallType { - REGULAR = 0; - SCHEDULED_CALL = 1; - VOICE_CHAT = 2; - } - message CallParticipant { - optional string jid = 1; - optional CallOutcome callOutcome = 2; - } - - enum CallOutcome { - CONNECTED = 0; - MISSED = 1; - FAILED = 2; - REJECTED = 3; - ACCEPTED_ELSEWHERE = 4; - ONGOING = 5; - SILENCED_BY_DND = 6; - SILENCED_UNKNOWN_CALLER = 7; - } - optional bool isVideo = 1; - optional CallOutcome callOutcome = 2; - optional int64 durationSecs = 3; - optional CallType callType = 4; - repeated CallParticipant participants = 5; -} - -message ButtonsResponseMessage { - enum Type { - UNKNOWN = 0; - DISPLAY_TEXT = 1; - } - optional string selectedButtonId = 1; - optional ContextInfo contextInfo = 3; - optional Type type = 4; - oneof response { - string selectedDisplayText = 2; - } -} - -message ButtonsMessage { - enum HeaderType { - UNKNOWN = 0; - EMPTY = 1; - TEXT = 2; - DOCUMENT = 3; - IMAGE = 4; - VIDEO = 5; - LOCATION = 6; - } - message Button { - enum Type { - UNKNOWN = 0; - RESPONSE = 1; - NATIVE_FLOW = 2; - } - message NativeFlowInfo { - optional string name = 1; - optional string paramsJson = 2; - } - - message ButtonText { - optional string displayText = 1; - } - - optional string buttonId = 1; - optional ButtonText buttonText = 2; - optional Type type = 3; - optional NativeFlowInfo nativeFlowInfo = 4; - } - - optional string contentText = 6; - optional string footerText = 7; - optional ContextInfo contextInfo = 8; - repeated Button buttons = 9; - optional HeaderType headerType = 10; - oneof header { - string text = 1; - DocumentMessage documentMessage = 2; - ImageMessage imageMessage = 3; - VideoMessage videoMessage = 4; - LocationMessage locationMessage = 5; - } -} - -message BotFeedbackMessage { - enum BotFeedbackKindMultiplePositive { - BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC = 1; - } - enum BotFeedbackKindMultipleNegative { - BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC = 1; - BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL = 2; - BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING = 4; - BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE = 8; - BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE = 16; - BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER = 32; - BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED = 64; - BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING = 128; - BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT = 256; - } - enum BotFeedbackKind { - BOT_FEEDBACK_POSITIVE = 0; - BOT_FEEDBACK_NEGATIVE_GENERIC = 1; - BOT_FEEDBACK_NEGATIVE_HELPFUL = 2; - BOT_FEEDBACK_NEGATIVE_INTERESTING = 3; - BOT_FEEDBACK_NEGATIVE_ACCURATE = 4; - BOT_FEEDBACK_NEGATIVE_SAFE = 5; - BOT_FEEDBACK_NEGATIVE_OTHER = 6; - BOT_FEEDBACK_NEGATIVE_REFUSED = 7; - BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING = 8; - BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT = 9; - } - optional MessageKey messageKey = 1; - optional BotFeedbackKind kind = 2; - optional string text = 3; - optional uint64 kindNegative = 4; - optional uint64 kindPositive = 5; -} - -message BCallMessage { - enum MediaType { - UNKNOWN = 0; - AUDIO = 1; - VIDEO = 2; - } - optional string sessionId = 1; - optional MediaType mediaType = 2; - optional bytes masterKey = 3; - optional string caption = 4; -} - -message AudioMessage { - optional string url = 1; - optional string mimetype = 2; - optional bytes fileSha256 = 3; - optional uint64 fileLength = 4; - optional uint32 seconds = 5; - optional bool ptt = 6; - optional bytes mediaKey = 7; - optional bytes fileEncSha256 = 8; - optional string directPath = 9; - optional int64 mediaKeyTimestamp = 10; - optional ContextInfo contextInfo = 17; - optional bytes streamingSidecar = 18; - optional bytes waveform = 19; - optional fixed32 backgroundArgb = 20; - optional bool viewOnce = 21; -} - -message AppStateSyncKey { - optional AppStateSyncKeyId keyId = 1; - optional AppStateSyncKeyData keyData = 2; -} - -message AppStateSyncKeyShare { - repeated AppStateSyncKey keys = 1; -} - -message AppStateSyncKeyRequest { - repeated AppStateSyncKeyId keyIds = 1; -} - -message AppStateSyncKeyId { - optional bytes keyId = 1; -} - -message AppStateSyncKeyFingerprint { - optional uint32 rawId = 1; - optional uint32 currentIndex = 2; - repeated uint32 deviceIndexes = 3 [packed=true]; -} - -message AppStateSyncKeyData { - optional bytes keyData = 1; - optional AppStateSyncKeyFingerprint fingerprint = 2; - optional int64 timestamp = 3; -} - -message AppStateFatalExceptionNotification { - repeated string collectionNames = 1; - optional int64 timestamp = 2; -} - -message Location { - optional double degreesLatitude = 1; - optional double degreesLongitude = 2; - optional string name = 3; -} - -enum KeepType { - UNKNOWN = 0; - KEEP_FOR_ALL = 1; - UNDO_KEEP_FOR_ALL = 2; -} -message InteractiveAnnotation { - repeated Point polygonVertices = 1; - optional bool shouldSkipConfirmation = 4; - oneof action { - Location location = 2; - ForwardedNewsletterMessageInfo newsletter = 3; - } -} - -message HydratedTemplateButton { - message HydratedURLButton { - enum WebviewPresentationType { - FULL = 1; - TALL = 2; - COMPACT = 3; - } - optional string displayText = 1; - optional string url = 2; - optional string consentedUsersUrl = 3; - optional WebviewPresentationType webviewPresentation = 4; - } - - message HydratedQuickReplyButton { - optional string displayText = 1; - optional string id = 2; - } - - message HydratedCallButton { - optional string displayText = 1; - optional string phoneNumber = 2; - } - - optional uint32 index = 4; - oneof hydratedButton { - HydratedQuickReplyButton quickReplyButton = 1; - HydratedURLButton urlButton = 2; - HydratedCallButton callButton = 3; - } -} - -message GroupMention { - optional string groupJid = 1; - optional string groupSubject = 2; -} - -message DisappearingMode { - enum Trigger { - UNKNOWN = 0; - CHAT_SETTING = 1; - ACCOUNT_SETTING = 2; - BULK_CHANGE = 3; - } - enum Initiator { - CHANGED_IN_CHAT = 0; - INITIATED_BY_ME = 1; - INITIATED_BY_OTHER = 2; - } - optional Initiator initiator = 1; - optional Trigger trigger = 2; - optional string initiatorDeviceJid = 3; - optional bool initiatedByMe = 4; -} - -message DeviceListMetadata { - optional bytes senderKeyHash = 1; - optional uint64 senderTimestamp = 2; - repeated uint32 senderKeyIndexes = 3 [packed=true]; - optional ADVEncryptionType senderAccountType = 4; - optional ADVEncryptionType receiverAccountType = 5; - optional bytes recipientKeyHash = 8; - optional uint64 recipientTimestamp = 9; - repeated uint32 recipientKeyIndexes = 10 [packed=true]; -} - -message ContextInfo { - message UTMInfo { - optional string utmSource = 1; - optional string utmCampaign = 2; - } - - message ExternalAdReplyInfo { - enum MediaType { - NONE = 0; - IMAGE = 1; - VIDEO = 2; - } - optional string title = 1; - optional string body = 2; - optional MediaType mediaType = 3; - optional string thumbnailUrl = 4; - optional string mediaUrl = 5; - optional bytes thumbnail = 6; - optional string sourceType = 7; - optional string sourceId = 8; - optional string sourceUrl = 9; - optional bool containsAutoReply = 10; - optional bool renderLargerThumbnail = 11; - optional bool showAdAttribution = 12; - optional string ctwaClid = 13; - optional string ref = 14; - } - - message DataSharingContext { - optional bool showMmDisclosure = 1; - } - - message BusinessMessageForwardInfo { - optional string businessOwnerJid = 1; - } - - message AdReplyInfo { - enum MediaType { - NONE = 0; - IMAGE = 1; - VIDEO = 2; - } - optional string advertiserName = 1; - optional MediaType mediaType = 2; - optional bytes jpegThumbnail = 16; - optional string caption = 17; - } - - optional string stanzaId = 1; - optional string participant = 2; - optional Message quotedMessage = 3; - optional string remoteJid = 4; - repeated string mentionedJid = 15; - optional string conversionSource = 18; - optional bytes conversionData = 19; - optional uint32 conversionDelaySeconds = 20; - optional uint32 forwardingScore = 21; - optional bool isForwarded = 22; - optional AdReplyInfo quotedAd = 23; - optional MessageKey placeholderKey = 24; - optional uint32 expiration = 25; - optional int64 ephemeralSettingTimestamp = 26; - optional bytes ephemeralSharedSecret = 27; - optional ExternalAdReplyInfo externalAdReply = 28; - optional string entryPointConversionSource = 29; - optional string entryPointConversionApp = 30; - optional uint32 entryPointConversionDelaySeconds = 31; - optional DisappearingMode disappearingMode = 32; - optional ActionLink actionLink = 33; - optional string groupSubject = 34; - optional string parentGroupJid = 35; - optional string trustBannerType = 37; - optional uint32 trustBannerAction = 38; - optional bool isSampled = 39; - repeated GroupMention groupMentions = 40; - optional UTMInfo utm = 41; - optional ForwardedNewsletterMessageInfo forwardedNewsletterMessageInfo = 43; - optional BusinessMessageForwardInfo businessMessageForwardInfo = 44; - optional string smbClientCampaignId = 45; - optional string smbServerCampaignId = 46; - optional DataSharingContext dataSharingContext = 47; -} - -message ForwardedNewsletterMessageInfo { - enum ContentType { - UPDATE = 1; - UPDATE_CARD = 2; - LINK_CARD = 3; - } - optional string newsletterJid = 1; - optional int32 serverMessageId = 2; - optional string newsletterName = 3; - optional ContentType contentType = 4; - optional string accessibilityText = 5; -} - -message BotSuggestedPromptMetadata { - repeated string suggestedPrompts = 1; - optional uint32 selectedPromptIndex = 2; -} - -message BotPluginMetadata { - enum SearchProvider { - BING = 1; - GOOGLE = 2; - } - enum PluginType { - REELS = 1; - SEARCH = 2; - } - optional SearchProvider provider = 1; - optional PluginType pluginType = 2; - optional string thumbnailCdnUrl = 3; - optional string profilePhotoCdnUrl = 4; - optional string searchProviderUrl = 5; - optional uint32 referenceIndex = 6; -} - -message BotMetadata { - optional BotAvatarMetadata avatarMetadata = 1; - optional string personaId = 2; - optional BotPluginMetadata pluginMetadata = 3; - optional BotSuggestedPromptMetadata suggestedPromptMetadata = 4; -} - -message BotAvatarMetadata { - optional uint32 sentiment = 1; - optional string behaviorGraph = 2; - optional uint32 action = 3; - optional uint32 intensity = 4; - optional uint32 wordCount = 5; -} - -message ActionLink { - optional string url = 1; - optional string buttonTitle = 2; -} - -message TemplateButton { - message URLButton { - optional HighlyStructuredMessage displayText = 1; - optional HighlyStructuredMessage url = 2; - } - - message QuickReplyButton { - optional HighlyStructuredMessage displayText = 1; - optional string id = 2; - } - - message CallButton { - optional HighlyStructuredMessage displayText = 1; - optional HighlyStructuredMessage phoneNumber = 2; - } - - optional uint32 index = 4; - oneof button { - QuickReplyButton quickReplyButton = 1; - URLButton urlButton = 2; - CallButton callButton = 3; - } -} - -message Point { - optional int32 xDeprecated = 1; - optional int32 yDeprecated = 2; - optional double x = 3; - optional double y = 4; -} - -message PaymentBackground { - enum Type { - UNKNOWN = 0; - DEFAULT = 1; - } - message MediaData { - optional bytes mediaKey = 1; - optional int64 mediaKeyTimestamp = 2; - optional bytes fileSha256 = 3; - optional bytes fileEncSha256 = 4; - optional string directPath = 5; - } - - optional string id = 1; - optional uint64 fileLength = 2; - optional uint32 width = 3; - optional uint32 height = 4; - optional string mimetype = 5; - optional fixed32 placeholderArgb = 6; - optional fixed32 textArgb = 7; - optional fixed32 subtextArgb = 8; - optional MediaData mediaData = 9; - optional Type type = 10; -} - -message Money { - optional int64 value = 1; - optional uint32 offset = 2; - optional string currencyCode = 3; -} - -message Message { - optional string conversation = 1; - optional SenderKeyDistributionMessage senderKeyDistributionMessage = 2; - optional ImageMessage imageMessage = 3; - optional ContactMessage contactMessage = 4; - optional LocationMessage locationMessage = 5; - optional ExtendedTextMessage extendedTextMessage = 6; - optional DocumentMessage documentMessage = 7; - optional AudioMessage audioMessage = 8; - optional VideoMessage videoMessage = 9; - optional Call call = 10; - optional Chat chat = 11; - optional ProtocolMessage protocolMessage = 12; - optional ContactsArrayMessage contactsArrayMessage = 13; - optional HighlyStructuredMessage highlyStructuredMessage = 14; - optional SenderKeyDistributionMessage fastRatchetKeySenderKeyDistributionMessage = 15; - optional SendPaymentMessage sendPaymentMessage = 16; - optional LiveLocationMessage liveLocationMessage = 18; - optional RequestPaymentMessage requestPaymentMessage = 22; - optional DeclinePaymentRequestMessage declinePaymentRequestMessage = 23; - optional CancelPaymentRequestMessage cancelPaymentRequestMessage = 24; - optional TemplateMessage templateMessage = 25; - optional StickerMessage stickerMessage = 26; - optional GroupInviteMessage groupInviteMessage = 28; - optional TemplateButtonReplyMessage templateButtonReplyMessage = 29; - optional ProductMessage productMessage = 30; - optional DeviceSentMessage deviceSentMessage = 31; - optional MessageContextInfo messageContextInfo = 35; - optional ListMessage listMessage = 36; - optional FutureProofMessage viewOnceMessage = 37; - optional OrderMessage orderMessage = 38; - optional ListResponseMessage listResponseMessage = 39; - optional FutureProofMessage ephemeralMessage = 40; - optional InvoiceMessage invoiceMessage = 41; - optional ButtonsMessage buttonsMessage = 42; - optional ButtonsResponseMessage buttonsResponseMessage = 43; - optional PaymentInviteMessage paymentInviteMessage = 44; - optional InteractiveMessage interactiveMessage = 45; - optional ReactionMessage reactionMessage = 46; - optional StickerSyncRMRMessage stickerSyncRmrMessage = 47; - optional InteractiveResponseMessage interactiveResponseMessage = 48; - optional PollCreationMessage pollCreationMessage = 49; - optional PollUpdateMessage pollUpdateMessage = 50; - optional KeepInChatMessage keepInChatMessage = 51; - optional FutureProofMessage documentWithCaptionMessage = 53; - optional RequestPhoneNumberMessage requestPhoneNumberMessage = 54; - optional FutureProofMessage viewOnceMessageV2 = 55; - optional EncReactionMessage encReactionMessage = 56; - optional FutureProofMessage editedMessage = 58; - optional FutureProofMessage viewOnceMessageV2Extension = 59; - optional PollCreationMessage pollCreationMessageV2 = 60; - optional ScheduledCallCreationMessage scheduledCallCreationMessage = 61; - optional FutureProofMessage groupMentionedMessage = 62; - optional PinInChatMessage pinInChatMessage = 63; - optional PollCreationMessage pollCreationMessageV3 = 64; - optional ScheduledCallEditMessage scheduledCallEditMessage = 65; - optional VideoMessage ptvMessage = 66; - optional FutureProofMessage botInvokeMessage = 67; - optional CallLogMessage callLogMesssage = 69; - optional MessageHistoryBundle messageHistoryBundle = 70; - optional EncCommentMessage encCommentMessage = 71; - optional BCallMessage bcallMessage = 72; - optional FutureProofMessage lottieStickerMessage = 74; - optional EventMessage eventMessage = 75; - optional EncEventResponseMessage encEventResponseMessage = 76; - optional CommentMessage commentMessage = 77; - optional NewsletterAdminInviteMessage newsletterAdminInviteMessage = 78; -} - -message MessageSecretMessage { - optional sfixed32 version = 1; - optional bytes encIv = 2; - optional bytes encPayload = 3; -} - -message MessageContextInfo { - optional DeviceListMetadata deviceListMetadata = 1; - optional int32 deviceListMetadataVersion = 2; - optional bytes messageSecret = 3; - optional bytes paddingBytes = 4; - optional uint32 messageAddOnDurationInSecs = 5; - optional bytes botMessageSecret = 6; - optional BotMetadata botMetadata = 7; - optional int32 reportingTokenVersion = 8; -} - -message VideoMessage { - enum Attribution { - NONE = 0; - GIPHY = 1; - TENOR = 2; - } - optional string url = 1; - optional string mimetype = 2; - optional bytes fileSha256 = 3; - optional uint64 fileLength = 4; - optional uint32 seconds = 5; - optional bytes mediaKey = 6; - optional string caption = 7; - optional bool gifPlayback = 8; - optional uint32 height = 9; - optional uint32 width = 10; - optional bytes fileEncSha256 = 11; - repeated InteractiveAnnotation interactiveAnnotations = 12; - optional string directPath = 13; - optional int64 mediaKeyTimestamp = 14; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; - optional bytes streamingSidecar = 18; - optional Attribution gifAttribution = 19; - optional bool viewOnce = 20; - optional string thumbnailDirectPath = 21; - optional bytes thumbnailSha256 = 22; - optional bytes thumbnailEncSha256 = 23; - optional string staticUrl = 24; - repeated InteractiveAnnotation annotations = 25; -} - -message TemplateMessage { - message HydratedFourRowTemplate { - optional string hydratedContentText = 6; - optional string hydratedFooterText = 7; - repeated HydratedTemplateButton hydratedButtons = 8; - optional string templateId = 9; - oneof title { - DocumentMessage documentMessage = 1; - string hydratedTitleText = 2; - ImageMessage imageMessage = 3; - VideoMessage videoMessage = 4; - LocationMessage locationMessage = 5; - } - } - - message FourRowTemplate { - optional HighlyStructuredMessage content = 6; - optional HighlyStructuredMessage footer = 7; - repeated TemplateButton buttons = 8; - oneof title { - DocumentMessage documentMessage = 1; - HighlyStructuredMessage highlyStructuredMessage = 2; - ImageMessage imageMessage = 3; - VideoMessage videoMessage = 4; - LocationMessage locationMessage = 5; - } - } - - optional ContextInfo contextInfo = 3; - optional HydratedFourRowTemplate hydratedTemplate = 4; - optional string templateId = 9; - oneof format { - FourRowTemplate fourRowTemplate = 1; - HydratedFourRowTemplate hydratedFourRowTemplate = 2; - InteractiveMessage interactiveMessageTemplate = 5; - } -} - -message TemplateButtonReplyMessage { - optional string selectedId = 1; - optional string selectedDisplayText = 2; - optional ContextInfo contextInfo = 3; - optional uint32 selectedIndex = 4; - optional uint32 selectedCarouselCardIndex = 5; -} - -message StickerSyncRMRMessage { - repeated string filehash = 1; - optional string rmrSource = 2; - optional int64 requestTimestamp = 3; -} - -message StickerMessage { - optional string url = 1; - optional bytes fileSha256 = 2; - optional bytes fileEncSha256 = 3; - optional bytes mediaKey = 4; - optional string mimetype = 5; - optional uint32 height = 6; - optional uint32 width = 7; - optional string directPath = 8; - optional uint64 fileLength = 9; - optional int64 mediaKeyTimestamp = 10; - optional uint32 firstFrameLength = 11; - optional bytes firstFrameSidecar = 12; - optional bool isAnimated = 13; - optional bytes pngThumbnail = 16; - optional ContextInfo contextInfo = 17; - optional int64 stickerSentTs = 18; - optional bool isAvatar = 19; - optional bool isAiSticker = 20; - optional bool isLottie = 21; -} - -message SenderKeyDistributionMessage { - optional string groupId = 1; - optional bytes axolotlSenderKeyDistributionMessage = 2; -} - -message SendPaymentMessage { - optional Message noteMessage = 2; - optional MessageKey requestMessageKey = 3; - optional PaymentBackground background = 4; -} - -message ScheduledCallEditMessage { - enum EditType { - UNKNOWN = 0; - CANCEL = 1; - } - optional MessageKey key = 1; - optional EditType editType = 2; -} - -message ScheduledCallCreationMessage { - enum CallType { - UNKNOWN = 0; - VOICE = 1; - VIDEO = 2; - } - optional int64 scheduledTimestampMs = 1; - optional CallType callType = 2; - optional string title = 3; -} - -message RequestWelcomeMessageMetadata { - enum LocalChatState { - EMPTY = 0; - NON_EMPTY = 1; - } - optional LocalChatState localChatState = 1; -} - -message RequestPhoneNumberMessage { - optional ContextInfo contextInfo = 1; -} - -message RequestPaymentMessage { - optional Message noteMessage = 4; - optional string currencyCodeIso4217 = 1; - optional uint64 amount1000 = 2; - optional string requestFrom = 3; - optional int64 expiryTimestamp = 5; - optional Money amount = 6; - optional PaymentBackground background = 7; -} - -message ReactionMessage { - optional MessageKey key = 1; - optional string text = 2; - optional string groupingKey = 3; - optional int64 senderTimestampMs = 4; -} - -message ProtocolMessage { - enum Type { - REVOKE = 0; - EPHEMERAL_SETTING = 3; - EPHEMERAL_SYNC_RESPONSE = 4; - HISTORY_SYNC_NOTIFICATION = 5; - APP_STATE_SYNC_KEY_SHARE = 6; - APP_STATE_SYNC_KEY_REQUEST = 7; - MSG_FANOUT_BACKFILL_REQUEST = 8; - INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC = 9; - APP_STATE_FATAL_EXCEPTION_NOTIFICATION = 10; - SHARE_PHONE_NUMBER = 11; - MESSAGE_EDIT = 14; - PEER_DATA_OPERATION_REQUEST_MESSAGE = 16; - PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE = 17; - REQUEST_WELCOME_MESSAGE = 18; - BOT_FEEDBACK_MESSAGE = 19; - } - optional MessageKey key = 1; - optional Type type = 2; - optional uint32 ephemeralExpiration = 4; - optional int64 ephemeralSettingTimestamp = 5; - optional HistorySyncNotification historySyncNotification = 6; - optional AppStateSyncKeyShare appStateSyncKeyShare = 7; - optional AppStateSyncKeyRequest appStateSyncKeyRequest = 8; - optional InitialSecurityNotificationSettingSync initialSecurityNotificationSettingSync = 9; - optional AppStateFatalExceptionNotification appStateFatalExceptionNotification = 10; - optional DisappearingMode disappearingMode = 11; - optional Message editedMessage = 14; - optional int64 timestampMs = 15; - optional PeerDataOperationRequestMessage peerDataOperationRequestMessage = 16; - optional PeerDataOperationRequestResponseMessage peerDataOperationRequestResponseMessage = 17; - optional BotFeedbackMessage botFeedbackMessage = 18; - optional string invokerJid = 19; - optional RequestWelcomeMessageMetadata requestWelcomeMessageMetadata = 20; -} - -message ProductMessage { - message ProductSnapshot { - optional ImageMessage productImage = 1; - optional string productId = 2; - optional string title = 3; - optional string description = 4; - optional string currencyCode = 5; - optional int64 priceAmount1000 = 6; - optional string retailerId = 7; - optional string url = 8; - optional uint32 productImageCount = 9; - optional string firstImageId = 11; - optional int64 salePriceAmount1000 = 12; - } - - message CatalogSnapshot { - optional ImageMessage catalogImage = 1; - optional string title = 2; - optional string description = 3; - } - - optional ProductSnapshot product = 1; - optional string businessOwnerJid = 2; - optional CatalogSnapshot catalog = 4; - optional string body = 5; - optional string footer = 6; - optional ContextInfo contextInfo = 17; -} - -message PollVoteMessage { - repeated bytes selectedOptions = 1; -} - -message PollUpdateMessage { - optional MessageKey pollCreationMessageKey = 1; - optional PollEncValue vote = 2; - optional PollUpdateMessageMetadata metadata = 3; - optional int64 senderTimestampMs = 4; -} - -message PollUpdateMessageMetadata { -} - -message PollEncValue { - optional bytes encPayload = 1; - optional bytes encIv = 2; -} - -message PollCreationMessage { - message Option { - optional string optionName = 1; - } - - optional bytes encKey = 1; - optional string name = 2; - repeated Option options = 3; - optional uint32 selectableOptionsCount = 4; - optional ContextInfo contextInfo = 5; -} - -message PinInChatMessage { - enum Type { - UNKNOWN_TYPE = 0; - PIN_FOR_ALL = 1; - UNPIN_FOR_ALL = 2; - } - optional MessageKey key = 1; - optional Type type = 2; - optional int64 senderTimestampMs = 3; -} - -enum PeerDataOperationRequestType { - UPLOAD_STICKER = 0; - SEND_RECENT_STICKER_BOOTSTRAP = 1; - GENERATE_LINK_PREVIEW = 2; - HISTORY_SYNC_ON_DEMAND = 3; - PLACEHOLDER_MESSAGE_RESEND = 4; -} -message PeerDataOperationRequestResponseMessage { - message PeerDataOperationResult { - message PlaceholderMessageResendResponse { - optional bytes webMessageInfoBytes = 1; - } - - message LinkPreviewResponse { - message LinkPreviewHighQualityThumbnail { - optional string directPath = 1; - optional string thumbHash = 2; - optional string encThumbHash = 3; - optional bytes mediaKey = 4; - optional int64 mediaKeyTimestampMs = 5; - optional int32 thumbWidth = 6; - optional int32 thumbHeight = 7; - } - - optional string url = 1; - optional string title = 2; - optional string description = 3; - optional bytes thumbData = 4; - optional string canonicalUrl = 5; - optional string matchText = 6; - optional string previewType = 7; - optional LinkPreviewHighQualityThumbnail hqThumbnail = 8; - } - - optional MediaRetryNotification.ResultType mediaUploadResult = 1; - optional StickerMessage stickerMessage = 2; - optional LinkPreviewResponse linkPreviewResponse = 3; - optional PlaceholderMessageResendResponse placeholderMessageResendResponse = 4; - } - - optional PeerDataOperationRequestType peerDataOperationRequestType = 1; - optional string stanzaId = 2; - repeated PeerDataOperationResult peerDataOperationResult = 3; -} - -message PeerDataOperationRequestMessage { - message RequestUrlPreview { - optional string url = 1; - optional bool includeHqThumbnail = 2; - } - - message RequestStickerReupload { - optional string fileSha256 = 1; - } - - message PlaceholderMessageResendRequest { - optional MessageKey messageKey = 1; - } - - message HistorySyncOnDemandRequest { - optional string chatJid = 1; - optional string oldestMsgId = 2; - optional bool oldestMsgFromMe = 3; - optional int32 onDemandMsgCount = 4; - optional int64 oldestMsgTimestampMs = 5; - } - - optional PeerDataOperationRequestType peerDataOperationRequestType = 1; - repeated RequestStickerReupload requestStickerReupload = 2; - repeated RequestUrlPreview requestUrlPreview = 3; - optional HistorySyncOnDemandRequest historySyncOnDemandRequest = 4; - repeated PlaceholderMessageResendRequest placeholderMessageResendRequest = 5; -} - -message PaymentInviteMessage { - enum ServiceType { - UNKNOWN = 0; - FBPAY = 1; - NOVI = 2; - UPI = 3; - } - optional ServiceType serviceType = 1; - optional int64 expiryTimestamp = 2; -} - -message OrderMessage { - enum OrderSurface { - CATALOG = 1; - } - enum OrderStatus { - INQUIRY = 1; - ACCEPTED = 2; - DECLINED = 3; - } - optional string orderId = 1; - optional bytes thumbnail = 2; - optional int32 itemCount = 3; - optional OrderStatus status = 4; - optional OrderSurface surface = 5; - optional string message = 6; - optional string orderTitle = 7; - optional string sellerJid = 8; - optional string token = 9; - optional int64 totalAmount1000 = 10; - optional string totalCurrencyCode = 11; - optional ContextInfo contextInfo = 17; - optional int32 messageVersion = 12; - optional MessageKey orderRequestMessageId = 13; -} - -message NewsletterAdminInviteMessage { - optional string newsletterJid = 1; - optional string newsletterName = 2; - optional bytes jpegThumbnail = 3; - optional string caption = 4; - optional int64 inviteExpiration = 5; -} - -message MessageHistoryBundle { - optional string mimetype = 2; - optional bytes fileSha256 = 3; - optional bytes mediaKey = 5; - optional bytes fileEncSha256 = 6; - optional string directPath = 7; - optional int64 mediaKeyTimestamp = 8; - optional ContextInfo contextInfo = 9; - repeated string participants = 10; -} - -message LocationMessage { - optional double degreesLatitude = 1; - optional double degreesLongitude = 2; - optional string name = 3; - optional string address = 4; - optional string url = 5; - optional bool isLive = 6; - optional uint32 accuracyInMeters = 7; - optional float speedInMps = 8; - optional uint32 degreesClockwiseFromMagneticNorth = 9; - optional string comment = 11; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; -} - -message LiveLocationMessage { - optional double degreesLatitude = 1; - optional double degreesLongitude = 2; - optional uint32 accuracyInMeters = 3; - optional float speedInMps = 4; - optional uint32 degreesClockwiseFromMagneticNorth = 5; - optional string caption = 6; - optional int64 sequenceNumber = 7; - optional uint32 timeOffset = 8; - optional bytes jpegThumbnail = 16; - optional ContextInfo contextInfo = 17; -} - -message ListResponseMessage { - message SingleSelectReply { - optional string selectedRowId = 1; - } - - enum ListType { - UNKNOWN = 0; - SINGLE_SELECT = 1; - } - optional string title = 1; - optional ListType listType = 2; - optional SingleSelectReply singleSelectReply = 3; - optional ContextInfo contextInfo = 4; - optional string description = 5; -} - -message ListMessage { - message Section { - optional string title = 1; - repeated Row rows = 2; - } - - message Row { - optional string title = 1; - optional string description = 2; - optional string rowId = 3; - } - - message Product { - optional string productId = 1; - } - - message ProductSection { - optional string title = 1; - repeated Product products = 2; - } - - message ProductListInfo { - repeated ProductSection productSections = 1; - optional ProductListHeaderImage headerImage = 2; - optional string businessOwnerJid = 3; - } - - message ProductListHeaderImage { - optional string productId = 1; - optional bytes jpegThumbnail = 2; - } - - enum ListType { - UNKNOWN = 0; - SINGLE_SELECT = 1; - PRODUCT_LIST = 2; - } - optional string title = 1; - optional string description = 2; - optional string buttonText = 3; - optional ListType listType = 4; - repeated Section sections = 5; - optional ProductListInfo productListInfo = 6; - optional string footerText = 7; - optional ContextInfo contextInfo = 8; -} - -message KeepInChatMessage { - optional MessageKey key = 1; - optional KeepType keepType = 2; - optional int64 timestampMs = 3; -} - -message InvoiceMessage { - enum AttachmentType { - IMAGE = 0; - PDF = 1; - } - optional string note = 1; - optional string token = 2; - optional AttachmentType attachmentType = 3; - optional string attachmentMimetype = 4; - optional bytes attachmentMediaKey = 5; - optional int64 attachmentMediaKeyTimestamp = 6; - optional bytes attachmentFileSha256 = 7; - optional bytes attachmentFileEncSha256 = 8; - optional string attachmentDirectPath = 9; - optional bytes attachmentJpegThumbnail = 10; -} - -message InteractiveResponseMessage { - message NativeFlowResponseMessage { - optional string name = 1; - optional string paramsJson = 2; - optional int32 version = 3; - } - - message Body { - enum Format { - DEFAULT = 0; - EXTENSIONS_1 = 1; - } - optional string text = 1; - optional Format format = 2; - } - - optional Body body = 1; - optional ContextInfo contextInfo = 15; - oneof interactiveResponseMessage { - NativeFlowResponseMessage nativeFlowResponseMessage = 2; - } -} - -message EphemeralSetting { - optional sfixed32 duration = 1; - optional sfixed64 timestamp = 2; -} - -message WallpaperSettings { - optional string filename = 1; - optional uint32 opacity = 2; -} - -message StickerMetadata { - optional string url = 1; - optional bytes fileSha256 = 2; - optional bytes fileEncSha256 = 3; - optional bytes mediaKey = 4; - optional string mimetype = 5; - optional uint32 height = 6; - optional uint32 width = 7; - optional string directPath = 8; - optional uint64 fileLength = 9; - optional float weight = 10; - optional int64 lastStickerSentTs = 11; -} - -message Pushname { - optional string id = 1; - optional string pushname = 2; -} - -message PhoneNumberToLIDMapping { - optional string pnJid = 1; - optional string lidJid = 2; -} - -message PastParticipants { - optional string groupJid = 1; - repeated PastParticipant pastParticipants = 2; -} - -message PastParticipant { - enum LeaveReason { - LEFT = 0; - REMOVED = 1; - } - optional string userJid = 1; - optional LeaveReason leaveReason = 2; - optional uint64 leaveTs = 3; -} - -message NotificationSettings { - optional string messageVibrate = 1; - optional string messagePopup = 2; - optional string messageLight = 3; - optional bool lowPriorityNotifications = 4; - optional bool reactionsMuted = 5; - optional string callVibrate = 6; -} - -enum MediaVisibility { - DEFAULT = 0; - OFF = 1; - ON = 2; -} -message HistorySync { - enum HistorySyncType { - INITIAL_BOOTSTRAP = 0; - INITIAL_STATUS_V3 = 1; - FULL = 2; - RECENT = 3; - PUSH_NAME = 4; - NON_BLOCKING_DATA = 5; - ON_DEMAND = 6; - } - enum BotAIWaitListState { - IN_WAITLIST = 0; - AI_AVAILABLE = 1; - } - required HistorySyncType syncType = 1; - repeated Conversation conversations = 2; - repeated WebMessageInfo statusV3Messages = 3; - optional uint32 chunkOrder = 5; - optional uint32 progress = 6; - repeated Pushname pushnames = 7; - optional GlobalSettings globalSettings = 8; - optional bytes threadIdUserSecret = 9; - optional uint32 threadDsTimeframeOffset = 10; - repeated StickerMetadata recentStickers = 11; - repeated PastParticipants pastParticipants = 12; - repeated CallLogRecord callLogRecords = 13; - optional BotAIWaitListState aiWaitListState = 14; - repeated PhoneNumberToLIDMapping phoneNumberToLidMappings = 15; -} - -message HistorySyncMsg { - optional WebMessageInfo message = 1; - optional uint64 msgOrderId = 2; -} - -message GroupParticipant { - enum Rank { - REGULAR = 0; - ADMIN = 1; - SUPERADMIN = 2; - } - required string userJid = 1; - optional Rank rank = 2; -} - -message GlobalSettings { - optional WallpaperSettings lightThemeWallpaper = 1; - optional MediaVisibility mediaVisibility = 2; - optional WallpaperSettings darkThemeWallpaper = 3; - optional AutoDownloadSettings autoDownloadWiFi = 4; - optional AutoDownloadSettings autoDownloadCellular = 5; - optional AutoDownloadSettings autoDownloadRoaming = 6; - optional bool showIndividualNotificationsPreview = 7; - optional bool showGroupNotificationsPreview = 8; - optional int32 disappearingModeDuration = 9; - optional int64 disappearingModeTimestamp = 10; - optional AvatarUserSettings avatarUserSettings = 11; - optional int32 fontSize = 12; - optional bool securityNotifications = 13; - optional bool autoUnarchiveChats = 14; - optional int32 videoQualityMode = 15; - optional int32 photoQualityMode = 16; - optional NotificationSettings individualNotificationSettings = 17; - optional NotificationSettings groupNotificationSettings = 18; -} - -message Conversation { - enum EndOfHistoryTransferType { - COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0; - COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1; - COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY = 2; - } - required string id = 1; - repeated HistorySyncMsg messages = 2; - optional string newJid = 3; - optional string oldJid = 4; - optional uint64 lastMsgTimestamp = 5; - optional uint32 unreadCount = 6; - optional bool readOnly = 7; - optional bool endOfHistoryTransfer = 8; - optional uint32 ephemeralExpiration = 9; - optional int64 ephemeralSettingTimestamp = 10; - optional EndOfHistoryTransferType endOfHistoryTransferType = 11; - optional uint64 conversationTimestamp = 12; - optional string name = 13; - optional string pHash = 14; - optional bool notSpam = 15; - optional bool archived = 16; - optional DisappearingMode disappearingMode = 17; - optional uint32 unreadMentionCount = 18; - optional bool markedAsUnread = 19; - repeated GroupParticipant participant = 20; - optional bytes tcToken = 21; - optional uint64 tcTokenTimestamp = 22; - optional bytes contactPrimaryIdentityKey = 23; - optional uint32 pinned = 24; - optional uint64 muteEndTime = 25; - optional WallpaperSettings wallpaper = 26; - optional MediaVisibility mediaVisibility = 27; - optional uint64 tcTokenSenderTimestamp = 28; - optional bool suspended = 29; - optional bool terminated = 30; - optional uint64 createdAt = 31; - optional string createdBy = 32; - optional string description = 33; - optional bool support = 34; - optional bool isParentGroup = 35; - optional string parentGroupId = 37; - optional bool isDefaultSubgroup = 36; - optional string displayName = 38; - optional string pnJid = 39; - optional bool shareOwnPn = 40; - optional bool pnhDuplicateLidThread = 41; - optional string lidJid = 42; - optional string username = 43; - optional string lidOriginType = 44; - optional uint32 commentsCount = 45; -} - -message AvatarUserSettings { - optional string fbid = 1; - optional string password = 2; -} - -message AutoDownloadSettings { - optional bool downloadImages = 1; - optional bool downloadAudio = 2; - optional bool downloadVideo = 3; - optional bool downloadDocuments = 4; -} - -message ServerErrorReceipt { - optional string stanzaId = 1; -} - -message MediaRetryNotification { - enum ResultType { - GENERAL_ERROR = 0; - SUCCESS = 1; - NOT_FOUND = 2; - DECRYPTION_ERROR = 3; - } - optional string stanzaId = 1; - optional string directPath = 2; - optional ResultType result = 3; -} - -message MessageKey { - optional string remoteJid = 1; - optional bool fromMe = 2; - optional string id = 3; - optional string participant = 4; -} - -// Duplicate type omitted -//message MessageKey { -// optional string remoteJid = 1; -// optional bool fromMe = 2; -// optional string id = 3; -// optional string participant = 4; -//} - -message SyncdVersion { - optional uint64 version = 1; -} - -message SyncdValue { - optional bytes blob = 1; -} - -message SyncdSnapshot { - optional SyncdVersion version = 1; - repeated SyncdRecord records = 2; - optional bytes mac = 3; - optional KeyId keyId = 4; -} - -message SyncdRecord { - optional SyncdIndex index = 1; - optional SyncdValue value = 2; - optional KeyId keyId = 3; -} - -message SyncdPatch { - optional SyncdVersion version = 1; - repeated SyncdMutation mutations = 2; - optional ExternalBlobReference externalMutations = 3; - optional bytes snapshotMac = 4; - optional bytes patchMac = 5; - optional KeyId keyId = 6; - optional ExitCode exitCode = 7; - optional uint32 deviceIndex = 8; - optional bytes clientDebugData = 9; -} - -message SyncdMutations { - repeated SyncdMutation mutations = 1; -} - -message SyncdMutation { - enum SyncdOperation { - SET = 0; - REMOVE = 1; - } - optional SyncdOperation operation = 1; - optional SyncdRecord record = 2; -} - -message SyncdIndex { - optional bytes blob = 1; -} - -message KeyId { - optional bytes id = 1; -} - -message ExternalBlobReference { - optional bytes mediaKey = 1; - optional string directPath = 2; - optional string handle = 3; - optional uint64 fileSizeBytes = 4; - optional bytes fileSha256 = 5; - optional bytes fileEncSha256 = 6; -} - -message ExitCode { - optional uint64 code = 1; - optional string text = 2; -} - -message SyncActionValue { - optional int64 timestamp = 1; - optional StarAction starAction = 2; - optional ContactAction contactAction = 3; - optional MuteAction muteAction = 4; - optional PinAction pinAction = 5; - optional SecurityNotificationSetting securityNotificationSetting = 6; - optional PushNameSetting pushNameSetting = 7; - optional QuickReplyAction quickReplyAction = 8; - optional RecentEmojiWeightsAction recentEmojiWeightsAction = 11; - optional LabelEditAction labelEditAction = 14; - optional LabelAssociationAction labelAssociationAction = 15; - optional LocaleSetting localeSetting = 16; - optional ArchiveChatAction archiveChatAction = 17; - optional DeleteMessageForMeAction deleteMessageForMeAction = 18; - optional KeyExpiration keyExpiration = 19; - optional MarkChatAsReadAction markChatAsReadAction = 20; - optional ClearChatAction clearChatAction = 21; - optional DeleteChatAction deleteChatAction = 22; - optional UnarchiveChatsSetting unarchiveChatsSetting = 23; - optional PrimaryFeature primaryFeature = 24; - optional AndroidUnsupportedActions androidUnsupportedActions = 26; - optional AgentAction agentAction = 27; - optional SubscriptionAction subscriptionAction = 28; - optional UserStatusMuteAction userStatusMuteAction = 29; - optional TimeFormatAction timeFormatAction = 30; - optional NuxAction nuxAction = 31; - optional PrimaryVersionAction primaryVersionAction = 32; - optional StickerAction stickerAction = 33; - optional RemoveRecentStickerAction removeRecentStickerAction = 34; - optional ChatAssignmentAction chatAssignment = 35; - optional ChatAssignmentOpenedStatusAction chatAssignmentOpenedStatus = 36; - optional PnForLidChatAction pnForLidChatAction = 37; - optional MarketingMessageAction marketingMessageAction = 38; - optional MarketingMessageBroadcastAction marketingMessageBroadcastAction = 39; - optional ExternalWebBetaAction externalWebBetaAction = 40; - optional PrivacySettingRelayAllCalls privacySettingRelayAllCalls = 41; - optional CallLogAction callLogAction = 42; - optional StatusPrivacyAction statusPrivacy = 44; - optional BotWelcomeRequestAction botWelcomeRequestAction = 45; - optional DeleteIndividualCallLogAction deleteIndividualCallLog = 46; - optional LabelReorderingAction labelReorderingAction = 47; - optional PaymentInfoAction paymentInfoAction = 48; -} - -message UserStatusMuteAction { - optional bool muted = 1; -} - -message UnarchiveChatsSetting { - optional bool unarchiveChats = 1; -} - -message TimeFormatAction { - optional bool isTwentyFourHourFormatEnabled = 1; -} - -message SyncActionMessage { - optional MessageKey key = 1; - optional int64 timestamp = 2; -} - -message SyncActionMessageRange { - optional int64 lastMessageTimestamp = 1; - optional int64 lastSystemMessageTimestamp = 2; - repeated SyncActionMessage messages = 3; -} - -message SubscriptionAction { - optional bool isDeactivated = 1; - optional bool isAutoRenewing = 2; - optional int64 expirationDate = 3; -} - -message StickerAction { - optional string url = 1; - optional bytes fileEncSha256 = 2; - optional bytes mediaKey = 3; - optional string mimetype = 4; - optional uint32 height = 5; - optional uint32 width = 6; - optional string directPath = 7; - optional uint64 fileLength = 8; - optional bool isFavorite = 9; - optional uint32 deviceIdHint = 10; -} - -message StatusPrivacyAction { - enum StatusDistributionMode { - ALLOW_LIST = 0; - DENY_LIST = 1; - CONTACTS = 2; - } - optional StatusDistributionMode mode = 1; - repeated string userJid = 2; -} - -message StarAction { - optional bool starred = 1; -} - -message SecurityNotificationSetting { - optional bool showNotification = 1; -} - -message RemoveRecentStickerAction { - optional int64 lastStickerSentTs = 1; -} - -message RecentEmojiWeightsAction { - repeated RecentEmojiWeight weights = 1; -} - -message QuickReplyAction { - optional string shortcut = 1; - optional string message = 2; - repeated string keywords = 3; - optional int32 count = 4; - optional bool deleted = 5; -} - -message PushNameSetting { - optional string name = 1; -} - -message PrivacySettingRelayAllCalls { - optional bool isEnabled = 1; -} - -message PrimaryVersionAction { - optional string version = 1; -} - -message PrimaryFeature { - repeated string flags = 1; -} - -message PnForLidChatAction { - optional string pnJid = 1; -} - -message PinAction { - optional bool pinned = 1; -} - -message PaymentInfoAction { - optional string cpi = 1; -} - -message NuxAction { - optional bool acknowledged = 1; -} - -message MuteAction { - optional bool muted = 1; - optional int64 muteEndTimestamp = 2; - optional bool autoMuted = 3; -} - -message MarketingMessageBroadcastAction { - optional int32 repliedCount = 1; -} - -message MarketingMessageAction { - enum MarketingMessagePrototypeType { - PERSONALIZED = 0; - } - optional string name = 1; - optional string message = 2; - optional MarketingMessagePrototypeType type = 3; - optional int64 createdAt = 4; - optional int64 lastSentAt = 5; - optional bool isDeleted = 6; - optional string mediaId = 7; -} - -message MarkChatAsReadAction { - optional bool read = 1; - optional SyncActionMessageRange messageRange = 2; -} - -message LocaleSetting { - optional string locale = 1; -} - -message LabelReorderingAction { - repeated int32 sortedLabelIds = 1; -} - -message LabelEditAction { - optional string name = 1; - optional int32 color = 2; - optional int32 predefinedId = 3; - optional bool deleted = 4; - optional int32 orderIndex = 5; -} - -message LabelAssociationAction { - optional bool labeled = 1; -} - -message KeyExpiration { - optional int32 expiredKeyEpoch = 1; -} - -message ExternalWebBetaAction { - optional bool isOptIn = 1; -} - -message DeleteMessageForMeAction { - optional bool deleteMedia = 1; - optional int64 messageTimestamp = 2; -} - -message DeleteIndividualCallLogAction { - optional string peerJid = 1; - optional bool isIncoming = 2; -} - -message DeleteChatAction { - optional SyncActionMessageRange messageRange = 1; -} - -message ContactAction { - optional string fullName = 1; - optional string firstName = 2; - optional string lidJid = 3; - optional bool saveOnPrimaryAddressbook = 4; -} - -message ClearChatAction { - optional SyncActionMessageRange messageRange = 1; -} - -message ChatAssignmentOpenedStatusAction { - optional bool chatOpened = 1; -} - -message ChatAssignmentAction { - optional string deviceAgentID = 1; -} - -message CallLogAction { - optional CallLogRecord callLogRecord = 1; -} - -message BotWelcomeRequestAction { - optional bool isSent = 1; -} - -message ArchiveChatAction { - optional bool archived = 1; - optional SyncActionMessageRange messageRange = 2; -} - -message AndroidUnsupportedActions { - optional bool allowed = 1; -} - -message AgentAction { - optional string name = 1; - optional int32 deviceID = 2; - optional bool isDeleted = 3; -} - -message SyncActionData { - optional bytes index = 1; - optional SyncActionValue value = 2; - optional bytes padding = 3; - optional int32 version = 4; -} - -message RecentEmojiWeight { - optional string emoji = 1; - optional float weight = 2; -} - -message PatchDebugData { - enum Platform { - ANDROID = 0; - SMBA = 1; - IPHONE = 2; - SMBI = 3; - WEB = 4; - UWP = 5; - DARWIN = 6; - } - optional bytes currentLthash = 1; - optional bytes newLthash = 2; - optional bytes patchVersion = 3; - optional bytes collectionName = 4; - optional bytes firstFourBytesFromAHashOfSnapshotMacKey = 5; - optional bytes newLthashSubtract = 6; - optional int32 numberAdd = 7; - optional int32 numberRemove = 8; - optional int32 numberOverride = 9; - optional Platform senderPlatform = 10; - optional bool isSenderPrimary = 11; -} - -message CallLogRecord { - enum SilenceReason { - NONE = 0; - SCHEDULED = 1; - PRIVACY = 2; - LIGHTWEIGHT = 3; - } - message ParticipantInfo { - optional string userJid = 1; - optional CallResult callResult = 2; - } - - enum CallType { - REGULAR = 0; - SCHEDULED_CALL = 1; - VOICE_CHAT = 2; - } - enum CallResult { - CONNECTED = 0; - REJECTED = 1; - CANCELLED = 2; - ACCEPTEDELSEWHERE = 3; - MISSED = 4; - INVALID = 5; - UNAVAILABLE = 6; - UPCOMING = 7; - FAILED = 8; - ABANDONED = 9; - ONGOING = 10; - } - optional CallResult callResult = 1; - optional bool isDndMode = 2; - optional SilenceReason silenceReason = 3; - optional int64 duration = 4; - optional int64 startTime = 5; - optional bool isIncoming = 6; - optional bool isVideo = 7; - optional bool isCallLink = 8; - optional string callLinkToken = 9; - optional string scheduledCallId = 10; - optional string callId = 11; - optional string callCreatorJid = 12; - optional string groupJid = 13; - repeated ParticipantInfo participants = 14; - optional CallType callType = 15; -} - -message VerifiedNameCertificate { - message Details { - optional uint64 serial = 1; - optional string issuer = 2; - optional string verifiedName = 4; - repeated LocalizedName localizedNames = 8; - optional uint64 issueTime = 10; - } - - optional bytes details = 1; - optional bytes signature = 2; - optional bytes serverSignature = 3; -} - -message LocalizedName { - optional string lg = 1; - optional string lc = 2; - optional string verifiedName = 3; -} - -message BizIdentityInfo { - enum VerifiedLevelValue { - UNKNOWN = 0; - LOW = 1; - HIGH = 2; - } - enum HostStorageType { - ON_PREMISE = 0; - FACEBOOK = 1; - } - enum ActualActorsType { - SELF = 0; - BSP = 1; - } - optional VerifiedLevelValue vlevel = 1; - optional VerifiedNameCertificate vnameCert = 2; - optional bool signed = 3; - optional bool revoked = 4; - optional HostStorageType hostStorage = 5; - optional ActualActorsType actualActors = 6; - optional uint64 privacyModeTs = 7; - optional uint64 featureControls = 8; -} - -message BizAccountPayload { - optional VerifiedNameCertificate vnameCert = 1; - optional bytes bizAcctLinkInfo = 2; -} - -message BizAccountLinkInfo { - enum HostStorageType { - ON_PREMISE = 0; - FACEBOOK = 1; - } - enum AccountType { - ENTERPRISE = 0; - } - optional uint64 whatsappBizAcctFbid = 1; - optional string whatsappAcctNumber = 2; - optional uint64 issueTime = 3; - optional HostStorageType hostStorage = 4; - optional AccountType accountType = 5; -} - -message HandshakeMessage { - optional HandshakeClientHello clientHello = 2; - optional HandshakeServerHello serverHello = 3; - optional HandshakeClientFinish clientFinish = 4; -} - -message HandshakeServerHello { - optional bytes ephemeral = 1; - optional bytes static = 2; - optional bytes payload = 3; -} - -message HandshakeClientHello { - optional bytes ephemeral = 1; - optional bytes static = 2; - optional bytes payload = 3; -} - -message HandshakeClientFinish { - optional bytes static = 1; - optional bytes payload = 2; -} - -message ClientPayload { - message WebInfo { - message WebdPayload { - optional bool usesParticipantInKey = 1; - optional bool supportsStarredMessages = 2; - optional bool supportsDocumentMessages = 3; - optional bool supportsUrlMessages = 4; - optional bool supportsMediaRetry = 5; - optional bool supportsE2EImage = 6; - optional bool supportsE2EVideo = 7; - optional bool supportsE2EAudio = 8; - optional bool supportsE2EDocument = 9; - optional string documentTypes = 10; - optional bytes features = 11; - } - - enum WebSubPlatform { - WEB_BROWSER = 0; - APP_STORE = 1; - WIN_STORE = 2; - DARWIN = 3; - WIN32 = 4; - } - optional string refToken = 1; - optional string version = 2; - optional WebdPayload webdPayload = 3; - optional WebSubPlatform webSubPlatform = 4; - } - - message UserAgent { - enum ReleaseChannel { - RELEASE = 0; - BETA = 1; - ALPHA = 2; - DEBUG = 3; - } - enum Platform { - ANDROID = 0; - IOS = 1; - WINDOWS_PHONE = 2; - BLACKBERRY = 3; - BLACKBERRYX = 4; - S40 = 5; - S60 = 6; - PYTHON_CLIENT = 7; - TIZEN = 8; - ENTERPRISE = 9; - SMB_ANDROID = 10; - KAIOS = 11; - SMB_IOS = 12; - WINDOWS = 13; - WEB = 14; - PORTAL = 15; - GREEN_ANDROID = 16; - GREEN_IPHONE = 17; - BLUE_ANDROID = 18; - BLUE_IPHONE = 19; - FBLITE_ANDROID = 20; - MLITE_ANDROID = 21; - IGLITE_ANDROID = 22; - PAGE = 23; - MACOS = 24; - OCULUS_MSG = 25; - OCULUS_CALL = 26; - MILAN = 27; - CAPI = 28; - WEAROS = 29; - ARDEVICE = 30; - VRDEVICE = 31; - BLUE_WEB = 32; - IPAD = 33; - TEST = 34; - } - enum DeviceType { - PHONE = 0; - TABLET = 1; - DESKTOP = 2; - WEARABLE = 3; - VR = 4; - } - message AppVersion { - optional uint32 primary = 1; - optional uint32 secondary = 2; - optional uint32 tertiary = 3; - optional uint32 quaternary = 4; - optional uint32 quinary = 5; - } - - optional Platform platform = 1; - optional AppVersion appVersion = 2; - optional string mcc = 3; - optional string mnc = 4; - optional string osVersion = 5; - optional string manufacturer = 6; - optional string device = 7; - optional string osBuildNumber = 8; - optional string phoneId = 9; - optional ReleaseChannel releaseChannel = 10; - optional string localeLanguageIso6391 = 11; - optional string localeCountryIso31661Alpha2 = 12; - optional string deviceBoard = 13; - optional string deviceExpId = 14; - optional DeviceType deviceType = 15; - } - - enum Product { - WHATSAPP = 0; - MESSENGER = 1; - INTEROP = 2; - INTEROP_MSGR = 3; - } - message InteropData { - optional uint64 accountId = 1; - optional bytes token = 2; - } - - enum IOSAppExtension { - SHARE_EXTENSION = 0; - SERVICE_EXTENSION = 1; - INTENTS_EXTENSION = 2; - } - message DevicePairingRegistrationData { - optional bytes eRegid = 1; - optional bytes eKeytype = 2; - optional bytes eIdent = 3; - optional bytes eSkeyId = 4; - optional bytes eSkeyVal = 5; - optional bytes eSkeySig = 6; - optional bytes buildHash = 7; - optional bytes deviceProps = 8; - } - - message DNSSource { - enum DNSResolutionMethod { - SYSTEM = 0; - GOOGLE = 1; - HARDCODED = 2; - OVERRIDE = 3; - FALLBACK = 4; - } - optional DNSResolutionMethod dnsMethod = 15; - optional bool appCached = 16; - } - - enum ConnectType { - CELLULAR_UNKNOWN = 0; - WIFI_UNKNOWN = 1; - CELLULAR_EDGE = 100; - CELLULAR_IDEN = 101; - CELLULAR_UMTS = 102; - CELLULAR_EVDO = 103; - CELLULAR_GPRS = 104; - CELLULAR_HSDPA = 105; - CELLULAR_HSUPA = 106; - CELLULAR_HSPA = 107; - CELLULAR_CDMA = 108; - CELLULAR_1XRTT = 109; - CELLULAR_EHRPD = 110; - CELLULAR_LTE = 111; - CELLULAR_HSPAP = 112; - } - enum ConnectReason { - PUSH = 0; - USER_ACTIVATED = 1; - SCHEDULED = 2; - ERROR_RECONNECT = 3; - NETWORK_SWITCH = 4; - PING_RECONNECT = 5; - UNKNOWN = 6; - } - optional uint64 username = 1; - optional bool passive = 3; - optional UserAgent userAgent = 5; - optional WebInfo webInfo = 6; - optional string pushName = 7; - optional sfixed32 sessionId = 9; - optional bool shortConnect = 10; - optional ConnectType connectType = 12; - optional ConnectReason connectReason = 13; - repeated int32 shards = 14; - optional DNSSource dnsSource = 15; - optional uint32 connectAttemptCount = 16; - optional uint32 device = 18; - optional DevicePairingRegistrationData devicePairingData = 19; - optional Product product = 20; - optional bytes fbCat = 21; - optional bytes fbUserAgent = 22; - optional bool oc = 23; - optional int32 lc = 24; - optional IOSAppExtension iosAppExtension = 30; - optional uint64 fbAppId = 31; - optional bytes fbDeviceId = 32; - optional bool pull = 33; - optional bytes paddingBytes = 34; - optional int32 yearClass = 36; - optional int32 memClass = 37; - optional InteropData interopData = 38; -} - -message WebNotificationsInfo { - optional uint64 timestamp = 2; - optional uint32 unreadChats = 3; - optional uint32 notifyMessageCount = 4; - repeated WebMessageInfo notifyMessages = 5; -} - -message WebMessageInfo { - enum StubType { - UNKNOWN = 0; - REVOKE = 1; - CIPHERTEXT = 2; - FUTUREPROOF = 3; - NON_VERIFIED_TRANSITION = 4; - UNVERIFIED_TRANSITION = 5; - VERIFIED_TRANSITION = 6; - VERIFIED_LOW_UNKNOWN = 7; - VERIFIED_HIGH = 8; - VERIFIED_INITIAL_UNKNOWN = 9; - VERIFIED_INITIAL_LOW = 10; - VERIFIED_INITIAL_HIGH = 11; - VERIFIED_TRANSITION_ANY_TO_NONE = 12; - VERIFIED_TRANSITION_ANY_TO_HIGH = 13; - VERIFIED_TRANSITION_HIGH_TO_LOW = 14; - VERIFIED_TRANSITION_HIGH_TO_UNKNOWN = 15; - VERIFIED_TRANSITION_UNKNOWN_TO_LOW = 16; - VERIFIED_TRANSITION_LOW_TO_UNKNOWN = 17; - VERIFIED_TRANSITION_NONE_TO_LOW = 18; - VERIFIED_TRANSITION_NONE_TO_UNKNOWN = 19; - GROUP_CREATE = 20; - GROUP_CHANGE_SUBJECT = 21; - GROUP_CHANGE_ICON = 22; - GROUP_CHANGE_INVITE_LINK = 23; - GROUP_CHANGE_DESCRIPTION = 24; - GROUP_CHANGE_RESTRICT = 25; - GROUP_CHANGE_ANNOUNCE = 26; - GROUP_PARTICIPANT_ADD = 27; - GROUP_PARTICIPANT_REMOVE = 28; - GROUP_PARTICIPANT_PROMOTE = 29; - GROUP_PARTICIPANT_DEMOTE = 30; - GROUP_PARTICIPANT_INVITE = 31; - GROUP_PARTICIPANT_LEAVE = 32; - GROUP_PARTICIPANT_CHANGE_NUMBER = 33; - BROADCAST_CREATE = 34; - BROADCAST_ADD = 35; - BROADCAST_REMOVE = 36; - GENERIC_NOTIFICATION = 37; - E2E_IDENTITY_CHANGED = 38; - E2E_ENCRYPTED = 39; - CALL_MISSED_VOICE = 40; - CALL_MISSED_VIDEO = 41; - INDIVIDUAL_CHANGE_NUMBER = 42; - GROUP_DELETE = 43; - GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE = 44; - CALL_MISSED_GROUP_VOICE = 45; - CALL_MISSED_GROUP_VIDEO = 46; - PAYMENT_CIPHERTEXT = 47; - PAYMENT_FUTUREPROOF = 48; - PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED = 49; - PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED = 50; - PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED = 51; - PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP = 52; - PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP = 53; - PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER = 54; - PAYMENT_ACTION_SEND_PAYMENT_REMINDER = 55; - PAYMENT_ACTION_SEND_PAYMENT_INVITATION = 56; - PAYMENT_ACTION_REQUEST_DECLINED = 57; - PAYMENT_ACTION_REQUEST_EXPIRED = 58; - PAYMENT_ACTION_REQUEST_CANCELLED = 59; - BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM = 60; - BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP = 61; - BIZ_INTRO_TOP = 62; - BIZ_INTRO_BOTTOM = 63; - BIZ_NAME_CHANGE = 64; - BIZ_MOVE_TO_CONSUMER_APP = 65; - BIZ_TWO_TIER_MIGRATION_TOP = 66; - BIZ_TWO_TIER_MIGRATION_BOTTOM = 67; - OVERSIZED = 68; - GROUP_CHANGE_NO_FREQUENTLY_FORWARDED = 69; - GROUP_V4_ADD_INVITE_SENT = 70; - GROUP_PARTICIPANT_ADD_REQUEST_JOIN = 71; - CHANGE_EPHEMERAL_SETTING = 72; - E2E_DEVICE_CHANGED = 73; - VIEWED_ONCE = 74; - E2E_ENCRYPTED_NOW = 75; - BLUE_MSG_BSP_FB_TO_BSP_PREMISE = 76; - BLUE_MSG_BSP_FB_TO_SELF_FB = 77; - BLUE_MSG_BSP_FB_TO_SELF_PREMISE = 78; - BLUE_MSG_BSP_FB_UNVERIFIED = 79; - BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 80; - BLUE_MSG_BSP_FB_VERIFIED = 81; - BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 82; - BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE = 83; - BLUE_MSG_BSP_PREMISE_UNVERIFIED = 84; - BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 85; - BLUE_MSG_BSP_PREMISE_VERIFIED = 86; - BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 87; - BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED = 88; - BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED = 89; - BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED = 90; - BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED = 91; - BLUE_MSG_SELF_FB_TO_BSP_PREMISE = 92; - BLUE_MSG_SELF_FB_TO_SELF_PREMISE = 93; - BLUE_MSG_SELF_FB_UNVERIFIED = 94; - BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED = 95; - BLUE_MSG_SELF_FB_VERIFIED = 96; - BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED = 97; - BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE = 98; - BLUE_MSG_SELF_PREMISE_UNVERIFIED = 99; - BLUE_MSG_SELF_PREMISE_VERIFIED = 100; - BLUE_MSG_TO_BSP_FB = 101; - BLUE_MSG_TO_CONSUMER = 102; - BLUE_MSG_TO_SELF_FB = 103; - BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED = 104; - BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 105; - BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED = 106; - BLUE_MSG_UNVERIFIED_TO_VERIFIED = 107; - BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED = 108; - BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 109; - BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED = 110; - BLUE_MSG_VERIFIED_TO_UNVERIFIED = 111; - BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 112; - BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED = 113; - BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 114; - BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED = 115; - BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED = 116; - BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED = 117; - E2E_IDENTITY_UNAVAILABLE = 118; - GROUP_CREATING = 119; - GROUP_CREATE_FAILED = 120; - GROUP_BOUNCED = 121; - BLOCK_CONTACT = 122; - EPHEMERAL_SETTING_NOT_APPLIED = 123; - SYNC_FAILED = 124; - SYNCING = 125; - BIZ_PRIVACY_MODE_INIT_FB = 126; - BIZ_PRIVACY_MODE_INIT_BSP = 127; - BIZ_PRIVACY_MODE_TO_FB = 128; - BIZ_PRIVACY_MODE_TO_BSP = 129; - DISAPPEARING_MODE = 130; - E2E_DEVICE_FETCH_FAILED = 131; - ADMIN_REVOKE = 132; - GROUP_INVITE_LINK_GROWTH_LOCKED = 133; - COMMUNITY_LINK_PARENT_GROUP = 134; - COMMUNITY_LINK_SIBLING_GROUP = 135; - COMMUNITY_LINK_SUB_GROUP = 136; - COMMUNITY_UNLINK_PARENT_GROUP = 137; - COMMUNITY_UNLINK_SIBLING_GROUP = 138; - COMMUNITY_UNLINK_SUB_GROUP = 139; - GROUP_PARTICIPANT_ACCEPT = 140; - GROUP_PARTICIPANT_LINKED_GROUP_JOIN = 141; - COMMUNITY_CREATE = 142; - EPHEMERAL_KEEP_IN_CHAT = 143; - GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST = 144; - GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE = 145; - INTEGRITY_UNLINK_PARENT_GROUP = 146; - COMMUNITY_PARTICIPANT_PROMOTE = 147; - COMMUNITY_PARTICIPANT_DEMOTE = 148; - COMMUNITY_PARENT_GROUP_DELETED = 149; - COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL = 150; - GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP = 151; - MASKED_THREAD_CREATED = 152; - MASKED_THREAD_UNMASKED = 153; - BIZ_CHAT_ASSIGNMENT = 154; - CHAT_PSA = 155; - CHAT_POLL_CREATION_MESSAGE = 156; - CAG_MASKED_THREAD_CREATED = 157; - COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED = 158; - CAG_INVITE_AUTO_ADD = 159; - BIZ_CHAT_ASSIGNMENT_UNASSIGN = 160; - CAG_INVITE_AUTO_JOINED = 161; - SCHEDULED_CALL_START_MESSAGE = 162; - COMMUNITY_INVITE_RICH = 163; - COMMUNITY_INVITE_AUTO_ADD_RICH = 164; - SUB_GROUP_INVITE_RICH = 165; - SUB_GROUP_PARTICIPANT_ADD_RICH = 166; - COMMUNITY_LINK_PARENT_GROUP_RICH = 167; - COMMUNITY_PARTICIPANT_ADD_RICH = 168; - SILENCED_UNKNOWN_CALLER_AUDIO = 169; - SILENCED_UNKNOWN_CALLER_VIDEO = 170; - GROUP_MEMBER_ADD_MODE = 171; - GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD = 172; - COMMUNITY_CHANGE_DESCRIPTION = 173; - SENDER_INVITE = 174; - RECEIVER_INVITE = 175; - COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS = 176; - PINNED_MESSAGE_IN_CHAT = 177; - PAYMENT_INVITE_SETUP_INVITER = 178; - PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY = 179; - PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE = 180; - LINKED_GROUP_CALL_START = 181; - REPORT_TO_ADMIN_ENABLED_STATUS = 182; - EMPTY_SUBGROUP_CREATE = 183; - SCHEDULED_CALL_CANCEL = 184; - SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH = 185; - GROUP_CHANGE_RECENT_HISTORY_SHARING = 186; - PAID_MESSAGE_SERVER_CAMPAIGN_ID = 187; - GENERAL_CHAT_CREATE = 188; - GENERAL_CHAT_ADD = 189; - GENERAL_CHAT_AUTO_ADD_DISABLED = 190; - SUGGESTED_SUBGROUP_ANNOUNCE = 191; - BIZ_BOT_1P_MESSAGING_ENABLED = 192; - CHANGE_USERNAME = 193; - BIZ_COEX_PRIVACY_INIT_SELF = 194; - BIZ_COEX_PRIVACY_TRANSITION_SELF = 195; - SUPPORT_AI_EDUCATION = 196; - BIZ_BOT_3P_MESSAGING_ENABLED = 197; - REMINDER_SETUP_MESSAGE = 198; - REMINDER_SENT_MESSAGE = 199; - REMINDER_CANCEL_MESSAGE = 200; - } - enum Status { - ERROR = 0; - PENDING = 1; - SERVER_ACK = 2; - DELIVERY_ACK = 3; - READ = 4; - PLAYED = 5; - } - enum BizPrivacyStatus { - E2EE = 0; - FB = 2; - BSP = 1; - BSP_AND_FB = 3; - } - required MessageKey key = 1; - optional Message message = 2; - optional uint64 messageTimestamp = 3; - optional Status status = 4; - optional string participant = 5; - optional uint64 messageC2STimestamp = 6; - optional bool ignore = 16; - optional bool starred = 17; - optional bool broadcast = 18; - optional string pushName = 19; - optional bytes mediaCiphertextSha256 = 20; - optional bool multicast = 21; - optional bool urlText = 22; - optional bool urlNumber = 23; - optional StubType messageStubType = 24; - optional bool clearMedia = 25; - repeated string messageStubParameters = 26; - optional uint32 duration = 27; - repeated string labels = 28; - optional PaymentInfo paymentInfo = 29; - optional LiveLocationMessage finalLiveLocation = 30; - optional PaymentInfo quotedPaymentInfo = 31; - optional uint64 ephemeralStartTimestamp = 32; - optional uint32 ephemeralDuration = 33; - optional bool ephemeralOffToOn = 34; - optional bool ephemeralOutOfSync = 35; - optional BizPrivacyStatus bizPrivacyStatus = 36; - optional string verifiedBizName = 37; - optional MediaData mediaData = 38; - optional PhotoChange photoChange = 39; - repeated UserReceipt userReceipt = 40; - repeated Reaction reactions = 41; - optional MediaData quotedStickerData = 42; - optional bytes futureproofData = 43; - optional StatusPSA statusPsa = 44; - repeated PollUpdate pollUpdates = 45; - optional PollAdditionalMetadata pollAdditionalMetadata = 46; - optional string agentId = 47; - optional bool statusAlreadyViewed = 48; - optional bytes messageSecret = 49; - optional KeepInChat keepInChat = 50; - optional string originalSelfAuthorUserJidString = 51; - optional uint64 revokeMessageTimestamp = 52; - optional PinInChat pinInChat = 54; - optional PremiumMessageInfo premiumMessageInfo = 55; - optional bool is1PBizBotMessage = 56; - optional bool isGroupHistoryMessage = 57; - optional string botMessageInvokerJid = 58; - optional CommentMetadata commentMetadata = 59; - repeated EventResponse eventResponses = 61; - optional ReportingTokenInfo reportingTokenInfo = 62; - optional uint64 newsletterServerId = 63; -} - -message WebFeatures { - enum Flag { - NOT_STARTED = 0; - FORCE_UPGRADE = 1; - DEVELOPMENT = 2; - PRODUCTION = 3; - } - optional Flag labelsDisplay = 1; - optional Flag voipIndividualOutgoing = 2; - optional Flag groupsV3 = 3; - optional Flag groupsV3Create = 4; - optional Flag changeNumberV2 = 5; - optional Flag queryStatusV3Thumbnail = 6; - optional Flag liveLocations = 7; - optional Flag queryVname = 8; - optional Flag voipIndividualIncoming = 9; - optional Flag quickRepliesQuery = 10; - optional Flag payments = 11; - optional Flag stickerPackQuery = 12; - optional Flag liveLocationsFinal = 13; - optional Flag labelsEdit = 14; - optional Flag mediaUpload = 15; - optional Flag mediaUploadRichQuickReplies = 18; - optional Flag vnameV2 = 19; - optional Flag videoPlaybackUrl = 20; - optional Flag statusRanking = 21; - optional Flag voipIndividualVideo = 22; - optional Flag thirdPartyStickers = 23; - optional Flag frequentlyForwardedSetting = 24; - optional Flag groupsV4JoinPermission = 25; - optional Flag recentStickers = 26; - optional Flag catalog = 27; - optional Flag starredStickers = 28; - optional Flag voipGroupCall = 29; - optional Flag templateMessage = 30; - optional Flag templateMessageInteractivity = 31; - optional Flag ephemeralMessages = 32; - optional Flag e2ENotificationSync = 33; - optional Flag recentStickersV2 = 34; - optional Flag recentStickersV3 = 36; - optional Flag userNotice = 37; - optional Flag support = 39; - optional Flag groupUiiCleanup = 40; - optional Flag groupDogfoodingInternalOnly = 41; - optional Flag settingsSync = 42; - optional Flag archiveV2 = 43; - optional Flag ephemeralAllowGroupMembers = 44; - optional Flag ephemeral24HDuration = 45; - optional Flag mdForceUpgrade = 46; - optional Flag disappearingMode = 47; - optional Flag externalMdOptInAvailable = 48; - optional Flag noDeleteMessageTimeLimit = 49; -} - -message UserReceipt { - required string userJid = 1; - optional int64 receiptTimestamp = 2; - optional int64 readTimestamp = 3; - optional int64 playedTimestamp = 4; - repeated string pendingDeviceJid = 5; - repeated string deliveredDeviceJid = 6; -} - -message StatusPSA { - required uint64 campaignId = 44; - optional uint64 campaignExpirationTimestamp = 45; -} - -message ReportingTokenInfo { - optional bytes reportingTag = 1; -} - -message Reaction { - optional MessageKey key = 1; - optional string text = 2; - optional string groupingKey = 3; - optional int64 senderTimestampMs = 4; - optional bool unread = 5; -} - -message PremiumMessageInfo { - optional string serverCampaignId = 1; -} - -message PollUpdate { - optional MessageKey pollUpdateMessageKey = 1; - optional PollVoteMessage vote = 2; - optional int64 senderTimestampMs = 3; - optional int64 serverTimestampMs = 4; - optional bool unread = 5; -} - -message PollAdditionalMetadata { - optional bool pollInvalidated = 1; -} - -message PinInChat { - enum Type { - UNKNOWN_TYPE = 0; - PIN_FOR_ALL = 1; - UNPIN_FOR_ALL = 2; - } - optional Type type = 1; - optional MessageKey key = 2; - optional int64 senderTimestampMs = 3; - optional int64 serverTimestampMs = 4; - optional MessageAddOnContextInfo messageAddOnContextInfo = 5; -} - -message PhotoChange { - optional bytes oldPhoto = 1; - optional bytes newPhoto = 2; - optional uint32 newPhotoId = 3; -} - -message PaymentInfo { - enum TxnStatus { - UNKNOWN = 0; - PENDING_SETUP = 1; - PENDING_RECEIVER_SETUP = 2; - INIT = 3; - SUCCESS = 4; - COMPLETED = 5; - FAILED = 6; - FAILED_RISK = 7; - FAILED_PROCESSING = 8; - FAILED_RECEIVER_PROCESSING = 9; - FAILED_DA = 10; - FAILED_DA_FINAL = 11; - REFUNDED_TXN = 12; - REFUND_FAILED = 13; - REFUND_FAILED_PROCESSING = 14; - REFUND_FAILED_DA = 15; - EXPIRED_TXN = 16; - AUTH_CANCELED = 17; - AUTH_CANCEL_FAILED_PROCESSING = 18; - AUTH_CANCEL_FAILED = 19; - COLLECT_INIT = 20; - COLLECT_SUCCESS = 21; - COLLECT_FAILED = 22; - COLLECT_FAILED_RISK = 23; - COLLECT_REJECTED = 24; - COLLECT_EXPIRED = 25; - COLLECT_CANCELED = 26; - COLLECT_CANCELLING = 27; - IN_REVIEW = 28; - REVERSAL_SUCCESS = 29; - REVERSAL_PENDING = 30; - REFUND_PENDING = 31; - } - enum Status { - UNKNOWN_STATUS = 0; - PROCESSING = 1; - SENT = 2; - NEED_TO_ACCEPT = 3; - COMPLETE = 4; - COULD_NOT_COMPLETE = 5; - REFUNDED = 6; - EXPIRED = 7; - REJECTED = 8; - CANCELLED = 9; - WAITING_FOR_PAYER = 10; - WAITING = 11; - } - enum Currency { - UNKNOWN_CURRENCY = 0; - INR = 1; - } - optional Currency currencyDeprecated = 1; - optional uint64 amount1000 = 2; - optional string receiverJid = 3; - optional Status status = 4; - optional uint64 transactionTimestamp = 5; - optional MessageKey requestMessageKey = 6; - optional uint64 expiryTimestamp = 7; - optional bool futureproofed = 8; - optional string currency = 9; - optional TxnStatus txnStatus = 10; - optional bool useNoviFiatFormat = 11; - optional Money primaryAmount = 12; - optional Money exchangeAmount = 13; -} - -message NotificationMessageInfo { - optional MessageKey key = 1; - optional Message message = 2; - optional uint64 messageTimestamp = 3; - optional string participant = 4; -} - -message MessageAddOnContextInfo { - optional uint32 messageAddOnDurationInSecs = 1; -} - -message MediaData { - optional string localPath = 1; -} - -message KeepInChat { - optional KeepType keepType = 1; - optional int64 serverTimestamp = 2; - optional MessageKey key = 3; - optional string deviceJid = 4; - optional int64 clientTimestampMs = 5; - optional int64 serverTimestampMs = 6; -} - -message EventResponse { - optional MessageKey eventResponseMessageKey = 1; - optional int64 timestampMs = 2; - optional EventResponseMessage eventResponseMessage = 3; - optional bool unread = 4; -} - -message CommentMetadata { - optional MessageKey commentParentKey = 1; - optional uint32 replyCount = 2; -} - -message NoiseCertificate { - message Details { - optional uint32 serial = 1; - optional string issuer = 2; - optional uint64 expires = 3; - optional string subject = 4; - optional bytes key = 5; - } - - optional bytes details = 1; - optional bytes signature = 2; -} - -message CertChain { - message NoiseCertificate { - message Details { - optional uint32 serial = 1; - optional uint32 issuerSerial = 2; - optional bytes key = 3; - optional uint64 notBefore = 4; - optional uint64 notAfter = 5; - } - - optional bytes details = 1; - optional bytes signature = 2; - } - - optional NoiseCertificate leaf = 1; - optional NoiseCertificate intermediate = 2; -} - -message QP { - message Filter { - required string filterName = 1; - repeated FilterParameters parameters = 2; - optional FilterResult filterResult = 3; - required FilterClientNotSupportedConfig clientNotSupportedConfig = 4; - } - - enum FilterResult { - TRUE = 1; - FALSE = 2; - UNKNOWN = 3; - } - message FilterParameters { - optional string key = 1; - optional string value = 2; - } - - enum FilterClientNotSupportedConfig { - PASS_BY_DEFAULT = 1; - FAIL_BY_DEFAULT = 2; - } - message FilterClause { - required ClauseType clauseType = 1; - repeated FilterClause clauses = 2; - repeated Filter filters = 3; - } - - enum ClauseType { - AND = 1; - OR = 2; - NOR = 3; - } -} - diff --git a/neonize/gocode/defproto/def.pb.go b/neonize/gocode/defproto/def.pb.go deleted file mode 100644 index c55266b3..00000000 --- a/neonize/gocode/defproto/def.pb.go +++ /dev/null @@ -1,38165 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v4.25.1 -// source: def.proto - -package defproto - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type ADVEncryptionType int32 - -const ( - ADVEncryptionType_E2EE ADVEncryptionType = 0 - ADVEncryptionType_HOSTED ADVEncryptionType = 1 -) - -// Enum value maps for ADVEncryptionType. -var ( - ADVEncryptionType_name = map[int32]string{ - 0: "E2EE", - 1: "HOSTED", - } - ADVEncryptionType_value = map[string]int32{ - "E2EE": 0, - "HOSTED": 1, - } -) - -func (x ADVEncryptionType) Enum() *ADVEncryptionType { - p := new(ADVEncryptionType) - *p = x - return p -} - -func (x ADVEncryptionType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ADVEncryptionType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[0].Descriptor() -} - -func (ADVEncryptionType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[0] -} - -func (x ADVEncryptionType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ADVEncryptionType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ADVEncryptionType(num) - return nil -} - -// Deprecated: Use ADVEncryptionType.Descriptor instead. -func (ADVEncryptionType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{0} -} - -type KeepType int32 - -const ( - KeepType_UNKNOWN KeepType = 0 - KeepType_KEEP_FOR_ALL KeepType = 1 - KeepType_UNDO_KEEP_FOR_ALL KeepType = 2 -) - -// Enum value maps for KeepType. -var ( - KeepType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "KEEP_FOR_ALL", - 2: "UNDO_KEEP_FOR_ALL", - } - KeepType_value = map[string]int32{ - "UNKNOWN": 0, - "KEEP_FOR_ALL": 1, - "UNDO_KEEP_FOR_ALL": 2, - } -) - -func (x KeepType) Enum() *KeepType { - p := new(KeepType) - *p = x - return p -} - -func (x KeepType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (KeepType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[1].Descriptor() -} - -func (KeepType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[1] -} - -func (x KeepType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *KeepType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = KeepType(num) - return nil -} - -// Deprecated: Use KeepType.Descriptor instead. -func (KeepType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{1} -} - -type PeerDataOperationRequestType int32 - -const ( - PeerDataOperationRequestType_UPLOAD_STICKER PeerDataOperationRequestType = 0 - PeerDataOperationRequestType_SEND_RECENT_STICKER_BOOTSTRAP PeerDataOperationRequestType = 1 - PeerDataOperationRequestType_GENERATE_LINK_PREVIEW PeerDataOperationRequestType = 2 - PeerDataOperationRequestType_HISTORY_SYNC_ON_DEMAND PeerDataOperationRequestType = 3 - PeerDataOperationRequestType_PLACEHOLDER_MESSAGE_RESEND PeerDataOperationRequestType = 4 -) - -// Enum value maps for PeerDataOperationRequestType. -var ( - PeerDataOperationRequestType_name = map[int32]string{ - 0: "UPLOAD_STICKER", - 1: "SEND_RECENT_STICKER_BOOTSTRAP", - 2: "GENERATE_LINK_PREVIEW", - 3: "HISTORY_SYNC_ON_DEMAND", - 4: "PLACEHOLDER_MESSAGE_RESEND", - } - PeerDataOperationRequestType_value = map[string]int32{ - "UPLOAD_STICKER": 0, - "SEND_RECENT_STICKER_BOOTSTRAP": 1, - "GENERATE_LINK_PREVIEW": 2, - "HISTORY_SYNC_ON_DEMAND": 3, - "PLACEHOLDER_MESSAGE_RESEND": 4, - } -) - -func (x PeerDataOperationRequestType) Enum() *PeerDataOperationRequestType { - p := new(PeerDataOperationRequestType) - *p = x - return p -} - -func (x PeerDataOperationRequestType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PeerDataOperationRequestType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[2].Descriptor() -} - -func (PeerDataOperationRequestType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[2] -} - -func (x PeerDataOperationRequestType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *PeerDataOperationRequestType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = PeerDataOperationRequestType(num) - return nil -} - -// Deprecated: Use PeerDataOperationRequestType.Descriptor instead. -func (PeerDataOperationRequestType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{2} -} - -type MediaVisibility int32 - -const ( - MediaVisibility_DEFAULT MediaVisibility = 0 - MediaVisibility_OFF MediaVisibility = 1 - MediaVisibility_ON MediaVisibility = 2 -) - -// Enum value maps for MediaVisibility. -var ( - MediaVisibility_name = map[int32]string{ - 0: "DEFAULT", - 1: "OFF", - 2: "ON", - } - MediaVisibility_value = map[string]int32{ - "DEFAULT": 0, - "OFF": 1, - "ON": 2, - } -) - -func (x MediaVisibility) Enum() *MediaVisibility { - p := new(MediaVisibility) - *p = x - return p -} - -func (x MediaVisibility) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (MediaVisibility) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[3].Descriptor() -} - -func (MediaVisibility) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[3] -} - -func (x MediaVisibility) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *MediaVisibility) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = MediaVisibility(num) - return nil -} - -// Deprecated: Use MediaVisibility.Descriptor instead. -func (MediaVisibility) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{3} -} - -type DeviceProps_PlatformType int32 - -const ( - DeviceProps_UNKNOWN DeviceProps_PlatformType = 0 - DeviceProps_CHROME DeviceProps_PlatformType = 1 - DeviceProps_FIREFOX DeviceProps_PlatformType = 2 - DeviceProps_IE DeviceProps_PlatformType = 3 - DeviceProps_OPERA DeviceProps_PlatformType = 4 - DeviceProps_SAFARI DeviceProps_PlatformType = 5 - DeviceProps_EDGE DeviceProps_PlatformType = 6 - DeviceProps_DESKTOP DeviceProps_PlatformType = 7 - DeviceProps_IPAD DeviceProps_PlatformType = 8 - DeviceProps_ANDROID_TABLET DeviceProps_PlatformType = 9 - DeviceProps_OHANA DeviceProps_PlatformType = 10 - DeviceProps_ALOHA DeviceProps_PlatformType = 11 - DeviceProps_CATALINA DeviceProps_PlatformType = 12 - DeviceProps_TCL_TV DeviceProps_PlatformType = 13 - DeviceProps_IOS_PHONE DeviceProps_PlatformType = 14 - DeviceProps_IOS_CATALYST DeviceProps_PlatformType = 15 - DeviceProps_ANDROID_PHONE DeviceProps_PlatformType = 16 - DeviceProps_ANDROID_AMBIGUOUS DeviceProps_PlatformType = 17 - DeviceProps_WEAR_OS DeviceProps_PlatformType = 18 - DeviceProps_AR_WRIST DeviceProps_PlatformType = 19 - DeviceProps_AR_DEVICE DeviceProps_PlatformType = 20 - DeviceProps_UWP DeviceProps_PlatformType = 21 - DeviceProps_VR DeviceProps_PlatformType = 22 -) - -// Enum value maps for DeviceProps_PlatformType. -var ( - DeviceProps_PlatformType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "CHROME", - 2: "FIREFOX", - 3: "IE", - 4: "OPERA", - 5: "SAFARI", - 6: "EDGE", - 7: "DESKTOP", - 8: "IPAD", - 9: "ANDROID_TABLET", - 10: "OHANA", - 11: "ALOHA", - 12: "CATALINA", - 13: "TCL_TV", - 14: "IOS_PHONE", - 15: "IOS_CATALYST", - 16: "ANDROID_PHONE", - 17: "ANDROID_AMBIGUOUS", - 18: "WEAR_OS", - 19: "AR_WRIST", - 20: "AR_DEVICE", - 21: "UWP", - 22: "VR", - } - DeviceProps_PlatformType_value = map[string]int32{ - "UNKNOWN": 0, - "CHROME": 1, - "FIREFOX": 2, - "IE": 3, - "OPERA": 4, - "SAFARI": 5, - "EDGE": 6, - "DESKTOP": 7, - "IPAD": 8, - "ANDROID_TABLET": 9, - "OHANA": 10, - "ALOHA": 11, - "CATALINA": 12, - "TCL_TV": 13, - "IOS_PHONE": 14, - "IOS_CATALYST": 15, - "ANDROID_PHONE": 16, - "ANDROID_AMBIGUOUS": 17, - "WEAR_OS": 18, - "AR_WRIST": 19, - "AR_DEVICE": 20, - "UWP": 21, - "VR": 22, - } -) - -func (x DeviceProps_PlatformType) Enum() *DeviceProps_PlatformType { - p := new(DeviceProps_PlatformType) - *p = x - return p -} - -func (x DeviceProps_PlatformType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DeviceProps_PlatformType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[4].Descriptor() -} - -func (DeviceProps_PlatformType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[4] -} - -func (x DeviceProps_PlatformType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *DeviceProps_PlatformType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = DeviceProps_PlatformType(num) - return nil -} - -// Deprecated: Use DeviceProps_PlatformType.Descriptor instead. -func (DeviceProps_PlatformType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{5, 0} -} - -type InteractiveMessage_ShopMessage_Surface int32 - -const ( - InteractiveMessage_ShopMessage_UNKNOWN_SURFACE InteractiveMessage_ShopMessage_Surface = 0 - InteractiveMessage_ShopMessage_FB InteractiveMessage_ShopMessage_Surface = 1 - InteractiveMessage_ShopMessage_IG InteractiveMessage_ShopMessage_Surface = 2 - InteractiveMessage_ShopMessage_WA InteractiveMessage_ShopMessage_Surface = 3 -) - -// Enum value maps for InteractiveMessage_ShopMessage_Surface. -var ( - InteractiveMessage_ShopMessage_Surface_name = map[int32]string{ - 0: "UNKNOWN_SURFACE", - 1: "FB", - 2: "IG", - 3: "WA", - } - InteractiveMessage_ShopMessage_Surface_value = map[string]int32{ - "UNKNOWN_SURFACE": 0, - "FB": 1, - "IG": 2, - "WA": 3, - } -) - -func (x InteractiveMessage_ShopMessage_Surface) Enum() *InteractiveMessage_ShopMessage_Surface { - p := new(InteractiveMessage_ShopMessage_Surface) - *p = x - return p -} - -func (x InteractiveMessage_ShopMessage_Surface) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (InteractiveMessage_ShopMessage_Surface) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[5].Descriptor() -} - -func (InteractiveMessage_ShopMessage_Surface) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[5] -} - -func (x InteractiveMessage_ShopMessage_Surface) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *InteractiveMessage_ShopMessage_Surface) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = InteractiveMessage_ShopMessage_Surface(num) - return nil -} - -// Deprecated: Use InteractiveMessage_ShopMessage_Surface.Descriptor instead. -func (InteractiveMessage_ShopMessage_Surface) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{6, 0, 0} -} - -type HistorySyncNotification_HistorySyncType int32 - -const ( - HistorySyncNotification_INITIAL_BOOTSTRAP HistorySyncNotification_HistorySyncType = 0 - HistorySyncNotification_INITIAL_STATUS_V3 HistorySyncNotification_HistorySyncType = 1 - HistorySyncNotification_FULL HistorySyncNotification_HistorySyncType = 2 - HistorySyncNotification_RECENT HistorySyncNotification_HistorySyncType = 3 - HistorySyncNotification_PUSH_NAME HistorySyncNotification_HistorySyncType = 4 - HistorySyncNotification_NON_BLOCKING_DATA HistorySyncNotification_HistorySyncType = 5 - HistorySyncNotification_ON_DEMAND HistorySyncNotification_HistorySyncType = 6 -) - -// Enum value maps for HistorySyncNotification_HistorySyncType. -var ( - HistorySyncNotification_HistorySyncType_name = map[int32]string{ - 0: "INITIAL_BOOTSTRAP", - 1: "INITIAL_STATUS_V3", - 2: "FULL", - 3: "RECENT", - 4: "PUSH_NAME", - 5: "NON_BLOCKING_DATA", - 6: "ON_DEMAND", - } - HistorySyncNotification_HistorySyncType_value = map[string]int32{ - "INITIAL_BOOTSTRAP": 0, - "INITIAL_STATUS_V3": 1, - "FULL": 2, - "RECENT": 3, - "PUSH_NAME": 4, - "NON_BLOCKING_DATA": 5, - "ON_DEMAND": 6, - } -) - -func (x HistorySyncNotification_HistorySyncType) Enum() *HistorySyncNotification_HistorySyncType { - p := new(HistorySyncNotification_HistorySyncType) - *p = x - return p -} - -func (x HistorySyncNotification_HistorySyncType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (HistorySyncNotification_HistorySyncType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[6].Descriptor() -} - -func (HistorySyncNotification_HistorySyncType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[6] -} - -func (x HistorySyncNotification_HistorySyncType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *HistorySyncNotification_HistorySyncType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = HistorySyncNotification_HistorySyncType(num) - return nil -} - -// Deprecated: Use HistorySyncNotification_HistorySyncType.Descriptor instead. -func (HistorySyncNotification_HistorySyncType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{9, 0} -} - -type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType int32 - -const ( - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_MONDAY HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType = 1 - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_TUESDAY HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType = 2 - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_WEDNESDAY HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType = 3 - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_THURSDAY HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType = 4 - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_FRIDAY HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType = 5 - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_SATURDAY HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType = 6 - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_SUNDAY HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType = 7 -) - -// Enum value maps for HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType. -var ( - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType_name = map[int32]string{ - 1: "MONDAY", - 2: "TUESDAY", - 3: "WEDNESDAY", - 4: "THURSDAY", - 5: "FRIDAY", - 6: "SATURDAY", - 7: "SUNDAY", - } - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType_value = map[string]int32{ - "MONDAY": 1, - "TUESDAY": 2, - "WEDNESDAY": 3, - "THURSDAY": 4, - "FRIDAY": 5, - "SATURDAY": 6, - "SUNDAY": 7, - } -) - -func (x HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) Enum() *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType { - p := new(HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) - *p = x - return p -} - -func (x HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[7].Descriptor() -} - -func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[7] -} - -func (x HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType(num) - return nil -} - -// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType.Descriptor instead. -func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{10, 0, 0, 1, 0} -} - -type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType int32 - -const ( - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_GREGORIAN HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType = 1 - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_SOLAR_HIJRI HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType = 2 -) - -// Enum value maps for HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType. -var ( - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType_name = map[int32]string{ - 1: "GREGORIAN", - 2: "SOLAR_HIJRI", - } - HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType_value = map[string]int32{ - "GREGORIAN": 1, - "SOLAR_HIJRI": 2, - } -) - -func (x HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) Enum() *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType { - p := new(HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) - *p = x - return p -} - -func (x HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[8].Descriptor() -} - -func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[8] -} - -func (x HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType(num) - return nil -} - -// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType.Descriptor instead. -func (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{10, 0, 0, 1, 1} -} - -type GroupInviteMessage_GroupType int32 - -const ( - GroupInviteMessage_DEFAULT GroupInviteMessage_GroupType = 0 - GroupInviteMessage_PARENT GroupInviteMessage_GroupType = 1 -) - -// Enum value maps for GroupInviteMessage_GroupType. -var ( - GroupInviteMessage_GroupType_name = map[int32]string{ - 0: "DEFAULT", - 1: "PARENT", - } - GroupInviteMessage_GroupType_value = map[string]int32{ - "DEFAULT": 0, - "PARENT": 1, - } -) - -func (x GroupInviteMessage_GroupType) Enum() *GroupInviteMessage_GroupType { - p := new(GroupInviteMessage_GroupType) - *p = x - return p -} - -func (x GroupInviteMessage_GroupType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (GroupInviteMessage_GroupType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[9].Descriptor() -} - -func (GroupInviteMessage_GroupType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[9] -} - -func (x GroupInviteMessage_GroupType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *GroupInviteMessage_GroupType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = GroupInviteMessage_GroupType(num) - return nil -} - -// Deprecated: Use GroupInviteMessage_GroupType.Descriptor instead. -func (GroupInviteMessage_GroupType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{11, 0} -} - -type ExtendedTextMessage_PreviewType int32 - -const ( - ExtendedTextMessage_NONE ExtendedTextMessage_PreviewType = 0 - ExtendedTextMessage_VIDEO ExtendedTextMessage_PreviewType = 1 - ExtendedTextMessage_PLACEHOLDER ExtendedTextMessage_PreviewType = 4 - ExtendedTextMessage_IMAGE ExtendedTextMessage_PreviewType = 5 -) - -// Enum value maps for ExtendedTextMessage_PreviewType. -var ( - ExtendedTextMessage_PreviewType_name = map[int32]string{ - 0: "NONE", - 1: "VIDEO", - 4: "PLACEHOLDER", - 5: "IMAGE", - } - ExtendedTextMessage_PreviewType_value = map[string]int32{ - "NONE": 0, - "VIDEO": 1, - "PLACEHOLDER": 4, - "IMAGE": 5, - } -) - -func (x ExtendedTextMessage_PreviewType) Enum() *ExtendedTextMessage_PreviewType { - p := new(ExtendedTextMessage_PreviewType) - *p = x - return p -} - -func (x ExtendedTextMessage_PreviewType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ExtendedTextMessage_PreviewType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[10].Descriptor() -} - -func (ExtendedTextMessage_PreviewType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[10] -} - -func (x ExtendedTextMessage_PreviewType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ExtendedTextMessage_PreviewType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ExtendedTextMessage_PreviewType(num) - return nil -} - -// Deprecated: Use ExtendedTextMessage_PreviewType.Descriptor instead. -func (ExtendedTextMessage_PreviewType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{13, 0} -} - -type ExtendedTextMessage_InviteLinkGroupType int32 - -const ( - ExtendedTextMessage_DEFAULT ExtendedTextMessage_InviteLinkGroupType = 0 - ExtendedTextMessage_PARENT ExtendedTextMessage_InviteLinkGroupType = 1 - ExtendedTextMessage_SUB ExtendedTextMessage_InviteLinkGroupType = 2 - ExtendedTextMessage_DEFAULT_SUB ExtendedTextMessage_InviteLinkGroupType = 3 -) - -// Enum value maps for ExtendedTextMessage_InviteLinkGroupType. -var ( - ExtendedTextMessage_InviteLinkGroupType_name = map[int32]string{ - 0: "DEFAULT", - 1: "PARENT", - 2: "SUB", - 3: "DEFAULT_SUB", - } - ExtendedTextMessage_InviteLinkGroupType_value = map[string]int32{ - "DEFAULT": 0, - "PARENT": 1, - "SUB": 2, - "DEFAULT_SUB": 3, - } -) - -func (x ExtendedTextMessage_InviteLinkGroupType) Enum() *ExtendedTextMessage_InviteLinkGroupType { - p := new(ExtendedTextMessage_InviteLinkGroupType) - *p = x - return p -} - -func (x ExtendedTextMessage_InviteLinkGroupType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ExtendedTextMessage_InviteLinkGroupType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[11].Descriptor() -} - -func (ExtendedTextMessage_InviteLinkGroupType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[11] -} - -func (x ExtendedTextMessage_InviteLinkGroupType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ExtendedTextMessage_InviteLinkGroupType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ExtendedTextMessage_InviteLinkGroupType(num) - return nil -} - -// Deprecated: Use ExtendedTextMessage_InviteLinkGroupType.Descriptor instead. -func (ExtendedTextMessage_InviteLinkGroupType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{13, 1} -} - -type ExtendedTextMessage_FontType int32 - -const ( - ExtendedTextMessage_SYSTEM ExtendedTextMessage_FontType = 0 - ExtendedTextMessage_SYSTEM_TEXT ExtendedTextMessage_FontType = 1 - ExtendedTextMessage_FB_SCRIPT ExtendedTextMessage_FontType = 2 - ExtendedTextMessage_SYSTEM_BOLD ExtendedTextMessage_FontType = 6 - ExtendedTextMessage_MORNINGBREEZE_REGULAR ExtendedTextMessage_FontType = 7 - ExtendedTextMessage_CALISTOGA_REGULAR ExtendedTextMessage_FontType = 8 - ExtendedTextMessage_EXO2_EXTRABOLD ExtendedTextMessage_FontType = 9 - ExtendedTextMessage_COURIERPRIME_BOLD ExtendedTextMessage_FontType = 10 -) - -// Enum value maps for ExtendedTextMessage_FontType. -var ( - ExtendedTextMessage_FontType_name = map[int32]string{ - 0: "SYSTEM", - 1: "SYSTEM_TEXT", - 2: "FB_SCRIPT", - 6: "SYSTEM_BOLD", - 7: "MORNINGBREEZE_REGULAR", - 8: "CALISTOGA_REGULAR", - 9: "EXO2_EXTRABOLD", - 10: "COURIERPRIME_BOLD", - } - ExtendedTextMessage_FontType_value = map[string]int32{ - "SYSTEM": 0, - "SYSTEM_TEXT": 1, - "FB_SCRIPT": 2, - "SYSTEM_BOLD": 6, - "MORNINGBREEZE_REGULAR": 7, - "CALISTOGA_REGULAR": 8, - "EXO2_EXTRABOLD": 9, - "COURIERPRIME_BOLD": 10, - } -) - -func (x ExtendedTextMessage_FontType) Enum() *ExtendedTextMessage_FontType { - p := new(ExtendedTextMessage_FontType) - *p = x - return p -} - -func (x ExtendedTextMessage_FontType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ExtendedTextMessage_FontType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[12].Descriptor() -} - -func (ExtendedTextMessage_FontType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[12] -} - -func (x ExtendedTextMessage_FontType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ExtendedTextMessage_FontType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ExtendedTextMessage_FontType(num) - return nil -} - -// Deprecated: Use ExtendedTextMessage_FontType.Descriptor instead. -func (ExtendedTextMessage_FontType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{13, 2} -} - -type EventResponseMessage_EventResponseType int32 - -const ( - EventResponseMessage_UNKNOWN EventResponseMessage_EventResponseType = 0 - EventResponseMessage_GOING EventResponseMessage_EventResponseType = 1 - EventResponseMessage_NOT_GOING EventResponseMessage_EventResponseType = 2 -) - -// Enum value maps for EventResponseMessage_EventResponseType. -var ( - EventResponseMessage_EventResponseType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "GOING", - 2: "NOT_GOING", - } - EventResponseMessage_EventResponseType_value = map[string]int32{ - "UNKNOWN": 0, - "GOING": 1, - "NOT_GOING": 2, - } -) - -func (x EventResponseMessage_EventResponseType) Enum() *EventResponseMessage_EventResponseType { - p := new(EventResponseMessage_EventResponseType) - *p = x - return p -} - -func (x EventResponseMessage_EventResponseType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (EventResponseMessage_EventResponseType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[13].Descriptor() -} - -func (EventResponseMessage_EventResponseType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[13] -} - -func (x EventResponseMessage_EventResponseType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *EventResponseMessage_EventResponseType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = EventResponseMessage_EventResponseType(num) - return nil -} - -// Deprecated: Use EventResponseMessage_EventResponseType.Descriptor instead. -func (EventResponseMessage_EventResponseType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{14, 0} -} - -type CallLogMessage_CallType int32 - -const ( - CallLogMessage_REGULAR CallLogMessage_CallType = 0 - CallLogMessage_SCHEDULED_CALL CallLogMessage_CallType = 1 - CallLogMessage_VOICE_CHAT CallLogMessage_CallType = 2 -) - -// Enum value maps for CallLogMessage_CallType. -var ( - CallLogMessage_CallType_name = map[int32]string{ - 0: "REGULAR", - 1: "SCHEDULED_CALL", - 2: "VOICE_CHAT", - } - CallLogMessage_CallType_value = map[string]int32{ - "REGULAR": 0, - "SCHEDULED_CALL": 1, - "VOICE_CHAT": 2, - } -) - -func (x CallLogMessage_CallType) Enum() *CallLogMessage_CallType { - p := new(CallLogMessage_CallType) - *p = x - return p -} - -func (x CallLogMessage_CallType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (CallLogMessage_CallType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[14].Descriptor() -} - -func (CallLogMessage_CallType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[14] -} - -func (x CallLogMessage_CallType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *CallLogMessage_CallType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = CallLogMessage_CallType(num) - return nil -} - -// Deprecated: Use CallLogMessage_CallType.Descriptor instead. -func (CallLogMessage_CallType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{28, 0} -} - -type CallLogMessage_CallOutcome int32 - -const ( - CallLogMessage_CONNECTED CallLogMessage_CallOutcome = 0 - CallLogMessage_MISSED CallLogMessage_CallOutcome = 1 - CallLogMessage_FAILED CallLogMessage_CallOutcome = 2 - CallLogMessage_REJECTED CallLogMessage_CallOutcome = 3 - CallLogMessage_ACCEPTED_ELSEWHERE CallLogMessage_CallOutcome = 4 - CallLogMessage_ONGOING CallLogMessage_CallOutcome = 5 - CallLogMessage_SILENCED_BY_DND CallLogMessage_CallOutcome = 6 - CallLogMessage_SILENCED_UNKNOWN_CALLER CallLogMessage_CallOutcome = 7 -) - -// Enum value maps for CallLogMessage_CallOutcome. -var ( - CallLogMessage_CallOutcome_name = map[int32]string{ - 0: "CONNECTED", - 1: "MISSED", - 2: "FAILED", - 3: "REJECTED", - 4: "ACCEPTED_ELSEWHERE", - 5: "ONGOING", - 6: "SILENCED_BY_DND", - 7: "SILENCED_UNKNOWN_CALLER", - } - CallLogMessage_CallOutcome_value = map[string]int32{ - "CONNECTED": 0, - "MISSED": 1, - "FAILED": 2, - "REJECTED": 3, - "ACCEPTED_ELSEWHERE": 4, - "ONGOING": 5, - "SILENCED_BY_DND": 6, - "SILENCED_UNKNOWN_CALLER": 7, - } -) - -func (x CallLogMessage_CallOutcome) Enum() *CallLogMessage_CallOutcome { - p := new(CallLogMessage_CallOutcome) - *p = x - return p -} - -func (x CallLogMessage_CallOutcome) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (CallLogMessage_CallOutcome) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[15].Descriptor() -} - -func (CallLogMessage_CallOutcome) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[15] -} - -func (x CallLogMessage_CallOutcome) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *CallLogMessage_CallOutcome) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = CallLogMessage_CallOutcome(num) - return nil -} - -// Deprecated: Use CallLogMessage_CallOutcome.Descriptor instead. -func (CallLogMessage_CallOutcome) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{28, 1} -} - -type ButtonsResponseMessage_Type int32 - -const ( - ButtonsResponseMessage_UNKNOWN ButtonsResponseMessage_Type = 0 - ButtonsResponseMessage_DISPLAY_TEXT ButtonsResponseMessage_Type = 1 -) - -// Enum value maps for ButtonsResponseMessage_Type. -var ( - ButtonsResponseMessage_Type_name = map[int32]string{ - 0: "UNKNOWN", - 1: "DISPLAY_TEXT", - } - ButtonsResponseMessage_Type_value = map[string]int32{ - "UNKNOWN": 0, - "DISPLAY_TEXT": 1, - } -) - -func (x ButtonsResponseMessage_Type) Enum() *ButtonsResponseMessage_Type { - p := new(ButtonsResponseMessage_Type) - *p = x - return p -} - -func (x ButtonsResponseMessage_Type) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ButtonsResponseMessage_Type) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[16].Descriptor() -} - -func (ButtonsResponseMessage_Type) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[16] -} - -func (x ButtonsResponseMessage_Type) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ButtonsResponseMessage_Type) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ButtonsResponseMessage_Type(num) - return nil -} - -// Deprecated: Use ButtonsResponseMessage_Type.Descriptor instead. -func (ButtonsResponseMessage_Type) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{29, 0} -} - -type ButtonsMessage_HeaderType int32 - -const ( - ButtonsMessage_UNKNOWN ButtonsMessage_HeaderType = 0 - ButtonsMessage_EMPTY ButtonsMessage_HeaderType = 1 - ButtonsMessage_TEXT ButtonsMessage_HeaderType = 2 - ButtonsMessage_DOCUMENT ButtonsMessage_HeaderType = 3 - ButtonsMessage_IMAGE ButtonsMessage_HeaderType = 4 - ButtonsMessage_VIDEO ButtonsMessage_HeaderType = 5 - ButtonsMessage_LOCATION ButtonsMessage_HeaderType = 6 -) - -// Enum value maps for ButtonsMessage_HeaderType. -var ( - ButtonsMessage_HeaderType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "EMPTY", - 2: "TEXT", - 3: "DOCUMENT", - 4: "IMAGE", - 5: "VIDEO", - 6: "LOCATION", - } - ButtonsMessage_HeaderType_value = map[string]int32{ - "UNKNOWN": 0, - "EMPTY": 1, - "TEXT": 2, - "DOCUMENT": 3, - "IMAGE": 4, - "VIDEO": 5, - "LOCATION": 6, - } -) - -func (x ButtonsMessage_HeaderType) Enum() *ButtonsMessage_HeaderType { - p := new(ButtonsMessage_HeaderType) - *p = x - return p -} - -func (x ButtonsMessage_HeaderType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ButtonsMessage_HeaderType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[17].Descriptor() -} - -func (ButtonsMessage_HeaderType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[17] -} - -func (x ButtonsMessage_HeaderType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ButtonsMessage_HeaderType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ButtonsMessage_HeaderType(num) - return nil -} - -// Deprecated: Use ButtonsMessage_HeaderType.Descriptor instead. -func (ButtonsMessage_HeaderType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{30, 0} -} - -type ButtonsMessage_Button_Type int32 - -const ( - ButtonsMessage_Button_UNKNOWN ButtonsMessage_Button_Type = 0 - ButtonsMessage_Button_RESPONSE ButtonsMessage_Button_Type = 1 - ButtonsMessage_Button_NATIVE_FLOW ButtonsMessage_Button_Type = 2 -) - -// Enum value maps for ButtonsMessage_Button_Type. -var ( - ButtonsMessage_Button_Type_name = map[int32]string{ - 0: "UNKNOWN", - 1: "RESPONSE", - 2: "NATIVE_FLOW", - } - ButtonsMessage_Button_Type_value = map[string]int32{ - "UNKNOWN": 0, - "RESPONSE": 1, - "NATIVE_FLOW": 2, - } -) - -func (x ButtonsMessage_Button_Type) Enum() *ButtonsMessage_Button_Type { - p := new(ButtonsMessage_Button_Type) - *p = x - return p -} - -func (x ButtonsMessage_Button_Type) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ButtonsMessage_Button_Type) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[18].Descriptor() -} - -func (ButtonsMessage_Button_Type) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[18] -} - -func (x ButtonsMessage_Button_Type) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ButtonsMessage_Button_Type) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ButtonsMessage_Button_Type(num) - return nil -} - -// Deprecated: Use ButtonsMessage_Button_Type.Descriptor instead. -func (ButtonsMessage_Button_Type) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{30, 0, 0} -} - -type BotFeedbackMessage_BotFeedbackKindMultiplePositive int32 - -const ( - BotFeedbackMessage_BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC BotFeedbackMessage_BotFeedbackKindMultiplePositive = 1 -) - -// Enum value maps for BotFeedbackMessage_BotFeedbackKindMultiplePositive. -var ( - BotFeedbackMessage_BotFeedbackKindMultiplePositive_name = map[int32]string{ - 1: "BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC", - } - BotFeedbackMessage_BotFeedbackKindMultiplePositive_value = map[string]int32{ - "BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC": 1, - } -) - -func (x BotFeedbackMessage_BotFeedbackKindMultiplePositive) Enum() *BotFeedbackMessage_BotFeedbackKindMultiplePositive { - p := new(BotFeedbackMessage_BotFeedbackKindMultiplePositive) - *p = x - return p -} - -func (x BotFeedbackMessage_BotFeedbackKindMultiplePositive) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BotFeedbackMessage_BotFeedbackKindMultiplePositive) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[19].Descriptor() -} - -func (BotFeedbackMessage_BotFeedbackKindMultiplePositive) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[19] -} - -func (x BotFeedbackMessage_BotFeedbackKindMultiplePositive) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BotFeedbackMessage_BotFeedbackKindMultiplePositive) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BotFeedbackMessage_BotFeedbackKindMultiplePositive(num) - return nil -} - -// Deprecated: Use BotFeedbackMessage_BotFeedbackKindMultiplePositive.Descriptor instead. -func (BotFeedbackMessage_BotFeedbackKindMultiplePositive) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{31, 0} -} - -type BotFeedbackMessage_BotFeedbackKindMultipleNegative int32 - -const ( - BotFeedbackMessage_BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC BotFeedbackMessage_BotFeedbackKindMultipleNegative = 1 - BotFeedbackMessage_BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL BotFeedbackMessage_BotFeedbackKindMultipleNegative = 2 - BotFeedbackMessage_BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING BotFeedbackMessage_BotFeedbackKindMultipleNegative = 4 - BotFeedbackMessage_BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE BotFeedbackMessage_BotFeedbackKindMultipleNegative = 8 - BotFeedbackMessage_BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE BotFeedbackMessage_BotFeedbackKindMultipleNegative = 16 - BotFeedbackMessage_BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER BotFeedbackMessage_BotFeedbackKindMultipleNegative = 32 - BotFeedbackMessage_BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED BotFeedbackMessage_BotFeedbackKindMultipleNegative = 64 - BotFeedbackMessage_BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING BotFeedbackMessage_BotFeedbackKindMultipleNegative = 128 - BotFeedbackMessage_BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT BotFeedbackMessage_BotFeedbackKindMultipleNegative = 256 -) - -// Enum value maps for BotFeedbackMessage_BotFeedbackKindMultipleNegative. -var ( - BotFeedbackMessage_BotFeedbackKindMultipleNegative_name = map[int32]string{ - 1: "BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC", - 2: "BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL", - 4: "BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING", - 8: "BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE", - 16: "BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE", - 32: "BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER", - 64: "BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED", - 128: "BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING", - 256: "BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT", - } - BotFeedbackMessage_BotFeedbackKindMultipleNegative_value = map[string]int32{ - "BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC": 1, - "BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL": 2, - "BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING": 4, - "BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE": 8, - "BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE": 16, - "BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER": 32, - "BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED": 64, - "BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING": 128, - "BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT": 256, - } -) - -func (x BotFeedbackMessage_BotFeedbackKindMultipleNegative) Enum() *BotFeedbackMessage_BotFeedbackKindMultipleNegative { - p := new(BotFeedbackMessage_BotFeedbackKindMultipleNegative) - *p = x - return p -} - -func (x BotFeedbackMessage_BotFeedbackKindMultipleNegative) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BotFeedbackMessage_BotFeedbackKindMultipleNegative) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[20].Descriptor() -} - -func (BotFeedbackMessage_BotFeedbackKindMultipleNegative) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[20] -} - -func (x BotFeedbackMessage_BotFeedbackKindMultipleNegative) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BotFeedbackMessage_BotFeedbackKindMultipleNegative) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BotFeedbackMessage_BotFeedbackKindMultipleNegative(num) - return nil -} - -// Deprecated: Use BotFeedbackMessage_BotFeedbackKindMultipleNegative.Descriptor instead. -func (BotFeedbackMessage_BotFeedbackKindMultipleNegative) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{31, 1} -} - -type BotFeedbackMessage_BotFeedbackKind int32 - -const ( - BotFeedbackMessage_BOT_FEEDBACK_POSITIVE BotFeedbackMessage_BotFeedbackKind = 0 - BotFeedbackMessage_BOT_FEEDBACK_NEGATIVE_GENERIC BotFeedbackMessage_BotFeedbackKind = 1 - BotFeedbackMessage_BOT_FEEDBACK_NEGATIVE_HELPFUL BotFeedbackMessage_BotFeedbackKind = 2 - BotFeedbackMessage_BOT_FEEDBACK_NEGATIVE_INTERESTING BotFeedbackMessage_BotFeedbackKind = 3 - BotFeedbackMessage_BOT_FEEDBACK_NEGATIVE_ACCURATE BotFeedbackMessage_BotFeedbackKind = 4 - BotFeedbackMessage_BOT_FEEDBACK_NEGATIVE_SAFE BotFeedbackMessage_BotFeedbackKind = 5 - BotFeedbackMessage_BOT_FEEDBACK_NEGATIVE_OTHER BotFeedbackMessage_BotFeedbackKind = 6 - BotFeedbackMessage_BOT_FEEDBACK_NEGATIVE_REFUSED BotFeedbackMessage_BotFeedbackKind = 7 - BotFeedbackMessage_BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING BotFeedbackMessage_BotFeedbackKind = 8 - BotFeedbackMessage_BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT BotFeedbackMessage_BotFeedbackKind = 9 -) - -// Enum value maps for BotFeedbackMessage_BotFeedbackKind. -var ( - BotFeedbackMessage_BotFeedbackKind_name = map[int32]string{ - 0: "BOT_FEEDBACK_POSITIVE", - 1: "BOT_FEEDBACK_NEGATIVE_GENERIC", - 2: "BOT_FEEDBACK_NEGATIVE_HELPFUL", - 3: "BOT_FEEDBACK_NEGATIVE_INTERESTING", - 4: "BOT_FEEDBACK_NEGATIVE_ACCURATE", - 5: "BOT_FEEDBACK_NEGATIVE_SAFE", - 6: "BOT_FEEDBACK_NEGATIVE_OTHER", - 7: "BOT_FEEDBACK_NEGATIVE_REFUSED", - 8: "BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING", - 9: "BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT", - } - BotFeedbackMessage_BotFeedbackKind_value = map[string]int32{ - "BOT_FEEDBACK_POSITIVE": 0, - "BOT_FEEDBACK_NEGATIVE_GENERIC": 1, - "BOT_FEEDBACK_NEGATIVE_HELPFUL": 2, - "BOT_FEEDBACK_NEGATIVE_INTERESTING": 3, - "BOT_FEEDBACK_NEGATIVE_ACCURATE": 4, - "BOT_FEEDBACK_NEGATIVE_SAFE": 5, - "BOT_FEEDBACK_NEGATIVE_OTHER": 6, - "BOT_FEEDBACK_NEGATIVE_REFUSED": 7, - "BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING": 8, - "BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT": 9, - } -) - -func (x BotFeedbackMessage_BotFeedbackKind) Enum() *BotFeedbackMessage_BotFeedbackKind { - p := new(BotFeedbackMessage_BotFeedbackKind) - *p = x - return p -} - -func (x BotFeedbackMessage_BotFeedbackKind) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BotFeedbackMessage_BotFeedbackKind) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[21].Descriptor() -} - -func (BotFeedbackMessage_BotFeedbackKind) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[21] -} - -func (x BotFeedbackMessage_BotFeedbackKind) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BotFeedbackMessage_BotFeedbackKind) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BotFeedbackMessage_BotFeedbackKind(num) - return nil -} - -// Deprecated: Use BotFeedbackMessage_BotFeedbackKind.Descriptor instead. -func (BotFeedbackMessage_BotFeedbackKind) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{31, 2} -} - -type BCallMessage_MediaType int32 - -const ( - BCallMessage_UNKNOWN BCallMessage_MediaType = 0 - BCallMessage_AUDIO BCallMessage_MediaType = 1 - BCallMessage_VIDEO BCallMessage_MediaType = 2 -) - -// Enum value maps for BCallMessage_MediaType. -var ( - BCallMessage_MediaType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "AUDIO", - 2: "VIDEO", - } - BCallMessage_MediaType_value = map[string]int32{ - "UNKNOWN": 0, - "AUDIO": 1, - "VIDEO": 2, - } -) - -func (x BCallMessage_MediaType) Enum() *BCallMessage_MediaType { - p := new(BCallMessage_MediaType) - *p = x - return p -} - -func (x BCallMessage_MediaType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BCallMessage_MediaType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[22].Descriptor() -} - -func (BCallMessage_MediaType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[22] -} - -func (x BCallMessage_MediaType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BCallMessage_MediaType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BCallMessage_MediaType(num) - return nil -} - -// Deprecated: Use BCallMessage_MediaType.Descriptor instead. -func (BCallMessage_MediaType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{32, 0} -} - -type HydratedTemplateButton_HydratedURLButton_WebviewPresentationType int32 - -const ( - HydratedTemplateButton_HydratedURLButton_FULL HydratedTemplateButton_HydratedURLButton_WebviewPresentationType = 1 - HydratedTemplateButton_HydratedURLButton_TALL HydratedTemplateButton_HydratedURLButton_WebviewPresentationType = 2 - HydratedTemplateButton_HydratedURLButton_COMPACT HydratedTemplateButton_HydratedURLButton_WebviewPresentationType = 3 -) - -// Enum value maps for HydratedTemplateButton_HydratedURLButton_WebviewPresentationType. -var ( - HydratedTemplateButton_HydratedURLButton_WebviewPresentationType_name = map[int32]string{ - 1: "FULL", - 2: "TALL", - 3: "COMPACT", - } - HydratedTemplateButton_HydratedURLButton_WebviewPresentationType_value = map[string]int32{ - "FULL": 1, - "TALL": 2, - "COMPACT": 3, - } -) - -func (x HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) Enum() *HydratedTemplateButton_HydratedURLButton_WebviewPresentationType { - p := new(HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) - *p = x - return p -} - -func (x HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[23].Descriptor() -} - -func (HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[23] -} - -func (x HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = HydratedTemplateButton_HydratedURLButton_WebviewPresentationType(num) - return nil -} - -// Deprecated: Use HydratedTemplateButton_HydratedURLButton_WebviewPresentationType.Descriptor instead. -func (HydratedTemplateButton_HydratedURLButton_WebviewPresentationType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{43, 0, 0} -} - -type DisappearingMode_Trigger int32 - -const ( - DisappearingMode_UNKNOWN DisappearingMode_Trigger = 0 - DisappearingMode_CHAT_SETTING DisappearingMode_Trigger = 1 - DisappearingMode_ACCOUNT_SETTING DisappearingMode_Trigger = 2 - DisappearingMode_BULK_CHANGE DisappearingMode_Trigger = 3 -) - -// Enum value maps for DisappearingMode_Trigger. -var ( - DisappearingMode_Trigger_name = map[int32]string{ - 0: "UNKNOWN", - 1: "CHAT_SETTING", - 2: "ACCOUNT_SETTING", - 3: "BULK_CHANGE", - } - DisappearingMode_Trigger_value = map[string]int32{ - "UNKNOWN": 0, - "CHAT_SETTING": 1, - "ACCOUNT_SETTING": 2, - "BULK_CHANGE": 3, - } -) - -func (x DisappearingMode_Trigger) Enum() *DisappearingMode_Trigger { - p := new(DisappearingMode_Trigger) - *p = x - return p -} - -func (x DisappearingMode_Trigger) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DisappearingMode_Trigger) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[24].Descriptor() -} - -func (DisappearingMode_Trigger) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[24] -} - -func (x DisappearingMode_Trigger) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *DisappearingMode_Trigger) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = DisappearingMode_Trigger(num) - return nil -} - -// Deprecated: Use DisappearingMode_Trigger.Descriptor instead. -func (DisappearingMode_Trigger) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{45, 0} -} - -type DisappearingMode_Initiator int32 - -const ( - DisappearingMode_CHANGED_IN_CHAT DisappearingMode_Initiator = 0 - DisappearingMode_INITIATED_BY_ME DisappearingMode_Initiator = 1 - DisappearingMode_INITIATED_BY_OTHER DisappearingMode_Initiator = 2 -) - -// Enum value maps for DisappearingMode_Initiator. -var ( - DisappearingMode_Initiator_name = map[int32]string{ - 0: "CHANGED_IN_CHAT", - 1: "INITIATED_BY_ME", - 2: "INITIATED_BY_OTHER", - } - DisappearingMode_Initiator_value = map[string]int32{ - "CHANGED_IN_CHAT": 0, - "INITIATED_BY_ME": 1, - "INITIATED_BY_OTHER": 2, - } -) - -func (x DisappearingMode_Initiator) Enum() *DisappearingMode_Initiator { - p := new(DisappearingMode_Initiator) - *p = x - return p -} - -func (x DisappearingMode_Initiator) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DisappearingMode_Initiator) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[25].Descriptor() -} - -func (DisappearingMode_Initiator) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[25] -} - -func (x DisappearingMode_Initiator) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *DisappearingMode_Initiator) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = DisappearingMode_Initiator(num) - return nil -} - -// Deprecated: Use DisappearingMode_Initiator.Descriptor instead. -func (DisappearingMode_Initiator) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{45, 1} -} - -type ContextInfo_ExternalAdReplyInfo_MediaType int32 - -const ( - ContextInfo_ExternalAdReplyInfo_NONE ContextInfo_ExternalAdReplyInfo_MediaType = 0 - ContextInfo_ExternalAdReplyInfo_IMAGE ContextInfo_ExternalAdReplyInfo_MediaType = 1 - ContextInfo_ExternalAdReplyInfo_VIDEO ContextInfo_ExternalAdReplyInfo_MediaType = 2 -) - -// Enum value maps for ContextInfo_ExternalAdReplyInfo_MediaType. -var ( - ContextInfo_ExternalAdReplyInfo_MediaType_name = map[int32]string{ - 0: "NONE", - 1: "IMAGE", - 2: "VIDEO", - } - ContextInfo_ExternalAdReplyInfo_MediaType_value = map[string]int32{ - "NONE": 0, - "IMAGE": 1, - "VIDEO": 2, - } -) - -func (x ContextInfo_ExternalAdReplyInfo_MediaType) Enum() *ContextInfo_ExternalAdReplyInfo_MediaType { - p := new(ContextInfo_ExternalAdReplyInfo_MediaType) - *p = x - return p -} - -func (x ContextInfo_ExternalAdReplyInfo_MediaType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ContextInfo_ExternalAdReplyInfo_MediaType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[26].Descriptor() -} - -func (ContextInfo_ExternalAdReplyInfo_MediaType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[26] -} - -func (x ContextInfo_ExternalAdReplyInfo_MediaType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ContextInfo_ExternalAdReplyInfo_MediaType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ContextInfo_ExternalAdReplyInfo_MediaType(num) - return nil -} - -// Deprecated: Use ContextInfo_ExternalAdReplyInfo_MediaType.Descriptor instead. -func (ContextInfo_ExternalAdReplyInfo_MediaType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{47, 1, 0} -} - -type ContextInfo_AdReplyInfo_MediaType int32 - -const ( - ContextInfo_AdReplyInfo_NONE ContextInfo_AdReplyInfo_MediaType = 0 - ContextInfo_AdReplyInfo_IMAGE ContextInfo_AdReplyInfo_MediaType = 1 - ContextInfo_AdReplyInfo_VIDEO ContextInfo_AdReplyInfo_MediaType = 2 -) - -// Enum value maps for ContextInfo_AdReplyInfo_MediaType. -var ( - ContextInfo_AdReplyInfo_MediaType_name = map[int32]string{ - 0: "NONE", - 1: "IMAGE", - 2: "VIDEO", - } - ContextInfo_AdReplyInfo_MediaType_value = map[string]int32{ - "NONE": 0, - "IMAGE": 1, - "VIDEO": 2, - } -) - -func (x ContextInfo_AdReplyInfo_MediaType) Enum() *ContextInfo_AdReplyInfo_MediaType { - p := new(ContextInfo_AdReplyInfo_MediaType) - *p = x - return p -} - -func (x ContextInfo_AdReplyInfo_MediaType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ContextInfo_AdReplyInfo_MediaType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[27].Descriptor() -} - -func (ContextInfo_AdReplyInfo_MediaType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[27] -} - -func (x ContextInfo_AdReplyInfo_MediaType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ContextInfo_AdReplyInfo_MediaType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ContextInfo_AdReplyInfo_MediaType(num) - return nil -} - -// Deprecated: Use ContextInfo_AdReplyInfo_MediaType.Descriptor instead. -func (ContextInfo_AdReplyInfo_MediaType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{47, 4, 0} -} - -type ForwardedNewsletterMessageInfo_ContentType int32 - -const ( - ForwardedNewsletterMessageInfo_UPDATE ForwardedNewsletterMessageInfo_ContentType = 1 - ForwardedNewsletterMessageInfo_UPDATE_CARD ForwardedNewsletterMessageInfo_ContentType = 2 - ForwardedNewsletterMessageInfo_LINK_CARD ForwardedNewsletterMessageInfo_ContentType = 3 -) - -// Enum value maps for ForwardedNewsletterMessageInfo_ContentType. -var ( - ForwardedNewsletterMessageInfo_ContentType_name = map[int32]string{ - 1: "UPDATE", - 2: "UPDATE_CARD", - 3: "LINK_CARD", - } - ForwardedNewsletterMessageInfo_ContentType_value = map[string]int32{ - "UPDATE": 1, - "UPDATE_CARD": 2, - "LINK_CARD": 3, - } -) - -func (x ForwardedNewsletterMessageInfo_ContentType) Enum() *ForwardedNewsletterMessageInfo_ContentType { - p := new(ForwardedNewsletterMessageInfo_ContentType) - *p = x - return p -} - -func (x ForwardedNewsletterMessageInfo_ContentType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ForwardedNewsletterMessageInfo_ContentType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[28].Descriptor() -} - -func (ForwardedNewsletterMessageInfo_ContentType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[28] -} - -func (x ForwardedNewsletterMessageInfo_ContentType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ForwardedNewsletterMessageInfo_ContentType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ForwardedNewsletterMessageInfo_ContentType(num) - return nil -} - -// Deprecated: Use ForwardedNewsletterMessageInfo_ContentType.Descriptor instead. -func (ForwardedNewsletterMessageInfo_ContentType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{48, 0} -} - -type BotPluginMetadata_SearchProvider int32 - -const ( - BotPluginMetadata_BING BotPluginMetadata_SearchProvider = 1 - BotPluginMetadata_GOOGLE BotPluginMetadata_SearchProvider = 2 -) - -// Enum value maps for BotPluginMetadata_SearchProvider. -var ( - BotPluginMetadata_SearchProvider_name = map[int32]string{ - 1: "BING", - 2: "GOOGLE", - } - BotPluginMetadata_SearchProvider_value = map[string]int32{ - "BING": 1, - "GOOGLE": 2, - } -) - -func (x BotPluginMetadata_SearchProvider) Enum() *BotPluginMetadata_SearchProvider { - p := new(BotPluginMetadata_SearchProvider) - *p = x - return p -} - -func (x BotPluginMetadata_SearchProvider) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BotPluginMetadata_SearchProvider) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[29].Descriptor() -} - -func (BotPluginMetadata_SearchProvider) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[29] -} - -func (x BotPluginMetadata_SearchProvider) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BotPluginMetadata_SearchProvider) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BotPluginMetadata_SearchProvider(num) - return nil -} - -// Deprecated: Use BotPluginMetadata_SearchProvider.Descriptor instead. -func (BotPluginMetadata_SearchProvider) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{50, 0} -} - -type BotPluginMetadata_PluginType int32 - -const ( - BotPluginMetadata_REELS BotPluginMetadata_PluginType = 1 - BotPluginMetadata_SEARCH BotPluginMetadata_PluginType = 2 -) - -// Enum value maps for BotPluginMetadata_PluginType. -var ( - BotPluginMetadata_PluginType_name = map[int32]string{ - 1: "REELS", - 2: "SEARCH", - } - BotPluginMetadata_PluginType_value = map[string]int32{ - "REELS": 1, - "SEARCH": 2, - } -) - -func (x BotPluginMetadata_PluginType) Enum() *BotPluginMetadata_PluginType { - p := new(BotPluginMetadata_PluginType) - *p = x - return p -} - -func (x BotPluginMetadata_PluginType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BotPluginMetadata_PluginType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[30].Descriptor() -} - -func (BotPluginMetadata_PluginType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[30] -} - -func (x BotPluginMetadata_PluginType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BotPluginMetadata_PluginType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BotPluginMetadata_PluginType(num) - return nil -} - -// Deprecated: Use BotPluginMetadata_PluginType.Descriptor instead. -func (BotPluginMetadata_PluginType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{50, 1} -} - -type PaymentBackground_Type int32 - -const ( - PaymentBackground_UNKNOWN PaymentBackground_Type = 0 - PaymentBackground_DEFAULT PaymentBackground_Type = 1 -) - -// Enum value maps for PaymentBackground_Type. -var ( - PaymentBackground_Type_name = map[int32]string{ - 0: "UNKNOWN", - 1: "DEFAULT", - } - PaymentBackground_Type_value = map[string]int32{ - "UNKNOWN": 0, - "DEFAULT": 1, - } -) - -func (x PaymentBackground_Type) Enum() *PaymentBackground_Type { - p := new(PaymentBackground_Type) - *p = x - return p -} - -func (x PaymentBackground_Type) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PaymentBackground_Type) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[31].Descriptor() -} - -func (PaymentBackground_Type) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[31] -} - -func (x PaymentBackground_Type) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *PaymentBackground_Type) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = PaymentBackground_Type(num) - return nil -} - -// Deprecated: Use PaymentBackground_Type.Descriptor instead. -func (PaymentBackground_Type) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{56, 0} -} - -type VideoMessage_Attribution int32 - -const ( - VideoMessage_NONE VideoMessage_Attribution = 0 - VideoMessage_GIPHY VideoMessage_Attribution = 1 - VideoMessage_TENOR VideoMessage_Attribution = 2 -) - -// Enum value maps for VideoMessage_Attribution. -var ( - VideoMessage_Attribution_name = map[int32]string{ - 0: "NONE", - 1: "GIPHY", - 2: "TENOR", - } - VideoMessage_Attribution_value = map[string]int32{ - "NONE": 0, - "GIPHY": 1, - "TENOR": 2, - } -) - -func (x VideoMessage_Attribution) Enum() *VideoMessage_Attribution { - p := new(VideoMessage_Attribution) - *p = x - return p -} - -func (x VideoMessage_Attribution) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (VideoMessage_Attribution) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[32].Descriptor() -} - -func (VideoMessage_Attribution) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[32] -} - -func (x VideoMessage_Attribution) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *VideoMessage_Attribution) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = VideoMessage_Attribution(num) - return nil -} - -// Deprecated: Use VideoMessage_Attribution.Descriptor instead. -func (VideoMessage_Attribution) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{61, 0} -} - -type ScheduledCallEditMessage_EditType int32 - -const ( - ScheduledCallEditMessage_UNKNOWN ScheduledCallEditMessage_EditType = 0 - ScheduledCallEditMessage_CANCEL ScheduledCallEditMessage_EditType = 1 -) - -// Enum value maps for ScheduledCallEditMessage_EditType. -var ( - ScheduledCallEditMessage_EditType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "CANCEL", - } - ScheduledCallEditMessage_EditType_value = map[string]int32{ - "UNKNOWN": 0, - "CANCEL": 1, - } -) - -func (x ScheduledCallEditMessage_EditType) Enum() *ScheduledCallEditMessage_EditType { - p := new(ScheduledCallEditMessage_EditType) - *p = x - return p -} - -func (x ScheduledCallEditMessage_EditType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ScheduledCallEditMessage_EditType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[33].Descriptor() -} - -func (ScheduledCallEditMessage_EditType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[33] -} - -func (x ScheduledCallEditMessage_EditType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ScheduledCallEditMessage_EditType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ScheduledCallEditMessage_EditType(num) - return nil -} - -// Deprecated: Use ScheduledCallEditMessage_EditType.Descriptor instead. -func (ScheduledCallEditMessage_EditType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{68, 0} -} - -type ScheduledCallCreationMessage_CallType int32 - -const ( - ScheduledCallCreationMessage_UNKNOWN ScheduledCallCreationMessage_CallType = 0 - ScheduledCallCreationMessage_VOICE ScheduledCallCreationMessage_CallType = 1 - ScheduledCallCreationMessage_VIDEO ScheduledCallCreationMessage_CallType = 2 -) - -// Enum value maps for ScheduledCallCreationMessage_CallType. -var ( - ScheduledCallCreationMessage_CallType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "VOICE", - 2: "VIDEO", - } - ScheduledCallCreationMessage_CallType_value = map[string]int32{ - "UNKNOWN": 0, - "VOICE": 1, - "VIDEO": 2, - } -) - -func (x ScheduledCallCreationMessage_CallType) Enum() *ScheduledCallCreationMessage_CallType { - p := new(ScheduledCallCreationMessage_CallType) - *p = x - return p -} - -func (x ScheduledCallCreationMessage_CallType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ScheduledCallCreationMessage_CallType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[34].Descriptor() -} - -func (ScheduledCallCreationMessage_CallType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[34] -} - -func (x ScheduledCallCreationMessage_CallType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ScheduledCallCreationMessage_CallType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ScheduledCallCreationMessage_CallType(num) - return nil -} - -// Deprecated: Use ScheduledCallCreationMessage_CallType.Descriptor instead. -func (ScheduledCallCreationMessage_CallType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{69, 0} -} - -type RequestWelcomeMessageMetadata_LocalChatState int32 - -const ( - RequestWelcomeMessageMetadata_EMPTY RequestWelcomeMessageMetadata_LocalChatState = 0 - RequestWelcomeMessageMetadata_NON_EMPTY RequestWelcomeMessageMetadata_LocalChatState = 1 -) - -// Enum value maps for RequestWelcomeMessageMetadata_LocalChatState. -var ( - RequestWelcomeMessageMetadata_LocalChatState_name = map[int32]string{ - 0: "EMPTY", - 1: "NON_EMPTY", - } - RequestWelcomeMessageMetadata_LocalChatState_value = map[string]int32{ - "EMPTY": 0, - "NON_EMPTY": 1, - } -) - -func (x RequestWelcomeMessageMetadata_LocalChatState) Enum() *RequestWelcomeMessageMetadata_LocalChatState { - p := new(RequestWelcomeMessageMetadata_LocalChatState) - *p = x - return p -} - -func (x RequestWelcomeMessageMetadata_LocalChatState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (RequestWelcomeMessageMetadata_LocalChatState) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[35].Descriptor() -} - -func (RequestWelcomeMessageMetadata_LocalChatState) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[35] -} - -func (x RequestWelcomeMessageMetadata_LocalChatState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *RequestWelcomeMessageMetadata_LocalChatState) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = RequestWelcomeMessageMetadata_LocalChatState(num) - return nil -} - -// Deprecated: Use RequestWelcomeMessageMetadata_LocalChatState.Descriptor instead. -func (RequestWelcomeMessageMetadata_LocalChatState) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{70, 0} -} - -type ProtocolMessage_Type int32 - -const ( - ProtocolMessage_REVOKE ProtocolMessage_Type = 0 - ProtocolMessage_EPHEMERAL_SETTING ProtocolMessage_Type = 3 - ProtocolMessage_EPHEMERAL_SYNC_RESPONSE ProtocolMessage_Type = 4 - ProtocolMessage_HISTORY_SYNC_NOTIFICATION ProtocolMessage_Type = 5 - ProtocolMessage_APP_STATE_SYNC_KEY_SHARE ProtocolMessage_Type = 6 - ProtocolMessage_APP_STATE_SYNC_KEY_REQUEST ProtocolMessage_Type = 7 - ProtocolMessage_MSG_FANOUT_BACKFILL_REQUEST ProtocolMessage_Type = 8 - ProtocolMessage_INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC ProtocolMessage_Type = 9 - ProtocolMessage_APP_STATE_FATAL_EXCEPTION_NOTIFICATION ProtocolMessage_Type = 10 - ProtocolMessage_SHARE_PHONE_NUMBER ProtocolMessage_Type = 11 - ProtocolMessage_MESSAGE_EDIT ProtocolMessage_Type = 14 - ProtocolMessage_PEER_DATA_OPERATION_REQUEST_MESSAGE ProtocolMessage_Type = 16 - ProtocolMessage_PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE ProtocolMessage_Type = 17 - ProtocolMessage_REQUEST_WELCOME_MESSAGE ProtocolMessage_Type = 18 - ProtocolMessage_BOT_FEEDBACK_MESSAGE ProtocolMessage_Type = 19 -) - -// Enum value maps for ProtocolMessage_Type. -var ( - ProtocolMessage_Type_name = map[int32]string{ - 0: "REVOKE", - 3: "EPHEMERAL_SETTING", - 4: "EPHEMERAL_SYNC_RESPONSE", - 5: "HISTORY_SYNC_NOTIFICATION", - 6: "APP_STATE_SYNC_KEY_SHARE", - 7: "APP_STATE_SYNC_KEY_REQUEST", - 8: "MSG_FANOUT_BACKFILL_REQUEST", - 9: "INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC", - 10: "APP_STATE_FATAL_EXCEPTION_NOTIFICATION", - 11: "SHARE_PHONE_NUMBER", - 14: "MESSAGE_EDIT", - 16: "PEER_DATA_OPERATION_REQUEST_MESSAGE", - 17: "PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE", - 18: "REQUEST_WELCOME_MESSAGE", - 19: "BOT_FEEDBACK_MESSAGE", - } - ProtocolMessage_Type_value = map[string]int32{ - "REVOKE": 0, - "EPHEMERAL_SETTING": 3, - "EPHEMERAL_SYNC_RESPONSE": 4, - "HISTORY_SYNC_NOTIFICATION": 5, - "APP_STATE_SYNC_KEY_SHARE": 6, - "APP_STATE_SYNC_KEY_REQUEST": 7, - "MSG_FANOUT_BACKFILL_REQUEST": 8, - "INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC": 9, - "APP_STATE_FATAL_EXCEPTION_NOTIFICATION": 10, - "SHARE_PHONE_NUMBER": 11, - "MESSAGE_EDIT": 14, - "PEER_DATA_OPERATION_REQUEST_MESSAGE": 16, - "PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE": 17, - "REQUEST_WELCOME_MESSAGE": 18, - "BOT_FEEDBACK_MESSAGE": 19, - } -) - -func (x ProtocolMessage_Type) Enum() *ProtocolMessage_Type { - p := new(ProtocolMessage_Type) - *p = x - return p -} - -func (x ProtocolMessage_Type) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ProtocolMessage_Type) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[36].Descriptor() -} - -func (ProtocolMessage_Type) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[36] -} - -func (x ProtocolMessage_Type) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ProtocolMessage_Type) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ProtocolMessage_Type(num) - return nil -} - -// Deprecated: Use ProtocolMessage_Type.Descriptor instead. -func (ProtocolMessage_Type) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{74, 0} -} - -type PinInChatMessage_Type int32 - -const ( - PinInChatMessage_UNKNOWN_TYPE PinInChatMessage_Type = 0 - PinInChatMessage_PIN_FOR_ALL PinInChatMessage_Type = 1 - PinInChatMessage_UNPIN_FOR_ALL PinInChatMessage_Type = 2 -) - -// Enum value maps for PinInChatMessage_Type. -var ( - PinInChatMessage_Type_name = map[int32]string{ - 0: "UNKNOWN_TYPE", - 1: "PIN_FOR_ALL", - 2: "UNPIN_FOR_ALL", - } - PinInChatMessage_Type_value = map[string]int32{ - "UNKNOWN_TYPE": 0, - "PIN_FOR_ALL": 1, - "UNPIN_FOR_ALL": 2, - } -) - -func (x PinInChatMessage_Type) Enum() *PinInChatMessage_Type { - p := new(PinInChatMessage_Type) - *p = x - return p -} - -func (x PinInChatMessage_Type) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PinInChatMessage_Type) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[37].Descriptor() -} - -func (PinInChatMessage_Type) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[37] -} - -func (x PinInChatMessage_Type) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *PinInChatMessage_Type) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = PinInChatMessage_Type(num) - return nil -} - -// Deprecated: Use PinInChatMessage_Type.Descriptor instead. -func (PinInChatMessage_Type) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{81, 0} -} - -type PaymentInviteMessage_ServiceType int32 - -const ( - PaymentInviteMessage_UNKNOWN PaymentInviteMessage_ServiceType = 0 - PaymentInviteMessage_FBPAY PaymentInviteMessage_ServiceType = 1 - PaymentInviteMessage_NOVI PaymentInviteMessage_ServiceType = 2 - PaymentInviteMessage_UPI PaymentInviteMessage_ServiceType = 3 -) - -// Enum value maps for PaymentInviteMessage_ServiceType. -var ( - PaymentInviteMessage_ServiceType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "FBPAY", - 2: "NOVI", - 3: "UPI", - } - PaymentInviteMessage_ServiceType_value = map[string]int32{ - "UNKNOWN": 0, - "FBPAY": 1, - "NOVI": 2, - "UPI": 3, - } -) - -func (x PaymentInviteMessage_ServiceType) Enum() *PaymentInviteMessage_ServiceType { - p := new(PaymentInviteMessage_ServiceType) - *p = x - return p -} - -func (x PaymentInviteMessage_ServiceType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PaymentInviteMessage_ServiceType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[38].Descriptor() -} - -func (PaymentInviteMessage_ServiceType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[38] -} - -func (x PaymentInviteMessage_ServiceType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *PaymentInviteMessage_ServiceType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = PaymentInviteMessage_ServiceType(num) - return nil -} - -// Deprecated: Use PaymentInviteMessage_ServiceType.Descriptor instead. -func (PaymentInviteMessage_ServiceType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{84, 0} -} - -type OrderMessage_OrderSurface int32 - -const ( - OrderMessage_CATALOG OrderMessage_OrderSurface = 1 -) - -// Enum value maps for OrderMessage_OrderSurface. -var ( - OrderMessage_OrderSurface_name = map[int32]string{ - 1: "CATALOG", - } - OrderMessage_OrderSurface_value = map[string]int32{ - "CATALOG": 1, - } -) - -func (x OrderMessage_OrderSurface) Enum() *OrderMessage_OrderSurface { - p := new(OrderMessage_OrderSurface) - *p = x - return p -} - -func (x OrderMessage_OrderSurface) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (OrderMessage_OrderSurface) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[39].Descriptor() -} - -func (OrderMessage_OrderSurface) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[39] -} - -func (x OrderMessage_OrderSurface) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *OrderMessage_OrderSurface) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = OrderMessage_OrderSurface(num) - return nil -} - -// Deprecated: Use OrderMessage_OrderSurface.Descriptor instead. -func (OrderMessage_OrderSurface) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{85, 0} -} - -type OrderMessage_OrderStatus int32 - -const ( - OrderMessage_INQUIRY OrderMessage_OrderStatus = 1 - OrderMessage_ACCEPTED OrderMessage_OrderStatus = 2 - OrderMessage_DECLINED OrderMessage_OrderStatus = 3 -) - -// Enum value maps for OrderMessage_OrderStatus. -var ( - OrderMessage_OrderStatus_name = map[int32]string{ - 1: "INQUIRY", - 2: "ACCEPTED", - 3: "DECLINED", - } - OrderMessage_OrderStatus_value = map[string]int32{ - "INQUIRY": 1, - "ACCEPTED": 2, - "DECLINED": 3, - } -) - -func (x OrderMessage_OrderStatus) Enum() *OrderMessage_OrderStatus { - p := new(OrderMessage_OrderStatus) - *p = x - return p -} - -func (x OrderMessage_OrderStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (OrderMessage_OrderStatus) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[40].Descriptor() -} - -func (OrderMessage_OrderStatus) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[40] -} - -func (x OrderMessage_OrderStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *OrderMessage_OrderStatus) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = OrderMessage_OrderStatus(num) - return nil -} - -// Deprecated: Use OrderMessage_OrderStatus.Descriptor instead. -func (OrderMessage_OrderStatus) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{85, 1} -} - -type ListResponseMessage_ListType int32 - -const ( - ListResponseMessage_UNKNOWN ListResponseMessage_ListType = 0 - ListResponseMessage_SINGLE_SELECT ListResponseMessage_ListType = 1 -) - -// Enum value maps for ListResponseMessage_ListType. -var ( - ListResponseMessage_ListType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "SINGLE_SELECT", - } - ListResponseMessage_ListType_value = map[string]int32{ - "UNKNOWN": 0, - "SINGLE_SELECT": 1, - } -) - -func (x ListResponseMessage_ListType) Enum() *ListResponseMessage_ListType { - p := new(ListResponseMessage_ListType) - *p = x - return p -} - -func (x ListResponseMessage_ListType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ListResponseMessage_ListType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[41].Descriptor() -} - -func (ListResponseMessage_ListType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[41] -} - -func (x ListResponseMessage_ListType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ListResponseMessage_ListType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ListResponseMessage_ListType(num) - return nil -} - -// Deprecated: Use ListResponseMessage_ListType.Descriptor instead. -func (ListResponseMessage_ListType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{90, 0} -} - -type ListMessage_ListType int32 - -const ( - ListMessage_UNKNOWN ListMessage_ListType = 0 - ListMessage_SINGLE_SELECT ListMessage_ListType = 1 - ListMessage_PRODUCT_LIST ListMessage_ListType = 2 -) - -// Enum value maps for ListMessage_ListType. -var ( - ListMessage_ListType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "SINGLE_SELECT", - 2: "PRODUCT_LIST", - } - ListMessage_ListType_value = map[string]int32{ - "UNKNOWN": 0, - "SINGLE_SELECT": 1, - "PRODUCT_LIST": 2, - } -) - -func (x ListMessage_ListType) Enum() *ListMessage_ListType { - p := new(ListMessage_ListType) - *p = x - return p -} - -func (x ListMessage_ListType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ListMessage_ListType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[42].Descriptor() -} - -func (ListMessage_ListType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[42] -} - -func (x ListMessage_ListType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ListMessage_ListType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ListMessage_ListType(num) - return nil -} - -// Deprecated: Use ListMessage_ListType.Descriptor instead. -func (ListMessage_ListType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{91, 0} -} - -type InvoiceMessage_AttachmentType int32 - -const ( - InvoiceMessage_IMAGE InvoiceMessage_AttachmentType = 0 - InvoiceMessage_PDF InvoiceMessage_AttachmentType = 1 -) - -// Enum value maps for InvoiceMessage_AttachmentType. -var ( - InvoiceMessage_AttachmentType_name = map[int32]string{ - 0: "IMAGE", - 1: "PDF", - } - InvoiceMessage_AttachmentType_value = map[string]int32{ - "IMAGE": 0, - "PDF": 1, - } -) - -func (x InvoiceMessage_AttachmentType) Enum() *InvoiceMessage_AttachmentType { - p := new(InvoiceMessage_AttachmentType) - *p = x - return p -} - -func (x InvoiceMessage_AttachmentType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (InvoiceMessage_AttachmentType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[43].Descriptor() -} - -func (InvoiceMessage_AttachmentType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[43] -} - -func (x InvoiceMessage_AttachmentType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *InvoiceMessage_AttachmentType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = InvoiceMessage_AttachmentType(num) - return nil -} - -// Deprecated: Use InvoiceMessage_AttachmentType.Descriptor instead. -func (InvoiceMessage_AttachmentType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{93, 0} -} - -type InteractiveResponseMessage_Body_Format int32 - -const ( - InteractiveResponseMessage_Body_DEFAULT InteractiveResponseMessage_Body_Format = 0 - InteractiveResponseMessage_Body_EXTENSIONS_1 InteractiveResponseMessage_Body_Format = 1 -) - -// Enum value maps for InteractiveResponseMessage_Body_Format. -var ( - InteractiveResponseMessage_Body_Format_name = map[int32]string{ - 0: "DEFAULT", - 1: "EXTENSIONS_1", - } - InteractiveResponseMessage_Body_Format_value = map[string]int32{ - "DEFAULT": 0, - "EXTENSIONS_1": 1, - } -) - -func (x InteractiveResponseMessage_Body_Format) Enum() *InteractiveResponseMessage_Body_Format { - p := new(InteractiveResponseMessage_Body_Format) - *p = x - return p -} - -func (x InteractiveResponseMessage_Body_Format) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (InteractiveResponseMessage_Body_Format) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[44].Descriptor() -} - -func (InteractiveResponseMessage_Body_Format) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[44] -} - -func (x InteractiveResponseMessage_Body_Format) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *InteractiveResponseMessage_Body_Format) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = InteractiveResponseMessage_Body_Format(num) - return nil -} - -// Deprecated: Use InteractiveResponseMessage_Body_Format.Descriptor instead. -func (InteractiveResponseMessage_Body_Format) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{94, 1, 0} -} - -type PastParticipant_LeaveReason int32 - -const ( - PastParticipant_LEFT PastParticipant_LeaveReason = 0 - PastParticipant_REMOVED PastParticipant_LeaveReason = 1 -) - -// Enum value maps for PastParticipant_LeaveReason. -var ( - PastParticipant_LeaveReason_name = map[int32]string{ - 0: "LEFT", - 1: "REMOVED", - } - PastParticipant_LeaveReason_value = map[string]int32{ - "LEFT": 0, - "REMOVED": 1, - } -) - -func (x PastParticipant_LeaveReason) Enum() *PastParticipant_LeaveReason { - p := new(PastParticipant_LeaveReason) - *p = x - return p -} - -func (x PastParticipant_LeaveReason) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PastParticipant_LeaveReason) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[45].Descriptor() -} - -func (PastParticipant_LeaveReason) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[45] -} - -func (x PastParticipant_LeaveReason) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *PastParticipant_LeaveReason) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = PastParticipant_LeaveReason(num) - return nil -} - -// Deprecated: Use PastParticipant_LeaveReason.Descriptor instead. -func (PastParticipant_LeaveReason) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{101, 0} -} - -type HistorySync_HistorySyncType int32 - -const ( - HistorySync_INITIAL_BOOTSTRAP HistorySync_HistorySyncType = 0 - HistorySync_INITIAL_STATUS_V3 HistorySync_HistorySyncType = 1 - HistorySync_FULL HistorySync_HistorySyncType = 2 - HistorySync_RECENT HistorySync_HistorySyncType = 3 - HistorySync_PUSH_NAME HistorySync_HistorySyncType = 4 - HistorySync_NON_BLOCKING_DATA HistorySync_HistorySyncType = 5 - HistorySync_ON_DEMAND HistorySync_HistorySyncType = 6 -) - -// Enum value maps for HistorySync_HistorySyncType. -var ( - HistorySync_HistorySyncType_name = map[int32]string{ - 0: "INITIAL_BOOTSTRAP", - 1: "INITIAL_STATUS_V3", - 2: "FULL", - 3: "RECENT", - 4: "PUSH_NAME", - 5: "NON_BLOCKING_DATA", - 6: "ON_DEMAND", - } - HistorySync_HistorySyncType_value = map[string]int32{ - "INITIAL_BOOTSTRAP": 0, - "INITIAL_STATUS_V3": 1, - "FULL": 2, - "RECENT": 3, - "PUSH_NAME": 4, - "NON_BLOCKING_DATA": 5, - "ON_DEMAND": 6, - } -) - -func (x HistorySync_HistorySyncType) Enum() *HistorySync_HistorySyncType { - p := new(HistorySync_HistorySyncType) - *p = x - return p -} - -func (x HistorySync_HistorySyncType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (HistorySync_HistorySyncType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[46].Descriptor() -} - -func (HistorySync_HistorySyncType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[46] -} - -func (x HistorySync_HistorySyncType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *HistorySync_HistorySyncType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = HistorySync_HistorySyncType(num) - return nil -} - -// Deprecated: Use HistorySync_HistorySyncType.Descriptor instead. -func (HistorySync_HistorySyncType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{103, 0} -} - -type HistorySync_BotAIWaitListState int32 - -const ( - HistorySync_IN_WAITLIST HistorySync_BotAIWaitListState = 0 - HistorySync_AI_AVAILABLE HistorySync_BotAIWaitListState = 1 -) - -// Enum value maps for HistorySync_BotAIWaitListState. -var ( - HistorySync_BotAIWaitListState_name = map[int32]string{ - 0: "IN_WAITLIST", - 1: "AI_AVAILABLE", - } - HistorySync_BotAIWaitListState_value = map[string]int32{ - "IN_WAITLIST": 0, - "AI_AVAILABLE": 1, - } -) - -func (x HistorySync_BotAIWaitListState) Enum() *HistorySync_BotAIWaitListState { - p := new(HistorySync_BotAIWaitListState) - *p = x - return p -} - -func (x HistorySync_BotAIWaitListState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (HistorySync_BotAIWaitListState) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[47].Descriptor() -} - -func (HistorySync_BotAIWaitListState) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[47] -} - -func (x HistorySync_BotAIWaitListState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *HistorySync_BotAIWaitListState) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = HistorySync_BotAIWaitListState(num) - return nil -} - -// Deprecated: Use HistorySync_BotAIWaitListState.Descriptor instead. -func (HistorySync_BotAIWaitListState) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{103, 1} -} - -type GroupParticipant_Rank int32 - -const ( - GroupParticipant_REGULAR GroupParticipant_Rank = 0 - GroupParticipant_ADMIN GroupParticipant_Rank = 1 - GroupParticipant_SUPERADMIN GroupParticipant_Rank = 2 -) - -// Enum value maps for GroupParticipant_Rank. -var ( - GroupParticipant_Rank_name = map[int32]string{ - 0: "REGULAR", - 1: "ADMIN", - 2: "SUPERADMIN", - } - GroupParticipant_Rank_value = map[string]int32{ - "REGULAR": 0, - "ADMIN": 1, - "SUPERADMIN": 2, - } -) - -func (x GroupParticipant_Rank) Enum() *GroupParticipant_Rank { - p := new(GroupParticipant_Rank) - *p = x - return p -} - -func (x GroupParticipant_Rank) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (GroupParticipant_Rank) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[48].Descriptor() -} - -func (GroupParticipant_Rank) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[48] -} - -func (x GroupParticipant_Rank) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *GroupParticipant_Rank) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = GroupParticipant_Rank(num) - return nil -} - -// Deprecated: Use GroupParticipant_Rank.Descriptor instead. -func (GroupParticipant_Rank) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{105, 0} -} - -type Conversation_EndOfHistoryTransferType int32 - -const ( - Conversation_COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY Conversation_EndOfHistoryTransferType = 0 - Conversation_COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY Conversation_EndOfHistoryTransferType = 1 - Conversation_COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY Conversation_EndOfHistoryTransferType = 2 -) - -// Enum value maps for Conversation_EndOfHistoryTransferType. -var ( - Conversation_EndOfHistoryTransferType_name = map[int32]string{ - 0: "COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY", - 1: "COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY", - 2: "COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY", - } - Conversation_EndOfHistoryTransferType_value = map[string]int32{ - "COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY": 0, - "COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY": 1, - "COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY": 2, - } -) - -func (x Conversation_EndOfHistoryTransferType) Enum() *Conversation_EndOfHistoryTransferType { - p := new(Conversation_EndOfHistoryTransferType) - *p = x - return p -} - -func (x Conversation_EndOfHistoryTransferType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Conversation_EndOfHistoryTransferType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[49].Descriptor() -} - -func (Conversation_EndOfHistoryTransferType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[49] -} - -func (x Conversation_EndOfHistoryTransferType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *Conversation_EndOfHistoryTransferType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = Conversation_EndOfHistoryTransferType(num) - return nil -} - -// Deprecated: Use Conversation_EndOfHistoryTransferType.Descriptor instead. -func (Conversation_EndOfHistoryTransferType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{107, 0} -} - -type MediaRetryNotification_ResultType int32 - -const ( - MediaRetryNotification_GENERAL_ERROR MediaRetryNotification_ResultType = 0 - MediaRetryNotification_SUCCESS MediaRetryNotification_ResultType = 1 - MediaRetryNotification_NOT_FOUND MediaRetryNotification_ResultType = 2 - MediaRetryNotification_DECRYPTION_ERROR MediaRetryNotification_ResultType = 3 -) - -// Enum value maps for MediaRetryNotification_ResultType. -var ( - MediaRetryNotification_ResultType_name = map[int32]string{ - 0: "GENERAL_ERROR", - 1: "SUCCESS", - 2: "NOT_FOUND", - 3: "DECRYPTION_ERROR", - } - MediaRetryNotification_ResultType_value = map[string]int32{ - "GENERAL_ERROR": 0, - "SUCCESS": 1, - "NOT_FOUND": 2, - "DECRYPTION_ERROR": 3, - } -) - -func (x MediaRetryNotification_ResultType) Enum() *MediaRetryNotification_ResultType { - p := new(MediaRetryNotification_ResultType) - *p = x - return p -} - -func (x MediaRetryNotification_ResultType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (MediaRetryNotification_ResultType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[50].Descriptor() -} - -func (MediaRetryNotification_ResultType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[50] -} - -func (x MediaRetryNotification_ResultType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *MediaRetryNotification_ResultType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = MediaRetryNotification_ResultType(num) - return nil -} - -// Deprecated: Use MediaRetryNotification_ResultType.Descriptor instead. -func (MediaRetryNotification_ResultType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{111, 0} -} - -type SyncdMutation_SyncdOperation int32 - -const ( - SyncdMutation_SET SyncdMutation_SyncdOperation = 0 - SyncdMutation_REMOVE SyncdMutation_SyncdOperation = 1 -) - -// Enum value maps for SyncdMutation_SyncdOperation. -var ( - SyncdMutation_SyncdOperation_name = map[int32]string{ - 0: "SET", - 1: "REMOVE", - } - SyncdMutation_SyncdOperation_value = map[string]int32{ - "SET": 0, - "REMOVE": 1, - } -) - -func (x SyncdMutation_SyncdOperation) Enum() *SyncdMutation_SyncdOperation { - p := new(SyncdMutation_SyncdOperation) - *p = x - return p -} - -func (x SyncdMutation_SyncdOperation) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SyncdMutation_SyncdOperation) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[51].Descriptor() -} - -func (SyncdMutation_SyncdOperation) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[51] -} - -func (x SyncdMutation_SyncdOperation) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *SyncdMutation_SyncdOperation) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = SyncdMutation_SyncdOperation(num) - return nil -} - -// Deprecated: Use SyncdMutation_SyncdOperation.Descriptor instead. -func (SyncdMutation_SyncdOperation) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{119, 0} -} - -type StatusPrivacyAction_StatusDistributionMode int32 - -const ( - StatusPrivacyAction_ALLOW_LIST StatusPrivacyAction_StatusDistributionMode = 0 - StatusPrivacyAction_DENY_LIST StatusPrivacyAction_StatusDistributionMode = 1 - StatusPrivacyAction_CONTACTS StatusPrivacyAction_StatusDistributionMode = 2 -) - -// Enum value maps for StatusPrivacyAction_StatusDistributionMode. -var ( - StatusPrivacyAction_StatusDistributionMode_name = map[int32]string{ - 0: "ALLOW_LIST", - 1: "DENY_LIST", - 2: "CONTACTS", - } - StatusPrivacyAction_StatusDistributionMode_value = map[string]int32{ - "ALLOW_LIST": 0, - "DENY_LIST": 1, - "CONTACTS": 2, - } -) - -func (x StatusPrivacyAction_StatusDistributionMode) Enum() *StatusPrivacyAction_StatusDistributionMode { - p := new(StatusPrivacyAction_StatusDistributionMode) - *p = x - return p -} - -func (x StatusPrivacyAction_StatusDistributionMode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (StatusPrivacyAction_StatusDistributionMode) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[52].Descriptor() -} - -func (StatusPrivacyAction_StatusDistributionMode) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[52] -} - -func (x StatusPrivacyAction_StatusDistributionMode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *StatusPrivacyAction_StatusDistributionMode) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = StatusPrivacyAction_StatusDistributionMode(num) - return nil -} - -// Deprecated: Use StatusPrivacyAction_StatusDistributionMode.Descriptor instead. -func (StatusPrivacyAction_StatusDistributionMode) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{132, 0} -} - -type MarketingMessageAction_MarketingMessagePrototypeType int32 - -const ( - MarketingMessageAction_PERSONALIZED MarketingMessageAction_MarketingMessagePrototypeType = 0 -) - -// Enum value maps for MarketingMessageAction_MarketingMessagePrototypeType. -var ( - MarketingMessageAction_MarketingMessagePrototypeType_name = map[int32]string{ - 0: "PERSONALIZED", - } - MarketingMessageAction_MarketingMessagePrototypeType_value = map[string]int32{ - "PERSONALIZED": 0, - } -) - -func (x MarketingMessageAction_MarketingMessagePrototypeType) Enum() *MarketingMessageAction_MarketingMessagePrototypeType { - p := new(MarketingMessageAction_MarketingMessagePrototypeType) - *p = x - return p -} - -func (x MarketingMessageAction_MarketingMessagePrototypeType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (MarketingMessageAction_MarketingMessagePrototypeType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[53].Descriptor() -} - -func (MarketingMessageAction_MarketingMessagePrototypeType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[53] -} - -func (x MarketingMessageAction_MarketingMessagePrototypeType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *MarketingMessageAction_MarketingMessagePrototypeType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = MarketingMessageAction_MarketingMessagePrototypeType(num) - return nil -} - -// Deprecated: Use MarketingMessageAction_MarketingMessagePrototypeType.Descriptor instead. -func (MarketingMessageAction_MarketingMessagePrototypeType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{148, 0} -} - -type PatchDebugData_Platform int32 - -const ( - PatchDebugData_ANDROID PatchDebugData_Platform = 0 - PatchDebugData_SMBA PatchDebugData_Platform = 1 - PatchDebugData_IPHONE PatchDebugData_Platform = 2 - PatchDebugData_SMBI PatchDebugData_Platform = 3 - PatchDebugData_WEB PatchDebugData_Platform = 4 - PatchDebugData_UWP PatchDebugData_Platform = 5 - PatchDebugData_DARWIN PatchDebugData_Platform = 6 -) - -// Enum value maps for PatchDebugData_Platform. -var ( - PatchDebugData_Platform_name = map[int32]string{ - 0: "ANDROID", - 1: "SMBA", - 2: "IPHONE", - 3: "SMBI", - 4: "WEB", - 5: "UWP", - 6: "DARWIN", - } - PatchDebugData_Platform_value = map[string]int32{ - "ANDROID": 0, - "SMBA": 1, - "IPHONE": 2, - "SMBI": 3, - "WEB": 4, - "UWP": 5, - "DARWIN": 6, - } -) - -func (x PatchDebugData_Platform) Enum() *PatchDebugData_Platform { - p := new(PatchDebugData_Platform) - *p = x - return p -} - -func (x PatchDebugData_Platform) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PatchDebugData_Platform) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[54].Descriptor() -} - -func (PatchDebugData_Platform) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[54] -} - -func (x PatchDebugData_Platform) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *PatchDebugData_Platform) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = PatchDebugData_Platform(num) - return nil -} - -// Deprecated: Use PatchDebugData_Platform.Descriptor instead. -func (PatchDebugData_Platform) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{170, 0} -} - -type CallLogRecord_SilenceReason int32 - -const ( - CallLogRecord_NONE CallLogRecord_SilenceReason = 0 - CallLogRecord_SCHEDULED CallLogRecord_SilenceReason = 1 - CallLogRecord_PRIVACY CallLogRecord_SilenceReason = 2 - CallLogRecord_LIGHTWEIGHT CallLogRecord_SilenceReason = 3 -) - -// Enum value maps for CallLogRecord_SilenceReason. -var ( - CallLogRecord_SilenceReason_name = map[int32]string{ - 0: "NONE", - 1: "SCHEDULED", - 2: "PRIVACY", - 3: "LIGHTWEIGHT", - } - CallLogRecord_SilenceReason_value = map[string]int32{ - "NONE": 0, - "SCHEDULED": 1, - "PRIVACY": 2, - "LIGHTWEIGHT": 3, - } -) - -func (x CallLogRecord_SilenceReason) Enum() *CallLogRecord_SilenceReason { - p := new(CallLogRecord_SilenceReason) - *p = x - return p -} - -func (x CallLogRecord_SilenceReason) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (CallLogRecord_SilenceReason) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[55].Descriptor() -} - -func (CallLogRecord_SilenceReason) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[55] -} - -func (x CallLogRecord_SilenceReason) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *CallLogRecord_SilenceReason) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = CallLogRecord_SilenceReason(num) - return nil -} - -// Deprecated: Use CallLogRecord_SilenceReason.Descriptor instead. -func (CallLogRecord_SilenceReason) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{171, 0} -} - -type CallLogRecord_CallType int32 - -const ( - CallLogRecord_REGULAR CallLogRecord_CallType = 0 - CallLogRecord_SCHEDULED_CALL CallLogRecord_CallType = 1 - CallLogRecord_VOICE_CHAT CallLogRecord_CallType = 2 -) - -// Enum value maps for CallLogRecord_CallType. -var ( - CallLogRecord_CallType_name = map[int32]string{ - 0: "REGULAR", - 1: "SCHEDULED_CALL", - 2: "VOICE_CHAT", - } - CallLogRecord_CallType_value = map[string]int32{ - "REGULAR": 0, - "SCHEDULED_CALL": 1, - "VOICE_CHAT": 2, - } -) - -func (x CallLogRecord_CallType) Enum() *CallLogRecord_CallType { - p := new(CallLogRecord_CallType) - *p = x - return p -} - -func (x CallLogRecord_CallType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (CallLogRecord_CallType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[56].Descriptor() -} - -func (CallLogRecord_CallType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[56] -} - -func (x CallLogRecord_CallType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *CallLogRecord_CallType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = CallLogRecord_CallType(num) - return nil -} - -// Deprecated: Use CallLogRecord_CallType.Descriptor instead. -func (CallLogRecord_CallType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{171, 1} -} - -type CallLogRecord_CallResult int32 - -const ( - CallLogRecord_CONNECTED CallLogRecord_CallResult = 0 - CallLogRecord_REJECTED CallLogRecord_CallResult = 1 - CallLogRecord_CANCELLED CallLogRecord_CallResult = 2 - CallLogRecord_ACCEPTEDELSEWHERE CallLogRecord_CallResult = 3 - CallLogRecord_MISSED CallLogRecord_CallResult = 4 - CallLogRecord_INVALID CallLogRecord_CallResult = 5 - CallLogRecord_UNAVAILABLE CallLogRecord_CallResult = 6 - CallLogRecord_UPCOMING CallLogRecord_CallResult = 7 - CallLogRecord_FAILED CallLogRecord_CallResult = 8 - CallLogRecord_ABANDONED CallLogRecord_CallResult = 9 - CallLogRecord_ONGOING CallLogRecord_CallResult = 10 -) - -// Enum value maps for CallLogRecord_CallResult. -var ( - CallLogRecord_CallResult_name = map[int32]string{ - 0: "CONNECTED", - 1: "REJECTED", - 2: "CANCELLED", - 3: "ACCEPTEDELSEWHERE", - 4: "MISSED", - 5: "INVALID", - 6: "UNAVAILABLE", - 7: "UPCOMING", - 8: "FAILED", - 9: "ABANDONED", - 10: "ONGOING", - } - CallLogRecord_CallResult_value = map[string]int32{ - "CONNECTED": 0, - "REJECTED": 1, - "CANCELLED": 2, - "ACCEPTEDELSEWHERE": 3, - "MISSED": 4, - "INVALID": 5, - "UNAVAILABLE": 6, - "UPCOMING": 7, - "FAILED": 8, - "ABANDONED": 9, - "ONGOING": 10, - } -) - -func (x CallLogRecord_CallResult) Enum() *CallLogRecord_CallResult { - p := new(CallLogRecord_CallResult) - *p = x - return p -} - -func (x CallLogRecord_CallResult) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (CallLogRecord_CallResult) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[57].Descriptor() -} - -func (CallLogRecord_CallResult) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[57] -} - -func (x CallLogRecord_CallResult) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *CallLogRecord_CallResult) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = CallLogRecord_CallResult(num) - return nil -} - -// Deprecated: Use CallLogRecord_CallResult.Descriptor instead. -func (CallLogRecord_CallResult) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{171, 2} -} - -type BizIdentityInfo_VerifiedLevelValue int32 - -const ( - BizIdentityInfo_UNKNOWN BizIdentityInfo_VerifiedLevelValue = 0 - BizIdentityInfo_LOW BizIdentityInfo_VerifiedLevelValue = 1 - BizIdentityInfo_HIGH BizIdentityInfo_VerifiedLevelValue = 2 -) - -// Enum value maps for BizIdentityInfo_VerifiedLevelValue. -var ( - BizIdentityInfo_VerifiedLevelValue_name = map[int32]string{ - 0: "UNKNOWN", - 1: "LOW", - 2: "HIGH", - } - BizIdentityInfo_VerifiedLevelValue_value = map[string]int32{ - "UNKNOWN": 0, - "LOW": 1, - "HIGH": 2, - } -) - -func (x BizIdentityInfo_VerifiedLevelValue) Enum() *BizIdentityInfo_VerifiedLevelValue { - p := new(BizIdentityInfo_VerifiedLevelValue) - *p = x - return p -} - -func (x BizIdentityInfo_VerifiedLevelValue) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BizIdentityInfo_VerifiedLevelValue) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[58].Descriptor() -} - -func (BizIdentityInfo_VerifiedLevelValue) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[58] -} - -func (x BizIdentityInfo_VerifiedLevelValue) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BizIdentityInfo_VerifiedLevelValue) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BizIdentityInfo_VerifiedLevelValue(num) - return nil -} - -// Deprecated: Use BizIdentityInfo_VerifiedLevelValue.Descriptor instead. -func (BizIdentityInfo_VerifiedLevelValue) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{174, 0} -} - -type BizIdentityInfo_HostStorageType int32 - -const ( - BizIdentityInfo_ON_PREMISE BizIdentityInfo_HostStorageType = 0 - BizIdentityInfo_FACEBOOK BizIdentityInfo_HostStorageType = 1 -) - -// Enum value maps for BizIdentityInfo_HostStorageType. -var ( - BizIdentityInfo_HostStorageType_name = map[int32]string{ - 0: "ON_PREMISE", - 1: "FACEBOOK", - } - BizIdentityInfo_HostStorageType_value = map[string]int32{ - "ON_PREMISE": 0, - "FACEBOOK": 1, - } -) - -func (x BizIdentityInfo_HostStorageType) Enum() *BizIdentityInfo_HostStorageType { - p := new(BizIdentityInfo_HostStorageType) - *p = x - return p -} - -func (x BizIdentityInfo_HostStorageType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BizIdentityInfo_HostStorageType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[59].Descriptor() -} - -func (BizIdentityInfo_HostStorageType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[59] -} - -func (x BizIdentityInfo_HostStorageType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BizIdentityInfo_HostStorageType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BizIdentityInfo_HostStorageType(num) - return nil -} - -// Deprecated: Use BizIdentityInfo_HostStorageType.Descriptor instead. -func (BizIdentityInfo_HostStorageType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{174, 1} -} - -type BizIdentityInfo_ActualActorsType int32 - -const ( - BizIdentityInfo_SELF BizIdentityInfo_ActualActorsType = 0 - BizIdentityInfo_BSP BizIdentityInfo_ActualActorsType = 1 -) - -// Enum value maps for BizIdentityInfo_ActualActorsType. -var ( - BizIdentityInfo_ActualActorsType_name = map[int32]string{ - 0: "SELF", - 1: "BSP", - } - BizIdentityInfo_ActualActorsType_value = map[string]int32{ - "SELF": 0, - "BSP": 1, - } -) - -func (x BizIdentityInfo_ActualActorsType) Enum() *BizIdentityInfo_ActualActorsType { - p := new(BizIdentityInfo_ActualActorsType) - *p = x - return p -} - -func (x BizIdentityInfo_ActualActorsType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BizIdentityInfo_ActualActorsType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[60].Descriptor() -} - -func (BizIdentityInfo_ActualActorsType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[60] -} - -func (x BizIdentityInfo_ActualActorsType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BizIdentityInfo_ActualActorsType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BizIdentityInfo_ActualActorsType(num) - return nil -} - -// Deprecated: Use BizIdentityInfo_ActualActorsType.Descriptor instead. -func (BizIdentityInfo_ActualActorsType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{174, 2} -} - -type BizAccountLinkInfo_HostStorageType int32 - -const ( - BizAccountLinkInfo_ON_PREMISE BizAccountLinkInfo_HostStorageType = 0 - BizAccountLinkInfo_FACEBOOK BizAccountLinkInfo_HostStorageType = 1 -) - -// Enum value maps for BizAccountLinkInfo_HostStorageType. -var ( - BizAccountLinkInfo_HostStorageType_name = map[int32]string{ - 0: "ON_PREMISE", - 1: "FACEBOOK", - } - BizAccountLinkInfo_HostStorageType_value = map[string]int32{ - "ON_PREMISE": 0, - "FACEBOOK": 1, - } -) - -func (x BizAccountLinkInfo_HostStorageType) Enum() *BizAccountLinkInfo_HostStorageType { - p := new(BizAccountLinkInfo_HostStorageType) - *p = x - return p -} - -func (x BizAccountLinkInfo_HostStorageType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BizAccountLinkInfo_HostStorageType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[61].Descriptor() -} - -func (BizAccountLinkInfo_HostStorageType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[61] -} - -func (x BizAccountLinkInfo_HostStorageType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BizAccountLinkInfo_HostStorageType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BizAccountLinkInfo_HostStorageType(num) - return nil -} - -// Deprecated: Use BizAccountLinkInfo_HostStorageType.Descriptor instead. -func (BizAccountLinkInfo_HostStorageType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{176, 0} -} - -type BizAccountLinkInfo_AccountType int32 - -const ( - BizAccountLinkInfo_ENTERPRISE BizAccountLinkInfo_AccountType = 0 -) - -// Enum value maps for BizAccountLinkInfo_AccountType. -var ( - BizAccountLinkInfo_AccountType_name = map[int32]string{ - 0: "ENTERPRISE", - } - BizAccountLinkInfo_AccountType_value = map[string]int32{ - "ENTERPRISE": 0, - } -) - -func (x BizAccountLinkInfo_AccountType) Enum() *BizAccountLinkInfo_AccountType { - p := new(BizAccountLinkInfo_AccountType) - *p = x - return p -} - -func (x BizAccountLinkInfo_AccountType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BizAccountLinkInfo_AccountType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[62].Descriptor() -} - -func (BizAccountLinkInfo_AccountType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[62] -} - -func (x BizAccountLinkInfo_AccountType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *BizAccountLinkInfo_AccountType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = BizAccountLinkInfo_AccountType(num) - return nil -} - -// Deprecated: Use BizAccountLinkInfo_AccountType.Descriptor instead. -func (BizAccountLinkInfo_AccountType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{176, 1} -} - -type ClientPayload_Product int32 - -const ( - ClientPayload_WHATSAPP ClientPayload_Product = 0 - ClientPayload_MESSENGER ClientPayload_Product = 1 - ClientPayload_INTEROP ClientPayload_Product = 2 - ClientPayload_INTEROP_MSGR ClientPayload_Product = 3 -) - -// Enum value maps for ClientPayload_Product. -var ( - ClientPayload_Product_name = map[int32]string{ - 0: "WHATSAPP", - 1: "MESSENGER", - 2: "INTEROP", - 3: "INTEROP_MSGR", - } - ClientPayload_Product_value = map[string]int32{ - "WHATSAPP": 0, - "MESSENGER": 1, - "INTEROP": 2, - "INTEROP_MSGR": 3, - } -) - -func (x ClientPayload_Product) Enum() *ClientPayload_Product { - p := new(ClientPayload_Product) - *p = x - return p -} - -func (x ClientPayload_Product) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClientPayload_Product) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[63].Descriptor() -} - -func (ClientPayload_Product) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[63] -} - -func (x ClientPayload_Product) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ClientPayload_Product) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ClientPayload_Product(num) - return nil -} - -// Deprecated: Use ClientPayload_Product.Descriptor instead. -func (ClientPayload_Product) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 0} -} - -type ClientPayload_IOSAppExtension int32 - -const ( - ClientPayload_SHARE_EXTENSION ClientPayload_IOSAppExtension = 0 - ClientPayload_SERVICE_EXTENSION ClientPayload_IOSAppExtension = 1 - ClientPayload_INTENTS_EXTENSION ClientPayload_IOSAppExtension = 2 -) - -// Enum value maps for ClientPayload_IOSAppExtension. -var ( - ClientPayload_IOSAppExtension_name = map[int32]string{ - 0: "SHARE_EXTENSION", - 1: "SERVICE_EXTENSION", - 2: "INTENTS_EXTENSION", - } - ClientPayload_IOSAppExtension_value = map[string]int32{ - "SHARE_EXTENSION": 0, - "SERVICE_EXTENSION": 1, - "INTENTS_EXTENSION": 2, - } -) - -func (x ClientPayload_IOSAppExtension) Enum() *ClientPayload_IOSAppExtension { - p := new(ClientPayload_IOSAppExtension) - *p = x - return p -} - -func (x ClientPayload_IOSAppExtension) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClientPayload_IOSAppExtension) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[64].Descriptor() -} - -func (ClientPayload_IOSAppExtension) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[64] -} - -func (x ClientPayload_IOSAppExtension) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ClientPayload_IOSAppExtension) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ClientPayload_IOSAppExtension(num) - return nil -} - -// Deprecated: Use ClientPayload_IOSAppExtension.Descriptor instead. -func (ClientPayload_IOSAppExtension) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 1} -} - -type ClientPayload_ConnectType int32 - -const ( - ClientPayload_CELLULAR_UNKNOWN ClientPayload_ConnectType = 0 - ClientPayload_WIFI_UNKNOWN ClientPayload_ConnectType = 1 - ClientPayload_CELLULAR_EDGE ClientPayload_ConnectType = 100 - ClientPayload_CELLULAR_IDEN ClientPayload_ConnectType = 101 - ClientPayload_CELLULAR_UMTS ClientPayload_ConnectType = 102 - ClientPayload_CELLULAR_EVDO ClientPayload_ConnectType = 103 - ClientPayload_CELLULAR_GPRS ClientPayload_ConnectType = 104 - ClientPayload_CELLULAR_HSDPA ClientPayload_ConnectType = 105 - ClientPayload_CELLULAR_HSUPA ClientPayload_ConnectType = 106 - ClientPayload_CELLULAR_HSPA ClientPayload_ConnectType = 107 - ClientPayload_CELLULAR_CDMA ClientPayload_ConnectType = 108 - ClientPayload_CELLULAR_1XRTT ClientPayload_ConnectType = 109 - ClientPayload_CELLULAR_EHRPD ClientPayload_ConnectType = 110 - ClientPayload_CELLULAR_LTE ClientPayload_ConnectType = 111 - ClientPayload_CELLULAR_HSPAP ClientPayload_ConnectType = 112 -) - -// Enum value maps for ClientPayload_ConnectType. -var ( - ClientPayload_ConnectType_name = map[int32]string{ - 0: "CELLULAR_UNKNOWN", - 1: "WIFI_UNKNOWN", - 100: "CELLULAR_EDGE", - 101: "CELLULAR_IDEN", - 102: "CELLULAR_UMTS", - 103: "CELLULAR_EVDO", - 104: "CELLULAR_GPRS", - 105: "CELLULAR_HSDPA", - 106: "CELLULAR_HSUPA", - 107: "CELLULAR_HSPA", - 108: "CELLULAR_CDMA", - 109: "CELLULAR_1XRTT", - 110: "CELLULAR_EHRPD", - 111: "CELLULAR_LTE", - 112: "CELLULAR_HSPAP", - } - ClientPayload_ConnectType_value = map[string]int32{ - "CELLULAR_UNKNOWN": 0, - "WIFI_UNKNOWN": 1, - "CELLULAR_EDGE": 100, - "CELLULAR_IDEN": 101, - "CELLULAR_UMTS": 102, - "CELLULAR_EVDO": 103, - "CELLULAR_GPRS": 104, - "CELLULAR_HSDPA": 105, - "CELLULAR_HSUPA": 106, - "CELLULAR_HSPA": 107, - "CELLULAR_CDMA": 108, - "CELLULAR_1XRTT": 109, - "CELLULAR_EHRPD": 110, - "CELLULAR_LTE": 111, - "CELLULAR_HSPAP": 112, - } -) - -func (x ClientPayload_ConnectType) Enum() *ClientPayload_ConnectType { - p := new(ClientPayload_ConnectType) - *p = x - return p -} - -func (x ClientPayload_ConnectType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClientPayload_ConnectType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[65].Descriptor() -} - -func (ClientPayload_ConnectType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[65] -} - -func (x ClientPayload_ConnectType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ClientPayload_ConnectType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ClientPayload_ConnectType(num) - return nil -} - -// Deprecated: Use ClientPayload_ConnectType.Descriptor instead. -func (ClientPayload_ConnectType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 2} -} - -type ClientPayload_ConnectReason int32 - -const ( - ClientPayload_PUSH ClientPayload_ConnectReason = 0 - ClientPayload_USER_ACTIVATED ClientPayload_ConnectReason = 1 - ClientPayload_SCHEDULED ClientPayload_ConnectReason = 2 - ClientPayload_ERROR_RECONNECT ClientPayload_ConnectReason = 3 - ClientPayload_NETWORK_SWITCH ClientPayload_ConnectReason = 4 - ClientPayload_PING_RECONNECT ClientPayload_ConnectReason = 5 - ClientPayload_UNKNOWN ClientPayload_ConnectReason = 6 -) - -// Enum value maps for ClientPayload_ConnectReason. -var ( - ClientPayload_ConnectReason_name = map[int32]string{ - 0: "PUSH", - 1: "USER_ACTIVATED", - 2: "SCHEDULED", - 3: "ERROR_RECONNECT", - 4: "NETWORK_SWITCH", - 5: "PING_RECONNECT", - 6: "UNKNOWN", - } - ClientPayload_ConnectReason_value = map[string]int32{ - "PUSH": 0, - "USER_ACTIVATED": 1, - "SCHEDULED": 2, - "ERROR_RECONNECT": 3, - "NETWORK_SWITCH": 4, - "PING_RECONNECT": 5, - "UNKNOWN": 6, - } -) - -func (x ClientPayload_ConnectReason) Enum() *ClientPayload_ConnectReason { - p := new(ClientPayload_ConnectReason) - *p = x - return p -} - -func (x ClientPayload_ConnectReason) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClientPayload_ConnectReason) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[66].Descriptor() -} - -func (ClientPayload_ConnectReason) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[66] -} - -func (x ClientPayload_ConnectReason) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ClientPayload_ConnectReason) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ClientPayload_ConnectReason(num) - return nil -} - -// Deprecated: Use ClientPayload_ConnectReason.Descriptor instead. -func (ClientPayload_ConnectReason) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 3} -} - -type ClientPayload_WebInfo_WebSubPlatform int32 - -const ( - ClientPayload_WebInfo_WEB_BROWSER ClientPayload_WebInfo_WebSubPlatform = 0 - ClientPayload_WebInfo_APP_STORE ClientPayload_WebInfo_WebSubPlatform = 1 - ClientPayload_WebInfo_WIN_STORE ClientPayload_WebInfo_WebSubPlatform = 2 - ClientPayload_WebInfo_DARWIN ClientPayload_WebInfo_WebSubPlatform = 3 - ClientPayload_WebInfo_WIN32 ClientPayload_WebInfo_WebSubPlatform = 4 -) - -// Enum value maps for ClientPayload_WebInfo_WebSubPlatform. -var ( - ClientPayload_WebInfo_WebSubPlatform_name = map[int32]string{ - 0: "WEB_BROWSER", - 1: "APP_STORE", - 2: "WIN_STORE", - 3: "DARWIN", - 4: "WIN32", - } - ClientPayload_WebInfo_WebSubPlatform_value = map[string]int32{ - "WEB_BROWSER": 0, - "APP_STORE": 1, - "WIN_STORE": 2, - "DARWIN": 3, - "WIN32": 4, - } -) - -func (x ClientPayload_WebInfo_WebSubPlatform) Enum() *ClientPayload_WebInfo_WebSubPlatform { - p := new(ClientPayload_WebInfo_WebSubPlatform) - *p = x - return p -} - -func (x ClientPayload_WebInfo_WebSubPlatform) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClientPayload_WebInfo_WebSubPlatform) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[67].Descriptor() -} - -func (ClientPayload_WebInfo_WebSubPlatform) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[67] -} - -func (x ClientPayload_WebInfo_WebSubPlatform) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ClientPayload_WebInfo_WebSubPlatform) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ClientPayload_WebInfo_WebSubPlatform(num) - return nil -} - -// Deprecated: Use ClientPayload_WebInfo_WebSubPlatform.Descriptor instead. -func (ClientPayload_WebInfo_WebSubPlatform) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 0, 0} -} - -type ClientPayload_UserAgent_ReleaseChannel int32 - -const ( - ClientPayload_UserAgent_RELEASE ClientPayload_UserAgent_ReleaseChannel = 0 - ClientPayload_UserAgent_BETA ClientPayload_UserAgent_ReleaseChannel = 1 - ClientPayload_UserAgent_ALPHA ClientPayload_UserAgent_ReleaseChannel = 2 - ClientPayload_UserAgent_DEBUG ClientPayload_UserAgent_ReleaseChannel = 3 -) - -// Enum value maps for ClientPayload_UserAgent_ReleaseChannel. -var ( - ClientPayload_UserAgent_ReleaseChannel_name = map[int32]string{ - 0: "RELEASE", - 1: "BETA", - 2: "ALPHA", - 3: "DEBUG", - } - ClientPayload_UserAgent_ReleaseChannel_value = map[string]int32{ - "RELEASE": 0, - "BETA": 1, - "ALPHA": 2, - "DEBUG": 3, - } -) - -func (x ClientPayload_UserAgent_ReleaseChannel) Enum() *ClientPayload_UserAgent_ReleaseChannel { - p := new(ClientPayload_UserAgent_ReleaseChannel) - *p = x - return p -} - -func (x ClientPayload_UserAgent_ReleaseChannel) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClientPayload_UserAgent_ReleaseChannel) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[68].Descriptor() -} - -func (ClientPayload_UserAgent_ReleaseChannel) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[68] -} - -func (x ClientPayload_UserAgent_ReleaseChannel) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ClientPayload_UserAgent_ReleaseChannel) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ClientPayload_UserAgent_ReleaseChannel(num) - return nil -} - -// Deprecated: Use ClientPayload_UserAgent_ReleaseChannel.Descriptor instead. -func (ClientPayload_UserAgent_ReleaseChannel) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 1, 0} -} - -type ClientPayload_UserAgent_Platform int32 - -const ( - ClientPayload_UserAgent_ANDROID ClientPayload_UserAgent_Platform = 0 - ClientPayload_UserAgent_IOS ClientPayload_UserAgent_Platform = 1 - ClientPayload_UserAgent_WINDOWS_PHONE ClientPayload_UserAgent_Platform = 2 - ClientPayload_UserAgent_BLACKBERRY ClientPayload_UserAgent_Platform = 3 - ClientPayload_UserAgent_BLACKBERRYX ClientPayload_UserAgent_Platform = 4 - ClientPayload_UserAgent_S40 ClientPayload_UserAgent_Platform = 5 - ClientPayload_UserAgent_S60 ClientPayload_UserAgent_Platform = 6 - ClientPayload_UserAgent_PYTHON_CLIENT ClientPayload_UserAgent_Platform = 7 - ClientPayload_UserAgent_TIZEN ClientPayload_UserAgent_Platform = 8 - ClientPayload_UserAgent_ENTERPRISE ClientPayload_UserAgent_Platform = 9 - ClientPayload_UserAgent_SMB_ANDROID ClientPayload_UserAgent_Platform = 10 - ClientPayload_UserAgent_KAIOS ClientPayload_UserAgent_Platform = 11 - ClientPayload_UserAgent_SMB_IOS ClientPayload_UserAgent_Platform = 12 - ClientPayload_UserAgent_WINDOWS ClientPayload_UserAgent_Platform = 13 - ClientPayload_UserAgent_WEB ClientPayload_UserAgent_Platform = 14 - ClientPayload_UserAgent_PORTAL ClientPayload_UserAgent_Platform = 15 - ClientPayload_UserAgent_GREEN_ANDROID ClientPayload_UserAgent_Platform = 16 - ClientPayload_UserAgent_GREEN_IPHONE ClientPayload_UserAgent_Platform = 17 - ClientPayload_UserAgent_BLUE_ANDROID ClientPayload_UserAgent_Platform = 18 - ClientPayload_UserAgent_BLUE_IPHONE ClientPayload_UserAgent_Platform = 19 - ClientPayload_UserAgent_FBLITE_ANDROID ClientPayload_UserAgent_Platform = 20 - ClientPayload_UserAgent_MLITE_ANDROID ClientPayload_UserAgent_Platform = 21 - ClientPayload_UserAgent_IGLITE_ANDROID ClientPayload_UserAgent_Platform = 22 - ClientPayload_UserAgent_PAGE ClientPayload_UserAgent_Platform = 23 - ClientPayload_UserAgent_MACOS ClientPayload_UserAgent_Platform = 24 - ClientPayload_UserAgent_OCULUS_MSG ClientPayload_UserAgent_Platform = 25 - ClientPayload_UserAgent_OCULUS_CALL ClientPayload_UserAgent_Platform = 26 - ClientPayload_UserAgent_MILAN ClientPayload_UserAgent_Platform = 27 - ClientPayload_UserAgent_CAPI ClientPayload_UserAgent_Platform = 28 - ClientPayload_UserAgent_WEAROS ClientPayload_UserAgent_Platform = 29 - ClientPayload_UserAgent_ARDEVICE ClientPayload_UserAgent_Platform = 30 - ClientPayload_UserAgent_VRDEVICE ClientPayload_UserAgent_Platform = 31 - ClientPayload_UserAgent_BLUE_WEB ClientPayload_UserAgent_Platform = 32 - ClientPayload_UserAgent_IPAD ClientPayload_UserAgent_Platform = 33 - ClientPayload_UserAgent_TEST ClientPayload_UserAgent_Platform = 34 -) - -// Enum value maps for ClientPayload_UserAgent_Platform. -var ( - ClientPayload_UserAgent_Platform_name = map[int32]string{ - 0: "ANDROID", - 1: "IOS", - 2: "WINDOWS_PHONE", - 3: "BLACKBERRY", - 4: "BLACKBERRYX", - 5: "S40", - 6: "S60", - 7: "PYTHON_CLIENT", - 8: "TIZEN", - 9: "ENTERPRISE", - 10: "SMB_ANDROID", - 11: "KAIOS", - 12: "SMB_IOS", - 13: "WINDOWS", - 14: "WEB", - 15: "PORTAL", - 16: "GREEN_ANDROID", - 17: "GREEN_IPHONE", - 18: "BLUE_ANDROID", - 19: "BLUE_IPHONE", - 20: "FBLITE_ANDROID", - 21: "MLITE_ANDROID", - 22: "IGLITE_ANDROID", - 23: "PAGE", - 24: "MACOS", - 25: "OCULUS_MSG", - 26: "OCULUS_CALL", - 27: "MILAN", - 28: "CAPI", - 29: "WEAROS", - 30: "ARDEVICE", - 31: "VRDEVICE", - 32: "BLUE_WEB", - 33: "IPAD", - 34: "TEST", - } - ClientPayload_UserAgent_Platform_value = map[string]int32{ - "ANDROID": 0, - "IOS": 1, - "WINDOWS_PHONE": 2, - "BLACKBERRY": 3, - "BLACKBERRYX": 4, - "S40": 5, - "S60": 6, - "PYTHON_CLIENT": 7, - "TIZEN": 8, - "ENTERPRISE": 9, - "SMB_ANDROID": 10, - "KAIOS": 11, - "SMB_IOS": 12, - "WINDOWS": 13, - "WEB": 14, - "PORTAL": 15, - "GREEN_ANDROID": 16, - "GREEN_IPHONE": 17, - "BLUE_ANDROID": 18, - "BLUE_IPHONE": 19, - "FBLITE_ANDROID": 20, - "MLITE_ANDROID": 21, - "IGLITE_ANDROID": 22, - "PAGE": 23, - "MACOS": 24, - "OCULUS_MSG": 25, - "OCULUS_CALL": 26, - "MILAN": 27, - "CAPI": 28, - "WEAROS": 29, - "ARDEVICE": 30, - "VRDEVICE": 31, - "BLUE_WEB": 32, - "IPAD": 33, - "TEST": 34, - } -) - -func (x ClientPayload_UserAgent_Platform) Enum() *ClientPayload_UserAgent_Platform { - p := new(ClientPayload_UserAgent_Platform) - *p = x - return p -} - -func (x ClientPayload_UserAgent_Platform) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClientPayload_UserAgent_Platform) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[69].Descriptor() -} - -func (ClientPayload_UserAgent_Platform) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[69] -} - -func (x ClientPayload_UserAgent_Platform) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ClientPayload_UserAgent_Platform) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ClientPayload_UserAgent_Platform(num) - return nil -} - -// Deprecated: Use ClientPayload_UserAgent_Platform.Descriptor instead. -func (ClientPayload_UserAgent_Platform) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 1, 1} -} - -type ClientPayload_UserAgent_DeviceType int32 - -const ( - ClientPayload_UserAgent_PHONE ClientPayload_UserAgent_DeviceType = 0 - ClientPayload_UserAgent_TABLET ClientPayload_UserAgent_DeviceType = 1 - ClientPayload_UserAgent_DESKTOP ClientPayload_UserAgent_DeviceType = 2 - ClientPayload_UserAgent_WEARABLE ClientPayload_UserAgent_DeviceType = 3 - ClientPayload_UserAgent_VR ClientPayload_UserAgent_DeviceType = 4 -) - -// Enum value maps for ClientPayload_UserAgent_DeviceType. -var ( - ClientPayload_UserAgent_DeviceType_name = map[int32]string{ - 0: "PHONE", - 1: "TABLET", - 2: "DESKTOP", - 3: "WEARABLE", - 4: "VR", - } - ClientPayload_UserAgent_DeviceType_value = map[string]int32{ - "PHONE": 0, - "TABLET": 1, - "DESKTOP": 2, - "WEARABLE": 3, - "VR": 4, - } -) - -func (x ClientPayload_UserAgent_DeviceType) Enum() *ClientPayload_UserAgent_DeviceType { - p := new(ClientPayload_UserAgent_DeviceType) - *p = x - return p -} - -func (x ClientPayload_UserAgent_DeviceType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClientPayload_UserAgent_DeviceType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[70].Descriptor() -} - -func (ClientPayload_UserAgent_DeviceType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[70] -} - -func (x ClientPayload_UserAgent_DeviceType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ClientPayload_UserAgent_DeviceType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ClientPayload_UserAgent_DeviceType(num) - return nil -} - -// Deprecated: Use ClientPayload_UserAgent_DeviceType.Descriptor instead. -func (ClientPayload_UserAgent_DeviceType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 1, 2} -} - -type ClientPayload_DNSSource_DNSResolutionMethod int32 - -const ( - ClientPayload_DNSSource_SYSTEM ClientPayload_DNSSource_DNSResolutionMethod = 0 - ClientPayload_DNSSource_GOOGLE ClientPayload_DNSSource_DNSResolutionMethod = 1 - ClientPayload_DNSSource_HARDCODED ClientPayload_DNSSource_DNSResolutionMethod = 2 - ClientPayload_DNSSource_OVERRIDE ClientPayload_DNSSource_DNSResolutionMethod = 3 - ClientPayload_DNSSource_FALLBACK ClientPayload_DNSSource_DNSResolutionMethod = 4 -) - -// Enum value maps for ClientPayload_DNSSource_DNSResolutionMethod. -var ( - ClientPayload_DNSSource_DNSResolutionMethod_name = map[int32]string{ - 0: "SYSTEM", - 1: "GOOGLE", - 2: "HARDCODED", - 3: "OVERRIDE", - 4: "FALLBACK", - } - ClientPayload_DNSSource_DNSResolutionMethod_value = map[string]int32{ - "SYSTEM": 0, - "GOOGLE": 1, - "HARDCODED": 2, - "OVERRIDE": 3, - "FALLBACK": 4, - } -) - -func (x ClientPayload_DNSSource_DNSResolutionMethod) Enum() *ClientPayload_DNSSource_DNSResolutionMethod { - p := new(ClientPayload_DNSSource_DNSResolutionMethod) - *p = x - return p -} - -func (x ClientPayload_DNSSource_DNSResolutionMethod) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClientPayload_DNSSource_DNSResolutionMethod) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[71].Descriptor() -} - -func (ClientPayload_DNSSource_DNSResolutionMethod) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[71] -} - -func (x ClientPayload_DNSSource_DNSResolutionMethod) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *ClientPayload_DNSSource_DNSResolutionMethod) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = ClientPayload_DNSSource_DNSResolutionMethod(num) - return nil -} - -// Deprecated: Use ClientPayload_DNSSource_DNSResolutionMethod.Descriptor instead. -func (ClientPayload_DNSSource_DNSResolutionMethod) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 4, 0} -} - -type WebMessageInfo_StubType int32 - -const ( - WebMessageInfo_UNKNOWN WebMessageInfo_StubType = 0 - WebMessageInfo_REVOKE WebMessageInfo_StubType = 1 - WebMessageInfo_CIPHERTEXT WebMessageInfo_StubType = 2 - WebMessageInfo_FUTUREPROOF WebMessageInfo_StubType = 3 - WebMessageInfo_NON_VERIFIED_TRANSITION WebMessageInfo_StubType = 4 - WebMessageInfo_UNVERIFIED_TRANSITION WebMessageInfo_StubType = 5 - WebMessageInfo_VERIFIED_TRANSITION WebMessageInfo_StubType = 6 - WebMessageInfo_VERIFIED_LOW_UNKNOWN WebMessageInfo_StubType = 7 - WebMessageInfo_VERIFIED_HIGH WebMessageInfo_StubType = 8 - WebMessageInfo_VERIFIED_INITIAL_UNKNOWN WebMessageInfo_StubType = 9 - WebMessageInfo_VERIFIED_INITIAL_LOW WebMessageInfo_StubType = 10 - WebMessageInfo_VERIFIED_INITIAL_HIGH WebMessageInfo_StubType = 11 - WebMessageInfo_VERIFIED_TRANSITION_ANY_TO_NONE WebMessageInfo_StubType = 12 - WebMessageInfo_VERIFIED_TRANSITION_ANY_TO_HIGH WebMessageInfo_StubType = 13 - WebMessageInfo_VERIFIED_TRANSITION_HIGH_TO_LOW WebMessageInfo_StubType = 14 - WebMessageInfo_VERIFIED_TRANSITION_HIGH_TO_UNKNOWN WebMessageInfo_StubType = 15 - WebMessageInfo_VERIFIED_TRANSITION_UNKNOWN_TO_LOW WebMessageInfo_StubType = 16 - WebMessageInfo_VERIFIED_TRANSITION_LOW_TO_UNKNOWN WebMessageInfo_StubType = 17 - WebMessageInfo_VERIFIED_TRANSITION_NONE_TO_LOW WebMessageInfo_StubType = 18 - WebMessageInfo_VERIFIED_TRANSITION_NONE_TO_UNKNOWN WebMessageInfo_StubType = 19 - WebMessageInfo_GROUP_CREATE WebMessageInfo_StubType = 20 - WebMessageInfo_GROUP_CHANGE_SUBJECT WebMessageInfo_StubType = 21 - WebMessageInfo_GROUP_CHANGE_ICON WebMessageInfo_StubType = 22 - WebMessageInfo_GROUP_CHANGE_INVITE_LINK WebMessageInfo_StubType = 23 - WebMessageInfo_GROUP_CHANGE_DESCRIPTION WebMessageInfo_StubType = 24 - WebMessageInfo_GROUP_CHANGE_RESTRICT WebMessageInfo_StubType = 25 - WebMessageInfo_GROUP_CHANGE_ANNOUNCE WebMessageInfo_StubType = 26 - WebMessageInfo_GROUP_PARTICIPANT_ADD WebMessageInfo_StubType = 27 - WebMessageInfo_GROUP_PARTICIPANT_REMOVE WebMessageInfo_StubType = 28 - WebMessageInfo_GROUP_PARTICIPANT_PROMOTE WebMessageInfo_StubType = 29 - WebMessageInfo_GROUP_PARTICIPANT_DEMOTE WebMessageInfo_StubType = 30 - WebMessageInfo_GROUP_PARTICIPANT_INVITE WebMessageInfo_StubType = 31 - WebMessageInfo_GROUP_PARTICIPANT_LEAVE WebMessageInfo_StubType = 32 - WebMessageInfo_GROUP_PARTICIPANT_CHANGE_NUMBER WebMessageInfo_StubType = 33 - WebMessageInfo_BROADCAST_CREATE WebMessageInfo_StubType = 34 - WebMessageInfo_BROADCAST_ADD WebMessageInfo_StubType = 35 - WebMessageInfo_BROADCAST_REMOVE WebMessageInfo_StubType = 36 - WebMessageInfo_GENERIC_NOTIFICATION WebMessageInfo_StubType = 37 - WebMessageInfo_E2E_IDENTITY_CHANGED WebMessageInfo_StubType = 38 - WebMessageInfo_E2E_ENCRYPTED WebMessageInfo_StubType = 39 - WebMessageInfo_CALL_MISSED_VOICE WebMessageInfo_StubType = 40 - WebMessageInfo_CALL_MISSED_VIDEO WebMessageInfo_StubType = 41 - WebMessageInfo_INDIVIDUAL_CHANGE_NUMBER WebMessageInfo_StubType = 42 - WebMessageInfo_GROUP_DELETE WebMessageInfo_StubType = 43 - WebMessageInfo_GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE WebMessageInfo_StubType = 44 - WebMessageInfo_CALL_MISSED_GROUP_VOICE WebMessageInfo_StubType = 45 - WebMessageInfo_CALL_MISSED_GROUP_VIDEO WebMessageInfo_StubType = 46 - WebMessageInfo_PAYMENT_CIPHERTEXT WebMessageInfo_StubType = 47 - WebMessageInfo_PAYMENT_FUTUREPROOF WebMessageInfo_StubType = 48 - WebMessageInfo_PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED WebMessageInfo_StubType = 49 - WebMessageInfo_PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED WebMessageInfo_StubType = 50 - WebMessageInfo_PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED WebMessageInfo_StubType = 51 - WebMessageInfo_PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP WebMessageInfo_StubType = 52 - WebMessageInfo_PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP WebMessageInfo_StubType = 53 - WebMessageInfo_PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER WebMessageInfo_StubType = 54 - WebMessageInfo_PAYMENT_ACTION_SEND_PAYMENT_REMINDER WebMessageInfo_StubType = 55 - WebMessageInfo_PAYMENT_ACTION_SEND_PAYMENT_INVITATION WebMessageInfo_StubType = 56 - WebMessageInfo_PAYMENT_ACTION_REQUEST_DECLINED WebMessageInfo_StubType = 57 - WebMessageInfo_PAYMENT_ACTION_REQUEST_EXPIRED WebMessageInfo_StubType = 58 - WebMessageInfo_PAYMENT_ACTION_REQUEST_CANCELLED WebMessageInfo_StubType = 59 - WebMessageInfo_BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM WebMessageInfo_StubType = 60 - WebMessageInfo_BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP WebMessageInfo_StubType = 61 - WebMessageInfo_BIZ_INTRO_TOP WebMessageInfo_StubType = 62 - WebMessageInfo_BIZ_INTRO_BOTTOM WebMessageInfo_StubType = 63 - WebMessageInfo_BIZ_NAME_CHANGE WebMessageInfo_StubType = 64 - WebMessageInfo_BIZ_MOVE_TO_CONSUMER_APP WebMessageInfo_StubType = 65 - WebMessageInfo_BIZ_TWO_TIER_MIGRATION_TOP WebMessageInfo_StubType = 66 - WebMessageInfo_BIZ_TWO_TIER_MIGRATION_BOTTOM WebMessageInfo_StubType = 67 - WebMessageInfo_OVERSIZED WebMessageInfo_StubType = 68 - WebMessageInfo_GROUP_CHANGE_NO_FREQUENTLY_FORWARDED WebMessageInfo_StubType = 69 - WebMessageInfo_GROUP_V4_ADD_INVITE_SENT WebMessageInfo_StubType = 70 - WebMessageInfo_GROUP_PARTICIPANT_ADD_REQUEST_JOIN WebMessageInfo_StubType = 71 - WebMessageInfo_CHANGE_EPHEMERAL_SETTING WebMessageInfo_StubType = 72 - WebMessageInfo_E2E_DEVICE_CHANGED WebMessageInfo_StubType = 73 - WebMessageInfo_VIEWED_ONCE WebMessageInfo_StubType = 74 - WebMessageInfo_E2E_ENCRYPTED_NOW WebMessageInfo_StubType = 75 - WebMessageInfo_BLUE_MSG_BSP_FB_TO_BSP_PREMISE WebMessageInfo_StubType = 76 - WebMessageInfo_BLUE_MSG_BSP_FB_TO_SELF_FB WebMessageInfo_StubType = 77 - WebMessageInfo_BLUE_MSG_BSP_FB_TO_SELF_PREMISE WebMessageInfo_StubType = 78 - WebMessageInfo_BLUE_MSG_BSP_FB_UNVERIFIED WebMessageInfo_StubType = 79 - WebMessageInfo_BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED WebMessageInfo_StubType = 80 - WebMessageInfo_BLUE_MSG_BSP_FB_VERIFIED WebMessageInfo_StubType = 81 - WebMessageInfo_BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED WebMessageInfo_StubType = 82 - WebMessageInfo_BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE WebMessageInfo_StubType = 83 - WebMessageInfo_BLUE_MSG_BSP_PREMISE_UNVERIFIED WebMessageInfo_StubType = 84 - WebMessageInfo_BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED WebMessageInfo_StubType = 85 - WebMessageInfo_BLUE_MSG_BSP_PREMISE_VERIFIED WebMessageInfo_StubType = 86 - WebMessageInfo_BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED WebMessageInfo_StubType = 87 - WebMessageInfo_BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED WebMessageInfo_StubType = 88 - WebMessageInfo_BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED WebMessageInfo_StubType = 89 - WebMessageInfo_BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED WebMessageInfo_StubType = 90 - WebMessageInfo_BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED WebMessageInfo_StubType = 91 - WebMessageInfo_BLUE_MSG_SELF_FB_TO_BSP_PREMISE WebMessageInfo_StubType = 92 - WebMessageInfo_BLUE_MSG_SELF_FB_TO_SELF_PREMISE WebMessageInfo_StubType = 93 - WebMessageInfo_BLUE_MSG_SELF_FB_UNVERIFIED WebMessageInfo_StubType = 94 - WebMessageInfo_BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED WebMessageInfo_StubType = 95 - WebMessageInfo_BLUE_MSG_SELF_FB_VERIFIED WebMessageInfo_StubType = 96 - WebMessageInfo_BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED WebMessageInfo_StubType = 97 - WebMessageInfo_BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE WebMessageInfo_StubType = 98 - WebMessageInfo_BLUE_MSG_SELF_PREMISE_UNVERIFIED WebMessageInfo_StubType = 99 - WebMessageInfo_BLUE_MSG_SELF_PREMISE_VERIFIED WebMessageInfo_StubType = 100 - WebMessageInfo_BLUE_MSG_TO_BSP_FB WebMessageInfo_StubType = 101 - WebMessageInfo_BLUE_MSG_TO_CONSUMER WebMessageInfo_StubType = 102 - WebMessageInfo_BLUE_MSG_TO_SELF_FB WebMessageInfo_StubType = 103 - WebMessageInfo_BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED WebMessageInfo_StubType = 104 - WebMessageInfo_BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED WebMessageInfo_StubType = 105 - WebMessageInfo_BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED WebMessageInfo_StubType = 106 - WebMessageInfo_BLUE_MSG_UNVERIFIED_TO_VERIFIED WebMessageInfo_StubType = 107 - WebMessageInfo_BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED WebMessageInfo_StubType = 108 - WebMessageInfo_BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED WebMessageInfo_StubType = 109 - WebMessageInfo_BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED WebMessageInfo_StubType = 110 - WebMessageInfo_BLUE_MSG_VERIFIED_TO_UNVERIFIED WebMessageInfo_StubType = 111 - WebMessageInfo_BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED WebMessageInfo_StubType = 112 - WebMessageInfo_BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED WebMessageInfo_StubType = 113 - WebMessageInfo_BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED WebMessageInfo_StubType = 114 - WebMessageInfo_BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED WebMessageInfo_StubType = 115 - WebMessageInfo_BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED WebMessageInfo_StubType = 116 - WebMessageInfo_BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED WebMessageInfo_StubType = 117 - WebMessageInfo_E2E_IDENTITY_UNAVAILABLE WebMessageInfo_StubType = 118 - WebMessageInfo_GROUP_CREATING WebMessageInfo_StubType = 119 - WebMessageInfo_GROUP_CREATE_FAILED WebMessageInfo_StubType = 120 - WebMessageInfo_GROUP_BOUNCED WebMessageInfo_StubType = 121 - WebMessageInfo_BLOCK_CONTACT WebMessageInfo_StubType = 122 - WebMessageInfo_EPHEMERAL_SETTING_NOT_APPLIED WebMessageInfo_StubType = 123 - WebMessageInfo_SYNC_FAILED WebMessageInfo_StubType = 124 - WebMessageInfo_SYNCING WebMessageInfo_StubType = 125 - WebMessageInfo_BIZ_PRIVACY_MODE_INIT_FB WebMessageInfo_StubType = 126 - WebMessageInfo_BIZ_PRIVACY_MODE_INIT_BSP WebMessageInfo_StubType = 127 - WebMessageInfo_BIZ_PRIVACY_MODE_TO_FB WebMessageInfo_StubType = 128 - WebMessageInfo_BIZ_PRIVACY_MODE_TO_BSP WebMessageInfo_StubType = 129 - WebMessageInfo_DISAPPEARING_MODE WebMessageInfo_StubType = 130 - WebMessageInfo_E2E_DEVICE_FETCH_FAILED WebMessageInfo_StubType = 131 - WebMessageInfo_ADMIN_REVOKE WebMessageInfo_StubType = 132 - WebMessageInfo_GROUP_INVITE_LINK_GROWTH_LOCKED WebMessageInfo_StubType = 133 - WebMessageInfo_COMMUNITY_LINK_PARENT_GROUP WebMessageInfo_StubType = 134 - WebMessageInfo_COMMUNITY_LINK_SIBLING_GROUP WebMessageInfo_StubType = 135 - WebMessageInfo_COMMUNITY_LINK_SUB_GROUP WebMessageInfo_StubType = 136 - WebMessageInfo_COMMUNITY_UNLINK_PARENT_GROUP WebMessageInfo_StubType = 137 - WebMessageInfo_COMMUNITY_UNLINK_SIBLING_GROUP WebMessageInfo_StubType = 138 - WebMessageInfo_COMMUNITY_UNLINK_SUB_GROUP WebMessageInfo_StubType = 139 - WebMessageInfo_GROUP_PARTICIPANT_ACCEPT WebMessageInfo_StubType = 140 - WebMessageInfo_GROUP_PARTICIPANT_LINKED_GROUP_JOIN WebMessageInfo_StubType = 141 - WebMessageInfo_COMMUNITY_CREATE WebMessageInfo_StubType = 142 - WebMessageInfo_EPHEMERAL_KEEP_IN_CHAT WebMessageInfo_StubType = 143 - WebMessageInfo_GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST WebMessageInfo_StubType = 144 - WebMessageInfo_GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE WebMessageInfo_StubType = 145 - WebMessageInfo_INTEGRITY_UNLINK_PARENT_GROUP WebMessageInfo_StubType = 146 - WebMessageInfo_COMMUNITY_PARTICIPANT_PROMOTE WebMessageInfo_StubType = 147 - WebMessageInfo_COMMUNITY_PARTICIPANT_DEMOTE WebMessageInfo_StubType = 148 - WebMessageInfo_COMMUNITY_PARENT_GROUP_DELETED WebMessageInfo_StubType = 149 - WebMessageInfo_COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL WebMessageInfo_StubType = 150 - WebMessageInfo_GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP WebMessageInfo_StubType = 151 - WebMessageInfo_MASKED_THREAD_CREATED WebMessageInfo_StubType = 152 - WebMessageInfo_MASKED_THREAD_UNMASKED WebMessageInfo_StubType = 153 - WebMessageInfo_BIZ_CHAT_ASSIGNMENT WebMessageInfo_StubType = 154 - WebMessageInfo_CHAT_PSA WebMessageInfo_StubType = 155 - WebMessageInfo_CHAT_POLL_CREATION_MESSAGE WebMessageInfo_StubType = 156 - WebMessageInfo_CAG_MASKED_THREAD_CREATED WebMessageInfo_StubType = 157 - WebMessageInfo_COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED WebMessageInfo_StubType = 158 - WebMessageInfo_CAG_INVITE_AUTO_ADD WebMessageInfo_StubType = 159 - WebMessageInfo_BIZ_CHAT_ASSIGNMENT_UNASSIGN WebMessageInfo_StubType = 160 - WebMessageInfo_CAG_INVITE_AUTO_JOINED WebMessageInfo_StubType = 161 - WebMessageInfo_SCHEDULED_CALL_START_MESSAGE WebMessageInfo_StubType = 162 - WebMessageInfo_COMMUNITY_INVITE_RICH WebMessageInfo_StubType = 163 - WebMessageInfo_COMMUNITY_INVITE_AUTO_ADD_RICH WebMessageInfo_StubType = 164 - WebMessageInfo_SUB_GROUP_INVITE_RICH WebMessageInfo_StubType = 165 - WebMessageInfo_SUB_GROUP_PARTICIPANT_ADD_RICH WebMessageInfo_StubType = 166 - WebMessageInfo_COMMUNITY_LINK_PARENT_GROUP_RICH WebMessageInfo_StubType = 167 - WebMessageInfo_COMMUNITY_PARTICIPANT_ADD_RICH WebMessageInfo_StubType = 168 - WebMessageInfo_SILENCED_UNKNOWN_CALLER_AUDIO WebMessageInfo_StubType = 169 - WebMessageInfo_SILENCED_UNKNOWN_CALLER_VIDEO WebMessageInfo_StubType = 170 - WebMessageInfo_GROUP_MEMBER_ADD_MODE WebMessageInfo_StubType = 171 - WebMessageInfo_GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD WebMessageInfo_StubType = 172 - WebMessageInfo_COMMUNITY_CHANGE_DESCRIPTION WebMessageInfo_StubType = 173 - WebMessageInfo_SENDER_INVITE WebMessageInfo_StubType = 174 - WebMessageInfo_RECEIVER_INVITE WebMessageInfo_StubType = 175 - WebMessageInfo_COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS WebMessageInfo_StubType = 176 - WebMessageInfo_PINNED_MESSAGE_IN_CHAT WebMessageInfo_StubType = 177 - WebMessageInfo_PAYMENT_INVITE_SETUP_INVITER WebMessageInfo_StubType = 178 - WebMessageInfo_PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY WebMessageInfo_StubType = 179 - WebMessageInfo_PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE WebMessageInfo_StubType = 180 - WebMessageInfo_LINKED_GROUP_CALL_START WebMessageInfo_StubType = 181 - WebMessageInfo_REPORT_TO_ADMIN_ENABLED_STATUS WebMessageInfo_StubType = 182 - WebMessageInfo_EMPTY_SUBGROUP_CREATE WebMessageInfo_StubType = 183 - WebMessageInfo_SCHEDULED_CALL_CANCEL WebMessageInfo_StubType = 184 - WebMessageInfo_SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH WebMessageInfo_StubType = 185 - WebMessageInfo_GROUP_CHANGE_RECENT_HISTORY_SHARING WebMessageInfo_StubType = 186 - WebMessageInfo_PAID_MESSAGE_SERVER_CAMPAIGN_ID WebMessageInfo_StubType = 187 - WebMessageInfo_GENERAL_CHAT_CREATE WebMessageInfo_StubType = 188 - WebMessageInfo_GENERAL_CHAT_ADD WebMessageInfo_StubType = 189 - WebMessageInfo_GENERAL_CHAT_AUTO_ADD_DISABLED WebMessageInfo_StubType = 190 - WebMessageInfo_SUGGESTED_SUBGROUP_ANNOUNCE WebMessageInfo_StubType = 191 - WebMessageInfo_BIZ_BOT_1P_MESSAGING_ENABLED WebMessageInfo_StubType = 192 - WebMessageInfo_CHANGE_USERNAME WebMessageInfo_StubType = 193 - WebMessageInfo_BIZ_COEX_PRIVACY_INIT_SELF WebMessageInfo_StubType = 194 - WebMessageInfo_BIZ_COEX_PRIVACY_TRANSITION_SELF WebMessageInfo_StubType = 195 - WebMessageInfo_SUPPORT_AI_EDUCATION WebMessageInfo_StubType = 196 - WebMessageInfo_BIZ_BOT_3P_MESSAGING_ENABLED WebMessageInfo_StubType = 197 - WebMessageInfo_REMINDER_SETUP_MESSAGE WebMessageInfo_StubType = 198 - WebMessageInfo_REMINDER_SENT_MESSAGE WebMessageInfo_StubType = 199 - WebMessageInfo_REMINDER_CANCEL_MESSAGE WebMessageInfo_StubType = 200 -) - -// Enum value maps for WebMessageInfo_StubType. -var ( - WebMessageInfo_StubType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "REVOKE", - 2: "CIPHERTEXT", - 3: "FUTUREPROOF", - 4: "NON_VERIFIED_TRANSITION", - 5: "UNVERIFIED_TRANSITION", - 6: "VERIFIED_TRANSITION", - 7: "VERIFIED_LOW_UNKNOWN", - 8: "VERIFIED_HIGH", - 9: "VERIFIED_INITIAL_UNKNOWN", - 10: "VERIFIED_INITIAL_LOW", - 11: "VERIFIED_INITIAL_HIGH", - 12: "VERIFIED_TRANSITION_ANY_TO_NONE", - 13: "VERIFIED_TRANSITION_ANY_TO_HIGH", - 14: "VERIFIED_TRANSITION_HIGH_TO_LOW", - 15: "VERIFIED_TRANSITION_HIGH_TO_UNKNOWN", - 16: "VERIFIED_TRANSITION_UNKNOWN_TO_LOW", - 17: "VERIFIED_TRANSITION_LOW_TO_UNKNOWN", - 18: "VERIFIED_TRANSITION_NONE_TO_LOW", - 19: "VERIFIED_TRANSITION_NONE_TO_UNKNOWN", - 20: "GROUP_CREATE", - 21: "GROUP_CHANGE_SUBJECT", - 22: "GROUP_CHANGE_ICON", - 23: "GROUP_CHANGE_INVITE_LINK", - 24: "GROUP_CHANGE_DESCRIPTION", - 25: "GROUP_CHANGE_RESTRICT", - 26: "GROUP_CHANGE_ANNOUNCE", - 27: "GROUP_PARTICIPANT_ADD", - 28: "GROUP_PARTICIPANT_REMOVE", - 29: "GROUP_PARTICIPANT_PROMOTE", - 30: "GROUP_PARTICIPANT_DEMOTE", - 31: "GROUP_PARTICIPANT_INVITE", - 32: "GROUP_PARTICIPANT_LEAVE", - 33: "GROUP_PARTICIPANT_CHANGE_NUMBER", - 34: "BROADCAST_CREATE", - 35: "BROADCAST_ADD", - 36: "BROADCAST_REMOVE", - 37: "GENERIC_NOTIFICATION", - 38: "E2E_IDENTITY_CHANGED", - 39: "E2E_ENCRYPTED", - 40: "CALL_MISSED_VOICE", - 41: "CALL_MISSED_VIDEO", - 42: "INDIVIDUAL_CHANGE_NUMBER", - 43: "GROUP_DELETE", - 44: "GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE", - 45: "CALL_MISSED_GROUP_VOICE", - 46: "CALL_MISSED_GROUP_VIDEO", - 47: "PAYMENT_CIPHERTEXT", - 48: "PAYMENT_FUTUREPROOF", - 49: "PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED", - 50: "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED", - 51: "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED", - 52: "PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP", - 53: "PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP", - 54: "PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER", - 55: "PAYMENT_ACTION_SEND_PAYMENT_REMINDER", - 56: "PAYMENT_ACTION_SEND_PAYMENT_INVITATION", - 57: "PAYMENT_ACTION_REQUEST_DECLINED", - 58: "PAYMENT_ACTION_REQUEST_EXPIRED", - 59: "PAYMENT_ACTION_REQUEST_CANCELLED", - 60: "BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM", - 61: "BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP", - 62: "BIZ_INTRO_TOP", - 63: "BIZ_INTRO_BOTTOM", - 64: "BIZ_NAME_CHANGE", - 65: "BIZ_MOVE_TO_CONSUMER_APP", - 66: "BIZ_TWO_TIER_MIGRATION_TOP", - 67: "BIZ_TWO_TIER_MIGRATION_BOTTOM", - 68: "OVERSIZED", - 69: "GROUP_CHANGE_NO_FREQUENTLY_FORWARDED", - 70: "GROUP_V4_ADD_INVITE_SENT", - 71: "GROUP_PARTICIPANT_ADD_REQUEST_JOIN", - 72: "CHANGE_EPHEMERAL_SETTING", - 73: "E2E_DEVICE_CHANGED", - 74: "VIEWED_ONCE", - 75: "E2E_ENCRYPTED_NOW", - 76: "BLUE_MSG_BSP_FB_TO_BSP_PREMISE", - 77: "BLUE_MSG_BSP_FB_TO_SELF_FB", - 78: "BLUE_MSG_BSP_FB_TO_SELF_PREMISE", - 79: "BLUE_MSG_BSP_FB_UNVERIFIED", - 80: "BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED", - 81: "BLUE_MSG_BSP_FB_VERIFIED", - 82: "BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED", - 83: "BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE", - 84: "BLUE_MSG_BSP_PREMISE_UNVERIFIED", - 85: "BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED", - 86: "BLUE_MSG_BSP_PREMISE_VERIFIED", - 87: "BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED", - 88: "BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED", - 89: "BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED", - 90: "BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED", - 91: "BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED", - 92: "BLUE_MSG_SELF_FB_TO_BSP_PREMISE", - 93: "BLUE_MSG_SELF_FB_TO_SELF_PREMISE", - 94: "BLUE_MSG_SELF_FB_UNVERIFIED", - 95: "BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED", - 96: "BLUE_MSG_SELF_FB_VERIFIED", - 97: "BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED", - 98: "BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE", - 99: "BLUE_MSG_SELF_PREMISE_UNVERIFIED", - 100: "BLUE_MSG_SELF_PREMISE_VERIFIED", - 101: "BLUE_MSG_TO_BSP_FB", - 102: "BLUE_MSG_TO_CONSUMER", - 103: "BLUE_MSG_TO_SELF_FB", - 104: "BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED", - 105: "BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED", - 106: "BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED", - 107: "BLUE_MSG_UNVERIFIED_TO_VERIFIED", - 108: "BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED", - 109: "BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED", - 110: "BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED", - 111: "BLUE_MSG_VERIFIED_TO_UNVERIFIED", - 112: "BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED", - 113: "BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED", - 114: "BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED", - 115: "BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED", - 116: "BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED", - 117: "BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED", - 118: "E2E_IDENTITY_UNAVAILABLE", - 119: "GROUP_CREATING", - 120: "GROUP_CREATE_FAILED", - 121: "GROUP_BOUNCED", - 122: "BLOCK_CONTACT", - 123: "EPHEMERAL_SETTING_NOT_APPLIED", - 124: "SYNC_FAILED", - 125: "SYNCING", - 126: "BIZ_PRIVACY_MODE_INIT_FB", - 127: "BIZ_PRIVACY_MODE_INIT_BSP", - 128: "BIZ_PRIVACY_MODE_TO_FB", - 129: "BIZ_PRIVACY_MODE_TO_BSP", - 130: "DISAPPEARING_MODE", - 131: "E2E_DEVICE_FETCH_FAILED", - 132: "ADMIN_REVOKE", - 133: "GROUP_INVITE_LINK_GROWTH_LOCKED", - 134: "COMMUNITY_LINK_PARENT_GROUP", - 135: "COMMUNITY_LINK_SIBLING_GROUP", - 136: "COMMUNITY_LINK_SUB_GROUP", - 137: "COMMUNITY_UNLINK_PARENT_GROUP", - 138: "COMMUNITY_UNLINK_SIBLING_GROUP", - 139: "COMMUNITY_UNLINK_SUB_GROUP", - 140: "GROUP_PARTICIPANT_ACCEPT", - 141: "GROUP_PARTICIPANT_LINKED_GROUP_JOIN", - 142: "COMMUNITY_CREATE", - 143: "EPHEMERAL_KEEP_IN_CHAT", - 144: "GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST", - 145: "GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE", - 146: "INTEGRITY_UNLINK_PARENT_GROUP", - 147: "COMMUNITY_PARTICIPANT_PROMOTE", - 148: "COMMUNITY_PARTICIPANT_DEMOTE", - 149: "COMMUNITY_PARENT_GROUP_DELETED", - 150: "COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL", - 151: "GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP", - 152: "MASKED_THREAD_CREATED", - 153: "MASKED_THREAD_UNMASKED", - 154: "BIZ_CHAT_ASSIGNMENT", - 155: "CHAT_PSA", - 156: "CHAT_POLL_CREATION_MESSAGE", - 157: "CAG_MASKED_THREAD_CREATED", - 158: "COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED", - 159: "CAG_INVITE_AUTO_ADD", - 160: "BIZ_CHAT_ASSIGNMENT_UNASSIGN", - 161: "CAG_INVITE_AUTO_JOINED", - 162: "SCHEDULED_CALL_START_MESSAGE", - 163: "COMMUNITY_INVITE_RICH", - 164: "COMMUNITY_INVITE_AUTO_ADD_RICH", - 165: "SUB_GROUP_INVITE_RICH", - 166: "SUB_GROUP_PARTICIPANT_ADD_RICH", - 167: "COMMUNITY_LINK_PARENT_GROUP_RICH", - 168: "COMMUNITY_PARTICIPANT_ADD_RICH", - 169: "SILENCED_UNKNOWN_CALLER_AUDIO", - 170: "SILENCED_UNKNOWN_CALLER_VIDEO", - 171: "GROUP_MEMBER_ADD_MODE", - 172: "GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD", - 173: "COMMUNITY_CHANGE_DESCRIPTION", - 174: "SENDER_INVITE", - 175: "RECEIVER_INVITE", - 176: "COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS", - 177: "PINNED_MESSAGE_IN_CHAT", - 178: "PAYMENT_INVITE_SETUP_INVITER", - 179: "PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY", - 180: "PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE", - 181: "LINKED_GROUP_CALL_START", - 182: "REPORT_TO_ADMIN_ENABLED_STATUS", - 183: "EMPTY_SUBGROUP_CREATE", - 184: "SCHEDULED_CALL_CANCEL", - 185: "SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH", - 186: "GROUP_CHANGE_RECENT_HISTORY_SHARING", - 187: "PAID_MESSAGE_SERVER_CAMPAIGN_ID", - 188: "GENERAL_CHAT_CREATE", - 189: "GENERAL_CHAT_ADD", - 190: "GENERAL_CHAT_AUTO_ADD_DISABLED", - 191: "SUGGESTED_SUBGROUP_ANNOUNCE", - 192: "BIZ_BOT_1P_MESSAGING_ENABLED", - 193: "CHANGE_USERNAME", - 194: "BIZ_COEX_PRIVACY_INIT_SELF", - 195: "BIZ_COEX_PRIVACY_TRANSITION_SELF", - 196: "SUPPORT_AI_EDUCATION", - 197: "BIZ_BOT_3P_MESSAGING_ENABLED", - 198: "REMINDER_SETUP_MESSAGE", - 199: "REMINDER_SENT_MESSAGE", - 200: "REMINDER_CANCEL_MESSAGE", - } - WebMessageInfo_StubType_value = map[string]int32{ - "UNKNOWN": 0, - "REVOKE": 1, - "CIPHERTEXT": 2, - "FUTUREPROOF": 3, - "NON_VERIFIED_TRANSITION": 4, - "UNVERIFIED_TRANSITION": 5, - "VERIFIED_TRANSITION": 6, - "VERIFIED_LOW_UNKNOWN": 7, - "VERIFIED_HIGH": 8, - "VERIFIED_INITIAL_UNKNOWN": 9, - "VERIFIED_INITIAL_LOW": 10, - "VERIFIED_INITIAL_HIGH": 11, - "VERIFIED_TRANSITION_ANY_TO_NONE": 12, - "VERIFIED_TRANSITION_ANY_TO_HIGH": 13, - "VERIFIED_TRANSITION_HIGH_TO_LOW": 14, - "VERIFIED_TRANSITION_HIGH_TO_UNKNOWN": 15, - "VERIFIED_TRANSITION_UNKNOWN_TO_LOW": 16, - "VERIFIED_TRANSITION_LOW_TO_UNKNOWN": 17, - "VERIFIED_TRANSITION_NONE_TO_LOW": 18, - "VERIFIED_TRANSITION_NONE_TO_UNKNOWN": 19, - "GROUP_CREATE": 20, - "GROUP_CHANGE_SUBJECT": 21, - "GROUP_CHANGE_ICON": 22, - "GROUP_CHANGE_INVITE_LINK": 23, - "GROUP_CHANGE_DESCRIPTION": 24, - "GROUP_CHANGE_RESTRICT": 25, - "GROUP_CHANGE_ANNOUNCE": 26, - "GROUP_PARTICIPANT_ADD": 27, - "GROUP_PARTICIPANT_REMOVE": 28, - "GROUP_PARTICIPANT_PROMOTE": 29, - "GROUP_PARTICIPANT_DEMOTE": 30, - "GROUP_PARTICIPANT_INVITE": 31, - "GROUP_PARTICIPANT_LEAVE": 32, - "GROUP_PARTICIPANT_CHANGE_NUMBER": 33, - "BROADCAST_CREATE": 34, - "BROADCAST_ADD": 35, - "BROADCAST_REMOVE": 36, - "GENERIC_NOTIFICATION": 37, - "E2E_IDENTITY_CHANGED": 38, - "E2E_ENCRYPTED": 39, - "CALL_MISSED_VOICE": 40, - "CALL_MISSED_VIDEO": 41, - "INDIVIDUAL_CHANGE_NUMBER": 42, - "GROUP_DELETE": 43, - "GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE": 44, - "CALL_MISSED_GROUP_VOICE": 45, - "CALL_MISSED_GROUP_VIDEO": 46, - "PAYMENT_CIPHERTEXT": 47, - "PAYMENT_FUTUREPROOF": 48, - "PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED": 49, - "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED": 50, - "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED": 51, - "PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP": 52, - "PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP": 53, - "PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER": 54, - "PAYMENT_ACTION_SEND_PAYMENT_REMINDER": 55, - "PAYMENT_ACTION_SEND_PAYMENT_INVITATION": 56, - "PAYMENT_ACTION_REQUEST_DECLINED": 57, - "PAYMENT_ACTION_REQUEST_EXPIRED": 58, - "PAYMENT_ACTION_REQUEST_CANCELLED": 59, - "BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM": 60, - "BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP": 61, - "BIZ_INTRO_TOP": 62, - "BIZ_INTRO_BOTTOM": 63, - "BIZ_NAME_CHANGE": 64, - "BIZ_MOVE_TO_CONSUMER_APP": 65, - "BIZ_TWO_TIER_MIGRATION_TOP": 66, - "BIZ_TWO_TIER_MIGRATION_BOTTOM": 67, - "OVERSIZED": 68, - "GROUP_CHANGE_NO_FREQUENTLY_FORWARDED": 69, - "GROUP_V4_ADD_INVITE_SENT": 70, - "GROUP_PARTICIPANT_ADD_REQUEST_JOIN": 71, - "CHANGE_EPHEMERAL_SETTING": 72, - "E2E_DEVICE_CHANGED": 73, - "VIEWED_ONCE": 74, - "E2E_ENCRYPTED_NOW": 75, - "BLUE_MSG_BSP_FB_TO_BSP_PREMISE": 76, - "BLUE_MSG_BSP_FB_TO_SELF_FB": 77, - "BLUE_MSG_BSP_FB_TO_SELF_PREMISE": 78, - "BLUE_MSG_BSP_FB_UNVERIFIED": 79, - "BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED": 80, - "BLUE_MSG_BSP_FB_VERIFIED": 81, - "BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED": 82, - "BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE": 83, - "BLUE_MSG_BSP_PREMISE_UNVERIFIED": 84, - "BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED": 85, - "BLUE_MSG_BSP_PREMISE_VERIFIED": 86, - "BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED": 87, - "BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED": 88, - "BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED": 89, - "BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED": 90, - "BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED": 91, - "BLUE_MSG_SELF_FB_TO_BSP_PREMISE": 92, - "BLUE_MSG_SELF_FB_TO_SELF_PREMISE": 93, - "BLUE_MSG_SELF_FB_UNVERIFIED": 94, - "BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED": 95, - "BLUE_MSG_SELF_FB_VERIFIED": 96, - "BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED": 97, - "BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE": 98, - "BLUE_MSG_SELF_PREMISE_UNVERIFIED": 99, - "BLUE_MSG_SELF_PREMISE_VERIFIED": 100, - "BLUE_MSG_TO_BSP_FB": 101, - "BLUE_MSG_TO_CONSUMER": 102, - "BLUE_MSG_TO_SELF_FB": 103, - "BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED": 104, - "BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED": 105, - "BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED": 106, - "BLUE_MSG_UNVERIFIED_TO_VERIFIED": 107, - "BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED": 108, - "BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED": 109, - "BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED": 110, - "BLUE_MSG_VERIFIED_TO_UNVERIFIED": 111, - "BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED": 112, - "BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED": 113, - "BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED": 114, - "BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED": 115, - "BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED": 116, - "BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED": 117, - "E2E_IDENTITY_UNAVAILABLE": 118, - "GROUP_CREATING": 119, - "GROUP_CREATE_FAILED": 120, - "GROUP_BOUNCED": 121, - "BLOCK_CONTACT": 122, - "EPHEMERAL_SETTING_NOT_APPLIED": 123, - "SYNC_FAILED": 124, - "SYNCING": 125, - "BIZ_PRIVACY_MODE_INIT_FB": 126, - "BIZ_PRIVACY_MODE_INIT_BSP": 127, - "BIZ_PRIVACY_MODE_TO_FB": 128, - "BIZ_PRIVACY_MODE_TO_BSP": 129, - "DISAPPEARING_MODE": 130, - "E2E_DEVICE_FETCH_FAILED": 131, - "ADMIN_REVOKE": 132, - "GROUP_INVITE_LINK_GROWTH_LOCKED": 133, - "COMMUNITY_LINK_PARENT_GROUP": 134, - "COMMUNITY_LINK_SIBLING_GROUP": 135, - "COMMUNITY_LINK_SUB_GROUP": 136, - "COMMUNITY_UNLINK_PARENT_GROUP": 137, - "COMMUNITY_UNLINK_SIBLING_GROUP": 138, - "COMMUNITY_UNLINK_SUB_GROUP": 139, - "GROUP_PARTICIPANT_ACCEPT": 140, - "GROUP_PARTICIPANT_LINKED_GROUP_JOIN": 141, - "COMMUNITY_CREATE": 142, - "EPHEMERAL_KEEP_IN_CHAT": 143, - "GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST": 144, - "GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE": 145, - "INTEGRITY_UNLINK_PARENT_GROUP": 146, - "COMMUNITY_PARTICIPANT_PROMOTE": 147, - "COMMUNITY_PARTICIPANT_DEMOTE": 148, - "COMMUNITY_PARENT_GROUP_DELETED": 149, - "COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL": 150, - "GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP": 151, - "MASKED_THREAD_CREATED": 152, - "MASKED_THREAD_UNMASKED": 153, - "BIZ_CHAT_ASSIGNMENT": 154, - "CHAT_PSA": 155, - "CHAT_POLL_CREATION_MESSAGE": 156, - "CAG_MASKED_THREAD_CREATED": 157, - "COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED": 158, - "CAG_INVITE_AUTO_ADD": 159, - "BIZ_CHAT_ASSIGNMENT_UNASSIGN": 160, - "CAG_INVITE_AUTO_JOINED": 161, - "SCHEDULED_CALL_START_MESSAGE": 162, - "COMMUNITY_INVITE_RICH": 163, - "COMMUNITY_INVITE_AUTO_ADD_RICH": 164, - "SUB_GROUP_INVITE_RICH": 165, - "SUB_GROUP_PARTICIPANT_ADD_RICH": 166, - "COMMUNITY_LINK_PARENT_GROUP_RICH": 167, - "COMMUNITY_PARTICIPANT_ADD_RICH": 168, - "SILENCED_UNKNOWN_CALLER_AUDIO": 169, - "SILENCED_UNKNOWN_CALLER_VIDEO": 170, - "GROUP_MEMBER_ADD_MODE": 171, - "GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD": 172, - "COMMUNITY_CHANGE_DESCRIPTION": 173, - "SENDER_INVITE": 174, - "RECEIVER_INVITE": 175, - "COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS": 176, - "PINNED_MESSAGE_IN_CHAT": 177, - "PAYMENT_INVITE_SETUP_INVITER": 178, - "PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY": 179, - "PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE": 180, - "LINKED_GROUP_CALL_START": 181, - "REPORT_TO_ADMIN_ENABLED_STATUS": 182, - "EMPTY_SUBGROUP_CREATE": 183, - "SCHEDULED_CALL_CANCEL": 184, - "SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH": 185, - "GROUP_CHANGE_RECENT_HISTORY_SHARING": 186, - "PAID_MESSAGE_SERVER_CAMPAIGN_ID": 187, - "GENERAL_CHAT_CREATE": 188, - "GENERAL_CHAT_ADD": 189, - "GENERAL_CHAT_AUTO_ADD_DISABLED": 190, - "SUGGESTED_SUBGROUP_ANNOUNCE": 191, - "BIZ_BOT_1P_MESSAGING_ENABLED": 192, - "CHANGE_USERNAME": 193, - "BIZ_COEX_PRIVACY_INIT_SELF": 194, - "BIZ_COEX_PRIVACY_TRANSITION_SELF": 195, - "SUPPORT_AI_EDUCATION": 196, - "BIZ_BOT_3P_MESSAGING_ENABLED": 197, - "REMINDER_SETUP_MESSAGE": 198, - "REMINDER_SENT_MESSAGE": 199, - "REMINDER_CANCEL_MESSAGE": 200, - } -) - -func (x WebMessageInfo_StubType) Enum() *WebMessageInfo_StubType { - p := new(WebMessageInfo_StubType) - *p = x - return p -} - -func (x WebMessageInfo_StubType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WebMessageInfo_StubType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[72].Descriptor() -} - -func (WebMessageInfo_StubType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[72] -} - -func (x WebMessageInfo_StubType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *WebMessageInfo_StubType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = WebMessageInfo_StubType(num) - return nil -} - -// Deprecated: Use WebMessageInfo_StubType.Descriptor instead. -func (WebMessageInfo_StubType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{183, 0} -} - -type WebMessageInfo_Status int32 - -const ( - WebMessageInfo_ERROR WebMessageInfo_Status = 0 - WebMessageInfo_PENDING WebMessageInfo_Status = 1 - WebMessageInfo_SERVER_ACK WebMessageInfo_Status = 2 - WebMessageInfo_DELIVERY_ACK WebMessageInfo_Status = 3 - WebMessageInfo_READ WebMessageInfo_Status = 4 - WebMessageInfo_PLAYED WebMessageInfo_Status = 5 -) - -// Enum value maps for WebMessageInfo_Status. -var ( - WebMessageInfo_Status_name = map[int32]string{ - 0: "ERROR", - 1: "PENDING", - 2: "SERVER_ACK", - 3: "DELIVERY_ACK", - 4: "READ", - 5: "PLAYED", - } - WebMessageInfo_Status_value = map[string]int32{ - "ERROR": 0, - "PENDING": 1, - "SERVER_ACK": 2, - "DELIVERY_ACK": 3, - "READ": 4, - "PLAYED": 5, - } -) - -func (x WebMessageInfo_Status) Enum() *WebMessageInfo_Status { - p := new(WebMessageInfo_Status) - *p = x - return p -} - -func (x WebMessageInfo_Status) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WebMessageInfo_Status) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[73].Descriptor() -} - -func (WebMessageInfo_Status) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[73] -} - -func (x WebMessageInfo_Status) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *WebMessageInfo_Status) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = WebMessageInfo_Status(num) - return nil -} - -// Deprecated: Use WebMessageInfo_Status.Descriptor instead. -func (WebMessageInfo_Status) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{183, 1} -} - -type WebMessageInfo_BizPrivacyStatus int32 - -const ( - WebMessageInfo_E2EE WebMessageInfo_BizPrivacyStatus = 0 - WebMessageInfo_FB WebMessageInfo_BizPrivacyStatus = 2 - WebMessageInfo_BSP WebMessageInfo_BizPrivacyStatus = 1 - WebMessageInfo_BSP_AND_FB WebMessageInfo_BizPrivacyStatus = 3 -) - -// Enum value maps for WebMessageInfo_BizPrivacyStatus. -var ( - WebMessageInfo_BizPrivacyStatus_name = map[int32]string{ - 0: "E2EE", - 2: "FB", - 1: "BSP", - 3: "BSP_AND_FB", - } - WebMessageInfo_BizPrivacyStatus_value = map[string]int32{ - "E2EE": 0, - "FB": 2, - "BSP": 1, - "BSP_AND_FB": 3, - } -) - -func (x WebMessageInfo_BizPrivacyStatus) Enum() *WebMessageInfo_BizPrivacyStatus { - p := new(WebMessageInfo_BizPrivacyStatus) - *p = x - return p -} - -func (x WebMessageInfo_BizPrivacyStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WebMessageInfo_BizPrivacyStatus) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[74].Descriptor() -} - -func (WebMessageInfo_BizPrivacyStatus) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[74] -} - -func (x WebMessageInfo_BizPrivacyStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *WebMessageInfo_BizPrivacyStatus) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = WebMessageInfo_BizPrivacyStatus(num) - return nil -} - -// Deprecated: Use WebMessageInfo_BizPrivacyStatus.Descriptor instead. -func (WebMessageInfo_BizPrivacyStatus) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{183, 2} -} - -type WebFeatures_Flag int32 - -const ( - WebFeatures_NOT_STARTED WebFeatures_Flag = 0 - WebFeatures_FORCE_UPGRADE WebFeatures_Flag = 1 - WebFeatures_DEVELOPMENT WebFeatures_Flag = 2 - WebFeatures_PRODUCTION WebFeatures_Flag = 3 -) - -// Enum value maps for WebFeatures_Flag. -var ( - WebFeatures_Flag_name = map[int32]string{ - 0: "NOT_STARTED", - 1: "FORCE_UPGRADE", - 2: "DEVELOPMENT", - 3: "PRODUCTION", - } - WebFeatures_Flag_value = map[string]int32{ - "NOT_STARTED": 0, - "FORCE_UPGRADE": 1, - "DEVELOPMENT": 2, - "PRODUCTION": 3, - } -) - -func (x WebFeatures_Flag) Enum() *WebFeatures_Flag { - p := new(WebFeatures_Flag) - *p = x - return p -} - -func (x WebFeatures_Flag) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WebFeatures_Flag) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[75].Descriptor() -} - -func (WebFeatures_Flag) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[75] -} - -func (x WebFeatures_Flag) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *WebFeatures_Flag) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = WebFeatures_Flag(num) - return nil -} - -// Deprecated: Use WebFeatures_Flag.Descriptor instead. -func (WebFeatures_Flag) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{184, 0} -} - -type PinInChat_Type int32 - -const ( - PinInChat_UNKNOWN_TYPE PinInChat_Type = 0 - PinInChat_PIN_FOR_ALL PinInChat_Type = 1 - PinInChat_UNPIN_FOR_ALL PinInChat_Type = 2 -) - -// Enum value maps for PinInChat_Type. -var ( - PinInChat_Type_name = map[int32]string{ - 0: "UNKNOWN_TYPE", - 1: "PIN_FOR_ALL", - 2: "UNPIN_FOR_ALL", - } - PinInChat_Type_value = map[string]int32{ - "UNKNOWN_TYPE": 0, - "PIN_FOR_ALL": 1, - "UNPIN_FOR_ALL": 2, - } -) - -func (x PinInChat_Type) Enum() *PinInChat_Type { - p := new(PinInChat_Type) - *p = x - return p -} - -func (x PinInChat_Type) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PinInChat_Type) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[76].Descriptor() -} - -func (PinInChat_Type) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[76] -} - -func (x PinInChat_Type) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *PinInChat_Type) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = PinInChat_Type(num) - return nil -} - -// Deprecated: Use PinInChat_Type.Descriptor instead. -func (PinInChat_Type) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{192, 0} -} - -type PaymentInfo_TxnStatus int32 - -const ( - PaymentInfo_UNKNOWN PaymentInfo_TxnStatus = 0 - PaymentInfo_PENDING_SETUP PaymentInfo_TxnStatus = 1 - PaymentInfo_PENDING_RECEIVER_SETUP PaymentInfo_TxnStatus = 2 - PaymentInfo_INIT PaymentInfo_TxnStatus = 3 - PaymentInfo_SUCCESS PaymentInfo_TxnStatus = 4 - PaymentInfo_COMPLETED PaymentInfo_TxnStatus = 5 - PaymentInfo_FAILED PaymentInfo_TxnStatus = 6 - PaymentInfo_FAILED_RISK PaymentInfo_TxnStatus = 7 - PaymentInfo_FAILED_PROCESSING PaymentInfo_TxnStatus = 8 - PaymentInfo_FAILED_RECEIVER_PROCESSING PaymentInfo_TxnStatus = 9 - PaymentInfo_FAILED_DA PaymentInfo_TxnStatus = 10 - PaymentInfo_FAILED_DA_FINAL PaymentInfo_TxnStatus = 11 - PaymentInfo_REFUNDED_TXN PaymentInfo_TxnStatus = 12 - PaymentInfo_REFUND_FAILED PaymentInfo_TxnStatus = 13 - PaymentInfo_REFUND_FAILED_PROCESSING PaymentInfo_TxnStatus = 14 - PaymentInfo_REFUND_FAILED_DA PaymentInfo_TxnStatus = 15 - PaymentInfo_EXPIRED_TXN PaymentInfo_TxnStatus = 16 - PaymentInfo_AUTH_CANCELED PaymentInfo_TxnStatus = 17 - PaymentInfo_AUTH_CANCEL_FAILED_PROCESSING PaymentInfo_TxnStatus = 18 - PaymentInfo_AUTH_CANCEL_FAILED PaymentInfo_TxnStatus = 19 - PaymentInfo_COLLECT_INIT PaymentInfo_TxnStatus = 20 - PaymentInfo_COLLECT_SUCCESS PaymentInfo_TxnStatus = 21 - PaymentInfo_COLLECT_FAILED PaymentInfo_TxnStatus = 22 - PaymentInfo_COLLECT_FAILED_RISK PaymentInfo_TxnStatus = 23 - PaymentInfo_COLLECT_REJECTED PaymentInfo_TxnStatus = 24 - PaymentInfo_COLLECT_EXPIRED PaymentInfo_TxnStatus = 25 - PaymentInfo_COLLECT_CANCELED PaymentInfo_TxnStatus = 26 - PaymentInfo_COLLECT_CANCELLING PaymentInfo_TxnStatus = 27 - PaymentInfo_IN_REVIEW PaymentInfo_TxnStatus = 28 - PaymentInfo_REVERSAL_SUCCESS PaymentInfo_TxnStatus = 29 - PaymentInfo_REVERSAL_PENDING PaymentInfo_TxnStatus = 30 - PaymentInfo_REFUND_PENDING PaymentInfo_TxnStatus = 31 -) - -// Enum value maps for PaymentInfo_TxnStatus. -var ( - PaymentInfo_TxnStatus_name = map[int32]string{ - 0: "UNKNOWN", - 1: "PENDING_SETUP", - 2: "PENDING_RECEIVER_SETUP", - 3: "INIT", - 4: "SUCCESS", - 5: "COMPLETED", - 6: "FAILED", - 7: "FAILED_RISK", - 8: "FAILED_PROCESSING", - 9: "FAILED_RECEIVER_PROCESSING", - 10: "FAILED_DA", - 11: "FAILED_DA_FINAL", - 12: "REFUNDED_TXN", - 13: "REFUND_FAILED", - 14: "REFUND_FAILED_PROCESSING", - 15: "REFUND_FAILED_DA", - 16: "EXPIRED_TXN", - 17: "AUTH_CANCELED", - 18: "AUTH_CANCEL_FAILED_PROCESSING", - 19: "AUTH_CANCEL_FAILED", - 20: "COLLECT_INIT", - 21: "COLLECT_SUCCESS", - 22: "COLLECT_FAILED", - 23: "COLLECT_FAILED_RISK", - 24: "COLLECT_REJECTED", - 25: "COLLECT_EXPIRED", - 26: "COLLECT_CANCELED", - 27: "COLLECT_CANCELLING", - 28: "IN_REVIEW", - 29: "REVERSAL_SUCCESS", - 30: "REVERSAL_PENDING", - 31: "REFUND_PENDING", - } - PaymentInfo_TxnStatus_value = map[string]int32{ - "UNKNOWN": 0, - "PENDING_SETUP": 1, - "PENDING_RECEIVER_SETUP": 2, - "INIT": 3, - "SUCCESS": 4, - "COMPLETED": 5, - "FAILED": 6, - "FAILED_RISK": 7, - "FAILED_PROCESSING": 8, - "FAILED_RECEIVER_PROCESSING": 9, - "FAILED_DA": 10, - "FAILED_DA_FINAL": 11, - "REFUNDED_TXN": 12, - "REFUND_FAILED": 13, - "REFUND_FAILED_PROCESSING": 14, - "REFUND_FAILED_DA": 15, - "EXPIRED_TXN": 16, - "AUTH_CANCELED": 17, - "AUTH_CANCEL_FAILED_PROCESSING": 18, - "AUTH_CANCEL_FAILED": 19, - "COLLECT_INIT": 20, - "COLLECT_SUCCESS": 21, - "COLLECT_FAILED": 22, - "COLLECT_FAILED_RISK": 23, - "COLLECT_REJECTED": 24, - "COLLECT_EXPIRED": 25, - "COLLECT_CANCELED": 26, - "COLLECT_CANCELLING": 27, - "IN_REVIEW": 28, - "REVERSAL_SUCCESS": 29, - "REVERSAL_PENDING": 30, - "REFUND_PENDING": 31, - } -) - -func (x PaymentInfo_TxnStatus) Enum() *PaymentInfo_TxnStatus { - p := new(PaymentInfo_TxnStatus) - *p = x - return p -} - -func (x PaymentInfo_TxnStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PaymentInfo_TxnStatus) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[77].Descriptor() -} - -func (PaymentInfo_TxnStatus) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[77] -} - -func (x PaymentInfo_TxnStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *PaymentInfo_TxnStatus) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = PaymentInfo_TxnStatus(num) - return nil -} - -// Deprecated: Use PaymentInfo_TxnStatus.Descriptor instead. -func (PaymentInfo_TxnStatus) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{194, 0} -} - -type PaymentInfo_Status int32 - -const ( - PaymentInfo_UNKNOWN_STATUS PaymentInfo_Status = 0 - PaymentInfo_PROCESSING PaymentInfo_Status = 1 - PaymentInfo_SENT PaymentInfo_Status = 2 - PaymentInfo_NEED_TO_ACCEPT PaymentInfo_Status = 3 - PaymentInfo_COMPLETE PaymentInfo_Status = 4 - PaymentInfo_COULD_NOT_COMPLETE PaymentInfo_Status = 5 - PaymentInfo_REFUNDED PaymentInfo_Status = 6 - PaymentInfo_EXPIRED PaymentInfo_Status = 7 - PaymentInfo_REJECTED PaymentInfo_Status = 8 - PaymentInfo_CANCELLED PaymentInfo_Status = 9 - PaymentInfo_WAITING_FOR_PAYER PaymentInfo_Status = 10 - PaymentInfo_WAITING PaymentInfo_Status = 11 -) - -// Enum value maps for PaymentInfo_Status. -var ( - PaymentInfo_Status_name = map[int32]string{ - 0: "UNKNOWN_STATUS", - 1: "PROCESSING", - 2: "SENT", - 3: "NEED_TO_ACCEPT", - 4: "COMPLETE", - 5: "COULD_NOT_COMPLETE", - 6: "REFUNDED", - 7: "EXPIRED", - 8: "REJECTED", - 9: "CANCELLED", - 10: "WAITING_FOR_PAYER", - 11: "WAITING", - } - PaymentInfo_Status_value = map[string]int32{ - "UNKNOWN_STATUS": 0, - "PROCESSING": 1, - "SENT": 2, - "NEED_TO_ACCEPT": 3, - "COMPLETE": 4, - "COULD_NOT_COMPLETE": 5, - "REFUNDED": 6, - "EXPIRED": 7, - "REJECTED": 8, - "CANCELLED": 9, - "WAITING_FOR_PAYER": 10, - "WAITING": 11, - } -) - -func (x PaymentInfo_Status) Enum() *PaymentInfo_Status { - p := new(PaymentInfo_Status) - *p = x - return p -} - -func (x PaymentInfo_Status) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PaymentInfo_Status) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[78].Descriptor() -} - -func (PaymentInfo_Status) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[78] -} - -func (x PaymentInfo_Status) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *PaymentInfo_Status) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = PaymentInfo_Status(num) - return nil -} - -// Deprecated: Use PaymentInfo_Status.Descriptor instead. -func (PaymentInfo_Status) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{194, 1} -} - -type PaymentInfo_Currency int32 - -const ( - PaymentInfo_UNKNOWN_CURRENCY PaymentInfo_Currency = 0 - PaymentInfo_INR PaymentInfo_Currency = 1 -) - -// Enum value maps for PaymentInfo_Currency. -var ( - PaymentInfo_Currency_name = map[int32]string{ - 0: "UNKNOWN_CURRENCY", - 1: "INR", - } - PaymentInfo_Currency_value = map[string]int32{ - "UNKNOWN_CURRENCY": 0, - "INR": 1, - } -) - -func (x PaymentInfo_Currency) Enum() *PaymentInfo_Currency { - p := new(PaymentInfo_Currency) - *p = x - return p -} - -func (x PaymentInfo_Currency) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PaymentInfo_Currency) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[79].Descriptor() -} - -func (PaymentInfo_Currency) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[79] -} - -func (x PaymentInfo_Currency) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *PaymentInfo_Currency) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = PaymentInfo_Currency(num) - return nil -} - -// Deprecated: Use PaymentInfo_Currency.Descriptor instead. -func (PaymentInfo_Currency) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{194, 2} -} - -type QP_FilterResult int32 - -const ( - QP_TRUE QP_FilterResult = 1 - QP_FALSE QP_FilterResult = 2 - QP_UNKNOWN QP_FilterResult = 3 -) - -// Enum value maps for QP_FilterResult. -var ( - QP_FilterResult_name = map[int32]string{ - 1: "TRUE", - 2: "FALSE", - 3: "UNKNOWN", - } - QP_FilterResult_value = map[string]int32{ - "TRUE": 1, - "FALSE": 2, - "UNKNOWN": 3, - } -) - -func (x QP_FilterResult) Enum() *QP_FilterResult { - p := new(QP_FilterResult) - *p = x - return p -} - -func (x QP_FilterResult) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (QP_FilterResult) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[80].Descriptor() -} - -func (QP_FilterResult) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[80] -} - -func (x QP_FilterResult) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *QP_FilterResult) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = QP_FilterResult(num) - return nil -} - -// Deprecated: Use QP_FilterResult.Descriptor instead. -func (QP_FilterResult) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{203, 0} -} - -type QP_FilterClientNotSupportedConfig int32 - -const ( - QP_PASS_BY_DEFAULT QP_FilterClientNotSupportedConfig = 1 - QP_FAIL_BY_DEFAULT QP_FilterClientNotSupportedConfig = 2 -) - -// Enum value maps for QP_FilterClientNotSupportedConfig. -var ( - QP_FilterClientNotSupportedConfig_name = map[int32]string{ - 1: "PASS_BY_DEFAULT", - 2: "FAIL_BY_DEFAULT", - } - QP_FilterClientNotSupportedConfig_value = map[string]int32{ - "PASS_BY_DEFAULT": 1, - "FAIL_BY_DEFAULT": 2, - } -) - -func (x QP_FilterClientNotSupportedConfig) Enum() *QP_FilterClientNotSupportedConfig { - p := new(QP_FilterClientNotSupportedConfig) - *p = x - return p -} - -func (x QP_FilterClientNotSupportedConfig) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (QP_FilterClientNotSupportedConfig) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[81].Descriptor() -} - -func (QP_FilterClientNotSupportedConfig) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[81] -} - -func (x QP_FilterClientNotSupportedConfig) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *QP_FilterClientNotSupportedConfig) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = QP_FilterClientNotSupportedConfig(num) - return nil -} - -// Deprecated: Use QP_FilterClientNotSupportedConfig.Descriptor instead. -func (QP_FilterClientNotSupportedConfig) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{203, 1} -} - -type QP_ClauseType int32 - -const ( - QP_AND QP_ClauseType = 1 - QP_OR QP_ClauseType = 2 - QP_NOR QP_ClauseType = 3 -) - -// Enum value maps for QP_ClauseType. -var ( - QP_ClauseType_name = map[int32]string{ - 1: "AND", - 2: "OR", - 3: "NOR", - } - QP_ClauseType_value = map[string]int32{ - "AND": 1, - "OR": 2, - "NOR": 3, - } -) - -func (x QP_ClauseType) Enum() *QP_ClauseType { - p := new(QP_ClauseType) - *p = x - return p -} - -func (x QP_ClauseType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (QP_ClauseType) Descriptor() protoreflect.EnumDescriptor { - return file_def_proto_enumTypes[82].Descriptor() -} - -func (QP_ClauseType) Type() protoreflect.EnumType { - return &file_def_proto_enumTypes[82] -} - -func (x QP_ClauseType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *QP_ClauseType) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = QP_ClauseType(num) - return nil -} - -// Deprecated: Use QP_ClauseType.Descriptor instead. -func (QP_ClauseType) EnumDescriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{203, 2} -} - -type ADVSignedKeyIndexList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Details []byte `protobuf:"bytes,1,opt,name=details" json:"details,omitempty"` - AccountSignature []byte `protobuf:"bytes,2,opt,name=accountSignature" json:"accountSignature,omitempty"` - AccountSignatureKey []byte `protobuf:"bytes,3,opt,name=accountSignatureKey" json:"accountSignatureKey,omitempty"` -} - -func (x *ADVSignedKeyIndexList) Reset() { - *x = ADVSignedKeyIndexList{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ADVSignedKeyIndexList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ADVSignedKeyIndexList) ProtoMessage() {} - -func (x *ADVSignedKeyIndexList) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ADVSignedKeyIndexList.ProtoReflect.Descriptor instead. -func (*ADVSignedKeyIndexList) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{0} -} - -func (x *ADVSignedKeyIndexList) GetDetails() []byte { - if x != nil { - return x.Details - } - return nil -} - -func (x *ADVSignedKeyIndexList) GetAccountSignature() []byte { - if x != nil { - return x.AccountSignature - } - return nil -} - -func (x *ADVSignedKeyIndexList) GetAccountSignatureKey() []byte { - if x != nil { - return x.AccountSignatureKey - } - return nil -} - -type ADVSignedDeviceIdentity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Details []byte `protobuf:"bytes,1,opt,name=details" json:"details,omitempty"` - AccountSignatureKey []byte `protobuf:"bytes,2,opt,name=accountSignatureKey" json:"accountSignatureKey,omitempty"` - AccountSignature []byte `protobuf:"bytes,3,opt,name=accountSignature" json:"accountSignature,omitempty"` - DeviceSignature []byte `protobuf:"bytes,4,opt,name=deviceSignature" json:"deviceSignature,omitempty"` -} - -func (x *ADVSignedDeviceIdentity) Reset() { - *x = ADVSignedDeviceIdentity{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ADVSignedDeviceIdentity) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ADVSignedDeviceIdentity) ProtoMessage() {} - -func (x *ADVSignedDeviceIdentity) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ADVSignedDeviceIdentity.ProtoReflect.Descriptor instead. -func (*ADVSignedDeviceIdentity) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{1} -} - -func (x *ADVSignedDeviceIdentity) GetDetails() []byte { - if x != nil { - return x.Details - } - return nil -} - -func (x *ADVSignedDeviceIdentity) GetAccountSignatureKey() []byte { - if x != nil { - return x.AccountSignatureKey - } - return nil -} - -func (x *ADVSignedDeviceIdentity) GetAccountSignature() []byte { - if x != nil { - return x.AccountSignature - } - return nil -} - -func (x *ADVSignedDeviceIdentity) GetDeviceSignature() []byte { - if x != nil { - return x.DeviceSignature - } - return nil -} - -type ADVSignedDeviceIdentityHMAC struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Details []byte `protobuf:"bytes,1,opt,name=details" json:"details,omitempty"` - Hmac []byte `protobuf:"bytes,2,opt,name=hmac" json:"hmac,omitempty"` - AccountType *ADVEncryptionType `protobuf:"varint,3,opt,name=accountType,enum=defproto.ADVEncryptionType" json:"accountType,omitempty"` -} - -func (x *ADVSignedDeviceIdentityHMAC) Reset() { - *x = ADVSignedDeviceIdentityHMAC{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ADVSignedDeviceIdentityHMAC) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ADVSignedDeviceIdentityHMAC) ProtoMessage() {} - -func (x *ADVSignedDeviceIdentityHMAC) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ADVSignedDeviceIdentityHMAC.ProtoReflect.Descriptor instead. -func (*ADVSignedDeviceIdentityHMAC) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{2} -} - -func (x *ADVSignedDeviceIdentityHMAC) GetDetails() []byte { - if x != nil { - return x.Details - } - return nil -} - -func (x *ADVSignedDeviceIdentityHMAC) GetHmac() []byte { - if x != nil { - return x.Hmac - } - return nil -} - -func (x *ADVSignedDeviceIdentityHMAC) GetAccountType() ADVEncryptionType { - if x != nil && x.AccountType != nil { - return *x.AccountType - } - return ADVEncryptionType_E2EE -} - -type ADVKeyIndexList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RawId *uint32 `protobuf:"varint,1,opt,name=rawId" json:"rawId,omitempty"` - Timestamp *uint64 `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"` - CurrentIndex *uint32 `protobuf:"varint,3,opt,name=currentIndex" json:"currentIndex,omitempty"` - ValidIndexes []uint32 `protobuf:"varint,4,rep,packed,name=validIndexes" json:"validIndexes,omitempty"` - AccountType *ADVEncryptionType `protobuf:"varint,5,opt,name=accountType,enum=defproto.ADVEncryptionType" json:"accountType,omitempty"` -} - -func (x *ADVKeyIndexList) Reset() { - *x = ADVKeyIndexList{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ADVKeyIndexList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ADVKeyIndexList) ProtoMessage() {} - -func (x *ADVKeyIndexList) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ADVKeyIndexList.ProtoReflect.Descriptor instead. -func (*ADVKeyIndexList) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{3} -} - -func (x *ADVKeyIndexList) GetRawId() uint32 { - if x != nil && x.RawId != nil { - return *x.RawId - } - return 0 -} - -func (x *ADVKeyIndexList) GetTimestamp() uint64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -func (x *ADVKeyIndexList) GetCurrentIndex() uint32 { - if x != nil && x.CurrentIndex != nil { - return *x.CurrentIndex - } - return 0 -} - -func (x *ADVKeyIndexList) GetValidIndexes() []uint32 { - if x != nil { - return x.ValidIndexes - } - return nil -} - -func (x *ADVKeyIndexList) GetAccountType() ADVEncryptionType { - if x != nil && x.AccountType != nil { - return *x.AccountType - } - return ADVEncryptionType_E2EE -} - -type ADVDeviceIdentity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RawId *uint32 `protobuf:"varint,1,opt,name=rawId" json:"rawId,omitempty"` - Timestamp *uint64 `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"` - KeyIndex *uint32 `protobuf:"varint,3,opt,name=keyIndex" json:"keyIndex,omitempty"` - AccountType *ADVEncryptionType `protobuf:"varint,4,opt,name=accountType,enum=defproto.ADVEncryptionType" json:"accountType,omitempty"` - DeviceType *ADVEncryptionType `protobuf:"varint,5,opt,name=deviceType,enum=defproto.ADVEncryptionType" json:"deviceType,omitempty"` -} - -func (x *ADVDeviceIdentity) Reset() { - *x = ADVDeviceIdentity{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ADVDeviceIdentity) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ADVDeviceIdentity) ProtoMessage() {} - -func (x *ADVDeviceIdentity) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ADVDeviceIdentity.ProtoReflect.Descriptor instead. -func (*ADVDeviceIdentity) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{4} -} - -func (x *ADVDeviceIdentity) GetRawId() uint32 { - if x != nil && x.RawId != nil { - return *x.RawId - } - return 0 -} - -func (x *ADVDeviceIdentity) GetTimestamp() uint64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -func (x *ADVDeviceIdentity) GetKeyIndex() uint32 { - if x != nil && x.KeyIndex != nil { - return *x.KeyIndex - } - return 0 -} - -func (x *ADVDeviceIdentity) GetAccountType() ADVEncryptionType { - if x != nil && x.AccountType != nil { - return *x.AccountType - } - return ADVEncryptionType_E2EE -} - -func (x *ADVDeviceIdentity) GetDeviceType() ADVEncryptionType { - if x != nil && x.DeviceType != nil { - return *x.DeviceType - } - return ADVEncryptionType_E2EE -} - -type DeviceProps struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Os *string `protobuf:"bytes,1,opt,name=os" json:"os,omitempty"` - Version *DeviceProps_AppVersion `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"` - PlatformType *DeviceProps_PlatformType `protobuf:"varint,3,opt,name=platformType,enum=defproto.DeviceProps_PlatformType" json:"platformType,omitempty"` - RequireFullSync *bool `protobuf:"varint,4,opt,name=requireFullSync" json:"requireFullSync,omitempty"` - HistorySyncConfig *DeviceProps_HistorySyncConfig `protobuf:"bytes,5,opt,name=historySyncConfig" json:"historySyncConfig,omitempty"` -} - -func (x *DeviceProps) Reset() { - *x = DeviceProps{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeviceProps) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeviceProps) ProtoMessage() {} - -func (x *DeviceProps) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeviceProps.ProtoReflect.Descriptor instead. -func (*DeviceProps) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{5} -} - -func (x *DeviceProps) GetOs() string { - if x != nil && x.Os != nil { - return *x.Os - } - return "" -} - -func (x *DeviceProps) GetVersion() *DeviceProps_AppVersion { - if x != nil { - return x.Version - } - return nil -} - -func (x *DeviceProps) GetPlatformType() DeviceProps_PlatformType { - if x != nil && x.PlatformType != nil { - return *x.PlatformType - } - return DeviceProps_UNKNOWN -} - -func (x *DeviceProps) GetRequireFullSync() bool { - if x != nil && x.RequireFullSync != nil { - return *x.RequireFullSync - } - return false -} - -func (x *DeviceProps) GetHistorySyncConfig() *DeviceProps_HistorySyncConfig { - if x != nil { - return x.HistorySyncConfig - } - return nil -} - -type InteractiveMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Header *InteractiveMessage_Header `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"` - Body *InteractiveMessage_Body `protobuf:"bytes,2,opt,name=body" json:"body,omitempty"` - Footer *InteractiveMessage_Footer `protobuf:"bytes,3,opt,name=footer" json:"footer,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,15,opt,name=contextInfo" json:"contextInfo,omitempty"` - // Types that are assignable to InteractiveMessage: - // - // *InteractiveMessage_ShopStorefrontMessage - // *InteractiveMessage_CollectionMessage_ - // *InteractiveMessage_NativeFlowMessage_ - // *InteractiveMessage_CarouselMessage_ - InteractiveMessage isInteractiveMessage_InteractiveMessage `protobuf_oneof:"interactiveMessage"` -} - -func (x *InteractiveMessage) Reset() { - *x = InteractiveMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveMessage) ProtoMessage() {} - -func (x *InteractiveMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveMessage.ProtoReflect.Descriptor instead. -func (*InteractiveMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{6} -} - -func (x *InteractiveMessage) GetHeader() *InteractiveMessage_Header { - if x != nil { - return x.Header - } - return nil -} - -func (x *InteractiveMessage) GetBody() *InteractiveMessage_Body { - if x != nil { - return x.Body - } - return nil -} - -func (x *InteractiveMessage) GetFooter() *InteractiveMessage_Footer { - if x != nil { - return x.Footer - } - return nil -} - -func (x *InteractiveMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (m *InteractiveMessage) GetInteractiveMessage() isInteractiveMessage_InteractiveMessage { - if m != nil { - return m.InteractiveMessage - } - return nil -} - -func (x *InteractiveMessage) GetShopStorefrontMessage() *InteractiveMessage_ShopMessage { - if x, ok := x.GetInteractiveMessage().(*InteractiveMessage_ShopStorefrontMessage); ok { - return x.ShopStorefrontMessage - } - return nil -} - -func (x *InteractiveMessage) GetCollectionMessage() *InteractiveMessage_CollectionMessage { - if x, ok := x.GetInteractiveMessage().(*InteractiveMessage_CollectionMessage_); ok { - return x.CollectionMessage - } - return nil -} - -func (x *InteractiveMessage) GetNativeFlowMessage() *InteractiveMessage_NativeFlowMessage { - if x, ok := x.GetInteractiveMessage().(*InteractiveMessage_NativeFlowMessage_); ok { - return x.NativeFlowMessage - } - return nil -} - -func (x *InteractiveMessage) GetCarouselMessage() *InteractiveMessage_CarouselMessage { - if x, ok := x.GetInteractiveMessage().(*InteractiveMessage_CarouselMessage_); ok { - return x.CarouselMessage - } - return nil -} - -type isInteractiveMessage_InteractiveMessage interface { - isInteractiveMessage_InteractiveMessage() -} - -type InteractiveMessage_ShopStorefrontMessage struct { - ShopStorefrontMessage *InteractiveMessage_ShopMessage `protobuf:"bytes,4,opt,name=shopStorefrontMessage,oneof"` -} - -type InteractiveMessage_CollectionMessage_ struct { - CollectionMessage *InteractiveMessage_CollectionMessage `protobuf:"bytes,5,opt,name=collectionMessage,oneof"` -} - -type InteractiveMessage_NativeFlowMessage_ struct { - NativeFlowMessage *InteractiveMessage_NativeFlowMessage `protobuf:"bytes,6,opt,name=nativeFlowMessage,oneof"` -} - -type InteractiveMessage_CarouselMessage_ struct { - CarouselMessage *InteractiveMessage_CarouselMessage `protobuf:"bytes,7,opt,name=carouselMessage,oneof"` -} - -func (*InteractiveMessage_ShopStorefrontMessage) isInteractiveMessage_InteractiveMessage() {} - -func (*InteractiveMessage_CollectionMessage_) isInteractiveMessage_InteractiveMessage() {} - -func (*InteractiveMessage_NativeFlowMessage_) isInteractiveMessage_InteractiveMessage() {} - -func (*InteractiveMessage_CarouselMessage_) isInteractiveMessage_InteractiveMessage() {} - -type InitialSecurityNotificationSettingSync struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SecurityNotificationEnabled *bool `protobuf:"varint,1,opt,name=securityNotificationEnabled" json:"securityNotificationEnabled,omitempty"` -} - -func (x *InitialSecurityNotificationSettingSync) Reset() { - *x = InitialSecurityNotificationSettingSync{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InitialSecurityNotificationSettingSync) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InitialSecurityNotificationSettingSync) ProtoMessage() {} - -func (x *InitialSecurityNotificationSettingSync) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InitialSecurityNotificationSettingSync.ProtoReflect.Descriptor instead. -func (*InitialSecurityNotificationSettingSync) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{7} -} - -func (x *InitialSecurityNotificationSettingSync) GetSecurityNotificationEnabled() bool { - if x != nil && x.SecurityNotificationEnabled != nil { - return *x.SecurityNotificationEnabled - } - return false -} - -type ImageMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` - Mimetype *string `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"` - Caption *string `protobuf:"bytes,3,opt,name=caption" json:"caption,omitempty"` - FileSha256 []byte `protobuf:"bytes,4,opt,name=fileSha256" json:"fileSha256,omitempty"` - FileLength *uint64 `protobuf:"varint,5,opt,name=fileLength" json:"fileLength,omitempty"` - Height *uint32 `protobuf:"varint,6,opt,name=height" json:"height,omitempty"` - Width *uint32 `protobuf:"varint,7,opt,name=width" json:"width,omitempty"` - MediaKey []byte `protobuf:"bytes,8,opt,name=mediaKey" json:"mediaKey,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,9,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` - InteractiveAnnotations []*InteractiveAnnotation `protobuf:"bytes,10,rep,name=interactiveAnnotations" json:"interactiveAnnotations,omitempty"` - DirectPath *string `protobuf:"bytes,11,opt,name=directPath" json:"directPath,omitempty"` - MediaKeyTimestamp *int64 `protobuf:"varint,12,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"` - JpegThumbnail []byte `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` - FirstScanSidecar []byte `protobuf:"bytes,18,opt,name=firstScanSidecar" json:"firstScanSidecar,omitempty"` - FirstScanLength *uint32 `protobuf:"varint,19,opt,name=firstScanLength" json:"firstScanLength,omitempty"` - ExperimentGroupId *uint32 `protobuf:"varint,20,opt,name=experimentGroupId" json:"experimentGroupId,omitempty"` - ScansSidecar []byte `protobuf:"bytes,21,opt,name=scansSidecar" json:"scansSidecar,omitempty"` - ScanLengths []uint32 `protobuf:"varint,22,rep,name=scanLengths" json:"scanLengths,omitempty"` - MidQualityFileSha256 []byte `protobuf:"bytes,23,opt,name=midQualityFileSha256" json:"midQualityFileSha256,omitempty"` - MidQualityFileEncSha256 []byte `protobuf:"bytes,24,opt,name=midQualityFileEncSha256" json:"midQualityFileEncSha256,omitempty"` - ViewOnce *bool `protobuf:"varint,25,opt,name=viewOnce" json:"viewOnce,omitempty"` - ThumbnailDirectPath *string `protobuf:"bytes,26,opt,name=thumbnailDirectPath" json:"thumbnailDirectPath,omitempty"` - ThumbnailSha256 []byte `protobuf:"bytes,27,opt,name=thumbnailSha256" json:"thumbnailSha256,omitempty"` - ThumbnailEncSha256 []byte `protobuf:"bytes,28,opt,name=thumbnailEncSha256" json:"thumbnailEncSha256,omitempty"` - StaticUrl *string `protobuf:"bytes,29,opt,name=staticUrl" json:"staticUrl,omitempty"` - Annotations []*InteractiveAnnotation `protobuf:"bytes,30,rep,name=annotations" json:"annotations,omitempty"` -} - -func (x *ImageMessage) Reset() { - *x = ImageMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ImageMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ImageMessage) ProtoMessage() {} - -func (x *ImageMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ImageMessage.ProtoReflect.Descriptor instead. -func (*ImageMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{8} -} - -func (x *ImageMessage) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *ImageMessage) GetMimetype() string { - if x != nil && x.Mimetype != nil { - return *x.Mimetype - } - return "" -} - -func (x *ImageMessage) GetCaption() string { - if x != nil && x.Caption != nil { - return *x.Caption - } - return "" -} - -func (x *ImageMessage) GetFileSha256() []byte { - if x != nil { - return x.FileSha256 - } - return nil -} - -func (x *ImageMessage) GetFileLength() uint64 { - if x != nil && x.FileLength != nil { - return *x.FileLength - } - return 0 -} - -func (x *ImageMessage) GetHeight() uint32 { - if x != nil && x.Height != nil { - return *x.Height - } - return 0 -} - -func (x *ImageMessage) GetWidth() uint32 { - if x != nil && x.Width != nil { - return *x.Width - } - return 0 -} - -func (x *ImageMessage) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *ImageMessage) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -func (x *ImageMessage) GetInteractiveAnnotations() []*InteractiveAnnotation { - if x != nil { - return x.InteractiveAnnotations - } - return nil -} - -func (x *ImageMessage) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *ImageMessage) GetMediaKeyTimestamp() int64 { - if x != nil && x.MediaKeyTimestamp != nil { - return *x.MediaKeyTimestamp - } - return 0 -} - -func (x *ImageMessage) GetJpegThumbnail() []byte { - if x != nil { - return x.JpegThumbnail - } - return nil -} - -func (x *ImageMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *ImageMessage) GetFirstScanSidecar() []byte { - if x != nil { - return x.FirstScanSidecar - } - return nil -} - -func (x *ImageMessage) GetFirstScanLength() uint32 { - if x != nil && x.FirstScanLength != nil { - return *x.FirstScanLength - } - return 0 -} - -func (x *ImageMessage) GetExperimentGroupId() uint32 { - if x != nil && x.ExperimentGroupId != nil { - return *x.ExperimentGroupId - } - return 0 -} - -func (x *ImageMessage) GetScansSidecar() []byte { - if x != nil { - return x.ScansSidecar - } - return nil -} - -func (x *ImageMessage) GetScanLengths() []uint32 { - if x != nil { - return x.ScanLengths - } - return nil -} - -func (x *ImageMessage) GetMidQualityFileSha256() []byte { - if x != nil { - return x.MidQualityFileSha256 - } - return nil -} - -func (x *ImageMessage) GetMidQualityFileEncSha256() []byte { - if x != nil { - return x.MidQualityFileEncSha256 - } - return nil -} - -func (x *ImageMessage) GetViewOnce() bool { - if x != nil && x.ViewOnce != nil { - return *x.ViewOnce - } - return false -} - -func (x *ImageMessage) GetThumbnailDirectPath() string { - if x != nil && x.ThumbnailDirectPath != nil { - return *x.ThumbnailDirectPath - } - return "" -} - -func (x *ImageMessage) GetThumbnailSha256() []byte { - if x != nil { - return x.ThumbnailSha256 - } - return nil -} - -func (x *ImageMessage) GetThumbnailEncSha256() []byte { - if x != nil { - return x.ThumbnailEncSha256 - } - return nil -} - -func (x *ImageMessage) GetStaticUrl() string { - if x != nil && x.StaticUrl != nil { - return *x.StaticUrl - } - return "" -} - -func (x *ImageMessage) GetAnnotations() []*InteractiveAnnotation { - if x != nil { - return x.Annotations - } - return nil -} - -type HistorySyncNotification struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FileSha256 []byte `protobuf:"bytes,1,opt,name=fileSha256" json:"fileSha256,omitempty"` - FileLength *uint64 `protobuf:"varint,2,opt,name=fileLength" json:"fileLength,omitempty"` - MediaKey []byte `protobuf:"bytes,3,opt,name=mediaKey" json:"mediaKey,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,4,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` - DirectPath *string `protobuf:"bytes,5,opt,name=directPath" json:"directPath,omitempty"` - SyncType *HistorySyncNotification_HistorySyncType `protobuf:"varint,6,opt,name=syncType,enum=defproto.HistorySyncNotification_HistorySyncType" json:"syncType,omitempty"` - ChunkOrder *uint32 `protobuf:"varint,7,opt,name=chunkOrder" json:"chunkOrder,omitempty"` - OriginalMessageId *string `protobuf:"bytes,8,opt,name=originalMessageId" json:"originalMessageId,omitempty"` - Progress *uint32 `protobuf:"varint,9,opt,name=progress" json:"progress,omitempty"` - OldestMsgInChunkTimestampSec *int64 `protobuf:"varint,10,opt,name=oldestMsgInChunkTimestampSec" json:"oldestMsgInChunkTimestampSec,omitempty"` - InitialHistBootstrapInlinePayload []byte `protobuf:"bytes,11,opt,name=initialHistBootstrapInlinePayload" json:"initialHistBootstrapInlinePayload,omitempty"` - PeerDataRequestSessionId *string `protobuf:"bytes,12,opt,name=peerDataRequestSessionId" json:"peerDataRequestSessionId,omitempty"` -} - -func (x *HistorySyncNotification) Reset() { - *x = HistorySyncNotification{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HistorySyncNotification) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HistorySyncNotification) ProtoMessage() {} - -func (x *HistorySyncNotification) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HistorySyncNotification.ProtoReflect.Descriptor instead. -func (*HistorySyncNotification) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{9} -} - -func (x *HistorySyncNotification) GetFileSha256() []byte { - if x != nil { - return x.FileSha256 - } - return nil -} - -func (x *HistorySyncNotification) GetFileLength() uint64 { - if x != nil && x.FileLength != nil { - return *x.FileLength - } - return 0 -} - -func (x *HistorySyncNotification) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *HistorySyncNotification) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -func (x *HistorySyncNotification) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *HistorySyncNotification) GetSyncType() HistorySyncNotification_HistorySyncType { - if x != nil && x.SyncType != nil { - return *x.SyncType - } - return HistorySyncNotification_INITIAL_BOOTSTRAP -} - -func (x *HistorySyncNotification) GetChunkOrder() uint32 { - if x != nil && x.ChunkOrder != nil { - return *x.ChunkOrder - } - return 0 -} - -func (x *HistorySyncNotification) GetOriginalMessageId() string { - if x != nil && x.OriginalMessageId != nil { - return *x.OriginalMessageId - } - return "" -} - -func (x *HistorySyncNotification) GetProgress() uint32 { - if x != nil && x.Progress != nil { - return *x.Progress - } - return 0 -} - -func (x *HistorySyncNotification) GetOldestMsgInChunkTimestampSec() int64 { - if x != nil && x.OldestMsgInChunkTimestampSec != nil { - return *x.OldestMsgInChunkTimestampSec - } - return 0 -} - -func (x *HistorySyncNotification) GetInitialHistBootstrapInlinePayload() []byte { - if x != nil { - return x.InitialHistBootstrapInlinePayload - } - return nil -} - -func (x *HistorySyncNotification) GetPeerDataRequestSessionId() string { - if x != nil && x.PeerDataRequestSessionId != nil { - return *x.PeerDataRequestSessionId - } - return "" -} - -type HighlyStructuredMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Namespace *string `protobuf:"bytes,1,opt,name=namespace" json:"namespace,omitempty"` - ElementName *string `protobuf:"bytes,2,opt,name=elementName" json:"elementName,omitempty"` - Params []string `protobuf:"bytes,3,rep,name=params" json:"params,omitempty"` - FallbackLg *string `protobuf:"bytes,4,opt,name=fallbackLg" json:"fallbackLg,omitempty"` - FallbackLc *string `protobuf:"bytes,5,opt,name=fallbackLc" json:"fallbackLc,omitempty"` - LocalizableParams []*HighlyStructuredMessage_HSMLocalizableParameter `protobuf:"bytes,6,rep,name=localizableParams" json:"localizableParams,omitempty"` - DeterministicLg *string `protobuf:"bytes,7,opt,name=deterministicLg" json:"deterministicLg,omitempty"` - DeterministicLc *string `protobuf:"bytes,8,opt,name=deterministicLc" json:"deterministicLc,omitempty"` - HydratedHsm *TemplateMessage `protobuf:"bytes,9,opt,name=hydratedHsm" json:"hydratedHsm,omitempty"` -} - -func (x *HighlyStructuredMessage) Reset() { - *x = HighlyStructuredMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HighlyStructuredMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HighlyStructuredMessage) ProtoMessage() {} - -func (x *HighlyStructuredMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HighlyStructuredMessage.ProtoReflect.Descriptor instead. -func (*HighlyStructuredMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{10} -} - -func (x *HighlyStructuredMessage) GetNamespace() string { - if x != nil && x.Namespace != nil { - return *x.Namespace - } - return "" -} - -func (x *HighlyStructuredMessage) GetElementName() string { - if x != nil && x.ElementName != nil { - return *x.ElementName - } - return "" -} - -func (x *HighlyStructuredMessage) GetParams() []string { - if x != nil { - return x.Params - } - return nil -} - -func (x *HighlyStructuredMessage) GetFallbackLg() string { - if x != nil && x.FallbackLg != nil { - return *x.FallbackLg - } - return "" -} - -func (x *HighlyStructuredMessage) GetFallbackLc() string { - if x != nil && x.FallbackLc != nil { - return *x.FallbackLc - } - return "" -} - -func (x *HighlyStructuredMessage) GetLocalizableParams() []*HighlyStructuredMessage_HSMLocalizableParameter { - if x != nil { - return x.LocalizableParams - } - return nil -} - -func (x *HighlyStructuredMessage) GetDeterministicLg() string { - if x != nil && x.DeterministicLg != nil { - return *x.DeterministicLg - } - return "" -} - -func (x *HighlyStructuredMessage) GetDeterministicLc() string { - if x != nil && x.DeterministicLc != nil { - return *x.DeterministicLc - } - return "" -} - -func (x *HighlyStructuredMessage) GetHydratedHsm() *TemplateMessage { - if x != nil { - return x.HydratedHsm - } - return nil -} - -type GroupInviteMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupJid *string `protobuf:"bytes,1,opt,name=groupJid" json:"groupJid,omitempty"` - InviteCode *string `protobuf:"bytes,2,opt,name=inviteCode" json:"inviteCode,omitempty"` - InviteExpiration *int64 `protobuf:"varint,3,opt,name=inviteExpiration" json:"inviteExpiration,omitempty"` - GroupName *string `protobuf:"bytes,4,opt,name=groupName" json:"groupName,omitempty"` - JpegThumbnail []byte `protobuf:"bytes,5,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"` - Caption *string `protobuf:"bytes,6,opt,name=caption" json:"caption,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,7,opt,name=contextInfo" json:"contextInfo,omitempty"` - GroupType *GroupInviteMessage_GroupType `protobuf:"varint,8,opt,name=groupType,enum=defproto.GroupInviteMessage_GroupType" json:"groupType,omitempty"` -} - -func (x *GroupInviteMessage) Reset() { - *x = GroupInviteMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupInviteMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupInviteMessage) ProtoMessage() {} - -func (x *GroupInviteMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupInviteMessage.ProtoReflect.Descriptor instead. -func (*GroupInviteMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{11} -} - -func (x *GroupInviteMessage) GetGroupJid() string { - if x != nil && x.GroupJid != nil { - return *x.GroupJid - } - return "" -} - -func (x *GroupInviteMessage) GetInviteCode() string { - if x != nil && x.InviteCode != nil { - return *x.InviteCode - } - return "" -} - -func (x *GroupInviteMessage) GetInviteExpiration() int64 { - if x != nil && x.InviteExpiration != nil { - return *x.InviteExpiration - } - return 0 -} - -func (x *GroupInviteMessage) GetGroupName() string { - if x != nil && x.GroupName != nil { - return *x.GroupName - } - return "" -} - -func (x *GroupInviteMessage) GetJpegThumbnail() []byte { - if x != nil { - return x.JpegThumbnail - } - return nil -} - -func (x *GroupInviteMessage) GetCaption() string { - if x != nil && x.Caption != nil { - return *x.Caption - } - return "" -} - -func (x *GroupInviteMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *GroupInviteMessage) GetGroupType() GroupInviteMessage_GroupType { - if x != nil && x.GroupType != nil { - return *x.GroupType - } - return GroupInviteMessage_DEFAULT -} - -type FutureProofMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Message *Message `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` -} - -func (x *FutureProofMessage) Reset() { - *x = FutureProofMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FutureProofMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FutureProofMessage) ProtoMessage() {} - -func (x *FutureProofMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FutureProofMessage.ProtoReflect.Descriptor instead. -func (*FutureProofMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{12} -} - -func (x *FutureProofMessage) GetMessage() *Message { - if x != nil { - return x.Message - } - return nil -} - -type ExtendedTextMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` - MatchedText *string `protobuf:"bytes,2,opt,name=matchedText" json:"matchedText,omitempty"` - CanonicalUrl *string `protobuf:"bytes,4,opt,name=canonicalUrl" json:"canonicalUrl,omitempty"` - Description *string `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"` - Title *string `protobuf:"bytes,6,opt,name=title" json:"title,omitempty"` - TextArgb *uint32 `protobuf:"fixed32,7,opt,name=textArgb" json:"textArgb,omitempty"` - BackgroundArgb *uint32 `protobuf:"fixed32,8,opt,name=backgroundArgb" json:"backgroundArgb,omitempty"` - Font *ExtendedTextMessage_FontType `protobuf:"varint,9,opt,name=font,enum=defproto.ExtendedTextMessage_FontType" json:"font,omitempty"` - PreviewType *ExtendedTextMessage_PreviewType `protobuf:"varint,10,opt,name=previewType,enum=defproto.ExtendedTextMessage_PreviewType" json:"previewType,omitempty"` - JpegThumbnail []byte `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` - DoNotPlayInline *bool `protobuf:"varint,18,opt,name=doNotPlayInline" json:"doNotPlayInline,omitempty"` - ThumbnailDirectPath *string `protobuf:"bytes,19,opt,name=thumbnailDirectPath" json:"thumbnailDirectPath,omitempty"` - ThumbnailSha256 []byte `protobuf:"bytes,20,opt,name=thumbnailSha256" json:"thumbnailSha256,omitempty"` - ThumbnailEncSha256 []byte `protobuf:"bytes,21,opt,name=thumbnailEncSha256" json:"thumbnailEncSha256,omitempty"` - MediaKey []byte `protobuf:"bytes,22,opt,name=mediaKey" json:"mediaKey,omitempty"` - MediaKeyTimestamp *int64 `protobuf:"varint,23,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"` - ThumbnailHeight *uint32 `protobuf:"varint,24,opt,name=thumbnailHeight" json:"thumbnailHeight,omitempty"` - ThumbnailWidth *uint32 `protobuf:"varint,25,opt,name=thumbnailWidth" json:"thumbnailWidth,omitempty"` - InviteLinkGroupType *ExtendedTextMessage_InviteLinkGroupType `protobuf:"varint,26,opt,name=inviteLinkGroupType,enum=defproto.ExtendedTextMessage_InviteLinkGroupType" json:"inviteLinkGroupType,omitempty"` - InviteLinkParentGroupSubjectV2 *string `protobuf:"bytes,27,opt,name=inviteLinkParentGroupSubjectV2" json:"inviteLinkParentGroupSubjectV2,omitempty"` - InviteLinkParentGroupThumbnailV2 []byte `protobuf:"bytes,28,opt,name=inviteLinkParentGroupThumbnailV2" json:"inviteLinkParentGroupThumbnailV2,omitempty"` - InviteLinkGroupTypeV2 *ExtendedTextMessage_InviteLinkGroupType `protobuf:"varint,29,opt,name=inviteLinkGroupTypeV2,enum=defproto.ExtendedTextMessage_InviteLinkGroupType" json:"inviteLinkGroupTypeV2,omitempty"` - ViewOnce *bool `protobuf:"varint,30,opt,name=viewOnce" json:"viewOnce,omitempty"` -} - -func (x *ExtendedTextMessage) Reset() { - *x = ExtendedTextMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExtendedTextMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExtendedTextMessage) ProtoMessage() {} - -func (x *ExtendedTextMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExtendedTextMessage.ProtoReflect.Descriptor instead. -func (*ExtendedTextMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{13} -} - -func (x *ExtendedTextMessage) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -func (x *ExtendedTextMessage) GetMatchedText() string { - if x != nil && x.MatchedText != nil { - return *x.MatchedText - } - return "" -} - -func (x *ExtendedTextMessage) GetCanonicalUrl() string { - if x != nil && x.CanonicalUrl != nil { - return *x.CanonicalUrl - } - return "" -} - -func (x *ExtendedTextMessage) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *ExtendedTextMessage) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *ExtendedTextMessage) GetTextArgb() uint32 { - if x != nil && x.TextArgb != nil { - return *x.TextArgb - } - return 0 -} - -func (x *ExtendedTextMessage) GetBackgroundArgb() uint32 { - if x != nil && x.BackgroundArgb != nil { - return *x.BackgroundArgb - } - return 0 -} - -func (x *ExtendedTextMessage) GetFont() ExtendedTextMessage_FontType { - if x != nil && x.Font != nil { - return *x.Font - } - return ExtendedTextMessage_SYSTEM -} - -func (x *ExtendedTextMessage) GetPreviewType() ExtendedTextMessage_PreviewType { - if x != nil && x.PreviewType != nil { - return *x.PreviewType - } - return ExtendedTextMessage_NONE -} - -func (x *ExtendedTextMessage) GetJpegThumbnail() []byte { - if x != nil { - return x.JpegThumbnail - } - return nil -} - -func (x *ExtendedTextMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *ExtendedTextMessage) GetDoNotPlayInline() bool { - if x != nil && x.DoNotPlayInline != nil { - return *x.DoNotPlayInline - } - return false -} - -func (x *ExtendedTextMessage) GetThumbnailDirectPath() string { - if x != nil && x.ThumbnailDirectPath != nil { - return *x.ThumbnailDirectPath - } - return "" -} - -func (x *ExtendedTextMessage) GetThumbnailSha256() []byte { - if x != nil { - return x.ThumbnailSha256 - } - return nil -} - -func (x *ExtendedTextMessage) GetThumbnailEncSha256() []byte { - if x != nil { - return x.ThumbnailEncSha256 - } - return nil -} - -func (x *ExtendedTextMessage) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *ExtendedTextMessage) GetMediaKeyTimestamp() int64 { - if x != nil && x.MediaKeyTimestamp != nil { - return *x.MediaKeyTimestamp - } - return 0 -} - -func (x *ExtendedTextMessage) GetThumbnailHeight() uint32 { - if x != nil && x.ThumbnailHeight != nil { - return *x.ThumbnailHeight - } - return 0 -} - -func (x *ExtendedTextMessage) GetThumbnailWidth() uint32 { - if x != nil && x.ThumbnailWidth != nil { - return *x.ThumbnailWidth - } - return 0 -} - -func (x *ExtendedTextMessage) GetInviteLinkGroupType() ExtendedTextMessage_InviteLinkGroupType { - if x != nil && x.InviteLinkGroupType != nil { - return *x.InviteLinkGroupType - } - return ExtendedTextMessage_DEFAULT -} - -func (x *ExtendedTextMessage) GetInviteLinkParentGroupSubjectV2() string { - if x != nil && x.InviteLinkParentGroupSubjectV2 != nil { - return *x.InviteLinkParentGroupSubjectV2 - } - return "" -} - -func (x *ExtendedTextMessage) GetInviteLinkParentGroupThumbnailV2() []byte { - if x != nil { - return x.InviteLinkParentGroupThumbnailV2 - } - return nil -} - -func (x *ExtendedTextMessage) GetInviteLinkGroupTypeV2() ExtendedTextMessage_InviteLinkGroupType { - if x != nil && x.InviteLinkGroupTypeV2 != nil { - return *x.InviteLinkGroupTypeV2 - } - return ExtendedTextMessage_DEFAULT -} - -func (x *ExtendedTextMessage) GetViewOnce() bool { - if x != nil && x.ViewOnce != nil { - return *x.ViewOnce - } - return false -} - -type EventResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Response *EventResponseMessage_EventResponseType `protobuf:"varint,1,opt,name=response,enum=defproto.EventResponseMessage_EventResponseType" json:"response,omitempty"` - TimestampMs *int64 `protobuf:"varint,2,opt,name=timestampMs" json:"timestampMs,omitempty"` -} - -func (x *EventResponseMessage) Reset() { - *x = EventResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventResponseMessage) ProtoMessage() {} - -func (x *EventResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EventResponseMessage.ProtoReflect.Descriptor instead. -func (*EventResponseMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{14} -} - -func (x *EventResponseMessage) GetResponse() EventResponseMessage_EventResponseType { - if x != nil && x.Response != nil { - return *x.Response - } - return EventResponseMessage_UNKNOWN -} - -func (x *EventResponseMessage) GetTimestampMs() int64 { - if x != nil && x.TimestampMs != nil { - return *x.TimestampMs - } - return 0 -} - -type EventMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ContextInfo *ContextInfo `protobuf:"bytes,1,opt,name=contextInfo" json:"contextInfo,omitempty"` - IsCanceled *bool `protobuf:"varint,2,opt,name=isCanceled" json:"isCanceled,omitempty"` - Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` - Description *string `protobuf:"bytes,4,opt,name=description" json:"description,omitempty"` - Location *LocationMessage `protobuf:"bytes,5,opt,name=location" json:"location,omitempty"` - JoinLink *string `protobuf:"bytes,6,opt,name=joinLink" json:"joinLink,omitempty"` - StartTime *int64 `protobuf:"varint,7,opt,name=startTime" json:"startTime,omitempty"` -} - -func (x *EventMessage) Reset() { - *x = EventMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventMessage) ProtoMessage() {} - -func (x *EventMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EventMessage.ProtoReflect.Descriptor instead. -func (*EventMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{15} -} - -func (x *EventMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *EventMessage) GetIsCanceled() bool { - if x != nil && x.IsCanceled != nil { - return *x.IsCanceled - } - return false -} - -func (x *EventMessage) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *EventMessage) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *EventMessage) GetLocation() *LocationMessage { - if x != nil { - return x.Location - } - return nil -} - -func (x *EventMessage) GetJoinLink() string { - if x != nil && x.JoinLink != nil { - return *x.JoinLink - } - return "" -} - -func (x *EventMessage) GetStartTime() int64 { - if x != nil && x.StartTime != nil { - return *x.StartTime - } - return 0 -} - -type EncReactionMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TargetMessageKey *MessageKey `protobuf:"bytes,1,opt,name=targetMessageKey" json:"targetMessageKey,omitempty"` - EncPayload []byte `protobuf:"bytes,2,opt,name=encPayload" json:"encPayload,omitempty"` - EncIv []byte `protobuf:"bytes,3,opt,name=encIv" json:"encIv,omitempty"` -} - -func (x *EncReactionMessage) Reset() { - *x = EncReactionMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EncReactionMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EncReactionMessage) ProtoMessage() {} - -func (x *EncReactionMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EncReactionMessage.ProtoReflect.Descriptor instead. -func (*EncReactionMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{16} -} - -func (x *EncReactionMessage) GetTargetMessageKey() *MessageKey { - if x != nil { - return x.TargetMessageKey - } - return nil -} - -func (x *EncReactionMessage) GetEncPayload() []byte { - if x != nil { - return x.EncPayload - } - return nil -} - -func (x *EncReactionMessage) GetEncIv() []byte { - if x != nil { - return x.EncIv - } - return nil -} - -type EncEventResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EventCreationMessageKey *MessageKey `protobuf:"bytes,1,opt,name=eventCreationMessageKey" json:"eventCreationMessageKey,omitempty"` - EncPayload []byte `protobuf:"bytes,2,opt,name=encPayload" json:"encPayload,omitempty"` - EncIv []byte `protobuf:"bytes,3,opt,name=encIv" json:"encIv,omitempty"` -} - -func (x *EncEventResponseMessage) Reset() { - *x = EncEventResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EncEventResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EncEventResponseMessage) ProtoMessage() {} - -func (x *EncEventResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EncEventResponseMessage.ProtoReflect.Descriptor instead. -func (*EncEventResponseMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{17} -} - -func (x *EncEventResponseMessage) GetEventCreationMessageKey() *MessageKey { - if x != nil { - return x.EventCreationMessageKey - } - return nil -} - -func (x *EncEventResponseMessage) GetEncPayload() []byte { - if x != nil { - return x.EncPayload - } - return nil -} - -func (x *EncEventResponseMessage) GetEncIv() []byte { - if x != nil { - return x.EncIv - } - return nil -} - -type EncCommentMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TargetMessageKey *MessageKey `protobuf:"bytes,1,opt,name=targetMessageKey" json:"targetMessageKey,omitempty"` - EncPayload []byte `protobuf:"bytes,2,opt,name=encPayload" json:"encPayload,omitempty"` - EncIv []byte `protobuf:"bytes,3,opt,name=encIv" json:"encIv,omitempty"` -} - -func (x *EncCommentMessage) Reset() { - *x = EncCommentMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EncCommentMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EncCommentMessage) ProtoMessage() {} - -func (x *EncCommentMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EncCommentMessage.ProtoReflect.Descriptor instead. -func (*EncCommentMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{18} -} - -func (x *EncCommentMessage) GetTargetMessageKey() *MessageKey { - if x != nil { - return x.TargetMessageKey - } - return nil -} - -func (x *EncCommentMessage) GetEncPayload() []byte { - if x != nil { - return x.EncPayload - } - return nil -} - -func (x *EncCommentMessage) GetEncIv() []byte { - if x != nil { - return x.EncIv - } - return nil -} - -type DocumentMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` - Mimetype *string `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"` - Title *string `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"` - FileSha256 []byte `protobuf:"bytes,4,opt,name=fileSha256" json:"fileSha256,omitempty"` - FileLength *uint64 `protobuf:"varint,5,opt,name=fileLength" json:"fileLength,omitempty"` - PageCount *uint32 `protobuf:"varint,6,opt,name=pageCount" json:"pageCount,omitempty"` - MediaKey []byte `protobuf:"bytes,7,opt,name=mediaKey" json:"mediaKey,omitempty"` - FileName *string `protobuf:"bytes,8,opt,name=fileName" json:"fileName,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,9,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` - DirectPath *string `protobuf:"bytes,10,opt,name=directPath" json:"directPath,omitempty"` - MediaKeyTimestamp *int64 `protobuf:"varint,11,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"` - ContactVcard *bool `protobuf:"varint,12,opt,name=contactVcard" json:"contactVcard,omitempty"` - ThumbnailDirectPath *string `protobuf:"bytes,13,opt,name=thumbnailDirectPath" json:"thumbnailDirectPath,omitempty"` - ThumbnailSha256 []byte `protobuf:"bytes,14,opt,name=thumbnailSha256" json:"thumbnailSha256,omitempty"` - ThumbnailEncSha256 []byte `protobuf:"bytes,15,opt,name=thumbnailEncSha256" json:"thumbnailEncSha256,omitempty"` - JpegThumbnail []byte `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` - ThumbnailHeight *uint32 `protobuf:"varint,18,opt,name=thumbnailHeight" json:"thumbnailHeight,omitempty"` - ThumbnailWidth *uint32 `protobuf:"varint,19,opt,name=thumbnailWidth" json:"thumbnailWidth,omitempty"` - Caption *string `protobuf:"bytes,20,opt,name=caption" json:"caption,omitempty"` -} - -func (x *DocumentMessage) Reset() { - *x = DocumentMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DocumentMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DocumentMessage) ProtoMessage() {} - -func (x *DocumentMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DocumentMessage.ProtoReflect.Descriptor instead. -func (*DocumentMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{19} -} - -func (x *DocumentMessage) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *DocumentMessage) GetMimetype() string { - if x != nil && x.Mimetype != nil { - return *x.Mimetype - } - return "" -} - -func (x *DocumentMessage) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *DocumentMessage) GetFileSha256() []byte { - if x != nil { - return x.FileSha256 - } - return nil -} - -func (x *DocumentMessage) GetFileLength() uint64 { - if x != nil && x.FileLength != nil { - return *x.FileLength - } - return 0 -} - -func (x *DocumentMessage) GetPageCount() uint32 { - if x != nil && x.PageCount != nil { - return *x.PageCount - } - return 0 -} - -func (x *DocumentMessage) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *DocumentMessage) GetFileName() string { - if x != nil && x.FileName != nil { - return *x.FileName - } - return "" -} - -func (x *DocumentMessage) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -func (x *DocumentMessage) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *DocumentMessage) GetMediaKeyTimestamp() int64 { - if x != nil && x.MediaKeyTimestamp != nil { - return *x.MediaKeyTimestamp - } - return 0 -} - -func (x *DocumentMessage) GetContactVcard() bool { - if x != nil && x.ContactVcard != nil { - return *x.ContactVcard - } - return false -} - -func (x *DocumentMessage) GetThumbnailDirectPath() string { - if x != nil && x.ThumbnailDirectPath != nil { - return *x.ThumbnailDirectPath - } - return "" -} - -func (x *DocumentMessage) GetThumbnailSha256() []byte { - if x != nil { - return x.ThumbnailSha256 - } - return nil -} - -func (x *DocumentMessage) GetThumbnailEncSha256() []byte { - if x != nil { - return x.ThumbnailEncSha256 - } - return nil -} - -func (x *DocumentMessage) GetJpegThumbnail() []byte { - if x != nil { - return x.JpegThumbnail - } - return nil -} - -func (x *DocumentMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *DocumentMessage) GetThumbnailHeight() uint32 { - if x != nil && x.ThumbnailHeight != nil { - return *x.ThumbnailHeight - } - return 0 -} - -func (x *DocumentMessage) GetThumbnailWidth() uint32 { - if x != nil && x.ThumbnailWidth != nil { - return *x.ThumbnailWidth - } - return 0 -} - -func (x *DocumentMessage) GetCaption() string { - if x != nil && x.Caption != nil { - return *x.Caption - } - return "" -} - -type DeviceSentMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DestinationJid *string `protobuf:"bytes,1,opt,name=destinationJid" json:"destinationJid,omitempty"` - Message *Message `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` - Phash *string `protobuf:"bytes,3,opt,name=phash" json:"phash,omitempty"` -} - -func (x *DeviceSentMessage) Reset() { - *x = DeviceSentMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeviceSentMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeviceSentMessage) ProtoMessage() {} - -func (x *DeviceSentMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeviceSentMessage.ProtoReflect.Descriptor instead. -func (*DeviceSentMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{20} -} - -func (x *DeviceSentMessage) GetDestinationJid() string { - if x != nil && x.DestinationJid != nil { - return *x.DestinationJid - } - return "" -} - -func (x *DeviceSentMessage) GetMessage() *Message { - if x != nil { - return x.Message - } - return nil -} - -func (x *DeviceSentMessage) GetPhash() string { - if x != nil && x.Phash != nil { - return *x.Phash - } - return "" -} - -type DeclinePaymentRequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` -} - -func (x *DeclinePaymentRequestMessage) Reset() { - *x = DeclinePaymentRequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeclinePaymentRequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeclinePaymentRequestMessage) ProtoMessage() {} - -func (x *DeclinePaymentRequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeclinePaymentRequestMessage.ProtoReflect.Descriptor instead. -func (*DeclinePaymentRequestMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{21} -} - -func (x *DeclinePaymentRequestMessage) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -type ContactsArrayMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayName *string `protobuf:"bytes,1,opt,name=displayName" json:"displayName,omitempty"` - Contacts []*ContactMessage `protobuf:"bytes,2,rep,name=contacts" json:"contacts,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` -} - -func (x *ContactsArrayMessage) Reset() { - *x = ContactsArrayMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContactsArrayMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContactsArrayMessage) ProtoMessage() {} - -func (x *ContactsArrayMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContactsArrayMessage.ProtoReflect.Descriptor instead. -func (*ContactsArrayMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{22} -} - -func (x *ContactsArrayMessage) GetDisplayName() string { - if x != nil && x.DisplayName != nil { - return *x.DisplayName - } - return "" -} - -func (x *ContactsArrayMessage) GetContacts() []*ContactMessage { - if x != nil { - return x.Contacts - } - return nil -} - -func (x *ContactsArrayMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -type ContactMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayName *string `protobuf:"bytes,1,opt,name=displayName" json:"displayName,omitempty"` - Vcard *string `protobuf:"bytes,16,opt,name=vcard" json:"vcard,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` -} - -func (x *ContactMessage) Reset() { - *x = ContactMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContactMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContactMessage) ProtoMessage() {} - -func (x *ContactMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContactMessage.ProtoReflect.Descriptor instead. -func (*ContactMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{23} -} - -func (x *ContactMessage) GetDisplayName() string { - if x != nil && x.DisplayName != nil { - return *x.DisplayName - } - return "" -} - -func (x *ContactMessage) GetVcard() string { - if x != nil && x.Vcard != nil { - return *x.Vcard - } - return "" -} - -func (x *ContactMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -type CommentMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Message *Message `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` - TargetMessageKey *MessageKey `protobuf:"bytes,2,opt,name=targetMessageKey" json:"targetMessageKey,omitempty"` -} - -func (x *CommentMessage) Reset() { - *x = CommentMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommentMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommentMessage) ProtoMessage() {} - -func (x *CommentMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommentMessage.ProtoReflect.Descriptor instead. -func (*CommentMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{24} -} - -func (x *CommentMessage) GetMessage() *Message { - if x != nil { - return x.Message - } - return nil -} - -func (x *CommentMessage) GetTargetMessageKey() *MessageKey { - if x != nil { - return x.TargetMessageKey - } - return nil -} - -type Chat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayName *string `protobuf:"bytes,1,opt,name=displayName" json:"displayName,omitempty"` - Id *string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` -} - -func (x *Chat) Reset() { - *x = Chat{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Chat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Chat) ProtoMessage() {} - -func (x *Chat) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Chat.ProtoReflect.Descriptor instead. -func (*Chat) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{25} -} - -func (x *Chat) GetDisplayName() string { - if x != nil && x.DisplayName != nil { - return *x.DisplayName - } - return "" -} - -func (x *Chat) GetId() string { - if x != nil && x.Id != nil { - return *x.Id - } - return "" -} - -type CancelPaymentRequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` -} - -func (x *CancelPaymentRequestMessage) Reset() { - *x = CancelPaymentRequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CancelPaymentRequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CancelPaymentRequestMessage) ProtoMessage() {} - -func (x *CancelPaymentRequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CancelPaymentRequestMessage.ProtoReflect.Descriptor instead. -func (*CancelPaymentRequestMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{26} -} - -func (x *CancelPaymentRequestMessage) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -type Call struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CallKey []byte `protobuf:"bytes,1,opt,name=callKey" json:"callKey,omitempty"` - ConversionSource *string `protobuf:"bytes,2,opt,name=conversionSource" json:"conversionSource,omitempty"` - ConversionData []byte `protobuf:"bytes,3,opt,name=conversionData" json:"conversionData,omitempty"` - ConversionDelaySeconds *uint32 `protobuf:"varint,4,opt,name=conversionDelaySeconds" json:"conversionDelaySeconds,omitempty"` -} - -func (x *Call) Reset() { - *x = Call{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Call) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Call) ProtoMessage() {} - -func (x *Call) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Call.ProtoReflect.Descriptor instead. -func (*Call) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{27} -} - -func (x *Call) GetCallKey() []byte { - if x != nil { - return x.CallKey - } - return nil -} - -func (x *Call) GetConversionSource() string { - if x != nil && x.ConversionSource != nil { - return *x.ConversionSource - } - return "" -} - -func (x *Call) GetConversionData() []byte { - if x != nil { - return x.ConversionData - } - return nil -} - -func (x *Call) GetConversionDelaySeconds() uint32 { - if x != nil && x.ConversionDelaySeconds != nil { - return *x.ConversionDelaySeconds - } - return 0 -} - -type CallLogMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsVideo *bool `protobuf:"varint,1,opt,name=isVideo" json:"isVideo,omitempty"` - CallOutcome *CallLogMessage_CallOutcome `protobuf:"varint,2,opt,name=callOutcome,enum=defproto.CallLogMessage_CallOutcome" json:"callOutcome,omitempty"` - DurationSecs *int64 `protobuf:"varint,3,opt,name=durationSecs" json:"durationSecs,omitempty"` - CallType *CallLogMessage_CallType `protobuf:"varint,4,opt,name=callType,enum=defproto.CallLogMessage_CallType" json:"callType,omitempty"` - Participants []*CallLogMessage_CallParticipant `protobuf:"bytes,5,rep,name=participants" json:"participants,omitempty"` -} - -func (x *CallLogMessage) Reset() { - *x = CallLogMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CallLogMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CallLogMessage) ProtoMessage() {} - -func (x *CallLogMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CallLogMessage.ProtoReflect.Descriptor instead. -func (*CallLogMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{28} -} - -func (x *CallLogMessage) GetIsVideo() bool { - if x != nil && x.IsVideo != nil { - return *x.IsVideo - } - return false -} - -func (x *CallLogMessage) GetCallOutcome() CallLogMessage_CallOutcome { - if x != nil && x.CallOutcome != nil { - return *x.CallOutcome - } - return CallLogMessage_CONNECTED -} - -func (x *CallLogMessage) GetDurationSecs() int64 { - if x != nil && x.DurationSecs != nil { - return *x.DurationSecs - } - return 0 -} - -func (x *CallLogMessage) GetCallType() CallLogMessage_CallType { - if x != nil && x.CallType != nil { - return *x.CallType - } - return CallLogMessage_REGULAR -} - -func (x *CallLogMessage) GetParticipants() []*CallLogMessage_CallParticipant { - if x != nil { - return x.Participants - } - return nil -} - -type ButtonsResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SelectedButtonId *string `protobuf:"bytes,1,opt,name=selectedButtonId" json:"selectedButtonId,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,3,opt,name=contextInfo" json:"contextInfo,omitempty"` - Type *ButtonsResponseMessage_Type `protobuf:"varint,4,opt,name=type,enum=defproto.ButtonsResponseMessage_Type" json:"type,omitempty"` - // Types that are assignable to Response: - // - // *ButtonsResponseMessage_SelectedDisplayText - Response isButtonsResponseMessage_Response `protobuf_oneof:"response"` -} - -func (x *ButtonsResponseMessage) Reset() { - *x = ButtonsResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ButtonsResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ButtonsResponseMessage) ProtoMessage() {} - -func (x *ButtonsResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ButtonsResponseMessage.ProtoReflect.Descriptor instead. -func (*ButtonsResponseMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{29} -} - -func (x *ButtonsResponseMessage) GetSelectedButtonId() string { - if x != nil && x.SelectedButtonId != nil { - return *x.SelectedButtonId - } - return "" -} - -func (x *ButtonsResponseMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *ButtonsResponseMessage) GetType() ButtonsResponseMessage_Type { - if x != nil && x.Type != nil { - return *x.Type - } - return ButtonsResponseMessage_UNKNOWN -} - -func (m *ButtonsResponseMessage) GetResponse() isButtonsResponseMessage_Response { - if m != nil { - return m.Response - } - return nil -} - -func (x *ButtonsResponseMessage) GetSelectedDisplayText() string { - if x, ok := x.GetResponse().(*ButtonsResponseMessage_SelectedDisplayText); ok { - return x.SelectedDisplayText - } - return "" -} - -type isButtonsResponseMessage_Response interface { - isButtonsResponseMessage_Response() -} - -type ButtonsResponseMessage_SelectedDisplayText struct { - SelectedDisplayText string `protobuf:"bytes,2,opt,name=selectedDisplayText,oneof"` -} - -func (*ButtonsResponseMessage_SelectedDisplayText) isButtonsResponseMessage_Response() {} - -type ButtonsMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ContentText *string `protobuf:"bytes,6,opt,name=contentText" json:"contentText,omitempty"` - FooterText *string `protobuf:"bytes,7,opt,name=footerText" json:"footerText,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,8,opt,name=contextInfo" json:"contextInfo,omitempty"` - Buttons []*ButtonsMessage_Button `protobuf:"bytes,9,rep,name=buttons" json:"buttons,omitempty"` - HeaderType *ButtonsMessage_HeaderType `protobuf:"varint,10,opt,name=headerType,enum=defproto.ButtonsMessage_HeaderType" json:"headerType,omitempty"` - // Types that are assignable to Header: - // - // *ButtonsMessage_Text - // *ButtonsMessage_DocumentMessage - // *ButtonsMessage_ImageMessage - // *ButtonsMessage_VideoMessage - // *ButtonsMessage_LocationMessage - Header isButtonsMessage_Header `protobuf_oneof:"header"` -} - -func (x *ButtonsMessage) Reset() { - *x = ButtonsMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ButtonsMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ButtonsMessage) ProtoMessage() {} - -func (x *ButtonsMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ButtonsMessage.ProtoReflect.Descriptor instead. -func (*ButtonsMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{30} -} - -func (x *ButtonsMessage) GetContentText() string { - if x != nil && x.ContentText != nil { - return *x.ContentText - } - return "" -} - -func (x *ButtonsMessage) GetFooterText() string { - if x != nil && x.FooterText != nil { - return *x.FooterText - } - return "" -} - -func (x *ButtonsMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *ButtonsMessage) GetButtons() []*ButtonsMessage_Button { - if x != nil { - return x.Buttons - } - return nil -} - -func (x *ButtonsMessage) GetHeaderType() ButtonsMessage_HeaderType { - if x != nil && x.HeaderType != nil { - return *x.HeaderType - } - return ButtonsMessage_UNKNOWN -} - -func (m *ButtonsMessage) GetHeader() isButtonsMessage_Header { - if m != nil { - return m.Header - } - return nil -} - -func (x *ButtonsMessage) GetText() string { - if x, ok := x.GetHeader().(*ButtonsMessage_Text); ok { - return x.Text - } - return "" -} - -func (x *ButtonsMessage) GetDocumentMessage() *DocumentMessage { - if x, ok := x.GetHeader().(*ButtonsMessage_DocumentMessage); ok { - return x.DocumentMessage - } - return nil -} - -func (x *ButtonsMessage) GetImageMessage() *ImageMessage { - if x, ok := x.GetHeader().(*ButtonsMessage_ImageMessage); ok { - return x.ImageMessage - } - return nil -} - -func (x *ButtonsMessage) GetVideoMessage() *VideoMessage { - if x, ok := x.GetHeader().(*ButtonsMessage_VideoMessage); ok { - return x.VideoMessage - } - return nil -} - -func (x *ButtonsMessage) GetLocationMessage() *LocationMessage { - if x, ok := x.GetHeader().(*ButtonsMessage_LocationMessage); ok { - return x.LocationMessage - } - return nil -} - -type isButtonsMessage_Header interface { - isButtonsMessage_Header() -} - -type ButtonsMessage_Text struct { - Text string `protobuf:"bytes,1,opt,name=text,oneof"` -} - -type ButtonsMessage_DocumentMessage struct { - DocumentMessage *DocumentMessage `protobuf:"bytes,2,opt,name=documentMessage,oneof"` -} - -type ButtonsMessage_ImageMessage struct { - ImageMessage *ImageMessage `protobuf:"bytes,3,opt,name=imageMessage,oneof"` -} - -type ButtonsMessage_VideoMessage struct { - VideoMessage *VideoMessage `protobuf:"bytes,4,opt,name=videoMessage,oneof"` -} - -type ButtonsMessage_LocationMessage struct { - LocationMessage *LocationMessage `protobuf:"bytes,5,opt,name=locationMessage,oneof"` -} - -func (*ButtonsMessage_Text) isButtonsMessage_Header() {} - -func (*ButtonsMessage_DocumentMessage) isButtonsMessage_Header() {} - -func (*ButtonsMessage_ImageMessage) isButtonsMessage_Header() {} - -func (*ButtonsMessage_VideoMessage) isButtonsMessage_Header() {} - -func (*ButtonsMessage_LocationMessage) isButtonsMessage_Header() {} - -type BotFeedbackMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MessageKey *MessageKey `protobuf:"bytes,1,opt,name=messageKey" json:"messageKey,omitempty"` - Kind *BotFeedbackMessage_BotFeedbackKind `protobuf:"varint,2,opt,name=kind,enum=defproto.BotFeedbackMessage_BotFeedbackKind" json:"kind,omitempty"` - Text *string `protobuf:"bytes,3,opt,name=text" json:"text,omitempty"` - KindNegative *uint64 `protobuf:"varint,4,opt,name=kindNegative" json:"kindNegative,omitempty"` - KindPositive *uint64 `protobuf:"varint,5,opt,name=kindPositive" json:"kindPositive,omitempty"` -} - -func (x *BotFeedbackMessage) Reset() { - *x = BotFeedbackMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BotFeedbackMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BotFeedbackMessage) ProtoMessage() {} - -func (x *BotFeedbackMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BotFeedbackMessage.ProtoReflect.Descriptor instead. -func (*BotFeedbackMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{31} -} - -func (x *BotFeedbackMessage) GetMessageKey() *MessageKey { - if x != nil { - return x.MessageKey - } - return nil -} - -func (x *BotFeedbackMessage) GetKind() BotFeedbackMessage_BotFeedbackKind { - if x != nil && x.Kind != nil { - return *x.Kind - } - return BotFeedbackMessage_BOT_FEEDBACK_POSITIVE -} - -func (x *BotFeedbackMessage) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -func (x *BotFeedbackMessage) GetKindNegative() uint64 { - if x != nil && x.KindNegative != nil { - return *x.KindNegative - } - return 0 -} - -func (x *BotFeedbackMessage) GetKindPositive() uint64 { - if x != nil && x.KindPositive != nil { - return *x.KindPositive - } - return 0 -} - -type BCallMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SessionId *string `protobuf:"bytes,1,opt,name=sessionId" json:"sessionId,omitempty"` - MediaType *BCallMessage_MediaType `protobuf:"varint,2,opt,name=mediaType,enum=defproto.BCallMessage_MediaType" json:"mediaType,omitempty"` - MasterKey []byte `protobuf:"bytes,3,opt,name=masterKey" json:"masterKey,omitempty"` - Caption *string `protobuf:"bytes,4,opt,name=caption" json:"caption,omitempty"` -} - -func (x *BCallMessage) Reset() { - *x = BCallMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BCallMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BCallMessage) ProtoMessage() {} - -func (x *BCallMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BCallMessage.ProtoReflect.Descriptor instead. -func (*BCallMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{32} -} - -func (x *BCallMessage) GetSessionId() string { - if x != nil && x.SessionId != nil { - return *x.SessionId - } - return "" -} - -func (x *BCallMessage) GetMediaType() BCallMessage_MediaType { - if x != nil && x.MediaType != nil { - return *x.MediaType - } - return BCallMessage_UNKNOWN -} - -func (x *BCallMessage) GetMasterKey() []byte { - if x != nil { - return x.MasterKey - } - return nil -} - -func (x *BCallMessage) GetCaption() string { - if x != nil && x.Caption != nil { - return *x.Caption - } - return "" -} - -type AudioMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` - Mimetype *string `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"` - FileSha256 []byte `protobuf:"bytes,3,opt,name=fileSha256" json:"fileSha256,omitempty"` - FileLength *uint64 `protobuf:"varint,4,opt,name=fileLength" json:"fileLength,omitempty"` - Seconds *uint32 `protobuf:"varint,5,opt,name=seconds" json:"seconds,omitempty"` - Ptt *bool `protobuf:"varint,6,opt,name=ptt" json:"ptt,omitempty"` - MediaKey []byte `protobuf:"bytes,7,opt,name=mediaKey" json:"mediaKey,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,8,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` - DirectPath *string `protobuf:"bytes,9,opt,name=directPath" json:"directPath,omitempty"` - MediaKeyTimestamp *int64 `protobuf:"varint,10,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` - StreamingSidecar []byte `protobuf:"bytes,18,opt,name=streamingSidecar" json:"streamingSidecar,omitempty"` - Waveform []byte `protobuf:"bytes,19,opt,name=waveform" json:"waveform,omitempty"` - BackgroundArgb *uint32 `protobuf:"fixed32,20,opt,name=backgroundArgb" json:"backgroundArgb,omitempty"` - ViewOnce *bool `protobuf:"varint,21,opt,name=viewOnce" json:"viewOnce,omitempty"` -} - -func (x *AudioMessage) Reset() { - *x = AudioMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AudioMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AudioMessage) ProtoMessage() {} - -func (x *AudioMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AudioMessage.ProtoReflect.Descriptor instead. -func (*AudioMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{33} -} - -func (x *AudioMessage) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *AudioMessage) GetMimetype() string { - if x != nil && x.Mimetype != nil { - return *x.Mimetype - } - return "" -} - -func (x *AudioMessage) GetFileSha256() []byte { - if x != nil { - return x.FileSha256 - } - return nil -} - -func (x *AudioMessage) GetFileLength() uint64 { - if x != nil && x.FileLength != nil { - return *x.FileLength - } - return 0 -} - -func (x *AudioMessage) GetSeconds() uint32 { - if x != nil && x.Seconds != nil { - return *x.Seconds - } - return 0 -} - -func (x *AudioMessage) GetPtt() bool { - if x != nil && x.Ptt != nil { - return *x.Ptt - } - return false -} - -func (x *AudioMessage) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *AudioMessage) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -func (x *AudioMessage) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *AudioMessage) GetMediaKeyTimestamp() int64 { - if x != nil && x.MediaKeyTimestamp != nil { - return *x.MediaKeyTimestamp - } - return 0 -} - -func (x *AudioMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *AudioMessage) GetStreamingSidecar() []byte { - if x != nil { - return x.StreamingSidecar - } - return nil -} - -func (x *AudioMessage) GetWaveform() []byte { - if x != nil { - return x.Waveform - } - return nil -} - -func (x *AudioMessage) GetBackgroundArgb() uint32 { - if x != nil && x.BackgroundArgb != nil { - return *x.BackgroundArgb - } - return 0 -} - -func (x *AudioMessage) GetViewOnce() bool { - if x != nil && x.ViewOnce != nil { - return *x.ViewOnce - } - return false -} - -type AppStateSyncKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - KeyId *AppStateSyncKeyId `protobuf:"bytes,1,opt,name=keyId" json:"keyId,omitempty"` - KeyData *AppStateSyncKeyData `protobuf:"bytes,2,opt,name=keyData" json:"keyData,omitempty"` -} - -func (x *AppStateSyncKey) Reset() { - *x = AppStateSyncKey{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AppStateSyncKey) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AppStateSyncKey) ProtoMessage() {} - -func (x *AppStateSyncKey) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AppStateSyncKey.ProtoReflect.Descriptor instead. -func (*AppStateSyncKey) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{34} -} - -func (x *AppStateSyncKey) GetKeyId() *AppStateSyncKeyId { - if x != nil { - return x.KeyId - } - return nil -} - -func (x *AppStateSyncKey) GetKeyData() *AppStateSyncKeyData { - if x != nil { - return x.KeyData - } - return nil -} - -type AppStateSyncKeyShare struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Keys []*AppStateSyncKey `protobuf:"bytes,1,rep,name=keys" json:"keys,omitempty"` -} - -func (x *AppStateSyncKeyShare) Reset() { - *x = AppStateSyncKeyShare{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AppStateSyncKeyShare) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AppStateSyncKeyShare) ProtoMessage() {} - -func (x *AppStateSyncKeyShare) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AppStateSyncKeyShare.ProtoReflect.Descriptor instead. -func (*AppStateSyncKeyShare) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{35} -} - -func (x *AppStateSyncKeyShare) GetKeys() []*AppStateSyncKey { - if x != nil { - return x.Keys - } - return nil -} - -type AppStateSyncKeyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - KeyIds []*AppStateSyncKeyId `protobuf:"bytes,1,rep,name=keyIds" json:"keyIds,omitempty"` -} - -func (x *AppStateSyncKeyRequest) Reset() { - *x = AppStateSyncKeyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AppStateSyncKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AppStateSyncKeyRequest) ProtoMessage() {} - -func (x *AppStateSyncKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AppStateSyncKeyRequest.ProtoReflect.Descriptor instead. -func (*AppStateSyncKeyRequest) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{36} -} - -func (x *AppStateSyncKeyRequest) GetKeyIds() []*AppStateSyncKeyId { - if x != nil { - return x.KeyIds - } - return nil -} - -type AppStateSyncKeyId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - KeyId []byte `protobuf:"bytes,1,opt,name=keyId" json:"keyId,omitempty"` -} - -func (x *AppStateSyncKeyId) Reset() { - *x = AppStateSyncKeyId{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AppStateSyncKeyId) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AppStateSyncKeyId) ProtoMessage() {} - -func (x *AppStateSyncKeyId) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AppStateSyncKeyId.ProtoReflect.Descriptor instead. -func (*AppStateSyncKeyId) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{37} -} - -func (x *AppStateSyncKeyId) GetKeyId() []byte { - if x != nil { - return x.KeyId - } - return nil -} - -type AppStateSyncKeyFingerprint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RawId *uint32 `protobuf:"varint,1,opt,name=rawId" json:"rawId,omitempty"` - CurrentIndex *uint32 `protobuf:"varint,2,opt,name=currentIndex" json:"currentIndex,omitempty"` - DeviceIndexes []uint32 `protobuf:"varint,3,rep,packed,name=deviceIndexes" json:"deviceIndexes,omitempty"` -} - -func (x *AppStateSyncKeyFingerprint) Reset() { - *x = AppStateSyncKeyFingerprint{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AppStateSyncKeyFingerprint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AppStateSyncKeyFingerprint) ProtoMessage() {} - -func (x *AppStateSyncKeyFingerprint) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AppStateSyncKeyFingerprint.ProtoReflect.Descriptor instead. -func (*AppStateSyncKeyFingerprint) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{38} -} - -func (x *AppStateSyncKeyFingerprint) GetRawId() uint32 { - if x != nil && x.RawId != nil { - return *x.RawId - } - return 0 -} - -func (x *AppStateSyncKeyFingerprint) GetCurrentIndex() uint32 { - if x != nil && x.CurrentIndex != nil { - return *x.CurrentIndex - } - return 0 -} - -func (x *AppStateSyncKeyFingerprint) GetDeviceIndexes() []uint32 { - if x != nil { - return x.DeviceIndexes - } - return nil -} - -type AppStateSyncKeyData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - KeyData []byte `protobuf:"bytes,1,opt,name=keyData" json:"keyData,omitempty"` - Fingerprint *AppStateSyncKeyFingerprint `protobuf:"bytes,2,opt,name=fingerprint" json:"fingerprint,omitempty"` - Timestamp *int64 `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"` -} - -func (x *AppStateSyncKeyData) Reset() { - *x = AppStateSyncKeyData{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AppStateSyncKeyData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AppStateSyncKeyData) ProtoMessage() {} - -func (x *AppStateSyncKeyData) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AppStateSyncKeyData.ProtoReflect.Descriptor instead. -func (*AppStateSyncKeyData) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{39} -} - -func (x *AppStateSyncKeyData) GetKeyData() []byte { - if x != nil { - return x.KeyData - } - return nil -} - -func (x *AppStateSyncKeyData) GetFingerprint() *AppStateSyncKeyFingerprint { - if x != nil { - return x.Fingerprint - } - return nil -} - -func (x *AppStateSyncKeyData) GetTimestamp() int64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -type AppStateFatalExceptionNotification struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CollectionNames []string `protobuf:"bytes,1,rep,name=collectionNames" json:"collectionNames,omitempty"` - Timestamp *int64 `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"` -} - -func (x *AppStateFatalExceptionNotification) Reset() { - *x = AppStateFatalExceptionNotification{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AppStateFatalExceptionNotification) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AppStateFatalExceptionNotification) ProtoMessage() {} - -func (x *AppStateFatalExceptionNotification) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AppStateFatalExceptionNotification.ProtoReflect.Descriptor instead. -func (*AppStateFatalExceptionNotification) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{40} -} - -func (x *AppStateFatalExceptionNotification) GetCollectionNames() []string { - if x != nil { - return x.CollectionNames - } - return nil -} - -func (x *AppStateFatalExceptionNotification) GetTimestamp() int64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -type Location struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DegreesLatitude *float64 `protobuf:"fixed64,1,opt,name=degreesLatitude" json:"degreesLatitude,omitempty"` - DegreesLongitude *float64 `protobuf:"fixed64,2,opt,name=degreesLongitude" json:"degreesLongitude,omitempty"` - Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` -} - -func (x *Location) Reset() { - *x = Location{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Location) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Location) ProtoMessage() {} - -func (x *Location) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Location.ProtoReflect.Descriptor instead. -func (*Location) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{41} -} - -func (x *Location) GetDegreesLatitude() float64 { - if x != nil && x.DegreesLatitude != nil { - return *x.DegreesLatitude - } - return 0 -} - -func (x *Location) GetDegreesLongitude() float64 { - if x != nil && x.DegreesLongitude != nil { - return *x.DegreesLongitude - } - return 0 -} - -func (x *Location) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -type InteractiveAnnotation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PolygonVertices []*Point `protobuf:"bytes,1,rep,name=polygonVertices" json:"polygonVertices,omitempty"` - ShouldSkipConfirmation *bool `protobuf:"varint,4,opt,name=shouldSkipConfirmation" json:"shouldSkipConfirmation,omitempty"` - // Types that are assignable to Action: - // - // *InteractiveAnnotation_Location - // *InteractiveAnnotation_Newsletter - Action isInteractiveAnnotation_Action `protobuf_oneof:"action"` -} - -func (x *InteractiveAnnotation) Reset() { - *x = InteractiveAnnotation{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveAnnotation) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveAnnotation) ProtoMessage() {} - -func (x *InteractiveAnnotation) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveAnnotation.ProtoReflect.Descriptor instead. -func (*InteractiveAnnotation) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{42} -} - -func (x *InteractiveAnnotation) GetPolygonVertices() []*Point { - if x != nil { - return x.PolygonVertices - } - return nil -} - -func (x *InteractiveAnnotation) GetShouldSkipConfirmation() bool { - if x != nil && x.ShouldSkipConfirmation != nil { - return *x.ShouldSkipConfirmation - } - return false -} - -func (m *InteractiveAnnotation) GetAction() isInteractiveAnnotation_Action { - if m != nil { - return m.Action - } - return nil -} - -func (x *InteractiveAnnotation) GetLocation() *Location { - if x, ok := x.GetAction().(*InteractiveAnnotation_Location); ok { - return x.Location - } - return nil -} - -func (x *InteractiveAnnotation) GetNewsletter() *ForwardedNewsletterMessageInfo { - if x, ok := x.GetAction().(*InteractiveAnnotation_Newsletter); ok { - return x.Newsletter - } - return nil -} - -type isInteractiveAnnotation_Action interface { - isInteractiveAnnotation_Action() -} - -type InteractiveAnnotation_Location struct { - Location *Location `protobuf:"bytes,2,opt,name=location,oneof"` -} - -type InteractiveAnnotation_Newsletter struct { - Newsletter *ForwardedNewsletterMessageInfo `protobuf:"bytes,3,opt,name=newsletter,oneof"` -} - -func (*InteractiveAnnotation_Location) isInteractiveAnnotation_Action() {} - -func (*InteractiveAnnotation_Newsletter) isInteractiveAnnotation_Action() {} - -type HydratedTemplateButton struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Index *uint32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"` - // Types that are assignable to HydratedButton: - // - // *HydratedTemplateButton_QuickReplyButton - // *HydratedTemplateButton_UrlButton - // *HydratedTemplateButton_CallButton - HydratedButton isHydratedTemplateButton_HydratedButton `protobuf_oneof:"hydratedButton"` -} - -func (x *HydratedTemplateButton) Reset() { - *x = HydratedTemplateButton{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HydratedTemplateButton) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HydratedTemplateButton) ProtoMessage() {} - -func (x *HydratedTemplateButton) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HydratedTemplateButton.ProtoReflect.Descriptor instead. -func (*HydratedTemplateButton) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{43} -} - -func (x *HydratedTemplateButton) GetIndex() uint32 { - if x != nil && x.Index != nil { - return *x.Index - } - return 0 -} - -func (m *HydratedTemplateButton) GetHydratedButton() isHydratedTemplateButton_HydratedButton { - if m != nil { - return m.HydratedButton - } - return nil -} - -func (x *HydratedTemplateButton) GetQuickReplyButton() *HydratedTemplateButton_HydratedQuickReplyButton { - if x, ok := x.GetHydratedButton().(*HydratedTemplateButton_QuickReplyButton); ok { - return x.QuickReplyButton - } - return nil -} - -func (x *HydratedTemplateButton) GetUrlButton() *HydratedTemplateButton_HydratedURLButton { - if x, ok := x.GetHydratedButton().(*HydratedTemplateButton_UrlButton); ok { - return x.UrlButton - } - return nil -} - -func (x *HydratedTemplateButton) GetCallButton() *HydratedTemplateButton_HydratedCallButton { - if x, ok := x.GetHydratedButton().(*HydratedTemplateButton_CallButton); ok { - return x.CallButton - } - return nil -} - -type isHydratedTemplateButton_HydratedButton interface { - isHydratedTemplateButton_HydratedButton() -} - -type HydratedTemplateButton_QuickReplyButton struct { - QuickReplyButton *HydratedTemplateButton_HydratedQuickReplyButton `protobuf:"bytes,1,opt,name=quickReplyButton,oneof"` -} - -type HydratedTemplateButton_UrlButton struct { - UrlButton *HydratedTemplateButton_HydratedURLButton `protobuf:"bytes,2,opt,name=urlButton,oneof"` -} - -type HydratedTemplateButton_CallButton struct { - CallButton *HydratedTemplateButton_HydratedCallButton `protobuf:"bytes,3,opt,name=callButton,oneof"` -} - -func (*HydratedTemplateButton_QuickReplyButton) isHydratedTemplateButton_HydratedButton() {} - -func (*HydratedTemplateButton_UrlButton) isHydratedTemplateButton_HydratedButton() {} - -func (*HydratedTemplateButton_CallButton) isHydratedTemplateButton_HydratedButton() {} - -type GroupMention struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupJid *string `protobuf:"bytes,1,opt,name=groupJid" json:"groupJid,omitempty"` - GroupSubject *string `protobuf:"bytes,2,opt,name=groupSubject" json:"groupSubject,omitempty"` -} - -func (x *GroupMention) Reset() { - *x = GroupMention{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupMention) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupMention) ProtoMessage() {} - -func (x *GroupMention) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupMention.ProtoReflect.Descriptor instead. -func (*GroupMention) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{44} -} - -func (x *GroupMention) GetGroupJid() string { - if x != nil && x.GroupJid != nil { - return *x.GroupJid - } - return "" -} - -func (x *GroupMention) GetGroupSubject() string { - if x != nil && x.GroupSubject != nil { - return *x.GroupSubject - } - return "" -} - -type DisappearingMode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Initiator *DisappearingMode_Initiator `protobuf:"varint,1,opt,name=initiator,enum=defproto.DisappearingMode_Initiator" json:"initiator,omitempty"` - Trigger *DisappearingMode_Trigger `protobuf:"varint,2,opt,name=trigger,enum=defproto.DisappearingMode_Trigger" json:"trigger,omitempty"` - InitiatorDeviceJid *string `protobuf:"bytes,3,opt,name=initiatorDeviceJid" json:"initiatorDeviceJid,omitempty"` - InitiatedByMe *bool `protobuf:"varint,4,opt,name=initiatedByMe" json:"initiatedByMe,omitempty"` -} - -func (x *DisappearingMode) Reset() { - *x = DisappearingMode{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DisappearingMode) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DisappearingMode) ProtoMessage() {} - -func (x *DisappearingMode) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DisappearingMode.ProtoReflect.Descriptor instead. -func (*DisappearingMode) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{45} -} - -func (x *DisappearingMode) GetInitiator() DisappearingMode_Initiator { - if x != nil && x.Initiator != nil { - return *x.Initiator - } - return DisappearingMode_CHANGED_IN_CHAT -} - -func (x *DisappearingMode) GetTrigger() DisappearingMode_Trigger { - if x != nil && x.Trigger != nil { - return *x.Trigger - } - return DisappearingMode_UNKNOWN -} - -func (x *DisappearingMode) GetInitiatorDeviceJid() string { - if x != nil && x.InitiatorDeviceJid != nil { - return *x.InitiatorDeviceJid - } - return "" -} - -func (x *DisappearingMode) GetInitiatedByMe() bool { - if x != nil && x.InitiatedByMe != nil { - return *x.InitiatedByMe - } - return false -} - -type DeviceListMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SenderKeyHash []byte `protobuf:"bytes,1,opt,name=senderKeyHash" json:"senderKeyHash,omitempty"` - SenderTimestamp *uint64 `protobuf:"varint,2,opt,name=senderTimestamp" json:"senderTimestamp,omitempty"` - SenderKeyIndexes []uint32 `protobuf:"varint,3,rep,packed,name=senderKeyIndexes" json:"senderKeyIndexes,omitempty"` - SenderAccountType *ADVEncryptionType `protobuf:"varint,4,opt,name=senderAccountType,enum=defproto.ADVEncryptionType" json:"senderAccountType,omitempty"` - ReceiverAccountType *ADVEncryptionType `protobuf:"varint,5,opt,name=receiverAccountType,enum=defproto.ADVEncryptionType" json:"receiverAccountType,omitempty"` - RecipientKeyHash []byte `protobuf:"bytes,8,opt,name=recipientKeyHash" json:"recipientKeyHash,omitempty"` - RecipientTimestamp *uint64 `protobuf:"varint,9,opt,name=recipientTimestamp" json:"recipientTimestamp,omitempty"` - RecipientKeyIndexes []uint32 `protobuf:"varint,10,rep,packed,name=recipientKeyIndexes" json:"recipientKeyIndexes,omitempty"` -} - -func (x *DeviceListMetadata) Reset() { - *x = DeviceListMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeviceListMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeviceListMetadata) ProtoMessage() {} - -func (x *DeviceListMetadata) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeviceListMetadata.ProtoReflect.Descriptor instead. -func (*DeviceListMetadata) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{46} -} - -func (x *DeviceListMetadata) GetSenderKeyHash() []byte { - if x != nil { - return x.SenderKeyHash - } - return nil -} - -func (x *DeviceListMetadata) GetSenderTimestamp() uint64 { - if x != nil && x.SenderTimestamp != nil { - return *x.SenderTimestamp - } - return 0 -} - -func (x *DeviceListMetadata) GetSenderKeyIndexes() []uint32 { - if x != nil { - return x.SenderKeyIndexes - } - return nil -} - -func (x *DeviceListMetadata) GetSenderAccountType() ADVEncryptionType { - if x != nil && x.SenderAccountType != nil { - return *x.SenderAccountType - } - return ADVEncryptionType_E2EE -} - -func (x *DeviceListMetadata) GetReceiverAccountType() ADVEncryptionType { - if x != nil && x.ReceiverAccountType != nil { - return *x.ReceiverAccountType - } - return ADVEncryptionType_E2EE -} - -func (x *DeviceListMetadata) GetRecipientKeyHash() []byte { - if x != nil { - return x.RecipientKeyHash - } - return nil -} - -func (x *DeviceListMetadata) GetRecipientTimestamp() uint64 { - if x != nil && x.RecipientTimestamp != nil { - return *x.RecipientTimestamp - } - return 0 -} - -func (x *DeviceListMetadata) GetRecipientKeyIndexes() []uint32 { - if x != nil { - return x.RecipientKeyIndexes - } - return nil -} - -type ContextInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StanzaId *string `protobuf:"bytes,1,opt,name=stanzaId" json:"stanzaId,omitempty"` - Participant *string `protobuf:"bytes,2,opt,name=participant" json:"participant,omitempty"` - QuotedMessage *Message `protobuf:"bytes,3,opt,name=quotedMessage" json:"quotedMessage,omitempty"` - RemoteJid *string `protobuf:"bytes,4,opt,name=remoteJid" json:"remoteJid,omitempty"` - MentionedJid []string `protobuf:"bytes,15,rep,name=mentionedJid" json:"mentionedJid,omitempty"` - ConversionSource *string `protobuf:"bytes,18,opt,name=conversionSource" json:"conversionSource,omitempty"` - ConversionData []byte `protobuf:"bytes,19,opt,name=conversionData" json:"conversionData,omitempty"` - ConversionDelaySeconds *uint32 `protobuf:"varint,20,opt,name=conversionDelaySeconds" json:"conversionDelaySeconds,omitempty"` - ForwardingScore *uint32 `protobuf:"varint,21,opt,name=forwardingScore" json:"forwardingScore,omitempty"` - IsForwarded *bool `protobuf:"varint,22,opt,name=isForwarded" json:"isForwarded,omitempty"` - QuotedAd *ContextInfo_AdReplyInfo `protobuf:"bytes,23,opt,name=quotedAd" json:"quotedAd,omitempty"` - PlaceholderKey *MessageKey `protobuf:"bytes,24,opt,name=placeholderKey" json:"placeholderKey,omitempty"` - Expiration *uint32 `protobuf:"varint,25,opt,name=expiration" json:"expiration,omitempty"` - EphemeralSettingTimestamp *int64 `protobuf:"varint,26,opt,name=ephemeralSettingTimestamp" json:"ephemeralSettingTimestamp,omitempty"` - EphemeralSharedSecret []byte `protobuf:"bytes,27,opt,name=ephemeralSharedSecret" json:"ephemeralSharedSecret,omitempty"` - ExternalAdReply *ContextInfo_ExternalAdReplyInfo `protobuf:"bytes,28,opt,name=externalAdReply" json:"externalAdReply,omitempty"` - EntryPointConversionSource *string `protobuf:"bytes,29,opt,name=entryPointConversionSource" json:"entryPointConversionSource,omitempty"` - EntryPointConversionApp *string `protobuf:"bytes,30,opt,name=entryPointConversionApp" json:"entryPointConversionApp,omitempty"` - EntryPointConversionDelaySeconds *uint32 `protobuf:"varint,31,opt,name=entryPointConversionDelaySeconds" json:"entryPointConversionDelaySeconds,omitempty"` - DisappearingMode *DisappearingMode `protobuf:"bytes,32,opt,name=disappearingMode" json:"disappearingMode,omitempty"` - ActionLink *ActionLink `protobuf:"bytes,33,opt,name=actionLink" json:"actionLink,omitempty"` - GroupSubject *string `protobuf:"bytes,34,opt,name=groupSubject" json:"groupSubject,omitempty"` - ParentGroupJid *string `protobuf:"bytes,35,opt,name=parentGroupJid" json:"parentGroupJid,omitempty"` - TrustBannerType *string `protobuf:"bytes,37,opt,name=trustBannerType" json:"trustBannerType,omitempty"` - TrustBannerAction *uint32 `protobuf:"varint,38,opt,name=trustBannerAction" json:"trustBannerAction,omitempty"` - IsSampled *bool `protobuf:"varint,39,opt,name=isSampled" json:"isSampled,omitempty"` - GroupMentions []*GroupMention `protobuf:"bytes,40,rep,name=groupMentions" json:"groupMentions,omitempty"` - Utm *ContextInfo_UTMInfo `protobuf:"bytes,41,opt,name=utm" json:"utm,omitempty"` - ForwardedNewsletterMessageInfo *ForwardedNewsletterMessageInfo `protobuf:"bytes,43,opt,name=forwardedNewsletterMessageInfo" json:"forwardedNewsletterMessageInfo,omitempty"` - BusinessMessageForwardInfo *ContextInfo_BusinessMessageForwardInfo `protobuf:"bytes,44,opt,name=businessMessageForwardInfo" json:"businessMessageForwardInfo,omitempty"` - SmbClientCampaignId *string `protobuf:"bytes,45,opt,name=smbClientCampaignId" json:"smbClientCampaignId,omitempty"` - SmbServerCampaignId *string `protobuf:"bytes,46,opt,name=smbServerCampaignId" json:"smbServerCampaignId,omitempty"` - DataSharingContext *ContextInfo_DataSharingContext `protobuf:"bytes,47,opt,name=dataSharingContext" json:"dataSharingContext,omitempty"` -} - -func (x *ContextInfo) Reset() { - *x = ContextInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContextInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContextInfo) ProtoMessage() {} - -func (x *ContextInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContextInfo.ProtoReflect.Descriptor instead. -func (*ContextInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{47} -} - -func (x *ContextInfo) GetStanzaId() string { - if x != nil && x.StanzaId != nil { - return *x.StanzaId - } - return "" -} - -func (x *ContextInfo) GetParticipant() string { - if x != nil && x.Participant != nil { - return *x.Participant - } - return "" -} - -func (x *ContextInfo) GetQuotedMessage() *Message { - if x != nil { - return x.QuotedMessage - } - return nil -} - -func (x *ContextInfo) GetRemoteJid() string { - if x != nil && x.RemoteJid != nil { - return *x.RemoteJid - } - return "" -} - -func (x *ContextInfo) GetMentionedJid() []string { - if x != nil { - return x.MentionedJid - } - return nil -} - -func (x *ContextInfo) GetConversionSource() string { - if x != nil && x.ConversionSource != nil { - return *x.ConversionSource - } - return "" -} - -func (x *ContextInfo) GetConversionData() []byte { - if x != nil { - return x.ConversionData - } - return nil -} - -func (x *ContextInfo) GetConversionDelaySeconds() uint32 { - if x != nil && x.ConversionDelaySeconds != nil { - return *x.ConversionDelaySeconds - } - return 0 -} - -func (x *ContextInfo) GetForwardingScore() uint32 { - if x != nil && x.ForwardingScore != nil { - return *x.ForwardingScore - } - return 0 -} - -func (x *ContextInfo) GetIsForwarded() bool { - if x != nil && x.IsForwarded != nil { - return *x.IsForwarded - } - return false -} - -func (x *ContextInfo) GetQuotedAd() *ContextInfo_AdReplyInfo { - if x != nil { - return x.QuotedAd - } - return nil -} - -func (x *ContextInfo) GetPlaceholderKey() *MessageKey { - if x != nil { - return x.PlaceholderKey - } - return nil -} - -func (x *ContextInfo) GetExpiration() uint32 { - if x != nil && x.Expiration != nil { - return *x.Expiration - } - return 0 -} - -func (x *ContextInfo) GetEphemeralSettingTimestamp() int64 { - if x != nil && x.EphemeralSettingTimestamp != nil { - return *x.EphemeralSettingTimestamp - } - return 0 -} - -func (x *ContextInfo) GetEphemeralSharedSecret() []byte { - if x != nil { - return x.EphemeralSharedSecret - } - return nil -} - -func (x *ContextInfo) GetExternalAdReply() *ContextInfo_ExternalAdReplyInfo { - if x != nil { - return x.ExternalAdReply - } - return nil -} - -func (x *ContextInfo) GetEntryPointConversionSource() string { - if x != nil && x.EntryPointConversionSource != nil { - return *x.EntryPointConversionSource - } - return "" -} - -func (x *ContextInfo) GetEntryPointConversionApp() string { - if x != nil && x.EntryPointConversionApp != nil { - return *x.EntryPointConversionApp - } - return "" -} - -func (x *ContextInfo) GetEntryPointConversionDelaySeconds() uint32 { - if x != nil && x.EntryPointConversionDelaySeconds != nil { - return *x.EntryPointConversionDelaySeconds - } - return 0 -} - -func (x *ContextInfo) GetDisappearingMode() *DisappearingMode { - if x != nil { - return x.DisappearingMode - } - return nil -} - -func (x *ContextInfo) GetActionLink() *ActionLink { - if x != nil { - return x.ActionLink - } - return nil -} - -func (x *ContextInfo) GetGroupSubject() string { - if x != nil && x.GroupSubject != nil { - return *x.GroupSubject - } - return "" -} - -func (x *ContextInfo) GetParentGroupJid() string { - if x != nil && x.ParentGroupJid != nil { - return *x.ParentGroupJid - } - return "" -} - -func (x *ContextInfo) GetTrustBannerType() string { - if x != nil && x.TrustBannerType != nil { - return *x.TrustBannerType - } - return "" -} - -func (x *ContextInfo) GetTrustBannerAction() uint32 { - if x != nil && x.TrustBannerAction != nil { - return *x.TrustBannerAction - } - return 0 -} - -func (x *ContextInfo) GetIsSampled() bool { - if x != nil && x.IsSampled != nil { - return *x.IsSampled - } - return false -} - -func (x *ContextInfo) GetGroupMentions() []*GroupMention { - if x != nil { - return x.GroupMentions - } - return nil -} - -func (x *ContextInfo) GetUtm() *ContextInfo_UTMInfo { - if x != nil { - return x.Utm - } - return nil -} - -func (x *ContextInfo) GetForwardedNewsletterMessageInfo() *ForwardedNewsletterMessageInfo { - if x != nil { - return x.ForwardedNewsletterMessageInfo - } - return nil -} - -func (x *ContextInfo) GetBusinessMessageForwardInfo() *ContextInfo_BusinessMessageForwardInfo { - if x != nil { - return x.BusinessMessageForwardInfo - } - return nil -} - -func (x *ContextInfo) GetSmbClientCampaignId() string { - if x != nil && x.SmbClientCampaignId != nil { - return *x.SmbClientCampaignId - } - return "" -} - -func (x *ContextInfo) GetSmbServerCampaignId() string { - if x != nil && x.SmbServerCampaignId != nil { - return *x.SmbServerCampaignId - } - return "" -} - -func (x *ContextInfo) GetDataSharingContext() *ContextInfo_DataSharingContext { - if x != nil { - return x.DataSharingContext - } - return nil -} - -type ForwardedNewsletterMessageInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NewsletterJid *string `protobuf:"bytes,1,opt,name=newsletterJid" json:"newsletterJid,omitempty"` - ServerMessageId *int32 `protobuf:"varint,2,opt,name=serverMessageId" json:"serverMessageId,omitempty"` - NewsletterName *string `protobuf:"bytes,3,opt,name=newsletterName" json:"newsletterName,omitempty"` - ContentType *ForwardedNewsletterMessageInfo_ContentType `protobuf:"varint,4,opt,name=contentType,enum=defproto.ForwardedNewsletterMessageInfo_ContentType" json:"contentType,omitempty"` - AccessibilityText *string `protobuf:"bytes,5,opt,name=accessibilityText" json:"accessibilityText,omitempty"` -} - -func (x *ForwardedNewsletterMessageInfo) Reset() { - *x = ForwardedNewsletterMessageInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ForwardedNewsletterMessageInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ForwardedNewsletterMessageInfo) ProtoMessage() {} - -func (x *ForwardedNewsletterMessageInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ForwardedNewsletterMessageInfo.ProtoReflect.Descriptor instead. -func (*ForwardedNewsletterMessageInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{48} -} - -func (x *ForwardedNewsletterMessageInfo) GetNewsletterJid() string { - if x != nil && x.NewsletterJid != nil { - return *x.NewsletterJid - } - return "" -} - -func (x *ForwardedNewsletterMessageInfo) GetServerMessageId() int32 { - if x != nil && x.ServerMessageId != nil { - return *x.ServerMessageId - } - return 0 -} - -func (x *ForwardedNewsletterMessageInfo) GetNewsletterName() string { - if x != nil && x.NewsletterName != nil { - return *x.NewsletterName - } - return "" -} - -func (x *ForwardedNewsletterMessageInfo) GetContentType() ForwardedNewsletterMessageInfo_ContentType { - if x != nil && x.ContentType != nil { - return *x.ContentType - } - return ForwardedNewsletterMessageInfo_UPDATE -} - -func (x *ForwardedNewsletterMessageInfo) GetAccessibilityText() string { - if x != nil && x.AccessibilityText != nil { - return *x.AccessibilityText - } - return "" -} - -type BotSuggestedPromptMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SuggestedPrompts []string `protobuf:"bytes,1,rep,name=suggestedPrompts" json:"suggestedPrompts,omitempty"` - SelectedPromptIndex *uint32 `protobuf:"varint,2,opt,name=selectedPromptIndex" json:"selectedPromptIndex,omitempty"` -} - -func (x *BotSuggestedPromptMetadata) Reset() { - *x = BotSuggestedPromptMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BotSuggestedPromptMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BotSuggestedPromptMetadata) ProtoMessage() {} - -func (x *BotSuggestedPromptMetadata) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BotSuggestedPromptMetadata.ProtoReflect.Descriptor instead. -func (*BotSuggestedPromptMetadata) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{49} -} - -func (x *BotSuggestedPromptMetadata) GetSuggestedPrompts() []string { - if x != nil { - return x.SuggestedPrompts - } - return nil -} - -func (x *BotSuggestedPromptMetadata) GetSelectedPromptIndex() uint32 { - if x != nil && x.SelectedPromptIndex != nil { - return *x.SelectedPromptIndex - } - return 0 -} - -type BotPluginMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Provider *BotPluginMetadata_SearchProvider `protobuf:"varint,1,opt,name=provider,enum=defproto.BotPluginMetadata_SearchProvider" json:"provider,omitempty"` - PluginType *BotPluginMetadata_PluginType `protobuf:"varint,2,opt,name=pluginType,enum=defproto.BotPluginMetadata_PluginType" json:"pluginType,omitempty"` - ThumbnailCdnUrl *string `protobuf:"bytes,3,opt,name=thumbnailCdnUrl" json:"thumbnailCdnUrl,omitempty"` - ProfilePhotoCdnUrl *string `protobuf:"bytes,4,opt,name=profilePhotoCdnUrl" json:"profilePhotoCdnUrl,omitempty"` - SearchProviderUrl *string `protobuf:"bytes,5,opt,name=searchProviderUrl" json:"searchProviderUrl,omitempty"` - ReferenceIndex *uint32 `protobuf:"varint,6,opt,name=referenceIndex" json:"referenceIndex,omitempty"` -} - -func (x *BotPluginMetadata) Reset() { - *x = BotPluginMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BotPluginMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BotPluginMetadata) ProtoMessage() {} - -func (x *BotPluginMetadata) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BotPluginMetadata.ProtoReflect.Descriptor instead. -func (*BotPluginMetadata) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{50} -} - -func (x *BotPluginMetadata) GetProvider() BotPluginMetadata_SearchProvider { - if x != nil && x.Provider != nil { - return *x.Provider - } - return BotPluginMetadata_BING -} - -func (x *BotPluginMetadata) GetPluginType() BotPluginMetadata_PluginType { - if x != nil && x.PluginType != nil { - return *x.PluginType - } - return BotPluginMetadata_REELS -} - -func (x *BotPluginMetadata) GetThumbnailCdnUrl() string { - if x != nil && x.ThumbnailCdnUrl != nil { - return *x.ThumbnailCdnUrl - } - return "" -} - -func (x *BotPluginMetadata) GetProfilePhotoCdnUrl() string { - if x != nil && x.ProfilePhotoCdnUrl != nil { - return *x.ProfilePhotoCdnUrl - } - return "" -} - -func (x *BotPluginMetadata) GetSearchProviderUrl() string { - if x != nil && x.SearchProviderUrl != nil { - return *x.SearchProviderUrl - } - return "" -} - -func (x *BotPluginMetadata) GetReferenceIndex() uint32 { - if x != nil && x.ReferenceIndex != nil { - return *x.ReferenceIndex - } - return 0 -} - -type BotMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AvatarMetadata *BotAvatarMetadata `protobuf:"bytes,1,opt,name=avatarMetadata" json:"avatarMetadata,omitempty"` - PersonaId *string `protobuf:"bytes,2,opt,name=personaId" json:"personaId,omitempty"` - PluginMetadata *BotPluginMetadata `protobuf:"bytes,3,opt,name=pluginMetadata" json:"pluginMetadata,omitempty"` - SuggestedPromptMetadata *BotSuggestedPromptMetadata `protobuf:"bytes,4,opt,name=suggestedPromptMetadata" json:"suggestedPromptMetadata,omitempty"` -} - -func (x *BotMetadata) Reset() { - *x = BotMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BotMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BotMetadata) ProtoMessage() {} - -func (x *BotMetadata) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BotMetadata.ProtoReflect.Descriptor instead. -func (*BotMetadata) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{51} -} - -func (x *BotMetadata) GetAvatarMetadata() *BotAvatarMetadata { - if x != nil { - return x.AvatarMetadata - } - return nil -} - -func (x *BotMetadata) GetPersonaId() string { - if x != nil && x.PersonaId != nil { - return *x.PersonaId - } - return "" -} - -func (x *BotMetadata) GetPluginMetadata() *BotPluginMetadata { - if x != nil { - return x.PluginMetadata - } - return nil -} - -func (x *BotMetadata) GetSuggestedPromptMetadata() *BotSuggestedPromptMetadata { - if x != nil { - return x.SuggestedPromptMetadata - } - return nil -} - -type BotAvatarMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Sentiment *uint32 `protobuf:"varint,1,opt,name=sentiment" json:"sentiment,omitempty"` - BehaviorGraph *string `protobuf:"bytes,2,opt,name=behaviorGraph" json:"behaviorGraph,omitempty"` - Action *uint32 `protobuf:"varint,3,opt,name=action" json:"action,omitempty"` - Intensity *uint32 `protobuf:"varint,4,opt,name=intensity" json:"intensity,omitempty"` - WordCount *uint32 `protobuf:"varint,5,opt,name=wordCount" json:"wordCount,omitempty"` -} - -func (x *BotAvatarMetadata) Reset() { - *x = BotAvatarMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BotAvatarMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BotAvatarMetadata) ProtoMessage() {} - -func (x *BotAvatarMetadata) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BotAvatarMetadata.ProtoReflect.Descriptor instead. -func (*BotAvatarMetadata) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{52} -} - -func (x *BotAvatarMetadata) GetSentiment() uint32 { - if x != nil && x.Sentiment != nil { - return *x.Sentiment - } - return 0 -} - -func (x *BotAvatarMetadata) GetBehaviorGraph() string { - if x != nil && x.BehaviorGraph != nil { - return *x.BehaviorGraph - } - return "" -} - -func (x *BotAvatarMetadata) GetAction() uint32 { - if x != nil && x.Action != nil { - return *x.Action - } - return 0 -} - -func (x *BotAvatarMetadata) GetIntensity() uint32 { - if x != nil && x.Intensity != nil { - return *x.Intensity - } - return 0 -} - -func (x *BotAvatarMetadata) GetWordCount() uint32 { - if x != nil && x.WordCount != nil { - return *x.WordCount - } - return 0 -} - -type ActionLink struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` - ButtonTitle *string `protobuf:"bytes,2,opt,name=buttonTitle" json:"buttonTitle,omitempty"` -} - -func (x *ActionLink) Reset() { - *x = ActionLink{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ActionLink) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ActionLink) ProtoMessage() {} - -func (x *ActionLink) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ActionLink.ProtoReflect.Descriptor instead. -func (*ActionLink) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{53} -} - -func (x *ActionLink) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *ActionLink) GetButtonTitle() string { - if x != nil && x.ButtonTitle != nil { - return *x.ButtonTitle - } - return "" -} - -type TemplateButton struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Index *uint32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"` - // Types that are assignable to Button: - // - // *TemplateButton_QuickReplyButton_ - // *TemplateButton_UrlButton - // *TemplateButton_CallButton_ - Button isTemplateButton_Button `protobuf_oneof:"button"` -} - -func (x *TemplateButton) Reset() { - *x = TemplateButton{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TemplateButton) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TemplateButton) ProtoMessage() {} - -func (x *TemplateButton) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TemplateButton.ProtoReflect.Descriptor instead. -func (*TemplateButton) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{54} -} - -func (x *TemplateButton) GetIndex() uint32 { - if x != nil && x.Index != nil { - return *x.Index - } - return 0 -} - -func (m *TemplateButton) GetButton() isTemplateButton_Button { - if m != nil { - return m.Button - } - return nil -} - -func (x *TemplateButton) GetQuickReplyButton() *TemplateButton_QuickReplyButton { - if x, ok := x.GetButton().(*TemplateButton_QuickReplyButton_); ok { - return x.QuickReplyButton - } - return nil -} - -func (x *TemplateButton) GetUrlButton() *TemplateButton_URLButton { - if x, ok := x.GetButton().(*TemplateButton_UrlButton); ok { - return x.UrlButton - } - return nil -} - -func (x *TemplateButton) GetCallButton() *TemplateButton_CallButton { - if x, ok := x.GetButton().(*TemplateButton_CallButton_); ok { - return x.CallButton - } - return nil -} - -type isTemplateButton_Button interface { - isTemplateButton_Button() -} - -type TemplateButton_QuickReplyButton_ struct { - QuickReplyButton *TemplateButton_QuickReplyButton `protobuf:"bytes,1,opt,name=quickReplyButton,oneof"` -} - -type TemplateButton_UrlButton struct { - UrlButton *TemplateButton_URLButton `protobuf:"bytes,2,opt,name=urlButton,oneof"` -} - -type TemplateButton_CallButton_ struct { - CallButton *TemplateButton_CallButton `protobuf:"bytes,3,opt,name=callButton,oneof"` -} - -func (*TemplateButton_QuickReplyButton_) isTemplateButton_Button() {} - -func (*TemplateButton_UrlButton) isTemplateButton_Button() {} - -func (*TemplateButton_CallButton_) isTemplateButton_Button() {} - -type Point struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - XDeprecated *int32 `protobuf:"varint,1,opt,name=xDeprecated" json:"xDeprecated,omitempty"` - YDeprecated *int32 `protobuf:"varint,2,opt,name=yDeprecated" json:"yDeprecated,omitempty"` - X *float64 `protobuf:"fixed64,3,opt,name=x" json:"x,omitempty"` - Y *float64 `protobuf:"fixed64,4,opt,name=y" json:"y,omitempty"` -} - -func (x *Point) Reset() { - *x = Point{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Point) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Point) ProtoMessage() {} - -func (x *Point) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Point.ProtoReflect.Descriptor instead. -func (*Point) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{55} -} - -func (x *Point) GetXDeprecated() int32 { - if x != nil && x.XDeprecated != nil { - return *x.XDeprecated - } - return 0 -} - -func (x *Point) GetYDeprecated() int32 { - if x != nil && x.YDeprecated != nil { - return *x.YDeprecated - } - return 0 -} - -func (x *Point) GetX() float64 { - if x != nil && x.X != nil { - return *x.X - } - return 0 -} - -func (x *Point) GetY() float64 { - if x != nil && x.Y != nil { - return *x.Y - } - return 0 -} - -type PaymentBackground struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - FileLength *uint64 `protobuf:"varint,2,opt,name=fileLength" json:"fileLength,omitempty"` - Width *uint32 `protobuf:"varint,3,opt,name=width" json:"width,omitempty"` - Height *uint32 `protobuf:"varint,4,opt,name=height" json:"height,omitempty"` - Mimetype *string `protobuf:"bytes,5,opt,name=mimetype" json:"mimetype,omitempty"` - PlaceholderArgb *uint32 `protobuf:"fixed32,6,opt,name=placeholderArgb" json:"placeholderArgb,omitempty"` - TextArgb *uint32 `protobuf:"fixed32,7,opt,name=textArgb" json:"textArgb,omitempty"` - SubtextArgb *uint32 `protobuf:"fixed32,8,opt,name=subtextArgb" json:"subtextArgb,omitempty"` - MediaData *PaymentBackground_MediaData `protobuf:"bytes,9,opt,name=mediaData" json:"mediaData,omitempty"` - Type *PaymentBackground_Type `protobuf:"varint,10,opt,name=type,enum=defproto.PaymentBackground_Type" json:"type,omitempty"` -} - -func (x *PaymentBackground) Reset() { - *x = PaymentBackground{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PaymentBackground) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PaymentBackground) ProtoMessage() {} - -func (x *PaymentBackground) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PaymentBackground.ProtoReflect.Descriptor instead. -func (*PaymentBackground) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{56} -} - -func (x *PaymentBackground) GetId() string { - if x != nil && x.Id != nil { - return *x.Id - } - return "" -} - -func (x *PaymentBackground) GetFileLength() uint64 { - if x != nil && x.FileLength != nil { - return *x.FileLength - } - return 0 -} - -func (x *PaymentBackground) GetWidth() uint32 { - if x != nil && x.Width != nil { - return *x.Width - } - return 0 -} - -func (x *PaymentBackground) GetHeight() uint32 { - if x != nil && x.Height != nil { - return *x.Height - } - return 0 -} - -func (x *PaymentBackground) GetMimetype() string { - if x != nil && x.Mimetype != nil { - return *x.Mimetype - } - return "" -} - -func (x *PaymentBackground) GetPlaceholderArgb() uint32 { - if x != nil && x.PlaceholderArgb != nil { - return *x.PlaceholderArgb - } - return 0 -} - -func (x *PaymentBackground) GetTextArgb() uint32 { - if x != nil && x.TextArgb != nil { - return *x.TextArgb - } - return 0 -} - -func (x *PaymentBackground) GetSubtextArgb() uint32 { - if x != nil && x.SubtextArgb != nil { - return *x.SubtextArgb - } - return 0 -} - -func (x *PaymentBackground) GetMediaData() *PaymentBackground_MediaData { - if x != nil { - return x.MediaData - } - return nil -} - -func (x *PaymentBackground) GetType() PaymentBackground_Type { - if x != nil && x.Type != nil { - return *x.Type - } - return PaymentBackground_UNKNOWN -} - -type Money struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Value *int64 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"` - Offset *uint32 `protobuf:"varint,2,opt,name=offset" json:"offset,omitempty"` - CurrencyCode *string `protobuf:"bytes,3,opt,name=currencyCode" json:"currencyCode,omitempty"` -} - -func (x *Money) Reset() { - *x = Money{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Money) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Money) ProtoMessage() {} - -func (x *Money) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Money.ProtoReflect.Descriptor instead. -func (*Money) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{57} -} - -func (x *Money) GetValue() int64 { - if x != nil && x.Value != nil { - return *x.Value - } - return 0 -} - -func (x *Money) GetOffset() uint32 { - if x != nil && x.Offset != nil { - return *x.Offset - } - return 0 -} - -func (x *Money) GetCurrencyCode() string { - if x != nil && x.CurrencyCode != nil { - return *x.CurrencyCode - } - return "" -} - -type Message struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Conversation *string `protobuf:"bytes,1,opt,name=conversation" json:"conversation,omitempty"` - SenderKeyDistributionMessage *SenderKeyDistributionMessage `protobuf:"bytes,2,opt,name=senderKeyDistributionMessage" json:"senderKeyDistributionMessage,omitempty"` - ImageMessage *ImageMessage `protobuf:"bytes,3,opt,name=imageMessage" json:"imageMessage,omitempty"` - ContactMessage *ContactMessage `protobuf:"bytes,4,opt,name=contactMessage" json:"contactMessage,omitempty"` - LocationMessage *LocationMessage `protobuf:"bytes,5,opt,name=locationMessage" json:"locationMessage,omitempty"` - ExtendedTextMessage *ExtendedTextMessage `protobuf:"bytes,6,opt,name=extendedTextMessage" json:"extendedTextMessage,omitempty"` - DocumentMessage *DocumentMessage `protobuf:"bytes,7,opt,name=documentMessage" json:"documentMessage,omitempty"` - AudioMessage *AudioMessage `protobuf:"bytes,8,opt,name=audioMessage" json:"audioMessage,omitempty"` - VideoMessage *VideoMessage `protobuf:"bytes,9,opt,name=videoMessage" json:"videoMessage,omitempty"` - Call *Call `protobuf:"bytes,10,opt,name=call" json:"call,omitempty"` - Chat *Chat `protobuf:"bytes,11,opt,name=chat" json:"chat,omitempty"` - ProtocolMessage *ProtocolMessage `protobuf:"bytes,12,opt,name=protocolMessage" json:"protocolMessage,omitempty"` - ContactsArrayMessage *ContactsArrayMessage `protobuf:"bytes,13,opt,name=contactsArrayMessage" json:"contactsArrayMessage,omitempty"` - HighlyStructuredMessage *HighlyStructuredMessage `protobuf:"bytes,14,opt,name=highlyStructuredMessage" json:"highlyStructuredMessage,omitempty"` - FastRatchetKeySenderKeyDistributionMessage *SenderKeyDistributionMessage `protobuf:"bytes,15,opt,name=fastRatchetKeySenderKeyDistributionMessage" json:"fastRatchetKeySenderKeyDistributionMessage,omitempty"` - SendPaymentMessage *SendPaymentMessage `protobuf:"bytes,16,opt,name=sendPaymentMessage" json:"sendPaymentMessage,omitempty"` - LiveLocationMessage *LiveLocationMessage `protobuf:"bytes,18,opt,name=liveLocationMessage" json:"liveLocationMessage,omitempty"` - RequestPaymentMessage *RequestPaymentMessage `protobuf:"bytes,22,opt,name=requestPaymentMessage" json:"requestPaymentMessage,omitempty"` - DeclinePaymentRequestMessage *DeclinePaymentRequestMessage `protobuf:"bytes,23,opt,name=declinePaymentRequestMessage" json:"declinePaymentRequestMessage,omitempty"` - CancelPaymentRequestMessage *CancelPaymentRequestMessage `protobuf:"bytes,24,opt,name=cancelPaymentRequestMessage" json:"cancelPaymentRequestMessage,omitempty"` - TemplateMessage *TemplateMessage `protobuf:"bytes,25,opt,name=templateMessage" json:"templateMessage,omitempty"` - StickerMessage *StickerMessage `protobuf:"bytes,26,opt,name=stickerMessage" json:"stickerMessage,omitempty"` - GroupInviteMessage *GroupInviteMessage `protobuf:"bytes,28,opt,name=groupInviteMessage" json:"groupInviteMessage,omitempty"` - TemplateButtonReplyMessage *TemplateButtonReplyMessage `protobuf:"bytes,29,opt,name=templateButtonReplyMessage" json:"templateButtonReplyMessage,omitempty"` - ProductMessage *ProductMessage `protobuf:"bytes,30,opt,name=productMessage" json:"productMessage,omitempty"` - DeviceSentMessage *DeviceSentMessage `protobuf:"bytes,31,opt,name=deviceSentMessage" json:"deviceSentMessage,omitempty"` - MessageContextInfo *MessageContextInfo `protobuf:"bytes,35,opt,name=messageContextInfo" json:"messageContextInfo,omitempty"` - ListMessage *ListMessage `protobuf:"bytes,36,opt,name=listMessage" json:"listMessage,omitempty"` - ViewOnceMessage *FutureProofMessage `protobuf:"bytes,37,opt,name=viewOnceMessage" json:"viewOnceMessage,omitempty"` - OrderMessage *OrderMessage `protobuf:"bytes,38,opt,name=orderMessage" json:"orderMessage,omitempty"` - ListResponseMessage *ListResponseMessage `protobuf:"bytes,39,opt,name=listResponseMessage" json:"listResponseMessage,omitempty"` - EphemeralMessage *FutureProofMessage `protobuf:"bytes,40,opt,name=ephemeralMessage" json:"ephemeralMessage,omitempty"` - InvoiceMessage *InvoiceMessage `protobuf:"bytes,41,opt,name=invoiceMessage" json:"invoiceMessage,omitempty"` - ButtonsMessage *ButtonsMessage `protobuf:"bytes,42,opt,name=buttonsMessage" json:"buttonsMessage,omitempty"` - ButtonsResponseMessage *ButtonsResponseMessage `protobuf:"bytes,43,opt,name=buttonsResponseMessage" json:"buttonsResponseMessage,omitempty"` - PaymentInviteMessage *PaymentInviteMessage `protobuf:"bytes,44,opt,name=paymentInviteMessage" json:"paymentInviteMessage,omitempty"` - InteractiveMessage *InteractiveMessage `protobuf:"bytes,45,opt,name=interactiveMessage" json:"interactiveMessage,omitempty"` - ReactionMessage *ReactionMessage `protobuf:"bytes,46,opt,name=reactionMessage" json:"reactionMessage,omitempty"` - StickerSyncRmrMessage *StickerSyncRMRMessage `protobuf:"bytes,47,opt,name=stickerSyncRmrMessage" json:"stickerSyncRmrMessage,omitempty"` - InteractiveResponseMessage *InteractiveResponseMessage `protobuf:"bytes,48,opt,name=interactiveResponseMessage" json:"interactiveResponseMessage,omitempty"` - PollCreationMessage *PollCreationMessage `protobuf:"bytes,49,opt,name=pollCreationMessage" json:"pollCreationMessage,omitempty"` - PollUpdateMessage *PollUpdateMessage `protobuf:"bytes,50,opt,name=pollUpdateMessage" json:"pollUpdateMessage,omitempty"` - KeepInChatMessage *KeepInChatMessage `protobuf:"bytes,51,opt,name=keepInChatMessage" json:"keepInChatMessage,omitempty"` - DocumentWithCaptionMessage *FutureProofMessage `protobuf:"bytes,53,opt,name=documentWithCaptionMessage" json:"documentWithCaptionMessage,omitempty"` - RequestPhoneNumberMessage *RequestPhoneNumberMessage `protobuf:"bytes,54,opt,name=requestPhoneNumberMessage" json:"requestPhoneNumberMessage,omitempty"` - ViewOnceMessageV2 *FutureProofMessage `protobuf:"bytes,55,opt,name=viewOnceMessageV2" json:"viewOnceMessageV2,omitempty"` - EncReactionMessage *EncReactionMessage `protobuf:"bytes,56,opt,name=encReactionMessage" json:"encReactionMessage,omitempty"` - EditedMessage *FutureProofMessage `protobuf:"bytes,58,opt,name=editedMessage" json:"editedMessage,omitempty"` - ViewOnceMessageV2Extension *FutureProofMessage `protobuf:"bytes,59,opt,name=viewOnceMessageV2Extension" json:"viewOnceMessageV2Extension,omitempty"` - PollCreationMessageV2 *PollCreationMessage `protobuf:"bytes,60,opt,name=pollCreationMessageV2" json:"pollCreationMessageV2,omitempty"` - ScheduledCallCreationMessage *ScheduledCallCreationMessage `protobuf:"bytes,61,opt,name=scheduledCallCreationMessage" json:"scheduledCallCreationMessage,omitempty"` - GroupMentionedMessage *FutureProofMessage `protobuf:"bytes,62,opt,name=groupMentionedMessage" json:"groupMentionedMessage,omitempty"` - PinInChatMessage *PinInChatMessage `protobuf:"bytes,63,opt,name=pinInChatMessage" json:"pinInChatMessage,omitempty"` - PollCreationMessageV3 *PollCreationMessage `protobuf:"bytes,64,opt,name=pollCreationMessageV3" json:"pollCreationMessageV3,omitempty"` - ScheduledCallEditMessage *ScheduledCallEditMessage `protobuf:"bytes,65,opt,name=scheduledCallEditMessage" json:"scheduledCallEditMessage,omitempty"` - PtvMessage *VideoMessage `protobuf:"bytes,66,opt,name=ptvMessage" json:"ptvMessage,omitempty"` - BotInvokeMessage *FutureProofMessage `protobuf:"bytes,67,opt,name=botInvokeMessage" json:"botInvokeMessage,omitempty"` - CallLogMesssage *CallLogMessage `protobuf:"bytes,69,opt,name=callLogMesssage" json:"callLogMesssage,omitempty"` - MessageHistoryBundle *MessageHistoryBundle `protobuf:"bytes,70,opt,name=messageHistoryBundle" json:"messageHistoryBundle,omitempty"` - EncCommentMessage *EncCommentMessage `protobuf:"bytes,71,opt,name=encCommentMessage" json:"encCommentMessage,omitempty"` - BcallMessage *BCallMessage `protobuf:"bytes,72,opt,name=bcallMessage" json:"bcallMessage,omitempty"` - LottieStickerMessage *FutureProofMessage `protobuf:"bytes,74,opt,name=lottieStickerMessage" json:"lottieStickerMessage,omitempty"` - EventMessage *EventMessage `protobuf:"bytes,75,opt,name=eventMessage" json:"eventMessage,omitempty"` - EncEventResponseMessage *EncEventResponseMessage `protobuf:"bytes,76,opt,name=encEventResponseMessage" json:"encEventResponseMessage,omitempty"` - CommentMessage *CommentMessage `protobuf:"bytes,77,opt,name=commentMessage" json:"commentMessage,omitempty"` - NewsletterAdminInviteMessage *NewsletterAdminInviteMessage `protobuf:"bytes,78,opt,name=newsletterAdminInviteMessage" json:"newsletterAdminInviteMessage,omitempty"` -} - -func (x *Message) Reset() { - *x = Message{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Message) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Message) ProtoMessage() {} - -func (x *Message) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Message.ProtoReflect.Descriptor instead. -func (*Message) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{58} -} - -func (x *Message) GetConversation() string { - if x != nil && x.Conversation != nil { - return *x.Conversation - } - return "" -} - -func (x *Message) GetSenderKeyDistributionMessage() *SenderKeyDistributionMessage { - if x != nil { - return x.SenderKeyDistributionMessage - } - return nil -} - -func (x *Message) GetImageMessage() *ImageMessage { - if x != nil { - return x.ImageMessage - } - return nil -} - -func (x *Message) GetContactMessage() *ContactMessage { - if x != nil { - return x.ContactMessage - } - return nil -} - -func (x *Message) GetLocationMessage() *LocationMessage { - if x != nil { - return x.LocationMessage - } - return nil -} - -func (x *Message) GetExtendedTextMessage() *ExtendedTextMessage { - if x != nil { - return x.ExtendedTextMessage - } - return nil -} - -func (x *Message) GetDocumentMessage() *DocumentMessage { - if x != nil { - return x.DocumentMessage - } - return nil -} - -func (x *Message) GetAudioMessage() *AudioMessage { - if x != nil { - return x.AudioMessage - } - return nil -} - -func (x *Message) GetVideoMessage() *VideoMessage { - if x != nil { - return x.VideoMessage - } - return nil -} - -func (x *Message) GetCall() *Call { - if x != nil { - return x.Call - } - return nil -} - -func (x *Message) GetChat() *Chat { - if x != nil { - return x.Chat - } - return nil -} - -func (x *Message) GetProtocolMessage() *ProtocolMessage { - if x != nil { - return x.ProtocolMessage - } - return nil -} - -func (x *Message) GetContactsArrayMessage() *ContactsArrayMessage { - if x != nil { - return x.ContactsArrayMessage - } - return nil -} - -func (x *Message) GetHighlyStructuredMessage() *HighlyStructuredMessage { - if x != nil { - return x.HighlyStructuredMessage - } - return nil -} - -func (x *Message) GetFastRatchetKeySenderKeyDistributionMessage() *SenderKeyDistributionMessage { - if x != nil { - return x.FastRatchetKeySenderKeyDistributionMessage - } - return nil -} - -func (x *Message) GetSendPaymentMessage() *SendPaymentMessage { - if x != nil { - return x.SendPaymentMessage - } - return nil -} - -func (x *Message) GetLiveLocationMessage() *LiveLocationMessage { - if x != nil { - return x.LiveLocationMessage - } - return nil -} - -func (x *Message) GetRequestPaymentMessage() *RequestPaymentMessage { - if x != nil { - return x.RequestPaymentMessage - } - return nil -} - -func (x *Message) GetDeclinePaymentRequestMessage() *DeclinePaymentRequestMessage { - if x != nil { - return x.DeclinePaymentRequestMessage - } - return nil -} - -func (x *Message) GetCancelPaymentRequestMessage() *CancelPaymentRequestMessage { - if x != nil { - return x.CancelPaymentRequestMessage - } - return nil -} - -func (x *Message) GetTemplateMessage() *TemplateMessage { - if x != nil { - return x.TemplateMessage - } - return nil -} - -func (x *Message) GetStickerMessage() *StickerMessage { - if x != nil { - return x.StickerMessage - } - return nil -} - -func (x *Message) GetGroupInviteMessage() *GroupInviteMessage { - if x != nil { - return x.GroupInviteMessage - } - return nil -} - -func (x *Message) GetTemplateButtonReplyMessage() *TemplateButtonReplyMessage { - if x != nil { - return x.TemplateButtonReplyMessage - } - return nil -} - -func (x *Message) GetProductMessage() *ProductMessage { - if x != nil { - return x.ProductMessage - } - return nil -} - -func (x *Message) GetDeviceSentMessage() *DeviceSentMessage { - if x != nil { - return x.DeviceSentMessage - } - return nil -} - -func (x *Message) GetMessageContextInfo() *MessageContextInfo { - if x != nil { - return x.MessageContextInfo - } - return nil -} - -func (x *Message) GetListMessage() *ListMessage { - if x != nil { - return x.ListMessage - } - return nil -} - -func (x *Message) GetViewOnceMessage() *FutureProofMessage { - if x != nil { - return x.ViewOnceMessage - } - return nil -} - -func (x *Message) GetOrderMessage() *OrderMessage { - if x != nil { - return x.OrderMessage - } - return nil -} - -func (x *Message) GetListResponseMessage() *ListResponseMessage { - if x != nil { - return x.ListResponseMessage - } - return nil -} - -func (x *Message) GetEphemeralMessage() *FutureProofMessage { - if x != nil { - return x.EphemeralMessage - } - return nil -} - -func (x *Message) GetInvoiceMessage() *InvoiceMessage { - if x != nil { - return x.InvoiceMessage - } - return nil -} - -func (x *Message) GetButtonsMessage() *ButtonsMessage { - if x != nil { - return x.ButtonsMessage - } - return nil -} - -func (x *Message) GetButtonsResponseMessage() *ButtonsResponseMessage { - if x != nil { - return x.ButtonsResponseMessage - } - return nil -} - -func (x *Message) GetPaymentInviteMessage() *PaymentInviteMessage { - if x != nil { - return x.PaymentInviteMessage - } - return nil -} - -func (x *Message) GetInteractiveMessage() *InteractiveMessage { - if x != nil { - return x.InteractiveMessage - } - return nil -} - -func (x *Message) GetReactionMessage() *ReactionMessage { - if x != nil { - return x.ReactionMessage - } - return nil -} - -func (x *Message) GetStickerSyncRmrMessage() *StickerSyncRMRMessage { - if x != nil { - return x.StickerSyncRmrMessage - } - return nil -} - -func (x *Message) GetInteractiveResponseMessage() *InteractiveResponseMessage { - if x != nil { - return x.InteractiveResponseMessage - } - return nil -} - -func (x *Message) GetPollCreationMessage() *PollCreationMessage { - if x != nil { - return x.PollCreationMessage - } - return nil -} - -func (x *Message) GetPollUpdateMessage() *PollUpdateMessage { - if x != nil { - return x.PollUpdateMessage - } - return nil -} - -func (x *Message) GetKeepInChatMessage() *KeepInChatMessage { - if x != nil { - return x.KeepInChatMessage - } - return nil -} - -func (x *Message) GetDocumentWithCaptionMessage() *FutureProofMessage { - if x != nil { - return x.DocumentWithCaptionMessage - } - return nil -} - -func (x *Message) GetRequestPhoneNumberMessage() *RequestPhoneNumberMessage { - if x != nil { - return x.RequestPhoneNumberMessage - } - return nil -} - -func (x *Message) GetViewOnceMessageV2() *FutureProofMessage { - if x != nil { - return x.ViewOnceMessageV2 - } - return nil -} - -func (x *Message) GetEncReactionMessage() *EncReactionMessage { - if x != nil { - return x.EncReactionMessage - } - return nil -} - -func (x *Message) GetEditedMessage() *FutureProofMessage { - if x != nil { - return x.EditedMessage - } - return nil -} - -func (x *Message) GetViewOnceMessageV2Extension() *FutureProofMessage { - if x != nil { - return x.ViewOnceMessageV2Extension - } - return nil -} - -func (x *Message) GetPollCreationMessageV2() *PollCreationMessage { - if x != nil { - return x.PollCreationMessageV2 - } - return nil -} - -func (x *Message) GetScheduledCallCreationMessage() *ScheduledCallCreationMessage { - if x != nil { - return x.ScheduledCallCreationMessage - } - return nil -} - -func (x *Message) GetGroupMentionedMessage() *FutureProofMessage { - if x != nil { - return x.GroupMentionedMessage - } - return nil -} - -func (x *Message) GetPinInChatMessage() *PinInChatMessage { - if x != nil { - return x.PinInChatMessage - } - return nil -} - -func (x *Message) GetPollCreationMessageV3() *PollCreationMessage { - if x != nil { - return x.PollCreationMessageV3 - } - return nil -} - -func (x *Message) GetScheduledCallEditMessage() *ScheduledCallEditMessage { - if x != nil { - return x.ScheduledCallEditMessage - } - return nil -} - -func (x *Message) GetPtvMessage() *VideoMessage { - if x != nil { - return x.PtvMessage - } - return nil -} - -func (x *Message) GetBotInvokeMessage() *FutureProofMessage { - if x != nil { - return x.BotInvokeMessage - } - return nil -} - -func (x *Message) GetCallLogMesssage() *CallLogMessage { - if x != nil { - return x.CallLogMesssage - } - return nil -} - -func (x *Message) GetMessageHistoryBundle() *MessageHistoryBundle { - if x != nil { - return x.MessageHistoryBundle - } - return nil -} - -func (x *Message) GetEncCommentMessage() *EncCommentMessage { - if x != nil { - return x.EncCommentMessage - } - return nil -} - -func (x *Message) GetBcallMessage() *BCallMessage { - if x != nil { - return x.BcallMessage - } - return nil -} - -func (x *Message) GetLottieStickerMessage() *FutureProofMessage { - if x != nil { - return x.LottieStickerMessage - } - return nil -} - -func (x *Message) GetEventMessage() *EventMessage { - if x != nil { - return x.EventMessage - } - return nil -} - -func (x *Message) GetEncEventResponseMessage() *EncEventResponseMessage { - if x != nil { - return x.EncEventResponseMessage - } - return nil -} - -func (x *Message) GetCommentMessage() *CommentMessage { - if x != nil { - return x.CommentMessage - } - return nil -} - -func (x *Message) GetNewsletterAdminInviteMessage() *NewsletterAdminInviteMessage { - if x != nil { - return x.NewsletterAdminInviteMessage - } - return nil -} - -type MessageSecretMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Version *int32 `protobuf:"fixed32,1,opt,name=version" json:"version,omitempty"` - EncIv []byte `protobuf:"bytes,2,opt,name=encIv" json:"encIv,omitempty"` - EncPayload []byte `protobuf:"bytes,3,opt,name=encPayload" json:"encPayload,omitempty"` -} - -func (x *MessageSecretMessage) Reset() { - *x = MessageSecretMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MessageSecretMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MessageSecretMessage) ProtoMessage() {} - -func (x *MessageSecretMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MessageSecretMessage.ProtoReflect.Descriptor instead. -func (*MessageSecretMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{59} -} - -func (x *MessageSecretMessage) GetVersion() int32 { - if x != nil && x.Version != nil { - return *x.Version - } - return 0 -} - -func (x *MessageSecretMessage) GetEncIv() []byte { - if x != nil { - return x.EncIv - } - return nil -} - -func (x *MessageSecretMessage) GetEncPayload() []byte { - if x != nil { - return x.EncPayload - } - return nil -} - -type MessageContextInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DeviceListMetadata *DeviceListMetadata `protobuf:"bytes,1,opt,name=deviceListMetadata" json:"deviceListMetadata,omitempty"` - DeviceListMetadataVersion *int32 `protobuf:"varint,2,opt,name=deviceListMetadataVersion" json:"deviceListMetadataVersion,omitempty"` - MessageSecret []byte `protobuf:"bytes,3,opt,name=messageSecret" json:"messageSecret,omitempty"` - PaddingBytes []byte `protobuf:"bytes,4,opt,name=paddingBytes" json:"paddingBytes,omitempty"` - MessageAddOnDurationInSecs *uint32 `protobuf:"varint,5,opt,name=messageAddOnDurationInSecs" json:"messageAddOnDurationInSecs,omitempty"` - BotMessageSecret []byte `protobuf:"bytes,6,opt,name=botMessageSecret" json:"botMessageSecret,omitempty"` - BotMetadata *BotMetadata `protobuf:"bytes,7,opt,name=botMetadata" json:"botMetadata,omitempty"` - ReportingTokenVersion *int32 `protobuf:"varint,8,opt,name=reportingTokenVersion" json:"reportingTokenVersion,omitempty"` -} - -func (x *MessageContextInfo) Reset() { - *x = MessageContextInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MessageContextInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MessageContextInfo) ProtoMessage() {} - -func (x *MessageContextInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MessageContextInfo.ProtoReflect.Descriptor instead. -func (*MessageContextInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{60} -} - -func (x *MessageContextInfo) GetDeviceListMetadata() *DeviceListMetadata { - if x != nil { - return x.DeviceListMetadata - } - return nil -} - -func (x *MessageContextInfo) GetDeviceListMetadataVersion() int32 { - if x != nil && x.DeviceListMetadataVersion != nil { - return *x.DeviceListMetadataVersion - } - return 0 -} - -func (x *MessageContextInfo) GetMessageSecret() []byte { - if x != nil { - return x.MessageSecret - } - return nil -} - -func (x *MessageContextInfo) GetPaddingBytes() []byte { - if x != nil { - return x.PaddingBytes - } - return nil -} - -func (x *MessageContextInfo) GetMessageAddOnDurationInSecs() uint32 { - if x != nil && x.MessageAddOnDurationInSecs != nil { - return *x.MessageAddOnDurationInSecs - } - return 0 -} - -func (x *MessageContextInfo) GetBotMessageSecret() []byte { - if x != nil { - return x.BotMessageSecret - } - return nil -} - -func (x *MessageContextInfo) GetBotMetadata() *BotMetadata { - if x != nil { - return x.BotMetadata - } - return nil -} - -func (x *MessageContextInfo) GetReportingTokenVersion() int32 { - if x != nil && x.ReportingTokenVersion != nil { - return *x.ReportingTokenVersion - } - return 0 -} - -type VideoMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` - Mimetype *string `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"` - FileSha256 []byte `protobuf:"bytes,3,opt,name=fileSha256" json:"fileSha256,omitempty"` - FileLength *uint64 `protobuf:"varint,4,opt,name=fileLength" json:"fileLength,omitempty"` - Seconds *uint32 `protobuf:"varint,5,opt,name=seconds" json:"seconds,omitempty"` - MediaKey []byte `protobuf:"bytes,6,opt,name=mediaKey" json:"mediaKey,omitempty"` - Caption *string `protobuf:"bytes,7,opt,name=caption" json:"caption,omitempty"` - GifPlayback *bool `protobuf:"varint,8,opt,name=gifPlayback" json:"gifPlayback,omitempty"` - Height *uint32 `protobuf:"varint,9,opt,name=height" json:"height,omitempty"` - Width *uint32 `protobuf:"varint,10,opt,name=width" json:"width,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,11,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` - InteractiveAnnotations []*InteractiveAnnotation `protobuf:"bytes,12,rep,name=interactiveAnnotations" json:"interactiveAnnotations,omitempty"` - DirectPath *string `protobuf:"bytes,13,opt,name=directPath" json:"directPath,omitempty"` - MediaKeyTimestamp *int64 `protobuf:"varint,14,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"` - JpegThumbnail []byte `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` - StreamingSidecar []byte `protobuf:"bytes,18,opt,name=streamingSidecar" json:"streamingSidecar,omitempty"` - GifAttribution *VideoMessage_Attribution `protobuf:"varint,19,opt,name=gifAttribution,enum=defproto.VideoMessage_Attribution" json:"gifAttribution,omitempty"` - ViewOnce *bool `protobuf:"varint,20,opt,name=viewOnce" json:"viewOnce,omitempty"` - ThumbnailDirectPath *string `protobuf:"bytes,21,opt,name=thumbnailDirectPath" json:"thumbnailDirectPath,omitempty"` - ThumbnailSha256 []byte `protobuf:"bytes,22,opt,name=thumbnailSha256" json:"thumbnailSha256,omitempty"` - ThumbnailEncSha256 []byte `protobuf:"bytes,23,opt,name=thumbnailEncSha256" json:"thumbnailEncSha256,omitempty"` - StaticUrl *string `protobuf:"bytes,24,opt,name=staticUrl" json:"staticUrl,omitempty"` - Annotations []*InteractiveAnnotation `protobuf:"bytes,25,rep,name=annotations" json:"annotations,omitempty"` -} - -func (x *VideoMessage) Reset() { - *x = VideoMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VideoMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VideoMessage) ProtoMessage() {} - -func (x *VideoMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VideoMessage.ProtoReflect.Descriptor instead. -func (*VideoMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{61} -} - -func (x *VideoMessage) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *VideoMessage) GetMimetype() string { - if x != nil && x.Mimetype != nil { - return *x.Mimetype - } - return "" -} - -func (x *VideoMessage) GetFileSha256() []byte { - if x != nil { - return x.FileSha256 - } - return nil -} - -func (x *VideoMessage) GetFileLength() uint64 { - if x != nil && x.FileLength != nil { - return *x.FileLength - } - return 0 -} - -func (x *VideoMessage) GetSeconds() uint32 { - if x != nil && x.Seconds != nil { - return *x.Seconds - } - return 0 -} - -func (x *VideoMessage) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *VideoMessage) GetCaption() string { - if x != nil && x.Caption != nil { - return *x.Caption - } - return "" -} - -func (x *VideoMessage) GetGifPlayback() bool { - if x != nil && x.GifPlayback != nil { - return *x.GifPlayback - } - return false -} - -func (x *VideoMessage) GetHeight() uint32 { - if x != nil && x.Height != nil { - return *x.Height - } - return 0 -} - -func (x *VideoMessage) GetWidth() uint32 { - if x != nil && x.Width != nil { - return *x.Width - } - return 0 -} - -func (x *VideoMessage) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -func (x *VideoMessage) GetInteractiveAnnotations() []*InteractiveAnnotation { - if x != nil { - return x.InteractiveAnnotations - } - return nil -} - -func (x *VideoMessage) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *VideoMessage) GetMediaKeyTimestamp() int64 { - if x != nil && x.MediaKeyTimestamp != nil { - return *x.MediaKeyTimestamp - } - return 0 -} - -func (x *VideoMessage) GetJpegThumbnail() []byte { - if x != nil { - return x.JpegThumbnail - } - return nil -} - -func (x *VideoMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *VideoMessage) GetStreamingSidecar() []byte { - if x != nil { - return x.StreamingSidecar - } - return nil -} - -func (x *VideoMessage) GetGifAttribution() VideoMessage_Attribution { - if x != nil && x.GifAttribution != nil { - return *x.GifAttribution - } - return VideoMessage_NONE -} - -func (x *VideoMessage) GetViewOnce() bool { - if x != nil && x.ViewOnce != nil { - return *x.ViewOnce - } - return false -} - -func (x *VideoMessage) GetThumbnailDirectPath() string { - if x != nil && x.ThumbnailDirectPath != nil { - return *x.ThumbnailDirectPath - } - return "" -} - -func (x *VideoMessage) GetThumbnailSha256() []byte { - if x != nil { - return x.ThumbnailSha256 - } - return nil -} - -func (x *VideoMessage) GetThumbnailEncSha256() []byte { - if x != nil { - return x.ThumbnailEncSha256 - } - return nil -} - -func (x *VideoMessage) GetStaticUrl() string { - if x != nil && x.StaticUrl != nil { - return *x.StaticUrl - } - return "" -} - -func (x *VideoMessage) GetAnnotations() []*InteractiveAnnotation { - if x != nil { - return x.Annotations - } - return nil -} - -type TemplateMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ContextInfo *ContextInfo `protobuf:"bytes,3,opt,name=contextInfo" json:"contextInfo,omitempty"` - HydratedTemplate *TemplateMessage_HydratedFourRowTemplate `protobuf:"bytes,4,opt,name=hydratedTemplate" json:"hydratedTemplate,omitempty"` - TemplateId *string `protobuf:"bytes,9,opt,name=templateId" json:"templateId,omitempty"` - // Types that are assignable to Format: - // - // *TemplateMessage_FourRowTemplate_ - // *TemplateMessage_HydratedFourRowTemplate_ - // *TemplateMessage_InteractiveMessageTemplate - Format isTemplateMessage_Format `protobuf_oneof:"format"` -} - -func (x *TemplateMessage) Reset() { - *x = TemplateMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TemplateMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TemplateMessage) ProtoMessage() {} - -func (x *TemplateMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TemplateMessage.ProtoReflect.Descriptor instead. -func (*TemplateMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{62} -} - -func (x *TemplateMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *TemplateMessage) GetHydratedTemplate() *TemplateMessage_HydratedFourRowTemplate { - if x != nil { - return x.HydratedTemplate - } - return nil -} - -func (x *TemplateMessage) GetTemplateId() string { - if x != nil && x.TemplateId != nil { - return *x.TemplateId - } - return "" -} - -func (m *TemplateMessage) GetFormat() isTemplateMessage_Format { - if m != nil { - return m.Format - } - return nil -} - -func (x *TemplateMessage) GetFourRowTemplate() *TemplateMessage_FourRowTemplate { - if x, ok := x.GetFormat().(*TemplateMessage_FourRowTemplate_); ok { - return x.FourRowTemplate - } - return nil -} - -func (x *TemplateMessage) GetHydratedFourRowTemplate() *TemplateMessage_HydratedFourRowTemplate { - if x, ok := x.GetFormat().(*TemplateMessage_HydratedFourRowTemplate_); ok { - return x.HydratedFourRowTemplate - } - return nil -} - -func (x *TemplateMessage) GetInteractiveMessageTemplate() *InteractiveMessage { - if x, ok := x.GetFormat().(*TemplateMessage_InteractiveMessageTemplate); ok { - return x.InteractiveMessageTemplate - } - return nil -} - -type isTemplateMessage_Format interface { - isTemplateMessage_Format() -} - -type TemplateMessage_FourRowTemplate_ struct { - FourRowTemplate *TemplateMessage_FourRowTemplate `protobuf:"bytes,1,opt,name=fourRowTemplate,oneof"` -} - -type TemplateMessage_HydratedFourRowTemplate_ struct { - HydratedFourRowTemplate *TemplateMessage_HydratedFourRowTemplate `protobuf:"bytes,2,opt,name=hydratedFourRowTemplate,oneof"` -} - -type TemplateMessage_InteractiveMessageTemplate struct { - InteractiveMessageTemplate *InteractiveMessage `protobuf:"bytes,5,opt,name=interactiveMessageTemplate,oneof"` -} - -func (*TemplateMessage_FourRowTemplate_) isTemplateMessage_Format() {} - -func (*TemplateMessage_HydratedFourRowTemplate_) isTemplateMessage_Format() {} - -func (*TemplateMessage_InteractiveMessageTemplate) isTemplateMessage_Format() {} - -type TemplateButtonReplyMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SelectedId *string `protobuf:"bytes,1,opt,name=selectedId" json:"selectedId,omitempty"` - SelectedDisplayText *string `protobuf:"bytes,2,opt,name=selectedDisplayText" json:"selectedDisplayText,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,3,opt,name=contextInfo" json:"contextInfo,omitempty"` - SelectedIndex *uint32 `protobuf:"varint,4,opt,name=selectedIndex" json:"selectedIndex,omitempty"` - SelectedCarouselCardIndex *uint32 `protobuf:"varint,5,opt,name=selectedCarouselCardIndex" json:"selectedCarouselCardIndex,omitempty"` -} - -func (x *TemplateButtonReplyMessage) Reset() { - *x = TemplateButtonReplyMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TemplateButtonReplyMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TemplateButtonReplyMessage) ProtoMessage() {} - -func (x *TemplateButtonReplyMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TemplateButtonReplyMessage.ProtoReflect.Descriptor instead. -func (*TemplateButtonReplyMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{63} -} - -func (x *TemplateButtonReplyMessage) GetSelectedId() string { - if x != nil && x.SelectedId != nil { - return *x.SelectedId - } - return "" -} - -func (x *TemplateButtonReplyMessage) GetSelectedDisplayText() string { - if x != nil && x.SelectedDisplayText != nil { - return *x.SelectedDisplayText - } - return "" -} - -func (x *TemplateButtonReplyMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *TemplateButtonReplyMessage) GetSelectedIndex() uint32 { - if x != nil && x.SelectedIndex != nil { - return *x.SelectedIndex - } - return 0 -} - -func (x *TemplateButtonReplyMessage) GetSelectedCarouselCardIndex() uint32 { - if x != nil && x.SelectedCarouselCardIndex != nil { - return *x.SelectedCarouselCardIndex - } - return 0 -} - -type StickerSyncRMRMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Filehash []string `protobuf:"bytes,1,rep,name=filehash" json:"filehash,omitempty"` - RmrSource *string `protobuf:"bytes,2,opt,name=rmrSource" json:"rmrSource,omitempty"` - RequestTimestamp *int64 `protobuf:"varint,3,opt,name=requestTimestamp" json:"requestTimestamp,omitempty"` -} - -func (x *StickerSyncRMRMessage) Reset() { - *x = StickerSyncRMRMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StickerSyncRMRMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StickerSyncRMRMessage) ProtoMessage() {} - -func (x *StickerSyncRMRMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StickerSyncRMRMessage.ProtoReflect.Descriptor instead. -func (*StickerSyncRMRMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{64} -} - -func (x *StickerSyncRMRMessage) GetFilehash() []string { - if x != nil { - return x.Filehash - } - return nil -} - -func (x *StickerSyncRMRMessage) GetRmrSource() string { - if x != nil && x.RmrSource != nil { - return *x.RmrSource - } - return "" -} - -func (x *StickerSyncRMRMessage) GetRequestTimestamp() int64 { - if x != nil && x.RequestTimestamp != nil { - return *x.RequestTimestamp - } - return 0 -} - -type StickerMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` - FileSha256 []byte `protobuf:"bytes,2,opt,name=fileSha256" json:"fileSha256,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,3,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` - MediaKey []byte `protobuf:"bytes,4,opt,name=mediaKey" json:"mediaKey,omitempty"` - Mimetype *string `protobuf:"bytes,5,opt,name=mimetype" json:"mimetype,omitempty"` - Height *uint32 `protobuf:"varint,6,opt,name=height" json:"height,omitempty"` - Width *uint32 `protobuf:"varint,7,opt,name=width" json:"width,omitempty"` - DirectPath *string `protobuf:"bytes,8,opt,name=directPath" json:"directPath,omitempty"` - FileLength *uint64 `protobuf:"varint,9,opt,name=fileLength" json:"fileLength,omitempty"` - MediaKeyTimestamp *int64 `protobuf:"varint,10,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"` - FirstFrameLength *uint32 `protobuf:"varint,11,opt,name=firstFrameLength" json:"firstFrameLength,omitempty"` - FirstFrameSidecar []byte `protobuf:"bytes,12,opt,name=firstFrameSidecar" json:"firstFrameSidecar,omitempty"` - IsAnimated *bool `protobuf:"varint,13,opt,name=isAnimated" json:"isAnimated,omitempty"` - PngThumbnail []byte `protobuf:"bytes,16,opt,name=pngThumbnail" json:"pngThumbnail,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` - StickerSentTs *int64 `protobuf:"varint,18,opt,name=stickerSentTs" json:"stickerSentTs,omitempty"` - IsAvatar *bool `protobuf:"varint,19,opt,name=isAvatar" json:"isAvatar,omitempty"` - IsAiSticker *bool `protobuf:"varint,20,opt,name=isAiSticker" json:"isAiSticker,omitempty"` - IsLottie *bool `protobuf:"varint,21,opt,name=isLottie" json:"isLottie,omitempty"` -} - -func (x *StickerMessage) Reset() { - *x = StickerMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StickerMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StickerMessage) ProtoMessage() {} - -func (x *StickerMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StickerMessage.ProtoReflect.Descriptor instead. -func (*StickerMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{65} -} - -func (x *StickerMessage) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *StickerMessage) GetFileSha256() []byte { - if x != nil { - return x.FileSha256 - } - return nil -} - -func (x *StickerMessage) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -func (x *StickerMessage) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *StickerMessage) GetMimetype() string { - if x != nil && x.Mimetype != nil { - return *x.Mimetype - } - return "" -} - -func (x *StickerMessage) GetHeight() uint32 { - if x != nil && x.Height != nil { - return *x.Height - } - return 0 -} - -func (x *StickerMessage) GetWidth() uint32 { - if x != nil && x.Width != nil { - return *x.Width - } - return 0 -} - -func (x *StickerMessage) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *StickerMessage) GetFileLength() uint64 { - if x != nil && x.FileLength != nil { - return *x.FileLength - } - return 0 -} - -func (x *StickerMessage) GetMediaKeyTimestamp() int64 { - if x != nil && x.MediaKeyTimestamp != nil { - return *x.MediaKeyTimestamp - } - return 0 -} - -func (x *StickerMessage) GetFirstFrameLength() uint32 { - if x != nil && x.FirstFrameLength != nil { - return *x.FirstFrameLength - } - return 0 -} - -func (x *StickerMessage) GetFirstFrameSidecar() []byte { - if x != nil { - return x.FirstFrameSidecar - } - return nil -} - -func (x *StickerMessage) GetIsAnimated() bool { - if x != nil && x.IsAnimated != nil { - return *x.IsAnimated - } - return false -} - -func (x *StickerMessage) GetPngThumbnail() []byte { - if x != nil { - return x.PngThumbnail - } - return nil -} - -func (x *StickerMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *StickerMessage) GetStickerSentTs() int64 { - if x != nil && x.StickerSentTs != nil { - return *x.StickerSentTs - } - return 0 -} - -func (x *StickerMessage) GetIsAvatar() bool { - if x != nil && x.IsAvatar != nil { - return *x.IsAvatar - } - return false -} - -func (x *StickerMessage) GetIsAiSticker() bool { - if x != nil && x.IsAiSticker != nil { - return *x.IsAiSticker - } - return false -} - -func (x *StickerMessage) GetIsLottie() bool { - if x != nil && x.IsLottie != nil { - return *x.IsLottie - } - return false -} - -type SenderKeyDistributionMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupId *string `protobuf:"bytes,1,opt,name=groupId" json:"groupId,omitempty"` - AxolotlSenderKeyDistributionMessage []byte `protobuf:"bytes,2,opt,name=axolotlSenderKeyDistributionMessage" json:"axolotlSenderKeyDistributionMessage,omitempty"` -} - -func (x *SenderKeyDistributionMessage) Reset() { - *x = SenderKeyDistributionMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SenderKeyDistributionMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SenderKeyDistributionMessage) ProtoMessage() {} - -func (x *SenderKeyDistributionMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SenderKeyDistributionMessage.ProtoReflect.Descriptor instead. -func (*SenderKeyDistributionMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{66} -} - -func (x *SenderKeyDistributionMessage) GetGroupId() string { - if x != nil && x.GroupId != nil { - return *x.GroupId - } - return "" -} - -func (x *SenderKeyDistributionMessage) GetAxolotlSenderKeyDistributionMessage() []byte { - if x != nil { - return x.AxolotlSenderKeyDistributionMessage - } - return nil -} - -type SendPaymentMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NoteMessage *Message `protobuf:"bytes,2,opt,name=noteMessage" json:"noteMessage,omitempty"` - RequestMessageKey *MessageKey `protobuf:"bytes,3,opt,name=requestMessageKey" json:"requestMessageKey,omitempty"` - Background *PaymentBackground `protobuf:"bytes,4,opt,name=background" json:"background,omitempty"` -} - -func (x *SendPaymentMessage) Reset() { - *x = SendPaymentMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendPaymentMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendPaymentMessage) ProtoMessage() {} - -func (x *SendPaymentMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendPaymentMessage.ProtoReflect.Descriptor instead. -func (*SendPaymentMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{67} -} - -func (x *SendPaymentMessage) GetNoteMessage() *Message { - if x != nil { - return x.NoteMessage - } - return nil -} - -func (x *SendPaymentMessage) GetRequestMessageKey() *MessageKey { - if x != nil { - return x.RequestMessageKey - } - return nil -} - -func (x *SendPaymentMessage) GetBackground() *PaymentBackground { - if x != nil { - return x.Background - } - return nil -} - -type ScheduledCallEditMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - EditType *ScheduledCallEditMessage_EditType `protobuf:"varint,2,opt,name=editType,enum=defproto.ScheduledCallEditMessage_EditType" json:"editType,omitempty"` -} - -func (x *ScheduledCallEditMessage) Reset() { - *x = ScheduledCallEditMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ScheduledCallEditMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ScheduledCallEditMessage) ProtoMessage() {} - -func (x *ScheduledCallEditMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ScheduledCallEditMessage.ProtoReflect.Descriptor instead. -func (*ScheduledCallEditMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{68} -} - -func (x *ScheduledCallEditMessage) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *ScheduledCallEditMessage) GetEditType() ScheduledCallEditMessage_EditType { - if x != nil && x.EditType != nil { - return *x.EditType - } - return ScheduledCallEditMessage_UNKNOWN -} - -type ScheduledCallCreationMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ScheduledTimestampMs *int64 `protobuf:"varint,1,opt,name=scheduledTimestampMs" json:"scheduledTimestampMs,omitempty"` - CallType *ScheduledCallCreationMessage_CallType `protobuf:"varint,2,opt,name=callType,enum=defproto.ScheduledCallCreationMessage_CallType" json:"callType,omitempty"` - Title *string `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"` -} - -func (x *ScheduledCallCreationMessage) Reset() { - *x = ScheduledCallCreationMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ScheduledCallCreationMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ScheduledCallCreationMessage) ProtoMessage() {} - -func (x *ScheduledCallCreationMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ScheduledCallCreationMessage.ProtoReflect.Descriptor instead. -func (*ScheduledCallCreationMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{69} -} - -func (x *ScheduledCallCreationMessage) GetScheduledTimestampMs() int64 { - if x != nil && x.ScheduledTimestampMs != nil { - return *x.ScheduledTimestampMs - } - return 0 -} - -func (x *ScheduledCallCreationMessage) GetCallType() ScheduledCallCreationMessage_CallType { - if x != nil && x.CallType != nil { - return *x.CallType - } - return ScheduledCallCreationMessage_UNKNOWN -} - -func (x *ScheduledCallCreationMessage) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -type RequestWelcomeMessageMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LocalChatState *RequestWelcomeMessageMetadata_LocalChatState `protobuf:"varint,1,opt,name=localChatState,enum=defproto.RequestWelcomeMessageMetadata_LocalChatState" json:"localChatState,omitempty"` -} - -func (x *RequestWelcomeMessageMetadata) Reset() { - *x = RequestWelcomeMessageMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RequestWelcomeMessageMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RequestWelcomeMessageMetadata) ProtoMessage() {} - -func (x *RequestWelcomeMessageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RequestWelcomeMessageMetadata.ProtoReflect.Descriptor instead. -func (*RequestWelcomeMessageMetadata) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{70} -} - -func (x *RequestWelcomeMessageMetadata) GetLocalChatState() RequestWelcomeMessageMetadata_LocalChatState { - if x != nil && x.LocalChatState != nil { - return *x.LocalChatState - } - return RequestWelcomeMessageMetadata_EMPTY -} - -type RequestPhoneNumberMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ContextInfo *ContextInfo `protobuf:"bytes,1,opt,name=contextInfo" json:"contextInfo,omitempty"` -} - -func (x *RequestPhoneNumberMessage) Reset() { - *x = RequestPhoneNumberMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RequestPhoneNumberMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RequestPhoneNumberMessage) ProtoMessage() {} - -func (x *RequestPhoneNumberMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RequestPhoneNumberMessage.ProtoReflect.Descriptor instead. -func (*RequestPhoneNumberMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{71} -} - -func (x *RequestPhoneNumberMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -type RequestPaymentMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NoteMessage *Message `protobuf:"bytes,4,opt,name=noteMessage" json:"noteMessage,omitempty"` - CurrencyCodeIso4217 *string `protobuf:"bytes,1,opt,name=currencyCodeIso4217" json:"currencyCodeIso4217,omitempty"` - Amount1000 *uint64 `protobuf:"varint,2,opt,name=amount1000" json:"amount1000,omitempty"` - RequestFrom *string `protobuf:"bytes,3,opt,name=requestFrom" json:"requestFrom,omitempty"` - ExpiryTimestamp *int64 `protobuf:"varint,5,opt,name=expiryTimestamp" json:"expiryTimestamp,omitempty"` - Amount *Money `protobuf:"bytes,6,opt,name=amount" json:"amount,omitempty"` - Background *PaymentBackground `protobuf:"bytes,7,opt,name=background" json:"background,omitempty"` -} - -func (x *RequestPaymentMessage) Reset() { - *x = RequestPaymentMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RequestPaymentMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RequestPaymentMessage) ProtoMessage() {} - -func (x *RequestPaymentMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RequestPaymentMessage.ProtoReflect.Descriptor instead. -func (*RequestPaymentMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{72} -} - -func (x *RequestPaymentMessage) GetNoteMessage() *Message { - if x != nil { - return x.NoteMessage - } - return nil -} - -func (x *RequestPaymentMessage) GetCurrencyCodeIso4217() string { - if x != nil && x.CurrencyCodeIso4217 != nil { - return *x.CurrencyCodeIso4217 - } - return "" -} - -func (x *RequestPaymentMessage) GetAmount1000() uint64 { - if x != nil && x.Amount1000 != nil { - return *x.Amount1000 - } - return 0 -} - -func (x *RequestPaymentMessage) GetRequestFrom() string { - if x != nil && x.RequestFrom != nil { - return *x.RequestFrom - } - return "" -} - -func (x *RequestPaymentMessage) GetExpiryTimestamp() int64 { - if x != nil && x.ExpiryTimestamp != nil { - return *x.ExpiryTimestamp - } - return 0 -} - -func (x *RequestPaymentMessage) GetAmount() *Money { - if x != nil { - return x.Amount - } - return nil -} - -func (x *RequestPaymentMessage) GetBackground() *PaymentBackground { - if x != nil { - return x.Background - } - return nil -} - -type ReactionMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"` - GroupingKey *string `protobuf:"bytes,3,opt,name=groupingKey" json:"groupingKey,omitempty"` - SenderTimestampMs *int64 `protobuf:"varint,4,opt,name=senderTimestampMs" json:"senderTimestampMs,omitempty"` -} - -func (x *ReactionMessage) Reset() { - *x = ReactionMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReactionMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReactionMessage) ProtoMessage() {} - -func (x *ReactionMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReactionMessage.ProtoReflect.Descriptor instead. -func (*ReactionMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{73} -} - -func (x *ReactionMessage) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *ReactionMessage) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -func (x *ReactionMessage) GetGroupingKey() string { - if x != nil && x.GroupingKey != nil { - return *x.GroupingKey - } - return "" -} - -func (x *ReactionMessage) GetSenderTimestampMs() int64 { - if x != nil && x.SenderTimestampMs != nil { - return *x.SenderTimestampMs - } - return 0 -} - -type ProtocolMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - Type *ProtocolMessage_Type `protobuf:"varint,2,opt,name=type,enum=defproto.ProtocolMessage_Type" json:"type,omitempty"` - EphemeralExpiration *uint32 `protobuf:"varint,4,opt,name=ephemeralExpiration" json:"ephemeralExpiration,omitempty"` - EphemeralSettingTimestamp *int64 `protobuf:"varint,5,opt,name=ephemeralSettingTimestamp" json:"ephemeralSettingTimestamp,omitempty"` - HistorySyncNotification *HistorySyncNotification `protobuf:"bytes,6,opt,name=historySyncNotification" json:"historySyncNotification,omitempty"` - AppStateSyncKeyShare *AppStateSyncKeyShare `protobuf:"bytes,7,opt,name=appStateSyncKeyShare" json:"appStateSyncKeyShare,omitempty"` - AppStateSyncKeyRequest *AppStateSyncKeyRequest `protobuf:"bytes,8,opt,name=appStateSyncKeyRequest" json:"appStateSyncKeyRequest,omitempty"` - InitialSecurityNotificationSettingSync *InitialSecurityNotificationSettingSync `protobuf:"bytes,9,opt,name=initialSecurityNotificationSettingSync" json:"initialSecurityNotificationSettingSync,omitempty"` - AppStateFatalExceptionNotification *AppStateFatalExceptionNotification `protobuf:"bytes,10,opt,name=appStateFatalExceptionNotification" json:"appStateFatalExceptionNotification,omitempty"` - DisappearingMode *DisappearingMode `protobuf:"bytes,11,opt,name=disappearingMode" json:"disappearingMode,omitempty"` - EditedMessage *Message `protobuf:"bytes,14,opt,name=editedMessage" json:"editedMessage,omitempty"` - TimestampMs *int64 `protobuf:"varint,15,opt,name=timestampMs" json:"timestampMs,omitempty"` - PeerDataOperationRequestMessage *PeerDataOperationRequestMessage `protobuf:"bytes,16,opt,name=peerDataOperationRequestMessage" json:"peerDataOperationRequestMessage,omitempty"` - PeerDataOperationRequestResponseMessage *PeerDataOperationRequestResponseMessage `protobuf:"bytes,17,opt,name=peerDataOperationRequestResponseMessage" json:"peerDataOperationRequestResponseMessage,omitempty"` - BotFeedbackMessage *BotFeedbackMessage `protobuf:"bytes,18,opt,name=botFeedbackMessage" json:"botFeedbackMessage,omitempty"` - InvokerJid *string `protobuf:"bytes,19,opt,name=invokerJid" json:"invokerJid,omitempty"` - RequestWelcomeMessageMetadata *RequestWelcomeMessageMetadata `protobuf:"bytes,20,opt,name=requestWelcomeMessageMetadata" json:"requestWelcomeMessageMetadata,omitempty"` -} - -func (x *ProtocolMessage) Reset() { - *x = ProtocolMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProtocolMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProtocolMessage) ProtoMessage() {} - -func (x *ProtocolMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProtocolMessage.ProtoReflect.Descriptor instead. -func (*ProtocolMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{74} -} - -func (x *ProtocolMessage) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *ProtocolMessage) GetType() ProtocolMessage_Type { - if x != nil && x.Type != nil { - return *x.Type - } - return ProtocolMessage_REVOKE -} - -func (x *ProtocolMessage) GetEphemeralExpiration() uint32 { - if x != nil && x.EphemeralExpiration != nil { - return *x.EphemeralExpiration - } - return 0 -} - -func (x *ProtocolMessage) GetEphemeralSettingTimestamp() int64 { - if x != nil && x.EphemeralSettingTimestamp != nil { - return *x.EphemeralSettingTimestamp - } - return 0 -} - -func (x *ProtocolMessage) GetHistorySyncNotification() *HistorySyncNotification { - if x != nil { - return x.HistorySyncNotification - } - return nil -} - -func (x *ProtocolMessage) GetAppStateSyncKeyShare() *AppStateSyncKeyShare { - if x != nil { - return x.AppStateSyncKeyShare - } - return nil -} - -func (x *ProtocolMessage) GetAppStateSyncKeyRequest() *AppStateSyncKeyRequest { - if x != nil { - return x.AppStateSyncKeyRequest - } - return nil -} - -func (x *ProtocolMessage) GetInitialSecurityNotificationSettingSync() *InitialSecurityNotificationSettingSync { - if x != nil { - return x.InitialSecurityNotificationSettingSync - } - return nil -} - -func (x *ProtocolMessage) GetAppStateFatalExceptionNotification() *AppStateFatalExceptionNotification { - if x != nil { - return x.AppStateFatalExceptionNotification - } - return nil -} - -func (x *ProtocolMessage) GetDisappearingMode() *DisappearingMode { - if x != nil { - return x.DisappearingMode - } - return nil -} - -func (x *ProtocolMessage) GetEditedMessage() *Message { - if x != nil { - return x.EditedMessage - } - return nil -} - -func (x *ProtocolMessage) GetTimestampMs() int64 { - if x != nil && x.TimestampMs != nil { - return *x.TimestampMs - } - return 0 -} - -func (x *ProtocolMessage) GetPeerDataOperationRequestMessage() *PeerDataOperationRequestMessage { - if x != nil { - return x.PeerDataOperationRequestMessage - } - return nil -} - -func (x *ProtocolMessage) GetPeerDataOperationRequestResponseMessage() *PeerDataOperationRequestResponseMessage { - if x != nil { - return x.PeerDataOperationRequestResponseMessage - } - return nil -} - -func (x *ProtocolMessage) GetBotFeedbackMessage() *BotFeedbackMessage { - if x != nil { - return x.BotFeedbackMessage - } - return nil -} - -func (x *ProtocolMessage) GetInvokerJid() string { - if x != nil && x.InvokerJid != nil { - return *x.InvokerJid - } - return "" -} - -func (x *ProtocolMessage) GetRequestWelcomeMessageMetadata() *RequestWelcomeMessageMetadata { - if x != nil { - return x.RequestWelcomeMessageMetadata - } - return nil -} - -type ProductMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Product *ProductMessage_ProductSnapshot `protobuf:"bytes,1,opt,name=product" json:"product,omitempty"` - BusinessOwnerJid *string `protobuf:"bytes,2,opt,name=businessOwnerJid" json:"businessOwnerJid,omitempty"` - Catalog *ProductMessage_CatalogSnapshot `protobuf:"bytes,4,opt,name=catalog" json:"catalog,omitempty"` - Body *string `protobuf:"bytes,5,opt,name=body" json:"body,omitempty"` - Footer *string `protobuf:"bytes,6,opt,name=footer" json:"footer,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` -} - -func (x *ProductMessage) Reset() { - *x = ProductMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProductMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProductMessage) ProtoMessage() {} - -func (x *ProductMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProductMessage.ProtoReflect.Descriptor instead. -func (*ProductMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{75} -} - -func (x *ProductMessage) GetProduct() *ProductMessage_ProductSnapshot { - if x != nil { - return x.Product - } - return nil -} - -func (x *ProductMessage) GetBusinessOwnerJid() string { - if x != nil && x.BusinessOwnerJid != nil { - return *x.BusinessOwnerJid - } - return "" -} - -func (x *ProductMessage) GetCatalog() *ProductMessage_CatalogSnapshot { - if x != nil { - return x.Catalog - } - return nil -} - -func (x *ProductMessage) GetBody() string { - if x != nil && x.Body != nil { - return *x.Body - } - return "" -} - -func (x *ProductMessage) GetFooter() string { - if x != nil && x.Footer != nil { - return *x.Footer - } - return "" -} - -func (x *ProductMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -type PollVoteMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SelectedOptions [][]byte `protobuf:"bytes,1,rep,name=selectedOptions" json:"selectedOptions,omitempty"` -} - -func (x *PollVoteMessage) Reset() { - *x = PollVoteMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PollVoteMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PollVoteMessage) ProtoMessage() {} - -func (x *PollVoteMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PollVoteMessage.ProtoReflect.Descriptor instead. -func (*PollVoteMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{76} -} - -func (x *PollVoteMessage) GetSelectedOptions() [][]byte { - if x != nil { - return x.SelectedOptions - } - return nil -} - -type PollUpdateMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PollCreationMessageKey *MessageKey `protobuf:"bytes,1,opt,name=pollCreationMessageKey" json:"pollCreationMessageKey,omitempty"` - Vote *PollEncValue `protobuf:"bytes,2,opt,name=vote" json:"vote,omitempty"` - Metadata *PollUpdateMessageMetadata `protobuf:"bytes,3,opt,name=metadata" json:"metadata,omitempty"` - SenderTimestampMs *int64 `protobuf:"varint,4,opt,name=senderTimestampMs" json:"senderTimestampMs,omitempty"` -} - -func (x *PollUpdateMessage) Reset() { - *x = PollUpdateMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PollUpdateMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PollUpdateMessage) ProtoMessage() {} - -func (x *PollUpdateMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PollUpdateMessage.ProtoReflect.Descriptor instead. -func (*PollUpdateMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{77} -} - -func (x *PollUpdateMessage) GetPollCreationMessageKey() *MessageKey { - if x != nil { - return x.PollCreationMessageKey - } - return nil -} - -func (x *PollUpdateMessage) GetVote() *PollEncValue { - if x != nil { - return x.Vote - } - return nil -} - -func (x *PollUpdateMessage) GetMetadata() *PollUpdateMessageMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *PollUpdateMessage) GetSenderTimestampMs() int64 { - if x != nil && x.SenderTimestampMs != nil { - return *x.SenderTimestampMs - } - return 0 -} - -type PollUpdateMessageMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PollUpdateMessageMetadata) Reset() { - *x = PollUpdateMessageMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PollUpdateMessageMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PollUpdateMessageMetadata) ProtoMessage() {} - -func (x *PollUpdateMessageMetadata) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PollUpdateMessageMetadata.ProtoReflect.Descriptor instead. -func (*PollUpdateMessageMetadata) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{78} -} - -type PollEncValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EncPayload []byte `protobuf:"bytes,1,opt,name=encPayload" json:"encPayload,omitempty"` - EncIv []byte `protobuf:"bytes,2,opt,name=encIv" json:"encIv,omitempty"` -} - -func (x *PollEncValue) Reset() { - *x = PollEncValue{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PollEncValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PollEncValue) ProtoMessage() {} - -func (x *PollEncValue) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PollEncValue.ProtoReflect.Descriptor instead. -func (*PollEncValue) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{79} -} - -func (x *PollEncValue) GetEncPayload() []byte { - if x != nil { - return x.EncPayload - } - return nil -} - -func (x *PollEncValue) GetEncIv() []byte { - if x != nil { - return x.EncIv - } - return nil -} - -type PollCreationMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EncKey []byte `protobuf:"bytes,1,opt,name=encKey" json:"encKey,omitempty"` - Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` - Options []*PollCreationMessage_Option `protobuf:"bytes,3,rep,name=options" json:"options,omitempty"` - SelectableOptionsCount *uint32 `protobuf:"varint,4,opt,name=selectableOptionsCount" json:"selectableOptionsCount,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,5,opt,name=contextInfo" json:"contextInfo,omitempty"` -} - -func (x *PollCreationMessage) Reset() { - *x = PollCreationMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PollCreationMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PollCreationMessage) ProtoMessage() {} - -func (x *PollCreationMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PollCreationMessage.ProtoReflect.Descriptor instead. -func (*PollCreationMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{80} -} - -func (x *PollCreationMessage) GetEncKey() []byte { - if x != nil { - return x.EncKey - } - return nil -} - -func (x *PollCreationMessage) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *PollCreationMessage) GetOptions() []*PollCreationMessage_Option { - if x != nil { - return x.Options - } - return nil -} - -func (x *PollCreationMessage) GetSelectableOptionsCount() uint32 { - if x != nil && x.SelectableOptionsCount != nil { - return *x.SelectableOptionsCount - } - return 0 -} - -func (x *PollCreationMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -type PinInChatMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - Type *PinInChatMessage_Type `protobuf:"varint,2,opt,name=type,enum=defproto.PinInChatMessage_Type" json:"type,omitempty"` - SenderTimestampMs *int64 `protobuf:"varint,3,opt,name=senderTimestampMs" json:"senderTimestampMs,omitempty"` -} - -func (x *PinInChatMessage) Reset() { - *x = PinInChatMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PinInChatMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PinInChatMessage) ProtoMessage() {} - -func (x *PinInChatMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PinInChatMessage.ProtoReflect.Descriptor instead. -func (*PinInChatMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{81} -} - -func (x *PinInChatMessage) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *PinInChatMessage) GetType() PinInChatMessage_Type { - if x != nil && x.Type != nil { - return *x.Type - } - return PinInChatMessage_UNKNOWN_TYPE -} - -func (x *PinInChatMessage) GetSenderTimestampMs() int64 { - if x != nil && x.SenderTimestampMs != nil { - return *x.SenderTimestampMs - } - return 0 -} - -type PeerDataOperationRequestResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PeerDataOperationRequestType *PeerDataOperationRequestType `protobuf:"varint,1,opt,name=peerDataOperationRequestType,enum=defproto.PeerDataOperationRequestType" json:"peerDataOperationRequestType,omitempty"` - StanzaId *string `protobuf:"bytes,2,opt,name=stanzaId" json:"stanzaId,omitempty"` - PeerDataOperationResult []*PeerDataOperationRequestResponseMessage_PeerDataOperationResult `protobuf:"bytes,3,rep,name=peerDataOperationResult" json:"peerDataOperationResult,omitempty"` -} - -func (x *PeerDataOperationRequestResponseMessage) Reset() { - *x = PeerDataOperationRequestResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerDataOperationRequestResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerDataOperationRequestResponseMessage) ProtoMessage() {} - -func (x *PeerDataOperationRequestResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerDataOperationRequestResponseMessage.ProtoReflect.Descriptor instead. -func (*PeerDataOperationRequestResponseMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{82} -} - -func (x *PeerDataOperationRequestResponseMessage) GetPeerDataOperationRequestType() PeerDataOperationRequestType { - if x != nil && x.PeerDataOperationRequestType != nil { - return *x.PeerDataOperationRequestType - } - return PeerDataOperationRequestType_UPLOAD_STICKER -} - -func (x *PeerDataOperationRequestResponseMessage) GetStanzaId() string { - if x != nil && x.StanzaId != nil { - return *x.StanzaId - } - return "" -} - -func (x *PeerDataOperationRequestResponseMessage) GetPeerDataOperationResult() []*PeerDataOperationRequestResponseMessage_PeerDataOperationResult { - if x != nil { - return x.PeerDataOperationResult - } - return nil -} - -type PeerDataOperationRequestMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PeerDataOperationRequestType *PeerDataOperationRequestType `protobuf:"varint,1,opt,name=peerDataOperationRequestType,enum=defproto.PeerDataOperationRequestType" json:"peerDataOperationRequestType,omitempty"` - RequestStickerReupload []*PeerDataOperationRequestMessage_RequestStickerReupload `protobuf:"bytes,2,rep,name=requestStickerReupload" json:"requestStickerReupload,omitempty"` - RequestUrlPreview []*PeerDataOperationRequestMessage_RequestUrlPreview `protobuf:"bytes,3,rep,name=requestUrlPreview" json:"requestUrlPreview,omitempty"` - HistorySyncOnDemandRequest *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest `protobuf:"bytes,4,opt,name=historySyncOnDemandRequest" json:"historySyncOnDemandRequest,omitempty"` - PlaceholderMessageResendRequest []*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest `protobuf:"bytes,5,rep,name=placeholderMessageResendRequest" json:"placeholderMessageResendRequest,omitempty"` -} - -func (x *PeerDataOperationRequestMessage) Reset() { - *x = PeerDataOperationRequestMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerDataOperationRequestMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerDataOperationRequestMessage) ProtoMessage() {} - -func (x *PeerDataOperationRequestMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerDataOperationRequestMessage.ProtoReflect.Descriptor instead. -func (*PeerDataOperationRequestMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{83} -} - -func (x *PeerDataOperationRequestMessage) GetPeerDataOperationRequestType() PeerDataOperationRequestType { - if x != nil && x.PeerDataOperationRequestType != nil { - return *x.PeerDataOperationRequestType - } - return PeerDataOperationRequestType_UPLOAD_STICKER -} - -func (x *PeerDataOperationRequestMessage) GetRequestStickerReupload() []*PeerDataOperationRequestMessage_RequestStickerReupload { - if x != nil { - return x.RequestStickerReupload - } - return nil -} - -func (x *PeerDataOperationRequestMessage) GetRequestUrlPreview() []*PeerDataOperationRequestMessage_RequestUrlPreview { - if x != nil { - return x.RequestUrlPreview - } - return nil -} - -func (x *PeerDataOperationRequestMessage) GetHistorySyncOnDemandRequest() *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest { - if x != nil { - return x.HistorySyncOnDemandRequest - } - return nil -} - -func (x *PeerDataOperationRequestMessage) GetPlaceholderMessageResendRequest() []*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest { - if x != nil { - return x.PlaceholderMessageResendRequest - } - return nil -} - -type PaymentInviteMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ServiceType *PaymentInviteMessage_ServiceType `protobuf:"varint,1,opt,name=serviceType,enum=defproto.PaymentInviteMessage_ServiceType" json:"serviceType,omitempty"` - ExpiryTimestamp *int64 `protobuf:"varint,2,opt,name=expiryTimestamp" json:"expiryTimestamp,omitempty"` -} - -func (x *PaymentInviteMessage) Reset() { - *x = PaymentInviteMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PaymentInviteMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PaymentInviteMessage) ProtoMessage() {} - -func (x *PaymentInviteMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PaymentInviteMessage.ProtoReflect.Descriptor instead. -func (*PaymentInviteMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{84} -} - -func (x *PaymentInviteMessage) GetServiceType() PaymentInviteMessage_ServiceType { - if x != nil && x.ServiceType != nil { - return *x.ServiceType - } - return PaymentInviteMessage_UNKNOWN -} - -func (x *PaymentInviteMessage) GetExpiryTimestamp() int64 { - if x != nil && x.ExpiryTimestamp != nil { - return *x.ExpiryTimestamp - } - return 0 -} - -type OrderMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OrderId *string `protobuf:"bytes,1,opt,name=orderId" json:"orderId,omitempty"` - Thumbnail []byte `protobuf:"bytes,2,opt,name=thumbnail" json:"thumbnail,omitempty"` - ItemCount *int32 `protobuf:"varint,3,opt,name=itemCount" json:"itemCount,omitempty"` - Status *OrderMessage_OrderStatus `protobuf:"varint,4,opt,name=status,enum=defproto.OrderMessage_OrderStatus" json:"status,omitempty"` - Surface *OrderMessage_OrderSurface `protobuf:"varint,5,opt,name=surface,enum=defproto.OrderMessage_OrderSurface" json:"surface,omitempty"` - Message *string `protobuf:"bytes,6,opt,name=message" json:"message,omitempty"` - OrderTitle *string `protobuf:"bytes,7,opt,name=orderTitle" json:"orderTitle,omitempty"` - SellerJid *string `protobuf:"bytes,8,opt,name=sellerJid" json:"sellerJid,omitempty"` - Token *string `protobuf:"bytes,9,opt,name=token" json:"token,omitempty"` - TotalAmount1000 *int64 `protobuf:"varint,10,opt,name=totalAmount1000" json:"totalAmount1000,omitempty"` - TotalCurrencyCode *string `protobuf:"bytes,11,opt,name=totalCurrencyCode" json:"totalCurrencyCode,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` - MessageVersion *int32 `protobuf:"varint,12,opt,name=messageVersion" json:"messageVersion,omitempty"` - OrderRequestMessageId *MessageKey `protobuf:"bytes,13,opt,name=orderRequestMessageId" json:"orderRequestMessageId,omitempty"` -} - -func (x *OrderMessage) Reset() { - *x = OrderMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OrderMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OrderMessage) ProtoMessage() {} - -func (x *OrderMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OrderMessage.ProtoReflect.Descriptor instead. -func (*OrderMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{85} -} - -func (x *OrderMessage) GetOrderId() string { - if x != nil && x.OrderId != nil { - return *x.OrderId - } - return "" -} - -func (x *OrderMessage) GetThumbnail() []byte { - if x != nil { - return x.Thumbnail - } - return nil -} - -func (x *OrderMessage) GetItemCount() int32 { - if x != nil && x.ItemCount != nil { - return *x.ItemCount - } - return 0 -} - -func (x *OrderMessage) GetStatus() OrderMessage_OrderStatus { - if x != nil && x.Status != nil { - return *x.Status - } - return OrderMessage_INQUIRY -} - -func (x *OrderMessage) GetSurface() OrderMessage_OrderSurface { - if x != nil && x.Surface != nil { - return *x.Surface - } - return OrderMessage_CATALOG -} - -func (x *OrderMessage) GetMessage() string { - if x != nil && x.Message != nil { - return *x.Message - } - return "" -} - -func (x *OrderMessage) GetOrderTitle() string { - if x != nil && x.OrderTitle != nil { - return *x.OrderTitle - } - return "" -} - -func (x *OrderMessage) GetSellerJid() string { - if x != nil && x.SellerJid != nil { - return *x.SellerJid - } - return "" -} - -func (x *OrderMessage) GetToken() string { - if x != nil && x.Token != nil { - return *x.Token - } - return "" -} - -func (x *OrderMessage) GetTotalAmount1000() int64 { - if x != nil && x.TotalAmount1000 != nil { - return *x.TotalAmount1000 - } - return 0 -} - -func (x *OrderMessage) GetTotalCurrencyCode() string { - if x != nil && x.TotalCurrencyCode != nil { - return *x.TotalCurrencyCode - } - return "" -} - -func (x *OrderMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *OrderMessage) GetMessageVersion() int32 { - if x != nil && x.MessageVersion != nil { - return *x.MessageVersion - } - return 0 -} - -func (x *OrderMessage) GetOrderRequestMessageId() *MessageKey { - if x != nil { - return x.OrderRequestMessageId - } - return nil -} - -type NewsletterAdminInviteMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NewsletterJid *string `protobuf:"bytes,1,opt,name=newsletterJid" json:"newsletterJid,omitempty"` - NewsletterName *string `protobuf:"bytes,2,opt,name=newsletterName" json:"newsletterName,omitempty"` - JpegThumbnail []byte `protobuf:"bytes,3,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"` - Caption *string `protobuf:"bytes,4,opt,name=caption" json:"caption,omitempty"` - InviteExpiration *int64 `protobuf:"varint,5,opt,name=inviteExpiration" json:"inviteExpiration,omitempty"` -} - -func (x *NewsletterAdminInviteMessage) Reset() { - *x = NewsletterAdminInviteMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewsletterAdminInviteMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewsletterAdminInviteMessage) ProtoMessage() {} - -func (x *NewsletterAdminInviteMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewsletterAdminInviteMessage.ProtoReflect.Descriptor instead. -func (*NewsletterAdminInviteMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{86} -} - -func (x *NewsletterAdminInviteMessage) GetNewsletterJid() string { - if x != nil && x.NewsletterJid != nil { - return *x.NewsletterJid - } - return "" -} - -func (x *NewsletterAdminInviteMessage) GetNewsletterName() string { - if x != nil && x.NewsletterName != nil { - return *x.NewsletterName - } - return "" -} - -func (x *NewsletterAdminInviteMessage) GetJpegThumbnail() []byte { - if x != nil { - return x.JpegThumbnail - } - return nil -} - -func (x *NewsletterAdminInviteMessage) GetCaption() string { - if x != nil && x.Caption != nil { - return *x.Caption - } - return "" -} - -func (x *NewsletterAdminInviteMessage) GetInviteExpiration() int64 { - if x != nil && x.InviteExpiration != nil { - return *x.InviteExpiration - } - return 0 -} - -type MessageHistoryBundle struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Mimetype *string `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"` - FileSha256 []byte `protobuf:"bytes,3,opt,name=fileSha256" json:"fileSha256,omitempty"` - MediaKey []byte `protobuf:"bytes,5,opt,name=mediaKey" json:"mediaKey,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,6,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` - DirectPath *string `protobuf:"bytes,7,opt,name=directPath" json:"directPath,omitempty"` - MediaKeyTimestamp *int64 `protobuf:"varint,8,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,9,opt,name=contextInfo" json:"contextInfo,omitempty"` - Participants []string `protobuf:"bytes,10,rep,name=participants" json:"participants,omitempty"` -} - -func (x *MessageHistoryBundle) Reset() { - *x = MessageHistoryBundle{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MessageHistoryBundle) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MessageHistoryBundle) ProtoMessage() {} - -func (x *MessageHistoryBundle) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[87] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MessageHistoryBundle.ProtoReflect.Descriptor instead. -func (*MessageHistoryBundle) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{87} -} - -func (x *MessageHistoryBundle) GetMimetype() string { - if x != nil && x.Mimetype != nil { - return *x.Mimetype - } - return "" -} - -func (x *MessageHistoryBundle) GetFileSha256() []byte { - if x != nil { - return x.FileSha256 - } - return nil -} - -func (x *MessageHistoryBundle) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *MessageHistoryBundle) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -func (x *MessageHistoryBundle) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *MessageHistoryBundle) GetMediaKeyTimestamp() int64 { - if x != nil && x.MediaKeyTimestamp != nil { - return *x.MediaKeyTimestamp - } - return 0 -} - -func (x *MessageHistoryBundle) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *MessageHistoryBundle) GetParticipants() []string { - if x != nil { - return x.Participants - } - return nil -} - -type LocationMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DegreesLatitude *float64 `protobuf:"fixed64,1,opt,name=degreesLatitude" json:"degreesLatitude,omitempty"` - DegreesLongitude *float64 `protobuf:"fixed64,2,opt,name=degreesLongitude" json:"degreesLongitude,omitempty"` - Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` - Address *string `protobuf:"bytes,4,opt,name=address" json:"address,omitempty"` - Url *string `protobuf:"bytes,5,opt,name=url" json:"url,omitempty"` - IsLive *bool `protobuf:"varint,6,opt,name=isLive" json:"isLive,omitempty"` - AccuracyInMeters *uint32 `protobuf:"varint,7,opt,name=accuracyInMeters" json:"accuracyInMeters,omitempty"` - SpeedInMps *float32 `protobuf:"fixed32,8,opt,name=speedInMps" json:"speedInMps,omitempty"` - DegreesClockwiseFromMagneticNorth *uint32 `protobuf:"varint,9,opt,name=degreesClockwiseFromMagneticNorth" json:"degreesClockwiseFromMagneticNorth,omitempty"` - Comment *string `protobuf:"bytes,11,opt,name=comment" json:"comment,omitempty"` - JpegThumbnail []byte `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` -} - -func (x *LocationMessage) Reset() { - *x = LocationMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LocationMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LocationMessage) ProtoMessage() {} - -func (x *LocationMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[88] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LocationMessage.ProtoReflect.Descriptor instead. -func (*LocationMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{88} -} - -func (x *LocationMessage) GetDegreesLatitude() float64 { - if x != nil && x.DegreesLatitude != nil { - return *x.DegreesLatitude - } - return 0 -} - -func (x *LocationMessage) GetDegreesLongitude() float64 { - if x != nil && x.DegreesLongitude != nil { - return *x.DegreesLongitude - } - return 0 -} - -func (x *LocationMessage) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *LocationMessage) GetAddress() string { - if x != nil && x.Address != nil { - return *x.Address - } - return "" -} - -func (x *LocationMessage) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *LocationMessage) GetIsLive() bool { - if x != nil && x.IsLive != nil { - return *x.IsLive - } - return false -} - -func (x *LocationMessage) GetAccuracyInMeters() uint32 { - if x != nil && x.AccuracyInMeters != nil { - return *x.AccuracyInMeters - } - return 0 -} - -func (x *LocationMessage) GetSpeedInMps() float32 { - if x != nil && x.SpeedInMps != nil { - return *x.SpeedInMps - } - return 0 -} - -func (x *LocationMessage) GetDegreesClockwiseFromMagneticNorth() uint32 { - if x != nil && x.DegreesClockwiseFromMagneticNorth != nil { - return *x.DegreesClockwiseFromMagneticNorth - } - return 0 -} - -func (x *LocationMessage) GetComment() string { - if x != nil && x.Comment != nil { - return *x.Comment - } - return "" -} - -func (x *LocationMessage) GetJpegThumbnail() []byte { - if x != nil { - return x.JpegThumbnail - } - return nil -} - -func (x *LocationMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -type LiveLocationMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DegreesLatitude *float64 `protobuf:"fixed64,1,opt,name=degreesLatitude" json:"degreesLatitude,omitempty"` - DegreesLongitude *float64 `protobuf:"fixed64,2,opt,name=degreesLongitude" json:"degreesLongitude,omitempty"` - AccuracyInMeters *uint32 `protobuf:"varint,3,opt,name=accuracyInMeters" json:"accuracyInMeters,omitempty"` - SpeedInMps *float32 `protobuf:"fixed32,4,opt,name=speedInMps" json:"speedInMps,omitempty"` - DegreesClockwiseFromMagneticNorth *uint32 `protobuf:"varint,5,opt,name=degreesClockwiseFromMagneticNorth" json:"degreesClockwiseFromMagneticNorth,omitempty"` - Caption *string `protobuf:"bytes,6,opt,name=caption" json:"caption,omitempty"` - SequenceNumber *int64 `protobuf:"varint,7,opt,name=sequenceNumber" json:"sequenceNumber,omitempty"` - TimeOffset *uint32 `protobuf:"varint,8,opt,name=timeOffset" json:"timeOffset,omitempty"` - JpegThumbnail []byte `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` -} - -func (x *LiveLocationMessage) Reset() { - *x = LiveLocationMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LiveLocationMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LiveLocationMessage) ProtoMessage() {} - -func (x *LiveLocationMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LiveLocationMessage.ProtoReflect.Descriptor instead. -func (*LiveLocationMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{89} -} - -func (x *LiveLocationMessage) GetDegreesLatitude() float64 { - if x != nil && x.DegreesLatitude != nil { - return *x.DegreesLatitude - } - return 0 -} - -func (x *LiveLocationMessage) GetDegreesLongitude() float64 { - if x != nil && x.DegreesLongitude != nil { - return *x.DegreesLongitude - } - return 0 -} - -func (x *LiveLocationMessage) GetAccuracyInMeters() uint32 { - if x != nil && x.AccuracyInMeters != nil { - return *x.AccuracyInMeters - } - return 0 -} - -func (x *LiveLocationMessage) GetSpeedInMps() float32 { - if x != nil && x.SpeedInMps != nil { - return *x.SpeedInMps - } - return 0 -} - -func (x *LiveLocationMessage) GetDegreesClockwiseFromMagneticNorth() uint32 { - if x != nil && x.DegreesClockwiseFromMagneticNorth != nil { - return *x.DegreesClockwiseFromMagneticNorth - } - return 0 -} - -func (x *LiveLocationMessage) GetCaption() string { - if x != nil && x.Caption != nil { - return *x.Caption - } - return "" -} - -func (x *LiveLocationMessage) GetSequenceNumber() int64 { - if x != nil && x.SequenceNumber != nil { - return *x.SequenceNumber - } - return 0 -} - -func (x *LiveLocationMessage) GetTimeOffset() uint32 { - if x != nil && x.TimeOffset != nil { - return *x.TimeOffset - } - return 0 -} - -func (x *LiveLocationMessage) GetJpegThumbnail() []byte { - if x != nil { - return x.JpegThumbnail - } - return nil -} - -func (x *LiveLocationMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -type ListResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` - ListType *ListResponseMessage_ListType `protobuf:"varint,2,opt,name=listType,enum=defproto.ListResponseMessage_ListType" json:"listType,omitempty"` - SingleSelectReply *ListResponseMessage_SingleSelectReply `protobuf:"bytes,3,opt,name=singleSelectReply" json:"singleSelectReply,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,4,opt,name=contextInfo" json:"contextInfo,omitempty"` - Description *string `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"` -} - -func (x *ListResponseMessage) Reset() { - *x = ListResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListResponseMessage) ProtoMessage() {} - -func (x *ListResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[90] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListResponseMessage.ProtoReflect.Descriptor instead. -func (*ListResponseMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{90} -} - -func (x *ListResponseMessage) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *ListResponseMessage) GetListType() ListResponseMessage_ListType { - if x != nil && x.ListType != nil { - return *x.ListType - } - return ListResponseMessage_UNKNOWN -} - -func (x *ListResponseMessage) GetSingleSelectReply() *ListResponseMessage_SingleSelectReply { - if x != nil { - return x.SingleSelectReply - } - return nil -} - -func (x *ListResponseMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (x *ListResponseMessage) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -type ListMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` - Description *string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"` - ButtonText *string `protobuf:"bytes,3,opt,name=buttonText" json:"buttonText,omitempty"` - ListType *ListMessage_ListType `protobuf:"varint,4,opt,name=listType,enum=defproto.ListMessage_ListType" json:"listType,omitempty"` - Sections []*ListMessage_Section `protobuf:"bytes,5,rep,name=sections" json:"sections,omitempty"` - ProductListInfo *ListMessage_ProductListInfo `protobuf:"bytes,6,opt,name=productListInfo" json:"productListInfo,omitempty"` - FooterText *string `protobuf:"bytes,7,opt,name=footerText" json:"footerText,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,8,opt,name=contextInfo" json:"contextInfo,omitempty"` -} - -func (x *ListMessage) Reset() { - *x = ListMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[91] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMessage) ProtoMessage() {} - -func (x *ListMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[91] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMessage.ProtoReflect.Descriptor instead. -func (*ListMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{91} -} - -func (x *ListMessage) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *ListMessage) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *ListMessage) GetButtonText() string { - if x != nil && x.ButtonText != nil { - return *x.ButtonText - } - return "" -} - -func (x *ListMessage) GetListType() ListMessage_ListType { - if x != nil && x.ListType != nil { - return *x.ListType - } - return ListMessage_UNKNOWN -} - -func (x *ListMessage) GetSections() []*ListMessage_Section { - if x != nil { - return x.Sections - } - return nil -} - -func (x *ListMessage) GetProductListInfo() *ListMessage_ProductListInfo { - if x != nil { - return x.ProductListInfo - } - return nil -} - -func (x *ListMessage) GetFooterText() string { - if x != nil && x.FooterText != nil { - return *x.FooterText - } - return "" -} - -func (x *ListMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -type KeepInChatMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - KeepType *KeepType `protobuf:"varint,2,opt,name=keepType,enum=defproto.KeepType" json:"keepType,omitempty"` - TimestampMs *int64 `protobuf:"varint,3,opt,name=timestampMs" json:"timestampMs,omitempty"` -} - -func (x *KeepInChatMessage) Reset() { - *x = KeepInChatMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KeepInChatMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KeepInChatMessage) ProtoMessage() {} - -func (x *KeepInChatMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[92] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KeepInChatMessage.ProtoReflect.Descriptor instead. -func (*KeepInChatMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{92} -} - -func (x *KeepInChatMessage) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *KeepInChatMessage) GetKeepType() KeepType { - if x != nil && x.KeepType != nil { - return *x.KeepType - } - return KeepType_UNKNOWN -} - -func (x *KeepInChatMessage) GetTimestampMs() int64 { - if x != nil && x.TimestampMs != nil { - return *x.TimestampMs - } - return 0 -} - -type InvoiceMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Note *string `protobuf:"bytes,1,opt,name=note" json:"note,omitempty"` - Token *string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"` - AttachmentType *InvoiceMessage_AttachmentType `protobuf:"varint,3,opt,name=attachmentType,enum=defproto.InvoiceMessage_AttachmentType" json:"attachmentType,omitempty"` - AttachmentMimetype *string `protobuf:"bytes,4,opt,name=attachmentMimetype" json:"attachmentMimetype,omitempty"` - AttachmentMediaKey []byte `protobuf:"bytes,5,opt,name=attachmentMediaKey" json:"attachmentMediaKey,omitempty"` - AttachmentMediaKeyTimestamp *int64 `protobuf:"varint,6,opt,name=attachmentMediaKeyTimestamp" json:"attachmentMediaKeyTimestamp,omitempty"` - AttachmentFileSha256 []byte `protobuf:"bytes,7,opt,name=attachmentFileSha256" json:"attachmentFileSha256,omitempty"` - AttachmentFileEncSha256 []byte `protobuf:"bytes,8,opt,name=attachmentFileEncSha256" json:"attachmentFileEncSha256,omitempty"` - AttachmentDirectPath *string `protobuf:"bytes,9,opt,name=attachmentDirectPath" json:"attachmentDirectPath,omitempty"` - AttachmentJpegThumbnail []byte `protobuf:"bytes,10,opt,name=attachmentJpegThumbnail" json:"attachmentJpegThumbnail,omitempty"` -} - -func (x *InvoiceMessage) Reset() { - *x = InvoiceMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[93] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InvoiceMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InvoiceMessage) ProtoMessage() {} - -func (x *InvoiceMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[93] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InvoiceMessage.ProtoReflect.Descriptor instead. -func (*InvoiceMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{93} -} - -func (x *InvoiceMessage) GetNote() string { - if x != nil && x.Note != nil { - return *x.Note - } - return "" -} - -func (x *InvoiceMessage) GetToken() string { - if x != nil && x.Token != nil { - return *x.Token - } - return "" -} - -func (x *InvoiceMessage) GetAttachmentType() InvoiceMessage_AttachmentType { - if x != nil && x.AttachmentType != nil { - return *x.AttachmentType - } - return InvoiceMessage_IMAGE -} - -func (x *InvoiceMessage) GetAttachmentMimetype() string { - if x != nil && x.AttachmentMimetype != nil { - return *x.AttachmentMimetype - } - return "" -} - -func (x *InvoiceMessage) GetAttachmentMediaKey() []byte { - if x != nil { - return x.AttachmentMediaKey - } - return nil -} - -func (x *InvoiceMessage) GetAttachmentMediaKeyTimestamp() int64 { - if x != nil && x.AttachmentMediaKeyTimestamp != nil { - return *x.AttachmentMediaKeyTimestamp - } - return 0 -} - -func (x *InvoiceMessage) GetAttachmentFileSha256() []byte { - if x != nil { - return x.AttachmentFileSha256 - } - return nil -} - -func (x *InvoiceMessage) GetAttachmentFileEncSha256() []byte { - if x != nil { - return x.AttachmentFileEncSha256 - } - return nil -} - -func (x *InvoiceMessage) GetAttachmentDirectPath() string { - if x != nil && x.AttachmentDirectPath != nil { - return *x.AttachmentDirectPath - } - return "" -} - -func (x *InvoiceMessage) GetAttachmentJpegThumbnail() []byte { - if x != nil { - return x.AttachmentJpegThumbnail - } - return nil -} - -type InteractiveResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Body *InteractiveResponseMessage_Body `protobuf:"bytes,1,opt,name=body" json:"body,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,15,opt,name=contextInfo" json:"contextInfo,omitempty"` - // Types that are assignable to InteractiveResponseMessage: - // - // *InteractiveResponseMessage_NativeFlowResponseMessage_ - InteractiveResponseMessage isInteractiveResponseMessage_InteractiveResponseMessage `protobuf_oneof:"interactiveResponseMessage"` -} - -func (x *InteractiveResponseMessage) Reset() { - *x = InteractiveResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveResponseMessage) ProtoMessage() {} - -func (x *InteractiveResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveResponseMessage.ProtoReflect.Descriptor instead. -func (*InteractiveResponseMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{94} -} - -func (x *InteractiveResponseMessage) GetBody() *InteractiveResponseMessage_Body { - if x != nil { - return x.Body - } - return nil -} - -func (x *InteractiveResponseMessage) GetContextInfo() *ContextInfo { - if x != nil { - return x.ContextInfo - } - return nil -} - -func (m *InteractiveResponseMessage) GetInteractiveResponseMessage() isInteractiveResponseMessage_InteractiveResponseMessage { - if m != nil { - return m.InteractiveResponseMessage - } - return nil -} - -func (x *InteractiveResponseMessage) GetNativeFlowResponseMessage() *InteractiveResponseMessage_NativeFlowResponseMessage { - if x, ok := x.GetInteractiveResponseMessage().(*InteractiveResponseMessage_NativeFlowResponseMessage_); ok { - return x.NativeFlowResponseMessage - } - return nil -} - -type isInteractiveResponseMessage_InteractiveResponseMessage interface { - isInteractiveResponseMessage_InteractiveResponseMessage() -} - -type InteractiveResponseMessage_NativeFlowResponseMessage_ struct { - NativeFlowResponseMessage *InteractiveResponseMessage_NativeFlowResponseMessage `protobuf:"bytes,2,opt,name=nativeFlowResponseMessage,oneof"` -} - -func (*InteractiveResponseMessage_NativeFlowResponseMessage_) isInteractiveResponseMessage_InteractiveResponseMessage() { -} - -type EphemeralSetting struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Duration *int32 `protobuf:"fixed32,1,opt,name=duration" json:"duration,omitempty"` - Timestamp *int64 `protobuf:"fixed64,2,opt,name=timestamp" json:"timestamp,omitempty"` -} - -func (x *EphemeralSetting) Reset() { - *x = EphemeralSetting{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EphemeralSetting) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EphemeralSetting) ProtoMessage() {} - -func (x *EphemeralSetting) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EphemeralSetting.ProtoReflect.Descriptor instead. -func (*EphemeralSetting) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{95} -} - -func (x *EphemeralSetting) GetDuration() int32 { - if x != nil && x.Duration != nil { - return *x.Duration - } - return 0 -} - -func (x *EphemeralSetting) GetTimestamp() int64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -type WallpaperSettings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Filename *string `protobuf:"bytes,1,opt,name=filename" json:"filename,omitempty"` - Opacity *uint32 `protobuf:"varint,2,opt,name=opacity" json:"opacity,omitempty"` -} - -func (x *WallpaperSettings) Reset() { - *x = WallpaperSettings{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WallpaperSettings) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WallpaperSettings) ProtoMessage() {} - -func (x *WallpaperSettings) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WallpaperSettings.ProtoReflect.Descriptor instead. -func (*WallpaperSettings) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{96} -} - -func (x *WallpaperSettings) GetFilename() string { - if x != nil && x.Filename != nil { - return *x.Filename - } - return "" -} - -func (x *WallpaperSettings) GetOpacity() uint32 { - if x != nil && x.Opacity != nil { - return *x.Opacity - } - return 0 -} - -type StickerMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` - FileSha256 []byte `protobuf:"bytes,2,opt,name=fileSha256" json:"fileSha256,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,3,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` - MediaKey []byte `protobuf:"bytes,4,opt,name=mediaKey" json:"mediaKey,omitempty"` - Mimetype *string `protobuf:"bytes,5,opt,name=mimetype" json:"mimetype,omitempty"` - Height *uint32 `protobuf:"varint,6,opt,name=height" json:"height,omitempty"` - Width *uint32 `protobuf:"varint,7,opt,name=width" json:"width,omitempty"` - DirectPath *string `protobuf:"bytes,8,opt,name=directPath" json:"directPath,omitempty"` - FileLength *uint64 `protobuf:"varint,9,opt,name=fileLength" json:"fileLength,omitempty"` - Weight *float32 `protobuf:"fixed32,10,opt,name=weight" json:"weight,omitempty"` - LastStickerSentTs *int64 `protobuf:"varint,11,opt,name=lastStickerSentTs" json:"lastStickerSentTs,omitempty"` -} - -func (x *StickerMetadata) Reset() { - *x = StickerMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StickerMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StickerMetadata) ProtoMessage() {} - -func (x *StickerMetadata) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StickerMetadata.ProtoReflect.Descriptor instead. -func (*StickerMetadata) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{97} -} - -func (x *StickerMetadata) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *StickerMetadata) GetFileSha256() []byte { - if x != nil { - return x.FileSha256 - } - return nil -} - -func (x *StickerMetadata) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -func (x *StickerMetadata) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *StickerMetadata) GetMimetype() string { - if x != nil && x.Mimetype != nil { - return *x.Mimetype - } - return "" -} - -func (x *StickerMetadata) GetHeight() uint32 { - if x != nil && x.Height != nil { - return *x.Height - } - return 0 -} - -func (x *StickerMetadata) GetWidth() uint32 { - if x != nil && x.Width != nil { - return *x.Width - } - return 0 -} - -func (x *StickerMetadata) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *StickerMetadata) GetFileLength() uint64 { - if x != nil && x.FileLength != nil { - return *x.FileLength - } - return 0 -} - -func (x *StickerMetadata) GetWeight() float32 { - if x != nil && x.Weight != nil { - return *x.Weight - } - return 0 -} - -func (x *StickerMetadata) GetLastStickerSentTs() int64 { - if x != nil && x.LastStickerSentTs != nil { - return *x.LastStickerSentTs - } - return 0 -} - -type Pushname struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Pushname *string `protobuf:"bytes,2,opt,name=pushname" json:"pushname,omitempty"` -} - -func (x *Pushname) Reset() { - *x = Pushname{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Pushname) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Pushname) ProtoMessage() {} - -func (x *Pushname) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[98] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Pushname.ProtoReflect.Descriptor instead. -func (*Pushname) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{98} -} - -func (x *Pushname) GetId() string { - if x != nil && x.Id != nil { - return *x.Id - } - return "" -} - -func (x *Pushname) GetPushname() string { - if x != nil && x.Pushname != nil { - return *x.Pushname - } - return "" -} - -type PhoneNumberToLIDMapping struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PnJid *string `protobuf:"bytes,1,opt,name=pnJid" json:"pnJid,omitempty"` - LidJid *string `protobuf:"bytes,2,opt,name=lidJid" json:"lidJid,omitempty"` -} - -func (x *PhoneNumberToLIDMapping) Reset() { - *x = PhoneNumberToLIDMapping{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PhoneNumberToLIDMapping) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PhoneNumberToLIDMapping) ProtoMessage() {} - -func (x *PhoneNumberToLIDMapping) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[99] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PhoneNumberToLIDMapping.ProtoReflect.Descriptor instead. -func (*PhoneNumberToLIDMapping) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{99} -} - -func (x *PhoneNumberToLIDMapping) GetPnJid() string { - if x != nil && x.PnJid != nil { - return *x.PnJid - } - return "" -} - -func (x *PhoneNumberToLIDMapping) GetLidJid() string { - if x != nil && x.LidJid != nil { - return *x.LidJid - } - return "" -} - -type PastParticipants struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupJid *string `protobuf:"bytes,1,opt,name=groupJid" json:"groupJid,omitempty"` - PastParticipants []*PastParticipant `protobuf:"bytes,2,rep,name=pastParticipants" json:"pastParticipants,omitempty"` -} - -func (x *PastParticipants) Reset() { - *x = PastParticipants{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PastParticipants) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PastParticipants) ProtoMessage() {} - -func (x *PastParticipants) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[100] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PastParticipants.ProtoReflect.Descriptor instead. -func (*PastParticipants) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{100} -} - -func (x *PastParticipants) GetGroupJid() string { - if x != nil && x.GroupJid != nil { - return *x.GroupJid - } - return "" -} - -func (x *PastParticipants) GetPastParticipants() []*PastParticipant { - if x != nil { - return x.PastParticipants - } - return nil -} - -type PastParticipant struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserJid *string `protobuf:"bytes,1,opt,name=userJid" json:"userJid,omitempty"` - LeaveReason *PastParticipant_LeaveReason `protobuf:"varint,2,opt,name=leaveReason,enum=defproto.PastParticipant_LeaveReason" json:"leaveReason,omitempty"` - LeaveTs *uint64 `protobuf:"varint,3,opt,name=leaveTs" json:"leaveTs,omitempty"` -} - -func (x *PastParticipant) Reset() { - *x = PastParticipant{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[101] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PastParticipant) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PastParticipant) ProtoMessage() {} - -func (x *PastParticipant) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[101] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PastParticipant.ProtoReflect.Descriptor instead. -func (*PastParticipant) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{101} -} - -func (x *PastParticipant) GetUserJid() string { - if x != nil && x.UserJid != nil { - return *x.UserJid - } - return "" -} - -func (x *PastParticipant) GetLeaveReason() PastParticipant_LeaveReason { - if x != nil && x.LeaveReason != nil { - return *x.LeaveReason - } - return PastParticipant_LEFT -} - -func (x *PastParticipant) GetLeaveTs() uint64 { - if x != nil && x.LeaveTs != nil { - return *x.LeaveTs - } - return 0 -} - -type NotificationSettings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MessageVibrate *string `protobuf:"bytes,1,opt,name=messageVibrate" json:"messageVibrate,omitempty"` - MessagePopup *string `protobuf:"bytes,2,opt,name=messagePopup" json:"messagePopup,omitempty"` - MessageLight *string `protobuf:"bytes,3,opt,name=messageLight" json:"messageLight,omitempty"` - LowPriorityNotifications *bool `protobuf:"varint,4,opt,name=lowPriorityNotifications" json:"lowPriorityNotifications,omitempty"` - ReactionsMuted *bool `protobuf:"varint,5,opt,name=reactionsMuted" json:"reactionsMuted,omitempty"` - CallVibrate *string `protobuf:"bytes,6,opt,name=callVibrate" json:"callVibrate,omitempty"` -} - -func (x *NotificationSettings) Reset() { - *x = NotificationSettings{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[102] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NotificationSettings) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NotificationSettings) ProtoMessage() {} - -func (x *NotificationSettings) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[102] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NotificationSettings.ProtoReflect.Descriptor instead. -func (*NotificationSettings) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{102} -} - -func (x *NotificationSettings) GetMessageVibrate() string { - if x != nil && x.MessageVibrate != nil { - return *x.MessageVibrate - } - return "" -} - -func (x *NotificationSettings) GetMessagePopup() string { - if x != nil && x.MessagePopup != nil { - return *x.MessagePopup - } - return "" -} - -func (x *NotificationSettings) GetMessageLight() string { - if x != nil && x.MessageLight != nil { - return *x.MessageLight - } - return "" -} - -func (x *NotificationSettings) GetLowPriorityNotifications() bool { - if x != nil && x.LowPriorityNotifications != nil { - return *x.LowPriorityNotifications - } - return false -} - -func (x *NotificationSettings) GetReactionsMuted() bool { - if x != nil && x.ReactionsMuted != nil { - return *x.ReactionsMuted - } - return false -} - -func (x *NotificationSettings) GetCallVibrate() string { - if x != nil && x.CallVibrate != nil { - return *x.CallVibrate - } - return "" -} - -type HistorySync struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SyncType *HistorySync_HistorySyncType `protobuf:"varint,1,req,name=syncType,enum=defproto.HistorySync_HistorySyncType" json:"syncType,omitempty"` - Conversations []*Conversation `protobuf:"bytes,2,rep,name=conversations" json:"conversations,omitempty"` - StatusV3Messages []*WebMessageInfo `protobuf:"bytes,3,rep,name=statusV3Messages" json:"statusV3Messages,omitempty"` - ChunkOrder *uint32 `protobuf:"varint,5,opt,name=chunkOrder" json:"chunkOrder,omitempty"` - Progress *uint32 `protobuf:"varint,6,opt,name=progress" json:"progress,omitempty"` - Pushnames []*Pushname `protobuf:"bytes,7,rep,name=pushnames" json:"pushnames,omitempty"` - GlobalSettings *GlobalSettings `protobuf:"bytes,8,opt,name=globalSettings" json:"globalSettings,omitempty"` - ThreadIdUserSecret []byte `protobuf:"bytes,9,opt,name=threadIdUserSecret" json:"threadIdUserSecret,omitempty"` - ThreadDsTimeframeOffset *uint32 `protobuf:"varint,10,opt,name=threadDsTimeframeOffset" json:"threadDsTimeframeOffset,omitempty"` - RecentStickers []*StickerMetadata `protobuf:"bytes,11,rep,name=recentStickers" json:"recentStickers,omitempty"` - PastParticipants []*PastParticipants `protobuf:"bytes,12,rep,name=pastParticipants" json:"pastParticipants,omitempty"` - CallLogRecords []*CallLogRecord `protobuf:"bytes,13,rep,name=callLogRecords" json:"callLogRecords,omitempty"` - AiWaitListState *HistorySync_BotAIWaitListState `protobuf:"varint,14,opt,name=aiWaitListState,enum=defproto.HistorySync_BotAIWaitListState" json:"aiWaitListState,omitempty"` - PhoneNumberToLidMappings []*PhoneNumberToLIDMapping `protobuf:"bytes,15,rep,name=phoneNumberToLidMappings" json:"phoneNumberToLidMappings,omitempty"` -} - -func (x *HistorySync) Reset() { - *x = HistorySync{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[103] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HistorySync) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HistorySync) ProtoMessage() {} - -func (x *HistorySync) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[103] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HistorySync.ProtoReflect.Descriptor instead. -func (*HistorySync) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{103} -} - -func (x *HistorySync) GetSyncType() HistorySync_HistorySyncType { - if x != nil && x.SyncType != nil { - return *x.SyncType - } - return HistorySync_INITIAL_BOOTSTRAP -} - -func (x *HistorySync) GetConversations() []*Conversation { - if x != nil { - return x.Conversations - } - return nil -} - -func (x *HistorySync) GetStatusV3Messages() []*WebMessageInfo { - if x != nil { - return x.StatusV3Messages - } - return nil -} - -func (x *HistorySync) GetChunkOrder() uint32 { - if x != nil && x.ChunkOrder != nil { - return *x.ChunkOrder - } - return 0 -} - -func (x *HistorySync) GetProgress() uint32 { - if x != nil && x.Progress != nil { - return *x.Progress - } - return 0 -} - -func (x *HistorySync) GetPushnames() []*Pushname { - if x != nil { - return x.Pushnames - } - return nil -} - -func (x *HistorySync) GetGlobalSettings() *GlobalSettings { - if x != nil { - return x.GlobalSettings - } - return nil -} - -func (x *HistorySync) GetThreadIdUserSecret() []byte { - if x != nil { - return x.ThreadIdUserSecret - } - return nil -} - -func (x *HistorySync) GetThreadDsTimeframeOffset() uint32 { - if x != nil && x.ThreadDsTimeframeOffset != nil { - return *x.ThreadDsTimeframeOffset - } - return 0 -} - -func (x *HistorySync) GetRecentStickers() []*StickerMetadata { - if x != nil { - return x.RecentStickers - } - return nil -} - -func (x *HistorySync) GetPastParticipants() []*PastParticipants { - if x != nil { - return x.PastParticipants - } - return nil -} - -func (x *HistorySync) GetCallLogRecords() []*CallLogRecord { - if x != nil { - return x.CallLogRecords - } - return nil -} - -func (x *HistorySync) GetAiWaitListState() HistorySync_BotAIWaitListState { - if x != nil && x.AiWaitListState != nil { - return *x.AiWaitListState - } - return HistorySync_IN_WAITLIST -} - -func (x *HistorySync) GetPhoneNumberToLidMappings() []*PhoneNumberToLIDMapping { - if x != nil { - return x.PhoneNumberToLidMappings - } - return nil -} - -type HistorySyncMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Message *WebMessageInfo `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"` - MsgOrderId *uint64 `protobuf:"varint,2,opt,name=msgOrderId" json:"msgOrderId,omitempty"` -} - -func (x *HistorySyncMsg) Reset() { - *x = HistorySyncMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[104] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HistorySyncMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HistorySyncMsg) ProtoMessage() {} - -func (x *HistorySyncMsg) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[104] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HistorySyncMsg.ProtoReflect.Descriptor instead. -func (*HistorySyncMsg) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{104} -} - -func (x *HistorySyncMsg) GetMessage() *WebMessageInfo { - if x != nil { - return x.Message - } - return nil -} - -func (x *HistorySyncMsg) GetMsgOrderId() uint64 { - if x != nil && x.MsgOrderId != nil { - return *x.MsgOrderId - } - return 0 -} - -type GroupParticipant struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserJid *string `protobuf:"bytes,1,req,name=userJid" json:"userJid,omitempty"` - Rank *GroupParticipant_Rank `protobuf:"varint,2,opt,name=rank,enum=defproto.GroupParticipant_Rank" json:"rank,omitempty"` -} - -func (x *GroupParticipant) Reset() { - *x = GroupParticipant{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[105] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupParticipant) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupParticipant) ProtoMessage() {} - -func (x *GroupParticipant) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[105] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupParticipant.ProtoReflect.Descriptor instead. -func (*GroupParticipant) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{105} -} - -func (x *GroupParticipant) GetUserJid() string { - if x != nil && x.UserJid != nil { - return *x.UserJid - } - return "" -} - -func (x *GroupParticipant) GetRank() GroupParticipant_Rank { - if x != nil && x.Rank != nil { - return *x.Rank - } - return GroupParticipant_REGULAR -} - -type GlobalSettings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LightThemeWallpaper *WallpaperSettings `protobuf:"bytes,1,opt,name=lightThemeWallpaper" json:"lightThemeWallpaper,omitempty"` - MediaVisibility *MediaVisibility `protobuf:"varint,2,opt,name=mediaVisibility,enum=defproto.MediaVisibility" json:"mediaVisibility,omitempty"` - DarkThemeWallpaper *WallpaperSettings `protobuf:"bytes,3,opt,name=darkThemeWallpaper" json:"darkThemeWallpaper,omitempty"` - AutoDownloadWiFi *AutoDownloadSettings `protobuf:"bytes,4,opt,name=autoDownloadWiFi" json:"autoDownloadWiFi,omitempty"` - AutoDownloadCellular *AutoDownloadSettings `protobuf:"bytes,5,opt,name=autoDownloadCellular" json:"autoDownloadCellular,omitempty"` - AutoDownloadRoaming *AutoDownloadSettings `protobuf:"bytes,6,opt,name=autoDownloadRoaming" json:"autoDownloadRoaming,omitempty"` - ShowIndividualNotificationsPreview *bool `protobuf:"varint,7,opt,name=showIndividualNotificationsPreview" json:"showIndividualNotificationsPreview,omitempty"` - ShowGroupNotificationsPreview *bool `protobuf:"varint,8,opt,name=showGroupNotificationsPreview" json:"showGroupNotificationsPreview,omitempty"` - DisappearingModeDuration *int32 `protobuf:"varint,9,opt,name=disappearingModeDuration" json:"disappearingModeDuration,omitempty"` - DisappearingModeTimestamp *int64 `protobuf:"varint,10,opt,name=disappearingModeTimestamp" json:"disappearingModeTimestamp,omitempty"` - AvatarUserSettings *AvatarUserSettings `protobuf:"bytes,11,opt,name=avatarUserSettings" json:"avatarUserSettings,omitempty"` - FontSize *int32 `protobuf:"varint,12,opt,name=fontSize" json:"fontSize,omitempty"` - SecurityNotifications *bool `protobuf:"varint,13,opt,name=securityNotifications" json:"securityNotifications,omitempty"` - AutoUnarchiveChats *bool `protobuf:"varint,14,opt,name=autoUnarchiveChats" json:"autoUnarchiveChats,omitempty"` - VideoQualityMode *int32 `protobuf:"varint,15,opt,name=videoQualityMode" json:"videoQualityMode,omitempty"` - PhotoQualityMode *int32 `protobuf:"varint,16,opt,name=photoQualityMode" json:"photoQualityMode,omitempty"` - IndividualNotificationSettings *NotificationSettings `protobuf:"bytes,17,opt,name=individualNotificationSettings" json:"individualNotificationSettings,omitempty"` - GroupNotificationSettings *NotificationSettings `protobuf:"bytes,18,opt,name=groupNotificationSettings" json:"groupNotificationSettings,omitempty"` -} - -func (x *GlobalSettings) Reset() { - *x = GlobalSettings{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[106] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GlobalSettings) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GlobalSettings) ProtoMessage() {} - -func (x *GlobalSettings) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[106] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GlobalSettings.ProtoReflect.Descriptor instead. -func (*GlobalSettings) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{106} -} - -func (x *GlobalSettings) GetLightThemeWallpaper() *WallpaperSettings { - if x != nil { - return x.LightThemeWallpaper - } - return nil -} - -func (x *GlobalSettings) GetMediaVisibility() MediaVisibility { - if x != nil && x.MediaVisibility != nil { - return *x.MediaVisibility - } - return MediaVisibility_DEFAULT -} - -func (x *GlobalSettings) GetDarkThemeWallpaper() *WallpaperSettings { - if x != nil { - return x.DarkThemeWallpaper - } - return nil -} - -func (x *GlobalSettings) GetAutoDownloadWiFi() *AutoDownloadSettings { - if x != nil { - return x.AutoDownloadWiFi - } - return nil -} - -func (x *GlobalSettings) GetAutoDownloadCellular() *AutoDownloadSettings { - if x != nil { - return x.AutoDownloadCellular - } - return nil -} - -func (x *GlobalSettings) GetAutoDownloadRoaming() *AutoDownloadSettings { - if x != nil { - return x.AutoDownloadRoaming - } - return nil -} - -func (x *GlobalSettings) GetShowIndividualNotificationsPreview() bool { - if x != nil && x.ShowIndividualNotificationsPreview != nil { - return *x.ShowIndividualNotificationsPreview - } - return false -} - -func (x *GlobalSettings) GetShowGroupNotificationsPreview() bool { - if x != nil && x.ShowGroupNotificationsPreview != nil { - return *x.ShowGroupNotificationsPreview - } - return false -} - -func (x *GlobalSettings) GetDisappearingModeDuration() int32 { - if x != nil && x.DisappearingModeDuration != nil { - return *x.DisappearingModeDuration - } - return 0 -} - -func (x *GlobalSettings) GetDisappearingModeTimestamp() int64 { - if x != nil && x.DisappearingModeTimestamp != nil { - return *x.DisappearingModeTimestamp - } - return 0 -} - -func (x *GlobalSettings) GetAvatarUserSettings() *AvatarUserSettings { - if x != nil { - return x.AvatarUserSettings - } - return nil -} - -func (x *GlobalSettings) GetFontSize() int32 { - if x != nil && x.FontSize != nil { - return *x.FontSize - } - return 0 -} - -func (x *GlobalSettings) GetSecurityNotifications() bool { - if x != nil && x.SecurityNotifications != nil { - return *x.SecurityNotifications - } - return false -} - -func (x *GlobalSettings) GetAutoUnarchiveChats() bool { - if x != nil && x.AutoUnarchiveChats != nil { - return *x.AutoUnarchiveChats - } - return false -} - -func (x *GlobalSettings) GetVideoQualityMode() int32 { - if x != nil && x.VideoQualityMode != nil { - return *x.VideoQualityMode - } - return 0 -} - -func (x *GlobalSettings) GetPhotoQualityMode() int32 { - if x != nil && x.PhotoQualityMode != nil { - return *x.PhotoQualityMode - } - return 0 -} - -func (x *GlobalSettings) GetIndividualNotificationSettings() *NotificationSettings { - if x != nil { - return x.IndividualNotificationSettings - } - return nil -} - -func (x *GlobalSettings) GetGroupNotificationSettings() *NotificationSettings { - if x != nil { - return x.GroupNotificationSettings - } - return nil -} - -type Conversation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id *string `protobuf:"bytes,1,req,name=id" json:"id,omitempty"` - Messages []*HistorySyncMsg `protobuf:"bytes,2,rep,name=messages" json:"messages,omitempty"` - NewJid *string `protobuf:"bytes,3,opt,name=newJid" json:"newJid,omitempty"` - OldJid *string `protobuf:"bytes,4,opt,name=oldJid" json:"oldJid,omitempty"` - LastMsgTimestamp *uint64 `protobuf:"varint,5,opt,name=lastMsgTimestamp" json:"lastMsgTimestamp,omitempty"` - UnreadCount *uint32 `protobuf:"varint,6,opt,name=unreadCount" json:"unreadCount,omitempty"` - ReadOnly *bool `protobuf:"varint,7,opt,name=readOnly" json:"readOnly,omitempty"` - EndOfHistoryTransfer *bool `protobuf:"varint,8,opt,name=endOfHistoryTransfer" json:"endOfHistoryTransfer,omitempty"` - EphemeralExpiration *uint32 `protobuf:"varint,9,opt,name=ephemeralExpiration" json:"ephemeralExpiration,omitempty"` - EphemeralSettingTimestamp *int64 `protobuf:"varint,10,opt,name=ephemeralSettingTimestamp" json:"ephemeralSettingTimestamp,omitempty"` - EndOfHistoryTransferType *Conversation_EndOfHistoryTransferType `protobuf:"varint,11,opt,name=endOfHistoryTransferType,enum=defproto.Conversation_EndOfHistoryTransferType" json:"endOfHistoryTransferType,omitempty"` - ConversationTimestamp *uint64 `protobuf:"varint,12,opt,name=conversationTimestamp" json:"conversationTimestamp,omitempty"` - Name *string `protobuf:"bytes,13,opt,name=name" json:"name,omitempty"` - PHash *string `protobuf:"bytes,14,opt,name=pHash" json:"pHash,omitempty"` - NotSpam *bool `protobuf:"varint,15,opt,name=notSpam" json:"notSpam,omitempty"` - Archived *bool `protobuf:"varint,16,opt,name=archived" json:"archived,omitempty"` - DisappearingMode *DisappearingMode `protobuf:"bytes,17,opt,name=disappearingMode" json:"disappearingMode,omitempty"` - UnreadMentionCount *uint32 `protobuf:"varint,18,opt,name=unreadMentionCount" json:"unreadMentionCount,omitempty"` - MarkedAsUnread *bool `protobuf:"varint,19,opt,name=markedAsUnread" json:"markedAsUnread,omitempty"` - Participant []*GroupParticipant `protobuf:"bytes,20,rep,name=participant" json:"participant,omitempty"` - TcToken []byte `protobuf:"bytes,21,opt,name=tcToken" json:"tcToken,omitempty"` - TcTokenTimestamp *uint64 `protobuf:"varint,22,opt,name=tcTokenTimestamp" json:"tcTokenTimestamp,omitempty"` - ContactPrimaryIdentityKey []byte `protobuf:"bytes,23,opt,name=contactPrimaryIdentityKey" json:"contactPrimaryIdentityKey,omitempty"` - Pinned *uint32 `protobuf:"varint,24,opt,name=pinned" json:"pinned,omitempty"` - MuteEndTime *uint64 `protobuf:"varint,25,opt,name=muteEndTime" json:"muteEndTime,omitempty"` - Wallpaper *WallpaperSettings `protobuf:"bytes,26,opt,name=wallpaper" json:"wallpaper,omitempty"` - MediaVisibility *MediaVisibility `protobuf:"varint,27,opt,name=mediaVisibility,enum=defproto.MediaVisibility" json:"mediaVisibility,omitempty"` - TcTokenSenderTimestamp *uint64 `protobuf:"varint,28,opt,name=tcTokenSenderTimestamp" json:"tcTokenSenderTimestamp,omitempty"` - Suspended *bool `protobuf:"varint,29,opt,name=suspended" json:"suspended,omitempty"` - Terminated *bool `protobuf:"varint,30,opt,name=terminated" json:"terminated,omitempty"` - CreatedAt *uint64 `protobuf:"varint,31,opt,name=createdAt" json:"createdAt,omitempty"` - CreatedBy *string `protobuf:"bytes,32,opt,name=createdBy" json:"createdBy,omitempty"` - Description *string `protobuf:"bytes,33,opt,name=description" json:"description,omitempty"` - Support *bool `protobuf:"varint,34,opt,name=support" json:"support,omitempty"` - IsParentGroup *bool `protobuf:"varint,35,opt,name=isParentGroup" json:"isParentGroup,omitempty"` - ParentGroupId *string `protobuf:"bytes,37,opt,name=parentGroupId" json:"parentGroupId,omitempty"` - IsDefaultSubgroup *bool `protobuf:"varint,36,opt,name=isDefaultSubgroup" json:"isDefaultSubgroup,omitempty"` - DisplayName *string `protobuf:"bytes,38,opt,name=displayName" json:"displayName,omitempty"` - PnJid *string `protobuf:"bytes,39,opt,name=pnJid" json:"pnJid,omitempty"` - ShareOwnPn *bool `protobuf:"varint,40,opt,name=shareOwnPn" json:"shareOwnPn,omitempty"` - PnhDuplicateLidThread *bool `protobuf:"varint,41,opt,name=pnhDuplicateLidThread" json:"pnhDuplicateLidThread,omitempty"` - LidJid *string `protobuf:"bytes,42,opt,name=lidJid" json:"lidJid,omitempty"` - Username *string `protobuf:"bytes,43,opt,name=username" json:"username,omitempty"` - LidOriginType *string `protobuf:"bytes,44,opt,name=lidOriginType" json:"lidOriginType,omitempty"` - CommentsCount *uint32 `protobuf:"varint,45,opt,name=commentsCount" json:"commentsCount,omitempty"` -} - -func (x *Conversation) Reset() { - *x = Conversation{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[107] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Conversation) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Conversation) ProtoMessage() {} - -func (x *Conversation) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[107] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Conversation.ProtoReflect.Descriptor instead. -func (*Conversation) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{107} -} - -func (x *Conversation) GetId() string { - if x != nil && x.Id != nil { - return *x.Id - } - return "" -} - -func (x *Conversation) GetMessages() []*HistorySyncMsg { - if x != nil { - return x.Messages - } - return nil -} - -func (x *Conversation) GetNewJid() string { - if x != nil && x.NewJid != nil { - return *x.NewJid - } - return "" -} - -func (x *Conversation) GetOldJid() string { - if x != nil && x.OldJid != nil { - return *x.OldJid - } - return "" -} - -func (x *Conversation) GetLastMsgTimestamp() uint64 { - if x != nil && x.LastMsgTimestamp != nil { - return *x.LastMsgTimestamp - } - return 0 -} - -func (x *Conversation) GetUnreadCount() uint32 { - if x != nil && x.UnreadCount != nil { - return *x.UnreadCount - } - return 0 -} - -func (x *Conversation) GetReadOnly() bool { - if x != nil && x.ReadOnly != nil { - return *x.ReadOnly - } - return false -} - -func (x *Conversation) GetEndOfHistoryTransfer() bool { - if x != nil && x.EndOfHistoryTransfer != nil { - return *x.EndOfHistoryTransfer - } - return false -} - -func (x *Conversation) GetEphemeralExpiration() uint32 { - if x != nil && x.EphemeralExpiration != nil { - return *x.EphemeralExpiration - } - return 0 -} - -func (x *Conversation) GetEphemeralSettingTimestamp() int64 { - if x != nil && x.EphemeralSettingTimestamp != nil { - return *x.EphemeralSettingTimestamp - } - return 0 -} - -func (x *Conversation) GetEndOfHistoryTransferType() Conversation_EndOfHistoryTransferType { - if x != nil && x.EndOfHistoryTransferType != nil { - return *x.EndOfHistoryTransferType - } - return Conversation_COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY -} - -func (x *Conversation) GetConversationTimestamp() uint64 { - if x != nil && x.ConversationTimestamp != nil { - return *x.ConversationTimestamp - } - return 0 -} - -func (x *Conversation) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *Conversation) GetPHash() string { - if x != nil && x.PHash != nil { - return *x.PHash - } - return "" -} - -func (x *Conversation) GetNotSpam() bool { - if x != nil && x.NotSpam != nil { - return *x.NotSpam - } - return false -} - -func (x *Conversation) GetArchived() bool { - if x != nil && x.Archived != nil { - return *x.Archived - } - return false -} - -func (x *Conversation) GetDisappearingMode() *DisappearingMode { - if x != nil { - return x.DisappearingMode - } - return nil -} - -func (x *Conversation) GetUnreadMentionCount() uint32 { - if x != nil && x.UnreadMentionCount != nil { - return *x.UnreadMentionCount - } - return 0 -} - -func (x *Conversation) GetMarkedAsUnread() bool { - if x != nil && x.MarkedAsUnread != nil { - return *x.MarkedAsUnread - } - return false -} - -func (x *Conversation) GetParticipant() []*GroupParticipant { - if x != nil { - return x.Participant - } - return nil -} - -func (x *Conversation) GetTcToken() []byte { - if x != nil { - return x.TcToken - } - return nil -} - -func (x *Conversation) GetTcTokenTimestamp() uint64 { - if x != nil && x.TcTokenTimestamp != nil { - return *x.TcTokenTimestamp - } - return 0 -} - -func (x *Conversation) GetContactPrimaryIdentityKey() []byte { - if x != nil { - return x.ContactPrimaryIdentityKey - } - return nil -} - -func (x *Conversation) GetPinned() uint32 { - if x != nil && x.Pinned != nil { - return *x.Pinned - } - return 0 -} - -func (x *Conversation) GetMuteEndTime() uint64 { - if x != nil && x.MuteEndTime != nil { - return *x.MuteEndTime - } - return 0 -} - -func (x *Conversation) GetWallpaper() *WallpaperSettings { - if x != nil { - return x.Wallpaper - } - return nil -} - -func (x *Conversation) GetMediaVisibility() MediaVisibility { - if x != nil && x.MediaVisibility != nil { - return *x.MediaVisibility - } - return MediaVisibility_DEFAULT -} - -func (x *Conversation) GetTcTokenSenderTimestamp() uint64 { - if x != nil && x.TcTokenSenderTimestamp != nil { - return *x.TcTokenSenderTimestamp - } - return 0 -} - -func (x *Conversation) GetSuspended() bool { - if x != nil && x.Suspended != nil { - return *x.Suspended - } - return false -} - -func (x *Conversation) GetTerminated() bool { - if x != nil && x.Terminated != nil { - return *x.Terminated - } - return false -} - -func (x *Conversation) GetCreatedAt() uint64 { - if x != nil && x.CreatedAt != nil { - return *x.CreatedAt - } - return 0 -} - -func (x *Conversation) GetCreatedBy() string { - if x != nil && x.CreatedBy != nil { - return *x.CreatedBy - } - return "" -} - -func (x *Conversation) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *Conversation) GetSupport() bool { - if x != nil && x.Support != nil { - return *x.Support - } - return false -} - -func (x *Conversation) GetIsParentGroup() bool { - if x != nil && x.IsParentGroup != nil { - return *x.IsParentGroup - } - return false -} - -func (x *Conversation) GetParentGroupId() string { - if x != nil && x.ParentGroupId != nil { - return *x.ParentGroupId - } - return "" -} - -func (x *Conversation) GetIsDefaultSubgroup() bool { - if x != nil && x.IsDefaultSubgroup != nil { - return *x.IsDefaultSubgroup - } - return false -} - -func (x *Conversation) GetDisplayName() string { - if x != nil && x.DisplayName != nil { - return *x.DisplayName - } - return "" -} - -func (x *Conversation) GetPnJid() string { - if x != nil && x.PnJid != nil { - return *x.PnJid - } - return "" -} - -func (x *Conversation) GetShareOwnPn() bool { - if x != nil && x.ShareOwnPn != nil { - return *x.ShareOwnPn - } - return false -} - -func (x *Conversation) GetPnhDuplicateLidThread() bool { - if x != nil && x.PnhDuplicateLidThread != nil { - return *x.PnhDuplicateLidThread - } - return false -} - -func (x *Conversation) GetLidJid() string { - if x != nil && x.LidJid != nil { - return *x.LidJid - } - return "" -} - -func (x *Conversation) GetUsername() string { - if x != nil && x.Username != nil { - return *x.Username - } - return "" -} - -func (x *Conversation) GetLidOriginType() string { - if x != nil && x.LidOriginType != nil { - return *x.LidOriginType - } - return "" -} - -func (x *Conversation) GetCommentsCount() uint32 { - if x != nil && x.CommentsCount != nil { - return *x.CommentsCount - } - return 0 -} - -type AvatarUserSettings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Fbid *string `protobuf:"bytes,1,opt,name=fbid" json:"fbid,omitempty"` - Password *string `protobuf:"bytes,2,opt,name=password" json:"password,omitempty"` -} - -func (x *AvatarUserSettings) Reset() { - *x = AvatarUserSettings{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AvatarUserSettings) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AvatarUserSettings) ProtoMessage() {} - -func (x *AvatarUserSettings) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[108] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AvatarUserSettings.ProtoReflect.Descriptor instead. -func (*AvatarUserSettings) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{108} -} - -func (x *AvatarUserSettings) GetFbid() string { - if x != nil && x.Fbid != nil { - return *x.Fbid - } - return "" -} - -func (x *AvatarUserSettings) GetPassword() string { - if x != nil && x.Password != nil { - return *x.Password - } - return "" -} - -type AutoDownloadSettings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DownloadImages *bool `protobuf:"varint,1,opt,name=downloadImages" json:"downloadImages,omitempty"` - DownloadAudio *bool `protobuf:"varint,2,opt,name=downloadAudio" json:"downloadAudio,omitempty"` - DownloadVideo *bool `protobuf:"varint,3,opt,name=downloadVideo" json:"downloadVideo,omitempty"` - DownloadDocuments *bool `protobuf:"varint,4,opt,name=downloadDocuments" json:"downloadDocuments,omitempty"` -} - -func (x *AutoDownloadSettings) Reset() { - *x = AutoDownloadSettings{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[109] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AutoDownloadSettings) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AutoDownloadSettings) ProtoMessage() {} - -func (x *AutoDownloadSettings) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[109] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AutoDownloadSettings.ProtoReflect.Descriptor instead. -func (*AutoDownloadSettings) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{109} -} - -func (x *AutoDownloadSettings) GetDownloadImages() bool { - if x != nil && x.DownloadImages != nil { - return *x.DownloadImages - } - return false -} - -func (x *AutoDownloadSettings) GetDownloadAudio() bool { - if x != nil && x.DownloadAudio != nil { - return *x.DownloadAudio - } - return false -} - -func (x *AutoDownloadSettings) GetDownloadVideo() bool { - if x != nil && x.DownloadVideo != nil { - return *x.DownloadVideo - } - return false -} - -func (x *AutoDownloadSettings) GetDownloadDocuments() bool { - if x != nil && x.DownloadDocuments != nil { - return *x.DownloadDocuments - } - return false -} - -type ServerErrorReceipt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StanzaId *string `protobuf:"bytes,1,opt,name=stanzaId" json:"stanzaId,omitempty"` -} - -func (x *ServerErrorReceipt) Reset() { - *x = ServerErrorReceipt{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[110] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ServerErrorReceipt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ServerErrorReceipt) ProtoMessage() {} - -func (x *ServerErrorReceipt) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[110] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ServerErrorReceipt.ProtoReflect.Descriptor instead. -func (*ServerErrorReceipt) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{110} -} - -func (x *ServerErrorReceipt) GetStanzaId() string { - if x != nil && x.StanzaId != nil { - return *x.StanzaId - } - return "" -} - -type MediaRetryNotification struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StanzaId *string `protobuf:"bytes,1,opt,name=stanzaId" json:"stanzaId,omitempty"` - DirectPath *string `protobuf:"bytes,2,opt,name=directPath" json:"directPath,omitempty"` - Result *MediaRetryNotification_ResultType `protobuf:"varint,3,opt,name=result,enum=defproto.MediaRetryNotification_ResultType" json:"result,omitempty"` -} - -func (x *MediaRetryNotification) Reset() { - *x = MediaRetryNotification{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[111] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MediaRetryNotification) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MediaRetryNotification) ProtoMessage() {} - -func (x *MediaRetryNotification) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[111] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MediaRetryNotification.ProtoReflect.Descriptor instead. -func (*MediaRetryNotification) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{111} -} - -func (x *MediaRetryNotification) GetStanzaId() string { - if x != nil && x.StanzaId != nil { - return *x.StanzaId - } - return "" -} - -func (x *MediaRetryNotification) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *MediaRetryNotification) GetResult() MediaRetryNotification_ResultType { - if x != nil && x.Result != nil { - return *x.Result - } - return MediaRetryNotification_GENERAL_ERROR -} - -type MessageKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RemoteJid *string `protobuf:"bytes,1,opt,name=remoteJid" json:"remoteJid,omitempty"` - FromMe *bool `protobuf:"varint,2,opt,name=fromMe" json:"fromMe,omitempty"` - Id *string `protobuf:"bytes,3,opt,name=id" json:"id,omitempty"` - Participant *string `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` -} - -func (x *MessageKey) Reset() { - *x = MessageKey{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[112] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MessageKey) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MessageKey) ProtoMessage() {} - -func (x *MessageKey) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[112] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MessageKey.ProtoReflect.Descriptor instead. -func (*MessageKey) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{112} -} - -func (x *MessageKey) GetRemoteJid() string { - if x != nil && x.RemoteJid != nil { - return *x.RemoteJid - } - return "" -} - -func (x *MessageKey) GetFromMe() bool { - if x != nil && x.FromMe != nil { - return *x.FromMe - } - return false -} - -func (x *MessageKey) GetId() string { - if x != nil && x.Id != nil { - return *x.Id - } - return "" -} - -func (x *MessageKey) GetParticipant() string { - if x != nil && x.Participant != nil { - return *x.Participant - } - return "" -} - -type SyncdVersion struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Version *uint64 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"` -} - -func (x *SyncdVersion) Reset() { - *x = SyncdVersion{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[113] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncdVersion) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncdVersion) ProtoMessage() {} - -func (x *SyncdVersion) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[113] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncdVersion.ProtoReflect.Descriptor instead. -func (*SyncdVersion) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{113} -} - -func (x *SyncdVersion) GetVersion() uint64 { - if x != nil && x.Version != nil { - return *x.Version - } - return 0 -} - -type SyncdValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Blob []byte `protobuf:"bytes,1,opt,name=blob" json:"blob,omitempty"` -} - -func (x *SyncdValue) Reset() { - *x = SyncdValue{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[114] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncdValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncdValue) ProtoMessage() {} - -func (x *SyncdValue) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[114] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncdValue.ProtoReflect.Descriptor instead. -func (*SyncdValue) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{114} -} - -func (x *SyncdValue) GetBlob() []byte { - if x != nil { - return x.Blob - } - return nil -} - -type SyncdSnapshot struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Version *SyncdVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` - Records []*SyncdRecord `protobuf:"bytes,2,rep,name=records" json:"records,omitempty"` - Mac []byte `protobuf:"bytes,3,opt,name=mac" json:"mac,omitempty"` - KeyId *KeyId `protobuf:"bytes,4,opt,name=keyId" json:"keyId,omitempty"` -} - -func (x *SyncdSnapshot) Reset() { - *x = SyncdSnapshot{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[115] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncdSnapshot) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncdSnapshot) ProtoMessage() {} - -func (x *SyncdSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[115] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncdSnapshot.ProtoReflect.Descriptor instead. -func (*SyncdSnapshot) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{115} -} - -func (x *SyncdSnapshot) GetVersion() *SyncdVersion { - if x != nil { - return x.Version - } - return nil -} - -func (x *SyncdSnapshot) GetRecords() []*SyncdRecord { - if x != nil { - return x.Records - } - return nil -} - -func (x *SyncdSnapshot) GetMac() []byte { - if x != nil { - return x.Mac - } - return nil -} - -func (x *SyncdSnapshot) GetKeyId() *KeyId { - if x != nil { - return x.KeyId - } - return nil -} - -type SyncdRecord struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Index *SyncdIndex `protobuf:"bytes,1,opt,name=index" json:"index,omitempty"` - Value *SyncdValue `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - KeyId *KeyId `protobuf:"bytes,3,opt,name=keyId" json:"keyId,omitempty"` -} - -func (x *SyncdRecord) Reset() { - *x = SyncdRecord{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[116] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncdRecord) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncdRecord) ProtoMessage() {} - -func (x *SyncdRecord) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[116] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncdRecord.ProtoReflect.Descriptor instead. -func (*SyncdRecord) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{116} -} - -func (x *SyncdRecord) GetIndex() *SyncdIndex { - if x != nil { - return x.Index - } - return nil -} - -func (x *SyncdRecord) GetValue() *SyncdValue { - if x != nil { - return x.Value - } - return nil -} - -func (x *SyncdRecord) GetKeyId() *KeyId { - if x != nil { - return x.KeyId - } - return nil -} - -type SyncdPatch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Version *SyncdVersion `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` - Mutations []*SyncdMutation `protobuf:"bytes,2,rep,name=mutations" json:"mutations,omitempty"` - ExternalMutations *ExternalBlobReference `protobuf:"bytes,3,opt,name=externalMutations" json:"externalMutations,omitempty"` - SnapshotMac []byte `protobuf:"bytes,4,opt,name=snapshotMac" json:"snapshotMac,omitempty"` - PatchMac []byte `protobuf:"bytes,5,opt,name=patchMac" json:"patchMac,omitempty"` - KeyId *KeyId `protobuf:"bytes,6,opt,name=keyId" json:"keyId,omitempty"` - ExitCode *ExitCode `protobuf:"bytes,7,opt,name=exitCode" json:"exitCode,omitempty"` - DeviceIndex *uint32 `protobuf:"varint,8,opt,name=deviceIndex" json:"deviceIndex,omitempty"` - ClientDebugData []byte `protobuf:"bytes,9,opt,name=clientDebugData" json:"clientDebugData,omitempty"` -} - -func (x *SyncdPatch) Reset() { - *x = SyncdPatch{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[117] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncdPatch) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncdPatch) ProtoMessage() {} - -func (x *SyncdPatch) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[117] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncdPatch.ProtoReflect.Descriptor instead. -func (*SyncdPatch) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{117} -} - -func (x *SyncdPatch) GetVersion() *SyncdVersion { - if x != nil { - return x.Version - } - return nil -} - -func (x *SyncdPatch) GetMutations() []*SyncdMutation { - if x != nil { - return x.Mutations - } - return nil -} - -func (x *SyncdPatch) GetExternalMutations() *ExternalBlobReference { - if x != nil { - return x.ExternalMutations - } - return nil -} - -func (x *SyncdPatch) GetSnapshotMac() []byte { - if x != nil { - return x.SnapshotMac - } - return nil -} - -func (x *SyncdPatch) GetPatchMac() []byte { - if x != nil { - return x.PatchMac - } - return nil -} - -func (x *SyncdPatch) GetKeyId() *KeyId { - if x != nil { - return x.KeyId - } - return nil -} - -func (x *SyncdPatch) GetExitCode() *ExitCode { - if x != nil { - return x.ExitCode - } - return nil -} - -func (x *SyncdPatch) GetDeviceIndex() uint32 { - if x != nil && x.DeviceIndex != nil { - return *x.DeviceIndex - } - return 0 -} - -func (x *SyncdPatch) GetClientDebugData() []byte { - if x != nil { - return x.ClientDebugData - } - return nil -} - -type SyncdMutations struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Mutations []*SyncdMutation `protobuf:"bytes,1,rep,name=mutations" json:"mutations,omitempty"` -} - -func (x *SyncdMutations) Reset() { - *x = SyncdMutations{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[118] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncdMutations) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncdMutations) ProtoMessage() {} - -func (x *SyncdMutations) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[118] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncdMutations.ProtoReflect.Descriptor instead. -func (*SyncdMutations) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{118} -} - -func (x *SyncdMutations) GetMutations() []*SyncdMutation { - if x != nil { - return x.Mutations - } - return nil -} - -type SyncdMutation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Operation *SyncdMutation_SyncdOperation `protobuf:"varint,1,opt,name=operation,enum=defproto.SyncdMutation_SyncdOperation" json:"operation,omitempty"` - Record *SyncdRecord `protobuf:"bytes,2,opt,name=record" json:"record,omitempty"` -} - -func (x *SyncdMutation) Reset() { - *x = SyncdMutation{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[119] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncdMutation) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncdMutation) ProtoMessage() {} - -func (x *SyncdMutation) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[119] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncdMutation.ProtoReflect.Descriptor instead. -func (*SyncdMutation) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{119} -} - -func (x *SyncdMutation) GetOperation() SyncdMutation_SyncdOperation { - if x != nil && x.Operation != nil { - return *x.Operation - } - return SyncdMutation_SET -} - -func (x *SyncdMutation) GetRecord() *SyncdRecord { - if x != nil { - return x.Record - } - return nil -} - -type SyncdIndex struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Blob []byte `protobuf:"bytes,1,opt,name=blob" json:"blob,omitempty"` -} - -func (x *SyncdIndex) Reset() { - *x = SyncdIndex{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[120] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncdIndex) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncdIndex) ProtoMessage() {} - -func (x *SyncdIndex) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[120] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncdIndex.ProtoReflect.Descriptor instead. -func (*SyncdIndex) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{120} -} - -func (x *SyncdIndex) GetBlob() []byte { - if x != nil { - return x.Blob - } - return nil -} - -type KeyId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id []byte `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` -} - -func (x *KeyId) Reset() { - *x = KeyId{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[121] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KeyId) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KeyId) ProtoMessage() {} - -func (x *KeyId) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[121] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KeyId.ProtoReflect.Descriptor instead. -func (*KeyId) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{121} -} - -func (x *KeyId) GetId() []byte { - if x != nil { - return x.Id - } - return nil -} - -type ExternalBlobReference struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MediaKey []byte `protobuf:"bytes,1,opt,name=mediaKey" json:"mediaKey,omitempty"` - DirectPath *string `protobuf:"bytes,2,opt,name=directPath" json:"directPath,omitempty"` - Handle *string `protobuf:"bytes,3,opt,name=handle" json:"handle,omitempty"` - FileSizeBytes *uint64 `protobuf:"varint,4,opt,name=fileSizeBytes" json:"fileSizeBytes,omitempty"` - FileSha256 []byte `protobuf:"bytes,5,opt,name=fileSha256" json:"fileSha256,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,6,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` -} - -func (x *ExternalBlobReference) Reset() { - *x = ExternalBlobReference{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[122] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExternalBlobReference) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExternalBlobReference) ProtoMessage() {} - -func (x *ExternalBlobReference) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[122] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExternalBlobReference.ProtoReflect.Descriptor instead. -func (*ExternalBlobReference) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{122} -} - -func (x *ExternalBlobReference) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *ExternalBlobReference) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *ExternalBlobReference) GetHandle() string { - if x != nil && x.Handle != nil { - return *x.Handle - } - return "" -} - -func (x *ExternalBlobReference) GetFileSizeBytes() uint64 { - if x != nil && x.FileSizeBytes != nil { - return *x.FileSizeBytes - } - return 0 -} - -func (x *ExternalBlobReference) GetFileSha256() []byte { - if x != nil { - return x.FileSha256 - } - return nil -} - -func (x *ExternalBlobReference) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -type ExitCode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Code *uint64 `protobuf:"varint,1,opt,name=code" json:"code,omitempty"` - Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"` -} - -func (x *ExitCode) Reset() { - *x = ExitCode{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[123] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExitCode) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExitCode) ProtoMessage() {} - -func (x *ExitCode) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[123] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExitCode.ProtoReflect.Descriptor instead. -func (*ExitCode) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{123} -} - -func (x *ExitCode) GetCode() uint64 { - if x != nil && x.Code != nil { - return *x.Code - } - return 0 -} - -func (x *ExitCode) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -type SyncActionValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Timestamp *int64 `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"` - StarAction *StarAction `protobuf:"bytes,2,opt,name=starAction" json:"starAction,omitempty"` - ContactAction *ContactAction `protobuf:"bytes,3,opt,name=contactAction" json:"contactAction,omitempty"` - MuteAction *MuteAction `protobuf:"bytes,4,opt,name=muteAction" json:"muteAction,omitempty"` - PinAction *PinAction `protobuf:"bytes,5,opt,name=pinAction" json:"pinAction,omitempty"` - SecurityNotificationSetting *SecurityNotificationSetting `protobuf:"bytes,6,opt,name=securityNotificationSetting" json:"securityNotificationSetting,omitempty"` - PushNameSetting *PushNameSetting `protobuf:"bytes,7,opt,name=pushNameSetting" json:"pushNameSetting,omitempty"` - QuickReplyAction *QuickReplyAction `protobuf:"bytes,8,opt,name=quickReplyAction" json:"quickReplyAction,omitempty"` - RecentEmojiWeightsAction *RecentEmojiWeightsAction `protobuf:"bytes,11,opt,name=recentEmojiWeightsAction" json:"recentEmojiWeightsAction,omitempty"` - LabelEditAction *LabelEditAction `protobuf:"bytes,14,opt,name=labelEditAction" json:"labelEditAction,omitempty"` - LabelAssociationAction *LabelAssociationAction `protobuf:"bytes,15,opt,name=labelAssociationAction" json:"labelAssociationAction,omitempty"` - LocaleSetting *LocaleSetting `protobuf:"bytes,16,opt,name=localeSetting" json:"localeSetting,omitempty"` - ArchiveChatAction *ArchiveChatAction `protobuf:"bytes,17,opt,name=archiveChatAction" json:"archiveChatAction,omitempty"` - DeleteMessageForMeAction *DeleteMessageForMeAction `protobuf:"bytes,18,opt,name=deleteMessageForMeAction" json:"deleteMessageForMeAction,omitempty"` - KeyExpiration *KeyExpiration `protobuf:"bytes,19,opt,name=keyExpiration" json:"keyExpiration,omitempty"` - MarkChatAsReadAction *MarkChatAsReadAction `protobuf:"bytes,20,opt,name=markChatAsReadAction" json:"markChatAsReadAction,omitempty"` - ClearChatAction *ClearChatAction `protobuf:"bytes,21,opt,name=clearChatAction" json:"clearChatAction,omitempty"` - DeleteChatAction *DeleteChatAction `protobuf:"bytes,22,opt,name=deleteChatAction" json:"deleteChatAction,omitempty"` - UnarchiveChatsSetting *UnarchiveChatsSetting `protobuf:"bytes,23,opt,name=unarchiveChatsSetting" json:"unarchiveChatsSetting,omitempty"` - PrimaryFeature *PrimaryFeature `protobuf:"bytes,24,opt,name=primaryFeature" json:"primaryFeature,omitempty"` - AndroidUnsupportedActions *AndroidUnsupportedActions `protobuf:"bytes,26,opt,name=androidUnsupportedActions" json:"androidUnsupportedActions,omitempty"` - AgentAction *AgentAction `protobuf:"bytes,27,opt,name=agentAction" json:"agentAction,omitempty"` - SubscriptionAction *SubscriptionAction `protobuf:"bytes,28,opt,name=subscriptionAction" json:"subscriptionAction,omitempty"` - UserStatusMuteAction *UserStatusMuteAction `protobuf:"bytes,29,opt,name=userStatusMuteAction" json:"userStatusMuteAction,omitempty"` - TimeFormatAction *TimeFormatAction `protobuf:"bytes,30,opt,name=timeFormatAction" json:"timeFormatAction,omitempty"` - NuxAction *NuxAction `protobuf:"bytes,31,opt,name=nuxAction" json:"nuxAction,omitempty"` - PrimaryVersionAction *PrimaryVersionAction `protobuf:"bytes,32,opt,name=primaryVersionAction" json:"primaryVersionAction,omitempty"` - StickerAction *StickerAction `protobuf:"bytes,33,opt,name=stickerAction" json:"stickerAction,omitempty"` - RemoveRecentStickerAction *RemoveRecentStickerAction `protobuf:"bytes,34,opt,name=removeRecentStickerAction" json:"removeRecentStickerAction,omitempty"` - ChatAssignment *ChatAssignmentAction `protobuf:"bytes,35,opt,name=chatAssignment" json:"chatAssignment,omitempty"` - ChatAssignmentOpenedStatus *ChatAssignmentOpenedStatusAction `protobuf:"bytes,36,opt,name=chatAssignmentOpenedStatus" json:"chatAssignmentOpenedStatus,omitempty"` - PnForLidChatAction *PnForLidChatAction `protobuf:"bytes,37,opt,name=pnForLidChatAction" json:"pnForLidChatAction,omitempty"` - MarketingMessageAction *MarketingMessageAction `protobuf:"bytes,38,opt,name=marketingMessageAction" json:"marketingMessageAction,omitempty"` - MarketingMessageBroadcastAction *MarketingMessageBroadcastAction `protobuf:"bytes,39,opt,name=marketingMessageBroadcastAction" json:"marketingMessageBroadcastAction,omitempty"` - ExternalWebBetaAction *ExternalWebBetaAction `protobuf:"bytes,40,opt,name=externalWebBetaAction" json:"externalWebBetaAction,omitempty"` - PrivacySettingRelayAllCalls *PrivacySettingRelayAllCalls `protobuf:"bytes,41,opt,name=privacySettingRelayAllCalls" json:"privacySettingRelayAllCalls,omitempty"` - CallLogAction *CallLogAction `protobuf:"bytes,42,opt,name=callLogAction" json:"callLogAction,omitempty"` - StatusPrivacy *StatusPrivacyAction `protobuf:"bytes,44,opt,name=statusPrivacy" json:"statusPrivacy,omitempty"` - BotWelcomeRequestAction *BotWelcomeRequestAction `protobuf:"bytes,45,opt,name=botWelcomeRequestAction" json:"botWelcomeRequestAction,omitempty"` - DeleteIndividualCallLog *DeleteIndividualCallLogAction `protobuf:"bytes,46,opt,name=deleteIndividualCallLog" json:"deleteIndividualCallLog,omitempty"` - LabelReorderingAction *LabelReorderingAction `protobuf:"bytes,47,opt,name=labelReorderingAction" json:"labelReorderingAction,omitempty"` - PaymentInfoAction *PaymentInfoAction `protobuf:"bytes,48,opt,name=paymentInfoAction" json:"paymentInfoAction,omitempty"` -} - -func (x *SyncActionValue) Reset() { - *x = SyncActionValue{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[124] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncActionValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncActionValue) ProtoMessage() {} - -func (x *SyncActionValue) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[124] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncActionValue.ProtoReflect.Descriptor instead. -func (*SyncActionValue) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{124} -} - -func (x *SyncActionValue) GetTimestamp() int64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -func (x *SyncActionValue) GetStarAction() *StarAction { - if x != nil { - return x.StarAction - } - return nil -} - -func (x *SyncActionValue) GetContactAction() *ContactAction { - if x != nil { - return x.ContactAction - } - return nil -} - -func (x *SyncActionValue) GetMuteAction() *MuteAction { - if x != nil { - return x.MuteAction - } - return nil -} - -func (x *SyncActionValue) GetPinAction() *PinAction { - if x != nil { - return x.PinAction - } - return nil -} - -func (x *SyncActionValue) GetSecurityNotificationSetting() *SecurityNotificationSetting { - if x != nil { - return x.SecurityNotificationSetting - } - return nil -} - -func (x *SyncActionValue) GetPushNameSetting() *PushNameSetting { - if x != nil { - return x.PushNameSetting - } - return nil -} - -func (x *SyncActionValue) GetQuickReplyAction() *QuickReplyAction { - if x != nil { - return x.QuickReplyAction - } - return nil -} - -func (x *SyncActionValue) GetRecentEmojiWeightsAction() *RecentEmojiWeightsAction { - if x != nil { - return x.RecentEmojiWeightsAction - } - return nil -} - -func (x *SyncActionValue) GetLabelEditAction() *LabelEditAction { - if x != nil { - return x.LabelEditAction - } - return nil -} - -func (x *SyncActionValue) GetLabelAssociationAction() *LabelAssociationAction { - if x != nil { - return x.LabelAssociationAction - } - return nil -} - -func (x *SyncActionValue) GetLocaleSetting() *LocaleSetting { - if x != nil { - return x.LocaleSetting - } - return nil -} - -func (x *SyncActionValue) GetArchiveChatAction() *ArchiveChatAction { - if x != nil { - return x.ArchiveChatAction - } - return nil -} - -func (x *SyncActionValue) GetDeleteMessageForMeAction() *DeleteMessageForMeAction { - if x != nil { - return x.DeleteMessageForMeAction - } - return nil -} - -func (x *SyncActionValue) GetKeyExpiration() *KeyExpiration { - if x != nil { - return x.KeyExpiration - } - return nil -} - -func (x *SyncActionValue) GetMarkChatAsReadAction() *MarkChatAsReadAction { - if x != nil { - return x.MarkChatAsReadAction - } - return nil -} - -func (x *SyncActionValue) GetClearChatAction() *ClearChatAction { - if x != nil { - return x.ClearChatAction - } - return nil -} - -func (x *SyncActionValue) GetDeleteChatAction() *DeleteChatAction { - if x != nil { - return x.DeleteChatAction - } - return nil -} - -func (x *SyncActionValue) GetUnarchiveChatsSetting() *UnarchiveChatsSetting { - if x != nil { - return x.UnarchiveChatsSetting - } - return nil -} - -func (x *SyncActionValue) GetPrimaryFeature() *PrimaryFeature { - if x != nil { - return x.PrimaryFeature - } - return nil -} - -func (x *SyncActionValue) GetAndroidUnsupportedActions() *AndroidUnsupportedActions { - if x != nil { - return x.AndroidUnsupportedActions - } - return nil -} - -func (x *SyncActionValue) GetAgentAction() *AgentAction { - if x != nil { - return x.AgentAction - } - return nil -} - -func (x *SyncActionValue) GetSubscriptionAction() *SubscriptionAction { - if x != nil { - return x.SubscriptionAction - } - return nil -} - -func (x *SyncActionValue) GetUserStatusMuteAction() *UserStatusMuteAction { - if x != nil { - return x.UserStatusMuteAction - } - return nil -} - -func (x *SyncActionValue) GetTimeFormatAction() *TimeFormatAction { - if x != nil { - return x.TimeFormatAction - } - return nil -} - -func (x *SyncActionValue) GetNuxAction() *NuxAction { - if x != nil { - return x.NuxAction - } - return nil -} - -func (x *SyncActionValue) GetPrimaryVersionAction() *PrimaryVersionAction { - if x != nil { - return x.PrimaryVersionAction - } - return nil -} - -func (x *SyncActionValue) GetStickerAction() *StickerAction { - if x != nil { - return x.StickerAction - } - return nil -} - -func (x *SyncActionValue) GetRemoveRecentStickerAction() *RemoveRecentStickerAction { - if x != nil { - return x.RemoveRecentStickerAction - } - return nil -} - -func (x *SyncActionValue) GetChatAssignment() *ChatAssignmentAction { - if x != nil { - return x.ChatAssignment - } - return nil -} - -func (x *SyncActionValue) GetChatAssignmentOpenedStatus() *ChatAssignmentOpenedStatusAction { - if x != nil { - return x.ChatAssignmentOpenedStatus - } - return nil -} - -func (x *SyncActionValue) GetPnForLidChatAction() *PnForLidChatAction { - if x != nil { - return x.PnForLidChatAction - } - return nil -} - -func (x *SyncActionValue) GetMarketingMessageAction() *MarketingMessageAction { - if x != nil { - return x.MarketingMessageAction - } - return nil -} - -func (x *SyncActionValue) GetMarketingMessageBroadcastAction() *MarketingMessageBroadcastAction { - if x != nil { - return x.MarketingMessageBroadcastAction - } - return nil -} - -func (x *SyncActionValue) GetExternalWebBetaAction() *ExternalWebBetaAction { - if x != nil { - return x.ExternalWebBetaAction - } - return nil -} - -func (x *SyncActionValue) GetPrivacySettingRelayAllCalls() *PrivacySettingRelayAllCalls { - if x != nil { - return x.PrivacySettingRelayAllCalls - } - return nil -} - -func (x *SyncActionValue) GetCallLogAction() *CallLogAction { - if x != nil { - return x.CallLogAction - } - return nil -} - -func (x *SyncActionValue) GetStatusPrivacy() *StatusPrivacyAction { - if x != nil { - return x.StatusPrivacy - } - return nil -} - -func (x *SyncActionValue) GetBotWelcomeRequestAction() *BotWelcomeRequestAction { - if x != nil { - return x.BotWelcomeRequestAction - } - return nil -} - -func (x *SyncActionValue) GetDeleteIndividualCallLog() *DeleteIndividualCallLogAction { - if x != nil { - return x.DeleteIndividualCallLog - } - return nil -} - -func (x *SyncActionValue) GetLabelReorderingAction() *LabelReorderingAction { - if x != nil { - return x.LabelReorderingAction - } - return nil -} - -func (x *SyncActionValue) GetPaymentInfoAction() *PaymentInfoAction { - if x != nil { - return x.PaymentInfoAction - } - return nil -} - -type UserStatusMuteAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Muted *bool `protobuf:"varint,1,opt,name=muted" json:"muted,omitempty"` -} - -func (x *UserStatusMuteAction) Reset() { - *x = UserStatusMuteAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[125] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserStatusMuteAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserStatusMuteAction) ProtoMessage() {} - -func (x *UserStatusMuteAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[125] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserStatusMuteAction.ProtoReflect.Descriptor instead. -func (*UserStatusMuteAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{125} -} - -func (x *UserStatusMuteAction) GetMuted() bool { - if x != nil && x.Muted != nil { - return *x.Muted - } - return false -} - -type UnarchiveChatsSetting struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UnarchiveChats *bool `protobuf:"varint,1,opt,name=unarchiveChats" json:"unarchiveChats,omitempty"` -} - -func (x *UnarchiveChatsSetting) Reset() { - *x = UnarchiveChatsSetting{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[126] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveChatsSetting) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveChatsSetting) ProtoMessage() {} - -func (x *UnarchiveChatsSetting) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[126] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UnarchiveChatsSetting.ProtoReflect.Descriptor instead. -func (*UnarchiveChatsSetting) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{126} -} - -func (x *UnarchiveChatsSetting) GetUnarchiveChats() bool { - if x != nil && x.UnarchiveChats != nil { - return *x.UnarchiveChats - } - return false -} - -type TimeFormatAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsTwentyFourHourFormatEnabled *bool `protobuf:"varint,1,opt,name=isTwentyFourHourFormatEnabled" json:"isTwentyFourHourFormatEnabled,omitempty"` -} - -func (x *TimeFormatAction) Reset() { - *x = TimeFormatAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[127] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TimeFormatAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TimeFormatAction) ProtoMessage() {} - -func (x *TimeFormatAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[127] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TimeFormatAction.ProtoReflect.Descriptor instead. -func (*TimeFormatAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{127} -} - -func (x *TimeFormatAction) GetIsTwentyFourHourFormatEnabled() bool { - if x != nil && x.IsTwentyFourHourFormatEnabled != nil { - return *x.IsTwentyFourHourFormatEnabled - } - return false -} - -type SyncActionMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - Timestamp *int64 `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"` -} - -func (x *SyncActionMessage) Reset() { - *x = SyncActionMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[128] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncActionMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncActionMessage) ProtoMessage() {} - -func (x *SyncActionMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[128] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncActionMessage.ProtoReflect.Descriptor instead. -func (*SyncActionMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{128} -} - -func (x *SyncActionMessage) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *SyncActionMessage) GetTimestamp() int64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -type SyncActionMessageRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LastMessageTimestamp *int64 `protobuf:"varint,1,opt,name=lastMessageTimestamp" json:"lastMessageTimestamp,omitempty"` - LastSystemMessageTimestamp *int64 `protobuf:"varint,2,opt,name=lastSystemMessageTimestamp" json:"lastSystemMessageTimestamp,omitempty"` - Messages []*SyncActionMessage `protobuf:"bytes,3,rep,name=messages" json:"messages,omitempty"` -} - -func (x *SyncActionMessageRange) Reset() { - *x = SyncActionMessageRange{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[129] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncActionMessageRange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncActionMessageRange) ProtoMessage() {} - -func (x *SyncActionMessageRange) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[129] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncActionMessageRange.ProtoReflect.Descriptor instead. -func (*SyncActionMessageRange) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{129} -} - -func (x *SyncActionMessageRange) GetLastMessageTimestamp() int64 { - if x != nil && x.LastMessageTimestamp != nil { - return *x.LastMessageTimestamp - } - return 0 -} - -func (x *SyncActionMessageRange) GetLastSystemMessageTimestamp() int64 { - if x != nil && x.LastSystemMessageTimestamp != nil { - return *x.LastSystemMessageTimestamp - } - return 0 -} - -func (x *SyncActionMessageRange) GetMessages() []*SyncActionMessage { - if x != nil { - return x.Messages - } - return nil -} - -type SubscriptionAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsDeactivated *bool `protobuf:"varint,1,opt,name=isDeactivated" json:"isDeactivated,omitempty"` - IsAutoRenewing *bool `protobuf:"varint,2,opt,name=isAutoRenewing" json:"isAutoRenewing,omitempty"` - ExpirationDate *int64 `protobuf:"varint,3,opt,name=expirationDate" json:"expirationDate,omitempty"` -} - -func (x *SubscriptionAction) Reset() { - *x = SubscriptionAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[130] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscriptionAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscriptionAction) ProtoMessage() {} - -func (x *SubscriptionAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[130] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscriptionAction.ProtoReflect.Descriptor instead. -func (*SubscriptionAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{130} -} - -func (x *SubscriptionAction) GetIsDeactivated() bool { - if x != nil && x.IsDeactivated != nil { - return *x.IsDeactivated - } - return false -} - -func (x *SubscriptionAction) GetIsAutoRenewing() bool { - if x != nil && x.IsAutoRenewing != nil { - return *x.IsAutoRenewing - } - return false -} - -func (x *SubscriptionAction) GetExpirationDate() int64 { - if x != nil && x.ExpirationDate != nil { - return *x.ExpirationDate - } - return 0 -} - -type StickerAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,2,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` - MediaKey []byte `protobuf:"bytes,3,opt,name=mediaKey" json:"mediaKey,omitempty"` - Mimetype *string `protobuf:"bytes,4,opt,name=mimetype" json:"mimetype,omitempty"` - Height *uint32 `protobuf:"varint,5,opt,name=height" json:"height,omitempty"` - Width *uint32 `protobuf:"varint,6,opt,name=width" json:"width,omitempty"` - DirectPath *string `protobuf:"bytes,7,opt,name=directPath" json:"directPath,omitempty"` - FileLength *uint64 `protobuf:"varint,8,opt,name=fileLength" json:"fileLength,omitempty"` - IsFavorite *bool `protobuf:"varint,9,opt,name=isFavorite" json:"isFavorite,omitempty"` - DeviceIdHint *uint32 `protobuf:"varint,10,opt,name=deviceIdHint" json:"deviceIdHint,omitempty"` -} - -func (x *StickerAction) Reset() { - *x = StickerAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[131] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StickerAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StickerAction) ProtoMessage() {} - -func (x *StickerAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[131] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StickerAction.ProtoReflect.Descriptor instead. -func (*StickerAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{131} -} - -func (x *StickerAction) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *StickerAction) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -func (x *StickerAction) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *StickerAction) GetMimetype() string { - if x != nil && x.Mimetype != nil { - return *x.Mimetype - } - return "" -} - -func (x *StickerAction) GetHeight() uint32 { - if x != nil && x.Height != nil { - return *x.Height - } - return 0 -} - -func (x *StickerAction) GetWidth() uint32 { - if x != nil && x.Width != nil { - return *x.Width - } - return 0 -} - -func (x *StickerAction) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *StickerAction) GetFileLength() uint64 { - if x != nil && x.FileLength != nil { - return *x.FileLength - } - return 0 -} - -func (x *StickerAction) GetIsFavorite() bool { - if x != nil && x.IsFavorite != nil { - return *x.IsFavorite - } - return false -} - -func (x *StickerAction) GetDeviceIdHint() uint32 { - if x != nil && x.DeviceIdHint != nil { - return *x.DeviceIdHint - } - return 0 -} - -type StatusPrivacyAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Mode *StatusPrivacyAction_StatusDistributionMode `protobuf:"varint,1,opt,name=mode,enum=defproto.StatusPrivacyAction_StatusDistributionMode" json:"mode,omitempty"` - UserJid []string `protobuf:"bytes,2,rep,name=userJid" json:"userJid,omitempty"` -} - -func (x *StatusPrivacyAction) Reset() { - *x = StatusPrivacyAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[132] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StatusPrivacyAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StatusPrivacyAction) ProtoMessage() {} - -func (x *StatusPrivacyAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[132] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StatusPrivacyAction.ProtoReflect.Descriptor instead. -func (*StatusPrivacyAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{132} -} - -func (x *StatusPrivacyAction) GetMode() StatusPrivacyAction_StatusDistributionMode { - if x != nil && x.Mode != nil { - return *x.Mode - } - return StatusPrivacyAction_ALLOW_LIST -} - -func (x *StatusPrivacyAction) GetUserJid() []string { - if x != nil { - return x.UserJid - } - return nil -} - -type StarAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Starred *bool `protobuf:"varint,1,opt,name=starred" json:"starred,omitempty"` -} - -func (x *StarAction) Reset() { - *x = StarAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[133] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StarAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StarAction) ProtoMessage() {} - -func (x *StarAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[133] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StarAction.ProtoReflect.Descriptor instead. -func (*StarAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{133} -} - -func (x *StarAction) GetStarred() bool { - if x != nil && x.Starred != nil { - return *x.Starred - } - return false -} - -type SecurityNotificationSetting struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ShowNotification *bool `protobuf:"varint,1,opt,name=showNotification" json:"showNotification,omitempty"` -} - -func (x *SecurityNotificationSetting) Reset() { - *x = SecurityNotificationSetting{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[134] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SecurityNotificationSetting) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SecurityNotificationSetting) ProtoMessage() {} - -func (x *SecurityNotificationSetting) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[134] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SecurityNotificationSetting.ProtoReflect.Descriptor instead. -func (*SecurityNotificationSetting) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{134} -} - -func (x *SecurityNotificationSetting) GetShowNotification() bool { - if x != nil && x.ShowNotification != nil { - return *x.ShowNotification - } - return false -} - -type RemoveRecentStickerAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LastStickerSentTs *int64 `protobuf:"varint,1,opt,name=lastStickerSentTs" json:"lastStickerSentTs,omitempty"` -} - -func (x *RemoveRecentStickerAction) Reset() { - *x = RemoveRecentStickerAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[135] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveRecentStickerAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveRecentStickerAction) ProtoMessage() {} - -func (x *RemoveRecentStickerAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[135] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveRecentStickerAction.ProtoReflect.Descriptor instead. -func (*RemoveRecentStickerAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{135} -} - -func (x *RemoveRecentStickerAction) GetLastStickerSentTs() int64 { - if x != nil && x.LastStickerSentTs != nil { - return *x.LastStickerSentTs - } - return 0 -} - -type RecentEmojiWeightsAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Weights []*RecentEmojiWeight `protobuf:"bytes,1,rep,name=weights" json:"weights,omitempty"` -} - -func (x *RecentEmojiWeightsAction) Reset() { - *x = RecentEmojiWeightsAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[136] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RecentEmojiWeightsAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RecentEmojiWeightsAction) ProtoMessage() {} - -func (x *RecentEmojiWeightsAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[136] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RecentEmojiWeightsAction.ProtoReflect.Descriptor instead. -func (*RecentEmojiWeightsAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{136} -} - -func (x *RecentEmojiWeightsAction) GetWeights() []*RecentEmojiWeight { - if x != nil { - return x.Weights - } - return nil -} - -type QuickReplyAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Shortcut *string `protobuf:"bytes,1,opt,name=shortcut" json:"shortcut,omitempty"` - Message *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` - Keywords []string `protobuf:"bytes,3,rep,name=keywords" json:"keywords,omitempty"` - Count *int32 `protobuf:"varint,4,opt,name=count" json:"count,omitempty"` - Deleted *bool `protobuf:"varint,5,opt,name=deleted" json:"deleted,omitempty"` -} - -func (x *QuickReplyAction) Reset() { - *x = QuickReplyAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[137] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QuickReplyAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QuickReplyAction) ProtoMessage() {} - -func (x *QuickReplyAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[137] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QuickReplyAction.ProtoReflect.Descriptor instead. -func (*QuickReplyAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{137} -} - -func (x *QuickReplyAction) GetShortcut() string { - if x != nil && x.Shortcut != nil { - return *x.Shortcut - } - return "" -} - -func (x *QuickReplyAction) GetMessage() string { - if x != nil && x.Message != nil { - return *x.Message - } - return "" -} - -func (x *QuickReplyAction) GetKeywords() []string { - if x != nil { - return x.Keywords - } - return nil -} - -func (x *QuickReplyAction) GetCount() int32 { - if x != nil && x.Count != nil { - return *x.Count - } - return 0 -} - -func (x *QuickReplyAction) GetDeleted() bool { - if x != nil && x.Deleted != nil { - return *x.Deleted - } - return false -} - -type PushNameSetting struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` -} - -func (x *PushNameSetting) Reset() { - *x = PushNameSetting{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[138] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PushNameSetting) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PushNameSetting) ProtoMessage() {} - -func (x *PushNameSetting) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[138] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PushNameSetting.ProtoReflect.Descriptor instead. -func (*PushNameSetting) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{138} -} - -func (x *PushNameSetting) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -type PrivacySettingRelayAllCalls struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsEnabled *bool `protobuf:"varint,1,opt,name=isEnabled" json:"isEnabled,omitempty"` -} - -func (x *PrivacySettingRelayAllCalls) Reset() { - *x = PrivacySettingRelayAllCalls{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[139] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PrivacySettingRelayAllCalls) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrivacySettingRelayAllCalls) ProtoMessage() {} - -func (x *PrivacySettingRelayAllCalls) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[139] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrivacySettingRelayAllCalls.ProtoReflect.Descriptor instead. -func (*PrivacySettingRelayAllCalls) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{139} -} - -func (x *PrivacySettingRelayAllCalls) GetIsEnabled() bool { - if x != nil && x.IsEnabled != nil { - return *x.IsEnabled - } - return false -} - -type PrimaryVersionAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Version *string `protobuf:"bytes,1,opt,name=version" json:"version,omitempty"` -} - -func (x *PrimaryVersionAction) Reset() { - *x = PrimaryVersionAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[140] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PrimaryVersionAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrimaryVersionAction) ProtoMessage() {} - -func (x *PrimaryVersionAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[140] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrimaryVersionAction.ProtoReflect.Descriptor instead. -func (*PrimaryVersionAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{140} -} - -func (x *PrimaryVersionAction) GetVersion() string { - if x != nil && x.Version != nil { - return *x.Version - } - return "" -} - -type PrimaryFeature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Flags []string `protobuf:"bytes,1,rep,name=flags" json:"flags,omitempty"` -} - -func (x *PrimaryFeature) Reset() { - *x = PrimaryFeature{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[141] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PrimaryFeature) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrimaryFeature) ProtoMessage() {} - -func (x *PrimaryFeature) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[141] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrimaryFeature.ProtoReflect.Descriptor instead. -func (*PrimaryFeature) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{141} -} - -func (x *PrimaryFeature) GetFlags() []string { - if x != nil { - return x.Flags - } - return nil -} - -type PnForLidChatAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PnJid *string `protobuf:"bytes,1,opt,name=pnJid" json:"pnJid,omitempty"` -} - -func (x *PnForLidChatAction) Reset() { - *x = PnForLidChatAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[142] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PnForLidChatAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PnForLidChatAction) ProtoMessage() {} - -func (x *PnForLidChatAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[142] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PnForLidChatAction.ProtoReflect.Descriptor instead. -func (*PnForLidChatAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{142} -} - -func (x *PnForLidChatAction) GetPnJid() string { - if x != nil && x.PnJid != nil { - return *x.PnJid - } - return "" -} - -type PinAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pinned *bool `protobuf:"varint,1,opt,name=pinned" json:"pinned,omitempty"` -} - -func (x *PinAction) Reset() { - *x = PinAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[143] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PinAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PinAction) ProtoMessage() {} - -func (x *PinAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[143] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PinAction.ProtoReflect.Descriptor instead. -func (*PinAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{143} -} - -func (x *PinAction) GetPinned() bool { - if x != nil && x.Pinned != nil { - return *x.Pinned - } - return false -} - -type PaymentInfoAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Cpi *string `protobuf:"bytes,1,opt,name=cpi" json:"cpi,omitempty"` -} - -func (x *PaymentInfoAction) Reset() { - *x = PaymentInfoAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[144] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PaymentInfoAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PaymentInfoAction) ProtoMessage() {} - -func (x *PaymentInfoAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[144] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PaymentInfoAction.ProtoReflect.Descriptor instead. -func (*PaymentInfoAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{144} -} - -func (x *PaymentInfoAction) GetCpi() string { - if x != nil && x.Cpi != nil { - return *x.Cpi - } - return "" -} - -type NuxAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Acknowledged *bool `protobuf:"varint,1,opt,name=acknowledged" json:"acknowledged,omitempty"` -} - -func (x *NuxAction) Reset() { - *x = NuxAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[145] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NuxAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NuxAction) ProtoMessage() {} - -func (x *NuxAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[145] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NuxAction.ProtoReflect.Descriptor instead. -func (*NuxAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{145} -} - -func (x *NuxAction) GetAcknowledged() bool { - if x != nil && x.Acknowledged != nil { - return *x.Acknowledged - } - return false -} - -type MuteAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Muted *bool `protobuf:"varint,1,opt,name=muted" json:"muted,omitempty"` - MuteEndTimestamp *int64 `protobuf:"varint,2,opt,name=muteEndTimestamp" json:"muteEndTimestamp,omitempty"` - AutoMuted *bool `protobuf:"varint,3,opt,name=autoMuted" json:"autoMuted,omitempty"` -} - -func (x *MuteAction) Reset() { - *x = MuteAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[146] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MuteAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MuteAction) ProtoMessage() {} - -func (x *MuteAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[146] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MuteAction.ProtoReflect.Descriptor instead. -func (*MuteAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{146} -} - -func (x *MuteAction) GetMuted() bool { - if x != nil && x.Muted != nil { - return *x.Muted - } - return false -} - -func (x *MuteAction) GetMuteEndTimestamp() int64 { - if x != nil && x.MuteEndTimestamp != nil { - return *x.MuteEndTimestamp - } - return 0 -} - -func (x *MuteAction) GetAutoMuted() bool { - if x != nil && x.AutoMuted != nil { - return *x.AutoMuted - } - return false -} - -type MarketingMessageBroadcastAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RepliedCount *int32 `protobuf:"varint,1,opt,name=repliedCount" json:"repliedCount,omitempty"` -} - -func (x *MarketingMessageBroadcastAction) Reset() { - *x = MarketingMessageBroadcastAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[147] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MarketingMessageBroadcastAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MarketingMessageBroadcastAction) ProtoMessage() {} - -func (x *MarketingMessageBroadcastAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[147] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MarketingMessageBroadcastAction.ProtoReflect.Descriptor instead. -func (*MarketingMessageBroadcastAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{147} -} - -func (x *MarketingMessageBroadcastAction) GetRepliedCount() int32 { - if x != nil && x.RepliedCount != nil { - return *x.RepliedCount - } - return 0 -} - -type MarketingMessageAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Message *string `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` - Type *MarketingMessageAction_MarketingMessagePrototypeType `protobuf:"varint,3,opt,name=type,enum=defproto.MarketingMessageAction_MarketingMessagePrototypeType" json:"type,omitempty"` - CreatedAt *int64 `protobuf:"varint,4,opt,name=createdAt" json:"createdAt,omitempty"` - LastSentAt *int64 `protobuf:"varint,5,opt,name=lastSentAt" json:"lastSentAt,omitempty"` - IsDeleted *bool `protobuf:"varint,6,opt,name=isDeleted" json:"isDeleted,omitempty"` - MediaId *string `protobuf:"bytes,7,opt,name=mediaId" json:"mediaId,omitempty"` -} - -func (x *MarketingMessageAction) Reset() { - *x = MarketingMessageAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[148] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MarketingMessageAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MarketingMessageAction) ProtoMessage() {} - -func (x *MarketingMessageAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[148] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MarketingMessageAction.ProtoReflect.Descriptor instead. -func (*MarketingMessageAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{148} -} - -func (x *MarketingMessageAction) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *MarketingMessageAction) GetMessage() string { - if x != nil && x.Message != nil { - return *x.Message - } - return "" -} - -func (x *MarketingMessageAction) GetType() MarketingMessageAction_MarketingMessagePrototypeType { - if x != nil && x.Type != nil { - return *x.Type - } - return MarketingMessageAction_PERSONALIZED -} - -func (x *MarketingMessageAction) GetCreatedAt() int64 { - if x != nil && x.CreatedAt != nil { - return *x.CreatedAt - } - return 0 -} - -func (x *MarketingMessageAction) GetLastSentAt() int64 { - if x != nil && x.LastSentAt != nil { - return *x.LastSentAt - } - return 0 -} - -func (x *MarketingMessageAction) GetIsDeleted() bool { - if x != nil && x.IsDeleted != nil { - return *x.IsDeleted - } - return false -} - -func (x *MarketingMessageAction) GetMediaId() string { - if x != nil && x.MediaId != nil { - return *x.MediaId - } - return "" -} - -type MarkChatAsReadAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Read *bool `protobuf:"varint,1,opt,name=read" json:"read,omitempty"` - MessageRange *SyncActionMessageRange `protobuf:"bytes,2,opt,name=messageRange" json:"messageRange,omitempty"` -} - -func (x *MarkChatAsReadAction) Reset() { - *x = MarkChatAsReadAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[149] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MarkChatAsReadAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MarkChatAsReadAction) ProtoMessage() {} - -func (x *MarkChatAsReadAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[149] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MarkChatAsReadAction.ProtoReflect.Descriptor instead. -func (*MarkChatAsReadAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{149} -} - -func (x *MarkChatAsReadAction) GetRead() bool { - if x != nil && x.Read != nil { - return *x.Read - } - return false -} - -func (x *MarkChatAsReadAction) GetMessageRange() *SyncActionMessageRange { - if x != nil { - return x.MessageRange - } - return nil -} - -type LocaleSetting struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Locale *string `protobuf:"bytes,1,opt,name=locale" json:"locale,omitempty"` -} - -func (x *LocaleSetting) Reset() { - *x = LocaleSetting{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[150] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LocaleSetting) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LocaleSetting) ProtoMessage() {} - -func (x *LocaleSetting) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[150] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LocaleSetting.ProtoReflect.Descriptor instead. -func (*LocaleSetting) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{150} -} - -func (x *LocaleSetting) GetLocale() string { - if x != nil && x.Locale != nil { - return *x.Locale - } - return "" -} - -type LabelReorderingAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SortedLabelIds []int32 `protobuf:"varint,1,rep,name=sortedLabelIds" json:"sortedLabelIds,omitempty"` -} - -func (x *LabelReorderingAction) Reset() { - *x = LabelReorderingAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[151] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LabelReorderingAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LabelReorderingAction) ProtoMessage() {} - -func (x *LabelReorderingAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[151] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LabelReorderingAction.ProtoReflect.Descriptor instead. -func (*LabelReorderingAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{151} -} - -func (x *LabelReorderingAction) GetSortedLabelIds() []int32 { - if x != nil { - return x.SortedLabelIds - } - return nil -} - -type LabelEditAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - Color *int32 `protobuf:"varint,2,opt,name=color" json:"color,omitempty"` - PredefinedId *int32 `protobuf:"varint,3,opt,name=predefinedId" json:"predefinedId,omitempty"` - Deleted *bool `protobuf:"varint,4,opt,name=deleted" json:"deleted,omitempty"` - OrderIndex *int32 `protobuf:"varint,5,opt,name=orderIndex" json:"orderIndex,omitempty"` -} - -func (x *LabelEditAction) Reset() { - *x = LabelEditAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[152] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LabelEditAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LabelEditAction) ProtoMessage() {} - -func (x *LabelEditAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[152] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LabelEditAction.ProtoReflect.Descriptor instead. -func (*LabelEditAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{152} -} - -func (x *LabelEditAction) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *LabelEditAction) GetColor() int32 { - if x != nil && x.Color != nil { - return *x.Color - } - return 0 -} - -func (x *LabelEditAction) GetPredefinedId() int32 { - if x != nil && x.PredefinedId != nil { - return *x.PredefinedId - } - return 0 -} - -func (x *LabelEditAction) GetDeleted() bool { - if x != nil && x.Deleted != nil { - return *x.Deleted - } - return false -} - -func (x *LabelEditAction) GetOrderIndex() int32 { - if x != nil && x.OrderIndex != nil { - return *x.OrderIndex - } - return 0 -} - -type LabelAssociationAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Labeled *bool `protobuf:"varint,1,opt,name=labeled" json:"labeled,omitempty"` -} - -func (x *LabelAssociationAction) Reset() { - *x = LabelAssociationAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[153] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LabelAssociationAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LabelAssociationAction) ProtoMessage() {} - -func (x *LabelAssociationAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[153] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LabelAssociationAction.ProtoReflect.Descriptor instead. -func (*LabelAssociationAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{153} -} - -func (x *LabelAssociationAction) GetLabeled() bool { - if x != nil && x.Labeled != nil { - return *x.Labeled - } - return false -} - -type KeyExpiration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ExpiredKeyEpoch *int32 `protobuf:"varint,1,opt,name=expiredKeyEpoch" json:"expiredKeyEpoch,omitempty"` -} - -func (x *KeyExpiration) Reset() { - *x = KeyExpiration{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[154] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KeyExpiration) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KeyExpiration) ProtoMessage() {} - -func (x *KeyExpiration) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[154] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KeyExpiration.ProtoReflect.Descriptor instead. -func (*KeyExpiration) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{154} -} - -func (x *KeyExpiration) GetExpiredKeyEpoch() int32 { - if x != nil && x.ExpiredKeyEpoch != nil { - return *x.ExpiredKeyEpoch - } - return 0 -} - -type ExternalWebBetaAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsOptIn *bool `protobuf:"varint,1,opt,name=isOptIn" json:"isOptIn,omitempty"` -} - -func (x *ExternalWebBetaAction) Reset() { - *x = ExternalWebBetaAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[155] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExternalWebBetaAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExternalWebBetaAction) ProtoMessage() {} - -func (x *ExternalWebBetaAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[155] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExternalWebBetaAction.ProtoReflect.Descriptor instead. -func (*ExternalWebBetaAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{155} -} - -func (x *ExternalWebBetaAction) GetIsOptIn() bool { - if x != nil && x.IsOptIn != nil { - return *x.IsOptIn - } - return false -} - -type DeleteMessageForMeAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DeleteMedia *bool `protobuf:"varint,1,opt,name=deleteMedia" json:"deleteMedia,omitempty"` - MessageTimestamp *int64 `protobuf:"varint,2,opt,name=messageTimestamp" json:"messageTimestamp,omitempty"` -} - -func (x *DeleteMessageForMeAction) Reset() { - *x = DeleteMessageForMeAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[156] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteMessageForMeAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteMessageForMeAction) ProtoMessage() {} - -func (x *DeleteMessageForMeAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[156] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteMessageForMeAction.ProtoReflect.Descriptor instead. -func (*DeleteMessageForMeAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{156} -} - -func (x *DeleteMessageForMeAction) GetDeleteMedia() bool { - if x != nil && x.DeleteMedia != nil { - return *x.DeleteMedia - } - return false -} - -func (x *DeleteMessageForMeAction) GetMessageTimestamp() int64 { - if x != nil && x.MessageTimestamp != nil { - return *x.MessageTimestamp - } - return 0 -} - -type DeleteIndividualCallLogAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PeerJid *string `protobuf:"bytes,1,opt,name=peerJid" json:"peerJid,omitempty"` - IsIncoming *bool `protobuf:"varint,2,opt,name=isIncoming" json:"isIncoming,omitempty"` -} - -func (x *DeleteIndividualCallLogAction) Reset() { - *x = DeleteIndividualCallLogAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[157] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteIndividualCallLogAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteIndividualCallLogAction) ProtoMessage() {} - -func (x *DeleteIndividualCallLogAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[157] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteIndividualCallLogAction.ProtoReflect.Descriptor instead. -func (*DeleteIndividualCallLogAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{157} -} - -func (x *DeleteIndividualCallLogAction) GetPeerJid() string { - if x != nil && x.PeerJid != nil { - return *x.PeerJid - } - return "" -} - -func (x *DeleteIndividualCallLogAction) GetIsIncoming() bool { - if x != nil && x.IsIncoming != nil { - return *x.IsIncoming - } - return false -} - -type DeleteChatAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MessageRange *SyncActionMessageRange `protobuf:"bytes,1,opt,name=messageRange" json:"messageRange,omitempty"` -} - -func (x *DeleteChatAction) Reset() { - *x = DeleteChatAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[158] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteChatAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteChatAction) ProtoMessage() {} - -func (x *DeleteChatAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[158] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteChatAction.ProtoReflect.Descriptor instead. -func (*DeleteChatAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{158} -} - -func (x *DeleteChatAction) GetMessageRange() *SyncActionMessageRange { - if x != nil { - return x.MessageRange - } - return nil -} - -type ContactAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FullName *string `protobuf:"bytes,1,opt,name=fullName" json:"fullName,omitempty"` - FirstName *string `protobuf:"bytes,2,opt,name=firstName" json:"firstName,omitempty"` - LidJid *string `protobuf:"bytes,3,opt,name=lidJid" json:"lidJid,omitempty"` - SaveOnPrimaryAddressbook *bool `protobuf:"varint,4,opt,name=saveOnPrimaryAddressbook" json:"saveOnPrimaryAddressbook,omitempty"` -} - -func (x *ContactAction) Reset() { - *x = ContactAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[159] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContactAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContactAction) ProtoMessage() {} - -func (x *ContactAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[159] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContactAction.ProtoReflect.Descriptor instead. -func (*ContactAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{159} -} - -func (x *ContactAction) GetFullName() string { - if x != nil && x.FullName != nil { - return *x.FullName - } - return "" -} - -func (x *ContactAction) GetFirstName() string { - if x != nil && x.FirstName != nil { - return *x.FirstName - } - return "" -} - -func (x *ContactAction) GetLidJid() string { - if x != nil && x.LidJid != nil { - return *x.LidJid - } - return "" -} - -func (x *ContactAction) GetSaveOnPrimaryAddressbook() bool { - if x != nil && x.SaveOnPrimaryAddressbook != nil { - return *x.SaveOnPrimaryAddressbook - } - return false -} - -type ClearChatAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MessageRange *SyncActionMessageRange `protobuf:"bytes,1,opt,name=messageRange" json:"messageRange,omitempty"` -} - -func (x *ClearChatAction) Reset() { - *x = ClearChatAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[160] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClearChatAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClearChatAction) ProtoMessage() {} - -func (x *ClearChatAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[160] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClearChatAction.ProtoReflect.Descriptor instead. -func (*ClearChatAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{160} -} - -func (x *ClearChatAction) GetMessageRange() *SyncActionMessageRange { - if x != nil { - return x.MessageRange - } - return nil -} - -type ChatAssignmentOpenedStatusAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChatOpened *bool `protobuf:"varint,1,opt,name=chatOpened" json:"chatOpened,omitempty"` -} - -func (x *ChatAssignmentOpenedStatusAction) Reset() { - *x = ChatAssignmentOpenedStatusAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[161] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatAssignmentOpenedStatusAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatAssignmentOpenedStatusAction) ProtoMessage() {} - -func (x *ChatAssignmentOpenedStatusAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[161] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatAssignmentOpenedStatusAction.ProtoReflect.Descriptor instead. -func (*ChatAssignmentOpenedStatusAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{161} -} - -func (x *ChatAssignmentOpenedStatusAction) GetChatOpened() bool { - if x != nil && x.ChatOpened != nil { - return *x.ChatOpened - } - return false -} - -type ChatAssignmentAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DeviceAgentID *string `protobuf:"bytes,1,opt,name=deviceAgentID" json:"deviceAgentID,omitempty"` -} - -func (x *ChatAssignmentAction) Reset() { - *x = ChatAssignmentAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[162] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatAssignmentAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatAssignmentAction) ProtoMessage() {} - -func (x *ChatAssignmentAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[162] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatAssignmentAction.ProtoReflect.Descriptor instead. -func (*ChatAssignmentAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{162} -} - -func (x *ChatAssignmentAction) GetDeviceAgentID() string { - if x != nil && x.DeviceAgentID != nil { - return *x.DeviceAgentID - } - return "" -} - -type CallLogAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CallLogRecord *CallLogRecord `protobuf:"bytes,1,opt,name=callLogRecord" json:"callLogRecord,omitempty"` -} - -func (x *CallLogAction) Reset() { - *x = CallLogAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[163] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CallLogAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CallLogAction) ProtoMessage() {} - -func (x *CallLogAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[163] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CallLogAction.ProtoReflect.Descriptor instead. -func (*CallLogAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{163} -} - -func (x *CallLogAction) GetCallLogRecord() *CallLogRecord { - if x != nil { - return x.CallLogRecord - } - return nil -} - -type BotWelcomeRequestAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsSent *bool `protobuf:"varint,1,opt,name=isSent" json:"isSent,omitempty"` -} - -func (x *BotWelcomeRequestAction) Reset() { - *x = BotWelcomeRequestAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[164] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BotWelcomeRequestAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BotWelcomeRequestAction) ProtoMessage() {} - -func (x *BotWelcomeRequestAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[164] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BotWelcomeRequestAction.ProtoReflect.Descriptor instead. -func (*BotWelcomeRequestAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{164} -} - -func (x *BotWelcomeRequestAction) GetIsSent() bool { - if x != nil && x.IsSent != nil { - return *x.IsSent - } - return false -} - -type ArchiveChatAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Archived *bool `protobuf:"varint,1,opt,name=archived" json:"archived,omitempty"` - MessageRange *SyncActionMessageRange `protobuf:"bytes,2,opt,name=messageRange" json:"messageRange,omitempty"` -} - -func (x *ArchiveChatAction) Reset() { - *x = ArchiveChatAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[165] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveChatAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveChatAction) ProtoMessage() {} - -func (x *ArchiveChatAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[165] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ArchiveChatAction.ProtoReflect.Descriptor instead. -func (*ArchiveChatAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{165} -} - -func (x *ArchiveChatAction) GetArchived() bool { - if x != nil && x.Archived != nil { - return *x.Archived - } - return false -} - -func (x *ArchiveChatAction) GetMessageRange() *SyncActionMessageRange { - if x != nil { - return x.MessageRange - } - return nil -} - -type AndroidUnsupportedActions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Allowed *bool `protobuf:"varint,1,opt,name=allowed" json:"allowed,omitempty"` -} - -func (x *AndroidUnsupportedActions) Reset() { - *x = AndroidUnsupportedActions{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[166] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AndroidUnsupportedActions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AndroidUnsupportedActions) ProtoMessage() {} - -func (x *AndroidUnsupportedActions) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[166] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AndroidUnsupportedActions.ProtoReflect.Descriptor instead. -func (*AndroidUnsupportedActions) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{166} -} - -func (x *AndroidUnsupportedActions) GetAllowed() bool { - if x != nil && x.Allowed != nil { - return *x.Allowed - } - return false -} - -type AgentAction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - DeviceID *int32 `protobuf:"varint,2,opt,name=deviceID" json:"deviceID,omitempty"` - IsDeleted *bool `protobuf:"varint,3,opt,name=isDeleted" json:"isDeleted,omitempty"` -} - -func (x *AgentAction) Reset() { - *x = AgentAction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[167] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AgentAction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentAction) ProtoMessage() {} - -func (x *AgentAction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[167] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentAction.ProtoReflect.Descriptor instead. -func (*AgentAction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{167} -} - -func (x *AgentAction) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *AgentAction) GetDeviceID() int32 { - if x != nil && x.DeviceID != nil { - return *x.DeviceID - } - return 0 -} - -func (x *AgentAction) GetIsDeleted() bool { - if x != nil && x.IsDeleted != nil { - return *x.IsDeleted - } - return false -} - -type SyncActionData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Index []byte `protobuf:"bytes,1,opt,name=index" json:"index,omitempty"` - Value *SyncActionValue `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` - Padding []byte `protobuf:"bytes,3,opt,name=padding" json:"padding,omitempty"` - Version *int32 `protobuf:"varint,4,opt,name=version" json:"version,omitempty"` -} - -func (x *SyncActionData) Reset() { - *x = SyncActionData{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[168] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SyncActionData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SyncActionData) ProtoMessage() {} - -func (x *SyncActionData) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[168] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SyncActionData.ProtoReflect.Descriptor instead. -func (*SyncActionData) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{168} -} - -func (x *SyncActionData) GetIndex() []byte { - if x != nil { - return x.Index - } - return nil -} - -func (x *SyncActionData) GetValue() *SyncActionValue { - if x != nil { - return x.Value - } - return nil -} - -func (x *SyncActionData) GetPadding() []byte { - if x != nil { - return x.Padding - } - return nil -} - -func (x *SyncActionData) GetVersion() int32 { - if x != nil && x.Version != nil { - return *x.Version - } - return 0 -} - -type RecentEmojiWeight struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Emoji *string `protobuf:"bytes,1,opt,name=emoji" json:"emoji,omitempty"` - Weight *float32 `protobuf:"fixed32,2,opt,name=weight" json:"weight,omitempty"` -} - -func (x *RecentEmojiWeight) Reset() { - *x = RecentEmojiWeight{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[169] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RecentEmojiWeight) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RecentEmojiWeight) ProtoMessage() {} - -func (x *RecentEmojiWeight) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[169] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RecentEmojiWeight.ProtoReflect.Descriptor instead. -func (*RecentEmojiWeight) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{169} -} - -func (x *RecentEmojiWeight) GetEmoji() string { - if x != nil && x.Emoji != nil { - return *x.Emoji - } - return "" -} - -func (x *RecentEmojiWeight) GetWeight() float32 { - if x != nil && x.Weight != nil { - return *x.Weight - } - return 0 -} - -type PatchDebugData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CurrentLthash []byte `protobuf:"bytes,1,opt,name=currentLthash" json:"currentLthash,omitempty"` - NewLthash []byte `protobuf:"bytes,2,opt,name=newLthash" json:"newLthash,omitempty"` - PatchVersion []byte `protobuf:"bytes,3,opt,name=patchVersion" json:"patchVersion,omitempty"` - CollectionName []byte `protobuf:"bytes,4,opt,name=collectionName" json:"collectionName,omitempty"` - FirstFourBytesFromAHashOfSnapshotMacKey []byte `protobuf:"bytes,5,opt,name=firstFourBytesFromAHashOfSnapshotMacKey" json:"firstFourBytesFromAHashOfSnapshotMacKey,omitempty"` - NewLthashSubtract []byte `protobuf:"bytes,6,opt,name=newLthashSubtract" json:"newLthashSubtract,omitempty"` - NumberAdd *int32 `protobuf:"varint,7,opt,name=numberAdd" json:"numberAdd,omitempty"` - NumberRemove *int32 `protobuf:"varint,8,opt,name=numberRemove" json:"numberRemove,omitempty"` - NumberOverride *int32 `protobuf:"varint,9,opt,name=numberOverride" json:"numberOverride,omitempty"` - SenderPlatform *PatchDebugData_Platform `protobuf:"varint,10,opt,name=senderPlatform,enum=defproto.PatchDebugData_Platform" json:"senderPlatform,omitempty"` - IsSenderPrimary *bool `protobuf:"varint,11,opt,name=isSenderPrimary" json:"isSenderPrimary,omitempty"` -} - -func (x *PatchDebugData) Reset() { - *x = PatchDebugData{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[170] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatchDebugData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatchDebugData) ProtoMessage() {} - -func (x *PatchDebugData) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[170] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PatchDebugData.ProtoReflect.Descriptor instead. -func (*PatchDebugData) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{170} -} - -func (x *PatchDebugData) GetCurrentLthash() []byte { - if x != nil { - return x.CurrentLthash - } - return nil -} - -func (x *PatchDebugData) GetNewLthash() []byte { - if x != nil { - return x.NewLthash - } - return nil -} - -func (x *PatchDebugData) GetPatchVersion() []byte { - if x != nil { - return x.PatchVersion - } - return nil -} - -func (x *PatchDebugData) GetCollectionName() []byte { - if x != nil { - return x.CollectionName - } - return nil -} - -func (x *PatchDebugData) GetFirstFourBytesFromAHashOfSnapshotMacKey() []byte { - if x != nil { - return x.FirstFourBytesFromAHashOfSnapshotMacKey - } - return nil -} - -func (x *PatchDebugData) GetNewLthashSubtract() []byte { - if x != nil { - return x.NewLthashSubtract - } - return nil -} - -func (x *PatchDebugData) GetNumberAdd() int32 { - if x != nil && x.NumberAdd != nil { - return *x.NumberAdd - } - return 0 -} - -func (x *PatchDebugData) GetNumberRemove() int32 { - if x != nil && x.NumberRemove != nil { - return *x.NumberRemove - } - return 0 -} - -func (x *PatchDebugData) GetNumberOverride() int32 { - if x != nil && x.NumberOverride != nil { - return *x.NumberOverride - } - return 0 -} - -func (x *PatchDebugData) GetSenderPlatform() PatchDebugData_Platform { - if x != nil && x.SenderPlatform != nil { - return *x.SenderPlatform - } - return PatchDebugData_ANDROID -} - -func (x *PatchDebugData) GetIsSenderPrimary() bool { - if x != nil && x.IsSenderPrimary != nil { - return *x.IsSenderPrimary - } - return false -} - -type CallLogRecord struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CallResult *CallLogRecord_CallResult `protobuf:"varint,1,opt,name=callResult,enum=defproto.CallLogRecord_CallResult" json:"callResult,omitempty"` - IsDndMode *bool `protobuf:"varint,2,opt,name=isDndMode" json:"isDndMode,omitempty"` - SilenceReason *CallLogRecord_SilenceReason `protobuf:"varint,3,opt,name=silenceReason,enum=defproto.CallLogRecord_SilenceReason" json:"silenceReason,omitempty"` - Duration *int64 `protobuf:"varint,4,opt,name=duration" json:"duration,omitempty"` - StartTime *int64 `protobuf:"varint,5,opt,name=startTime" json:"startTime,omitempty"` - IsIncoming *bool `protobuf:"varint,6,opt,name=isIncoming" json:"isIncoming,omitempty"` - IsVideo *bool `protobuf:"varint,7,opt,name=isVideo" json:"isVideo,omitempty"` - IsCallLink *bool `protobuf:"varint,8,opt,name=isCallLink" json:"isCallLink,omitempty"` - CallLinkToken *string `protobuf:"bytes,9,opt,name=callLinkToken" json:"callLinkToken,omitempty"` - ScheduledCallId *string `protobuf:"bytes,10,opt,name=scheduledCallId" json:"scheduledCallId,omitempty"` - CallId *string `protobuf:"bytes,11,opt,name=callId" json:"callId,omitempty"` - CallCreatorJid *string `protobuf:"bytes,12,opt,name=callCreatorJid" json:"callCreatorJid,omitempty"` - GroupJid *string `protobuf:"bytes,13,opt,name=groupJid" json:"groupJid,omitempty"` - Participants []*CallLogRecord_ParticipantInfo `protobuf:"bytes,14,rep,name=participants" json:"participants,omitempty"` - CallType *CallLogRecord_CallType `protobuf:"varint,15,opt,name=callType,enum=defproto.CallLogRecord_CallType" json:"callType,omitempty"` -} - -func (x *CallLogRecord) Reset() { - *x = CallLogRecord{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[171] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CallLogRecord) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CallLogRecord) ProtoMessage() {} - -func (x *CallLogRecord) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[171] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CallLogRecord.ProtoReflect.Descriptor instead. -func (*CallLogRecord) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{171} -} - -func (x *CallLogRecord) GetCallResult() CallLogRecord_CallResult { - if x != nil && x.CallResult != nil { - return *x.CallResult - } - return CallLogRecord_CONNECTED -} - -func (x *CallLogRecord) GetIsDndMode() bool { - if x != nil && x.IsDndMode != nil { - return *x.IsDndMode - } - return false -} - -func (x *CallLogRecord) GetSilenceReason() CallLogRecord_SilenceReason { - if x != nil && x.SilenceReason != nil { - return *x.SilenceReason - } - return CallLogRecord_NONE -} - -func (x *CallLogRecord) GetDuration() int64 { - if x != nil && x.Duration != nil { - return *x.Duration - } - return 0 -} - -func (x *CallLogRecord) GetStartTime() int64 { - if x != nil && x.StartTime != nil { - return *x.StartTime - } - return 0 -} - -func (x *CallLogRecord) GetIsIncoming() bool { - if x != nil && x.IsIncoming != nil { - return *x.IsIncoming - } - return false -} - -func (x *CallLogRecord) GetIsVideo() bool { - if x != nil && x.IsVideo != nil { - return *x.IsVideo - } - return false -} - -func (x *CallLogRecord) GetIsCallLink() bool { - if x != nil && x.IsCallLink != nil { - return *x.IsCallLink - } - return false -} - -func (x *CallLogRecord) GetCallLinkToken() string { - if x != nil && x.CallLinkToken != nil { - return *x.CallLinkToken - } - return "" -} - -func (x *CallLogRecord) GetScheduledCallId() string { - if x != nil && x.ScheduledCallId != nil { - return *x.ScheduledCallId - } - return "" -} - -func (x *CallLogRecord) GetCallId() string { - if x != nil && x.CallId != nil { - return *x.CallId - } - return "" -} - -func (x *CallLogRecord) GetCallCreatorJid() string { - if x != nil && x.CallCreatorJid != nil { - return *x.CallCreatorJid - } - return "" -} - -func (x *CallLogRecord) GetGroupJid() string { - if x != nil && x.GroupJid != nil { - return *x.GroupJid - } - return "" -} - -func (x *CallLogRecord) GetParticipants() []*CallLogRecord_ParticipantInfo { - if x != nil { - return x.Participants - } - return nil -} - -func (x *CallLogRecord) GetCallType() CallLogRecord_CallType { - if x != nil && x.CallType != nil { - return *x.CallType - } - return CallLogRecord_REGULAR -} - -type VerifiedNameCertificate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Details []byte `protobuf:"bytes,1,opt,name=details" json:"details,omitempty"` - Signature []byte `protobuf:"bytes,2,opt,name=signature" json:"signature,omitempty"` - ServerSignature []byte `protobuf:"bytes,3,opt,name=serverSignature" json:"serverSignature,omitempty"` -} - -func (x *VerifiedNameCertificate) Reset() { - *x = VerifiedNameCertificate{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[172] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VerifiedNameCertificate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VerifiedNameCertificate) ProtoMessage() {} - -func (x *VerifiedNameCertificate) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[172] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VerifiedNameCertificate.ProtoReflect.Descriptor instead. -func (*VerifiedNameCertificate) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{172} -} - -func (x *VerifiedNameCertificate) GetDetails() []byte { - if x != nil { - return x.Details - } - return nil -} - -func (x *VerifiedNameCertificate) GetSignature() []byte { - if x != nil { - return x.Signature - } - return nil -} - -func (x *VerifiedNameCertificate) GetServerSignature() []byte { - if x != nil { - return x.ServerSignature - } - return nil -} - -type LocalizedName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Lg *string `protobuf:"bytes,1,opt,name=lg" json:"lg,omitempty"` - Lc *string `protobuf:"bytes,2,opt,name=lc" json:"lc,omitempty"` - VerifiedName *string `protobuf:"bytes,3,opt,name=verifiedName" json:"verifiedName,omitempty"` -} - -func (x *LocalizedName) Reset() { - *x = LocalizedName{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[173] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LocalizedName) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LocalizedName) ProtoMessage() {} - -func (x *LocalizedName) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[173] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LocalizedName.ProtoReflect.Descriptor instead. -func (*LocalizedName) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{173} -} - -func (x *LocalizedName) GetLg() string { - if x != nil && x.Lg != nil { - return *x.Lg - } - return "" -} - -func (x *LocalizedName) GetLc() string { - if x != nil && x.Lc != nil { - return *x.Lc - } - return "" -} - -func (x *LocalizedName) GetVerifiedName() string { - if x != nil && x.VerifiedName != nil { - return *x.VerifiedName - } - return "" -} - -type BizIdentityInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Vlevel *BizIdentityInfo_VerifiedLevelValue `protobuf:"varint,1,opt,name=vlevel,enum=defproto.BizIdentityInfo_VerifiedLevelValue" json:"vlevel,omitempty"` - VnameCert *VerifiedNameCertificate `protobuf:"bytes,2,opt,name=vnameCert" json:"vnameCert,omitempty"` - Signed *bool `protobuf:"varint,3,opt,name=signed" json:"signed,omitempty"` - Revoked *bool `protobuf:"varint,4,opt,name=revoked" json:"revoked,omitempty"` - HostStorage *BizIdentityInfo_HostStorageType `protobuf:"varint,5,opt,name=hostStorage,enum=defproto.BizIdentityInfo_HostStorageType" json:"hostStorage,omitempty"` - ActualActors *BizIdentityInfo_ActualActorsType `protobuf:"varint,6,opt,name=actualActors,enum=defproto.BizIdentityInfo_ActualActorsType" json:"actualActors,omitempty"` - PrivacyModeTs *uint64 `protobuf:"varint,7,opt,name=privacyModeTs" json:"privacyModeTs,omitempty"` - FeatureControls *uint64 `protobuf:"varint,8,opt,name=featureControls" json:"featureControls,omitempty"` -} - -func (x *BizIdentityInfo) Reset() { - *x = BizIdentityInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[174] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BizIdentityInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BizIdentityInfo) ProtoMessage() {} - -func (x *BizIdentityInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[174] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BizIdentityInfo.ProtoReflect.Descriptor instead. -func (*BizIdentityInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{174} -} - -func (x *BizIdentityInfo) GetVlevel() BizIdentityInfo_VerifiedLevelValue { - if x != nil && x.Vlevel != nil { - return *x.Vlevel - } - return BizIdentityInfo_UNKNOWN -} - -func (x *BizIdentityInfo) GetVnameCert() *VerifiedNameCertificate { - if x != nil { - return x.VnameCert - } - return nil -} - -func (x *BizIdentityInfo) GetSigned() bool { - if x != nil && x.Signed != nil { - return *x.Signed - } - return false -} - -func (x *BizIdentityInfo) GetRevoked() bool { - if x != nil && x.Revoked != nil { - return *x.Revoked - } - return false -} - -func (x *BizIdentityInfo) GetHostStorage() BizIdentityInfo_HostStorageType { - if x != nil && x.HostStorage != nil { - return *x.HostStorage - } - return BizIdentityInfo_ON_PREMISE -} - -func (x *BizIdentityInfo) GetActualActors() BizIdentityInfo_ActualActorsType { - if x != nil && x.ActualActors != nil { - return *x.ActualActors - } - return BizIdentityInfo_SELF -} - -func (x *BizIdentityInfo) GetPrivacyModeTs() uint64 { - if x != nil && x.PrivacyModeTs != nil { - return *x.PrivacyModeTs - } - return 0 -} - -func (x *BizIdentityInfo) GetFeatureControls() uint64 { - if x != nil && x.FeatureControls != nil { - return *x.FeatureControls - } - return 0 -} - -type BizAccountPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - VnameCert *VerifiedNameCertificate `protobuf:"bytes,1,opt,name=vnameCert" json:"vnameCert,omitempty"` - BizAcctLinkInfo []byte `protobuf:"bytes,2,opt,name=bizAcctLinkInfo" json:"bizAcctLinkInfo,omitempty"` -} - -func (x *BizAccountPayload) Reset() { - *x = BizAccountPayload{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[175] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BizAccountPayload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BizAccountPayload) ProtoMessage() {} - -func (x *BizAccountPayload) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[175] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BizAccountPayload.ProtoReflect.Descriptor instead. -func (*BizAccountPayload) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{175} -} - -func (x *BizAccountPayload) GetVnameCert() *VerifiedNameCertificate { - if x != nil { - return x.VnameCert - } - return nil -} - -func (x *BizAccountPayload) GetBizAcctLinkInfo() []byte { - if x != nil { - return x.BizAcctLinkInfo - } - return nil -} - -type BizAccountLinkInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WhatsappBizAcctFbid *uint64 `protobuf:"varint,1,opt,name=whatsappBizAcctFbid" json:"whatsappBizAcctFbid,omitempty"` - WhatsappAcctNumber *string `protobuf:"bytes,2,opt,name=whatsappAcctNumber" json:"whatsappAcctNumber,omitempty"` - IssueTime *uint64 `protobuf:"varint,3,opt,name=issueTime" json:"issueTime,omitempty"` - HostStorage *BizAccountLinkInfo_HostStorageType `protobuf:"varint,4,opt,name=hostStorage,enum=defproto.BizAccountLinkInfo_HostStorageType" json:"hostStorage,omitempty"` - AccountType *BizAccountLinkInfo_AccountType `protobuf:"varint,5,opt,name=accountType,enum=defproto.BizAccountLinkInfo_AccountType" json:"accountType,omitempty"` -} - -func (x *BizAccountLinkInfo) Reset() { - *x = BizAccountLinkInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[176] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BizAccountLinkInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BizAccountLinkInfo) ProtoMessage() {} - -func (x *BizAccountLinkInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[176] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BizAccountLinkInfo.ProtoReflect.Descriptor instead. -func (*BizAccountLinkInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{176} -} - -func (x *BizAccountLinkInfo) GetWhatsappBizAcctFbid() uint64 { - if x != nil && x.WhatsappBizAcctFbid != nil { - return *x.WhatsappBizAcctFbid - } - return 0 -} - -func (x *BizAccountLinkInfo) GetWhatsappAcctNumber() string { - if x != nil && x.WhatsappAcctNumber != nil { - return *x.WhatsappAcctNumber - } - return "" -} - -func (x *BizAccountLinkInfo) GetIssueTime() uint64 { - if x != nil && x.IssueTime != nil { - return *x.IssueTime - } - return 0 -} - -func (x *BizAccountLinkInfo) GetHostStorage() BizAccountLinkInfo_HostStorageType { - if x != nil && x.HostStorage != nil { - return *x.HostStorage - } - return BizAccountLinkInfo_ON_PREMISE -} - -func (x *BizAccountLinkInfo) GetAccountType() BizAccountLinkInfo_AccountType { - if x != nil && x.AccountType != nil { - return *x.AccountType - } - return BizAccountLinkInfo_ENTERPRISE -} - -type HandshakeMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClientHello *HandshakeClientHello `protobuf:"bytes,2,opt,name=clientHello" json:"clientHello,omitempty"` - ServerHello *HandshakeServerHello `protobuf:"bytes,3,opt,name=serverHello" json:"serverHello,omitempty"` - ClientFinish *HandshakeClientFinish `protobuf:"bytes,4,opt,name=clientFinish" json:"clientFinish,omitempty"` -} - -func (x *HandshakeMessage) Reset() { - *x = HandshakeMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[177] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HandshakeMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HandshakeMessage) ProtoMessage() {} - -func (x *HandshakeMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[177] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HandshakeMessage.ProtoReflect.Descriptor instead. -func (*HandshakeMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{177} -} - -func (x *HandshakeMessage) GetClientHello() *HandshakeClientHello { - if x != nil { - return x.ClientHello - } - return nil -} - -func (x *HandshakeMessage) GetServerHello() *HandshakeServerHello { - if x != nil { - return x.ServerHello - } - return nil -} - -func (x *HandshakeMessage) GetClientFinish() *HandshakeClientFinish { - if x != nil { - return x.ClientFinish - } - return nil -} - -type HandshakeServerHello struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Ephemeral []byte `protobuf:"bytes,1,opt,name=ephemeral" json:"ephemeral,omitempty"` - Static []byte `protobuf:"bytes,2,opt,name=static" json:"static,omitempty"` - Payload []byte `protobuf:"bytes,3,opt,name=payload" json:"payload,omitempty"` -} - -func (x *HandshakeServerHello) Reset() { - *x = HandshakeServerHello{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[178] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HandshakeServerHello) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HandshakeServerHello) ProtoMessage() {} - -func (x *HandshakeServerHello) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[178] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HandshakeServerHello.ProtoReflect.Descriptor instead. -func (*HandshakeServerHello) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{178} -} - -func (x *HandshakeServerHello) GetEphemeral() []byte { - if x != nil { - return x.Ephemeral - } - return nil -} - -func (x *HandshakeServerHello) GetStatic() []byte { - if x != nil { - return x.Static - } - return nil -} - -func (x *HandshakeServerHello) GetPayload() []byte { - if x != nil { - return x.Payload - } - return nil -} - -type HandshakeClientHello struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Ephemeral []byte `protobuf:"bytes,1,opt,name=ephemeral" json:"ephemeral,omitempty"` - Static []byte `protobuf:"bytes,2,opt,name=static" json:"static,omitempty"` - Payload []byte `protobuf:"bytes,3,opt,name=payload" json:"payload,omitempty"` -} - -func (x *HandshakeClientHello) Reset() { - *x = HandshakeClientHello{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[179] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HandshakeClientHello) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HandshakeClientHello) ProtoMessage() {} - -func (x *HandshakeClientHello) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[179] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HandshakeClientHello.ProtoReflect.Descriptor instead. -func (*HandshakeClientHello) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{179} -} - -func (x *HandshakeClientHello) GetEphemeral() []byte { - if x != nil { - return x.Ephemeral - } - return nil -} - -func (x *HandshakeClientHello) GetStatic() []byte { - if x != nil { - return x.Static - } - return nil -} - -func (x *HandshakeClientHello) GetPayload() []byte { - if x != nil { - return x.Payload - } - return nil -} - -type HandshakeClientFinish struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Static []byte `protobuf:"bytes,1,opt,name=static" json:"static,omitempty"` - Payload []byte `protobuf:"bytes,2,opt,name=payload" json:"payload,omitempty"` -} - -func (x *HandshakeClientFinish) Reset() { - *x = HandshakeClientFinish{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[180] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HandshakeClientFinish) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HandshakeClientFinish) ProtoMessage() {} - -func (x *HandshakeClientFinish) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[180] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HandshakeClientFinish.ProtoReflect.Descriptor instead. -func (*HandshakeClientFinish) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{180} -} - -func (x *HandshakeClientFinish) GetStatic() []byte { - if x != nil { - return x.Static - } - return nil -} - -func (x *HandshakeClientFinish) GetPayload() []byte { - if x != nil { - return x.Payload - } - return nil -} - -type ClientPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Username *uint64 `protobuf:"varint,1,opt,name=username" json:"username,omitempty"` - Passive *bool `protobuf:"varint,3,opt,name=passive" json:"passive,omitempty"` - UserAgent *ClientPayload_UserAgent `protobuf:"bytes,5,opt,name=userAgent" json:"userAgent,omitempty"` - WebInfo *ClientPayload_WebInfo `protobuf:"bytes,6,opt,name=webInfo" json:"webInfo,omitempty"` - PushName *string `protobuf:"bytes,7,opt,name=pushName" json:"pushName,omitempty"` - SessionId *int32 `protobuf:"fixed32,9,opt,name=sessionId" json:"sessionId,omitempty"` - ShortConnect *bool `protobuf:"varint,10,opt,name=shortConnect" json:"shortConnect,omitempty"` - ConnectType *ClientPayload_ConnectType `protobuf:"varint,12,opt,name=connectType,enum=defproto.ClientPayload_ConnectType" json:"connectType,omitempty"` - ConnectReason *ClientPayload_ConnectReason `protobuf:"varint,13,opt,name=connectReason,enum=defproto.ClientPayload_ConnectReason" json:"connectReason,omitempty"` - Shards []int32 `protobuf:"varint,14,rep,name=shards" json:"shards,omitempty"` - DnsSource *ClientPayload_DNSSource `protobuf:"bytes,15,opt,name=dnsSource" json:"dnsSource,omitempty"` - ConnectAttemptCount *uint32 `protobuf:"varint,16,opt,name=connectAttemptCount" json:"connectAttemptCount,omitempty"` - Device *uint32 `protobuf:"varint,18,opt,name=device" json:"device,omitempty"` - DevicePairingData *ClientPayload_DevicePairingRegistrationData `protobuf:"bytes,19,opt,name=devicePairingData" json:"devicePairingData,omitempty"` - Product *ClientPayload_Product `protobuf:"varint,20,opt,name=product,enum=defproto.ClientPayload_Product" json:"product,omitempty"` - FbCat []byte `protobuf:"bytes,21,opt,name=fbCat" json:"fbCat,omitempty"` - FbUserAgent []byte `protobuf:"bytes,22,opt,name=fbUserAgent" json:"fbUserAgent,omitempty"` - Oc *bool `protobuf:"varint,23,opt,name=oc" json:"oc,omitempty"` - Lc *int32 `protobuf:"varint,24,opt,name=lc" json:"lc,omitempty"` - IosAppExtension *ClientPayload_IOSAppExtension `protobuf:"varint,30,opt,name=iosAppExtension,enum=defproto.ClientPayload_IOSAppExtension" json:"iosAppExtension,omitempty"` - FbAppId *uint64 `protobuf:"varint,31,opt,name=fbAppId" json:"fbAppId,omitempty"` - FbDeviceId []byte `protobuf:"bytes,32,opt,name=fbDeviceId" json:"fbDeviceId,omitempty"` - Pull *bool `protobuf:"varint,33,opt,name=pull" json:"pull,omitempty"` - PaddingBytes []byte `protobuf:"bytes,34,opt,name=paddingBytes" json:"paddingBytes,omitempty"` - YearClass *int32 `protobuf:"varint,36,opt,name=yearClass" json:"yearClass,omitempty"` - MemClass *int32 `protobuf:"varint,37,opt,name=memClass" json:"memClass,omitempty"` - InteropData *ClientPayload_InteropData `protobuf:"bytes,38,opt,name=interopData" json:"interopData,omitempty"` -} - -func (x *ClientPayload) Reset() { - *x = ClientPayload{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[181] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClientPayload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientPayload) ProtoMessage() {} - -func (x *ClientPayload) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[181] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientPayload.ProtoReflect.Descriptor instead. -func (*ClientPayload) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181} -} - -func (x *ClientPayload) GetUsername() uint64 { - if x != nil && x.Username != nil { - return *x.Username - } - return 0 -} - -func (x *ClientPayload) GetPassive() bool { - if x != nil && x.Passive != nil { - return *x.Passive - } - return false -} - -func (x *ClientPayload) GetUserAgent() *ClientPayload_UserAgent { - if x != nil { - return x.UserAgent - } - return nil -} - -func (x *ClientPayload) GetWebInfo() *ClientPayload_WebInfo { - if x != nil { - return x.WebInfo - } - return nil -} - -func (x *ClientPayload) GetPushName() string { - if x != nil && x.PushName != nil { - return *x.PushName - } - return "" -} - -func (x *ClientPayload) GetSessionId() int32 { - if x != nil && x.SessionId != nil { - return *x.SessionId - } - return 0 -} - -func (x *ClientPayload) GetShortConnect() bool { - if x != nil && x.ShortConnect != nil { - return *x.ShortConnect - } - return false -} - -func (x *ClientPayload) GetConnectType() ClientPayload_ConnectType { - if x != nil && x.ConnectType != nil { - return *x.ConnectType - } - return ClientPayload_CELLULAR_UNKNOWN -} - -func (x *ClientPayload) GetConnectReason() ClientPayload_ConnectReason { - if x != nil && x.ConnectReason != nil { - return *x.ConnectReason - } - return ClientPayload_PUSH -} - -func (x *ClientPayload) GetShards() []int32 { - if x != nil { - return x.Shards - } - return nil -} - -func (x *ClientPayload) GetDnsSource() *ClientPayload_DNSSource { - if x != nil { - return x.DnsSource - } - return nil -} - -func (x *ClientPayload) GetConnectAttemptCount() uint32 { - if x != nil && x.ConnectAttemptCount != nil { - return *x.ConnectAttemptCount - } - return 0 -} - -func (x *ClientPayload) GetDevice() uint32 { - if x != nil && x.Device != nil { - return *x.Device - } - return 0 -} - -func (x *ClientPayload) GetDevicePairingData() *ClientPayload_DevicePairingRegistrationData { - if x != nil { - return x.DevicePairingData - } - return nil -} - -func (x *ClientPayload) GetProduct() ClientPayload_Product { - if x != nil && x.Product != nil { - return *x.Product - } - return ClientPayload_WHATSAPP -} - -func (x *ClientPayload) GetFbCat() []byte { - if x != nil { - return x.FbCat - } - return nil -} - -func (x *ClientPayload) GetFbUserAgent() []byte { - if x != nil { - return x.FbUserAgent - } - return nil -} - -func (x *ClientPayload) GetOc() bool { - if x != nil && x.Oc != nil { - return *x.Oc - } - return false -} - -func (x *ClientPayload) GetLc() int32 { - if x != nil && x.Lc != nil { - return *x.Lc - } - return 0 -} - -func (x *ClientPayload) GetIosAppExtension() ClientPayload_IOSAppExtension { - if x != nil && x.IosAppExtension != nil { - return *x.IosAppExtension - } - return ClientPayload_SHARE_EXTENSION -} - -func (x *ClientPayload) GetFbAppId() uint64 { - if x != nil && x.FbAppId != nil { - return *x.FbAppId - } - return 0 -} - -func (x *ClientPayload) GetFbDeviceId() []byte { - if x != nil { - return x.FbDeviceId - } - return nil -} - -func (x *ClientPayload) GetPull() bool { - if x != nil && x.Pull != nil { - return *x.Pull - } - return false -} - -func (x *ClientPayload) GetPaddingBytes() []byte { - if x != nil { - return x.PaddingBytes - } - return nil -} - -func (x *ClientPayload) GetYearClass() int32 { - if x != nil && x.YearClass != nil { - return *x.YearClass - } - return 0 -} - -func (x *ClientPayload) GetMemClass() int32 { - if x != nil && x.MemClass != nil { - return *x.MemClass - } - return 0 -} - -func (x *ClientPayload) GetInteropData() *ClientPayload_InteropData { - if x != nil { - return x.InteropData - } - return nil -} - -type WebNotificationsInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Timestamp *uint64 `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"` - UnreadChats *uint32 `protobuf:"varint,3,opt,name=unreadChats" json:"unreadChats,omitempty"` - NotifyMessageCount *uint32 `protobuf:"varint,4,opt,name=notifyMessageCount" json:"notifyMessageCount,omitempty"` - NotifyMessages []*WebMessageInfo `protobuf:"bytes,5,rep,name=notifyMessages" json:"notifyMessages,omitempty"` -} - -func (x *WebNotificationsInfo) Reset() { - *x = WebNotificationsInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[182] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WebNotificationsInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WebNotificationsInfo) ProtoMessage() {} - -func (x *WebNotificationsInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[182] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WebNotificationsInfo.ProtoReflect.Descriptor instead. -func (*WebNotificationsInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{182} -} - -func (x *WebNotificationsInfo) GetTimestamp() uint64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -func (x *WebNotificationsInfo) GetUnreadChats() uint32 { - if x != nil && x.UnreadChats != nil { - return *x.UnreadChats - } - return 0 -} - -func (x *WebNotificationsInfo) GetNotifyMessageCount() uint32 { - if x != nil && x.NotifyMessageCount != nil { - return *x.NotifyMessageCount - } - return 0 -} - -func (x *WebNotificationsInfo) GetNotifyMessages() []*WebMessageInfo { - if x != nil { - return x.NotifyMessages - } - return nil -} - -type WebMessageInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,req,name=key" json:"key,omitempty"` - Message *Message `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` - MessageTimestamp *uint64 `protobuf:"varint,3,opt,name=messageTimestamp" json:"messageTimestamp,omitempty"` - Status *WebMessageInfo_Status `protobuf:"varint,4,opt,name=status,enum=defproto.WebMessageInfo_Status" json:"status,omitempty"` - Participant *string `protobuf:"bytes,5,opt,name=participant" json:"participant,omitempty"` - MessageC2STimestamp *uint64 `protobuf:"varint,6,opt,name=messageC2STimestamp" json:"messageC2STimestamp,omitempty"` - Ignore *bool `protobuf:"varint,16,opt,name=ignore" json:"ignore,omitempty"` - Starred *bool `protobuf:"varint,17,opt,name=starred" json:"starred,omitempty"` - Broadcast *bool `protobuf:"varint,18,opt,name=broadcast" json:"broadcast,omitempty"` - PushName *string `protobuf:"bytes,19,opt,name=pushName" json:"pushName,omitempty"` - MediaCiphertextSha256 []byte `protobuf:"bytes,20,opt,name=mediaCiphertextSha256" json:"mediaCiphertextSha256,omitempty"` - Multicast *bool `protobuf:"varint,21,opt,name=multicast" json:"multicast,omitempty"` - UrlText *bool `protobuf:"varint,22,opt,name=urlText" json:"urlText,omitempty"` - UrlNumber *bool `protobuf:"varint,23,opt,name=urlNumber" json:"urlNumber,omitempty"` - MessageStubType *WebMessageInfo_StubType `protobuf:"varint,24,opt,name=messageStubType,enum=defproto.WebMessageInfo_StubType" json:"messageStubType,omitempty"` - ClearMedia *bool `protobuf:"varint,25,opt,name=clearMedia" json:"clearMedia,omitempty"` - MessageStubParameters []string `protobuf:"bytes,26,rep,name=messageStubParameters" json:"messageStubParameters,omitempty"` - Duration *uint32 `protobuf:"varint,27,opt,name=duration" json:"duration,omitempty"` - Labels []string `protobuf:"bytes,28,rep,name=labels" json:"labels,omitempty"` - PaymentInfo *PaymentInfo `protobuf:"bytes,29,opt,name=paymentInfo" json:"paymentInfo,omitempty"` - FinalLiveLocation *LiveLocationMessage `protobuf:"bytes,30,opt,name=finalLiveLocation" json:"finalLiveLocation,omitempty"` - QuotedPaymentInfo *PaymentInfo `protobuf:"bytes,31,opt,name=quotedPaymentInfo" json:"quotedPaymentInfo,omitempty"` - EphemeralStartTimestamp *uint64 `protobuf:"varint,32,opt,name=ephemeralStartTimestamp" json:"ephemeralStartTimestamp,omitempty"` - EphemeralDuration *uint32 `protobuf:"varint,33,opt,name=ephemeralDuration" json:"ephemeralDuration,omitempty"` - EphemeralOffToOn *bool `protobuf:"varint,34,opt,name=ephemeralOffToOn" json:"ephemeralOffToOn,omitempty"` - EphemeralOutOfSync *bool `protobuf:"varint,35,opt,name=ephemeralOutOfSync" json:"ephemeralOutOfSync,omitempty"` - BizPrivacyStatus *WebMessageInfo_BizPrivacyStatus `protobuf:"varint,36,opt,name=bizPrivacyStatus,enum=defproto.WebMessageInfo_BizPrivacyStatus" json:"bizPrivacyStatus,omitempty"` - VerifiedBizName *string `protobuf:"bytes,37,opt,name=verifiedBizName" json:"verifiedBizName,omitempty"` - MediaData *MediaData `protobuf:"bytes,38,opt,name=mediaData" json:"mediaData,omitempty"` - PhotoChange *PhotoChange `protobuf:"bytes,39,opt,name=photoChange" json:"photoChange,omitempty"` - UserReceipt []*UserReceipt `protobuf:"bytes,40,rep,name=userReceipt" json:"userReceipt,omitempty"` - Reactions []*Reaction `protobuf:"bytes,41,rep,name=reactions" json:"reactions,omitempty"` - QuotedStickerData *MediaData `protobuf:"bytes,42,opt,name=quotedStickerData" json:"quotedStickerData,omitempty"` - FutureproofData []byte `protobuf:"bytes,43,opt,name=futureproofData" json:"futureproofData,omitempty"` - StatusPsa *StatusPSA `protobuf:"bytes,44,opt,name=statusPsa" json:"statusPsa,omitempty"` - PollUpdates []*PollUpdate `protobuf:"bytes,45,rep,name=pollUpdates" json:"pollUpdates,omitempty"` - PollAdditionalMetadata *PollAdditionalMetadata `protobuf:"bytes,46,opt,name=pollAdditionalMetadata" json:"pollAdditionalMetadata,omitempty"` - AgentId *string `protobuf:"bytes,47,opt,name=agentId" json:"agentId,omitempty"` - StatusAlreadyViewed *bool `protobuf:"varint,48,opt,name=statusAlreadyViewed" json:"statusAlreadyViewed,omitempty"` - MessageSecret []byte `protobuf:"bytes,49,opt,name=messageSecret" json:"messageSecret,omitempty"` - KeepInChat *KeepInChat `protobuf:"bytes,50,opt,name=keepInChat" json:"keepInChat,omitempty"` - OriginalSelfAuthorUserJidString *string `protobuf:"bytes,51,opt,name=originalSelfAuthorUserJidString" json:"originalSelfAuthorUserJidString,omitempty"` - RevokeMessageTimestamp *uint64 `protobuf:"varint,52,opt,name=revokeMessageTimestamp" json:"revokeMessageTimestamp,omitempty"` - PinInChat *PinInChat `protobuf:"bytes,54,opt,name=pinInChat" json:"pinInChat,omitempty"` - PremiumMessageInfo *PremiumMessageInfo `protobuf:"bytes,55,opt,name=premiumMessageInfo" json:"premiumMessageInfo,omitempty"` - Is1PBizBotMessage *bool `protobuf:"varint,56,opt,name=is1PBizBotMessage" json:"is1PBizBotMessage,omitempty"` - IsGroupHistoryMessage *bool `protobuf:"varint,57,opt,name=isGroupHistoryMessage" json:"isGroupHistoryMessage,omitempty"` - BotMessageInvokerJid *string `protobuf:"bytes,58,opt,name=botMessageInvokerJid" json:"botMessageInvokerJid,omitempty"` - CommentMetadata *CommentMetadata `protobuf:"bytes,59,opt,name=commentMetadata" json:"commentMetadata,omitempty"` - EventResponses []*EventResponse `protobuf:"bytes,61,rep,name=eventResponses" json:"eventResponses,omitempty"` - ReportingTokenInfo *ReportingTokenInfo `protobuf:"bytes,62,opt,name=reportingTokenInfo" json:"reportingTokenInfo,omitempty"` - NewsletterServerId *uint64 `protobuf:"varint,63,opt,name=newsletterServerId" json:"newsletterServerId,omitempty"` -} - -func (x *WebMessageInfo) Reset() { - *x = WebMessageInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[183] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WebMessageInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WebMessageInfo) ProtoMessage() {} - -func (x *WebMessageInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[183] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WebMessageInfo.ProtoReflect.Descriptor instead. -func (*WebMessageInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{183} -} - -func (x *WebMessageInfo) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *WebMessageInfo) GetMessage() *Message { - if x != nil { - return x.Message - } - return nil -} - -func (x *WebMessageInfo) GetMessageTimestamp() uint64 { - if x != nil && x.MessageTimestamp != nil { - return *x.MessageTimestamp - } - return 0 -} - -func (x *WebMessageInfo) GetStatus() WebMessageInfo_Status { - if x != nil && x.Status != nil { - return *x.Status - } - return WebMessageInfo_ERROR -} - -func (x *WebMessageInfo) GetParticipant() string { - if x != nil && x.Participant != nil { - return *x.Participant - } - return "" -} - -func (x *WebMessageInfo) GetMessageC2STimestamp() uint64 { - if x != nil && x.MessageC2STimestamp != nil { - return *x.MessageC2STimestamp - } - return 0 -} - -func (x *WebMessageInfo) GetIgnore() bool { - if x != nil && x.Ignore != nil { - return *x.Ignore - } - return false -} - -func (x *WebMessageInfo) GetStarred() bool { - if x != nil && x.Starred != nil { - return *x.Starred - } - return false -} - -func (x *WebMessageInfo) GetBroadcast() bool { - if x != nil && x.Broadcast != nil { - return *x.Broadcast - } - return false -} - -func (x *WebMessageInfo) GetPushName() string { - if x != nil && x.PushName != nil { - return *x.PushName - } - return "" -} - -func (x *WebMessageInfo) GetMediaCiphertextSha256() []byte { - if x != nil { - return x.MediaCiphertextSha256 - } - return nil -} - -func (x *WebMessageInfo) GetMulticast() bool { - if x != nil && x.Multicast != nil { - return *x.Multicast - } - return false -} - -func (x *WebMessageInfo) GetUrlText() bool { - if x != nil && x.UrlText != nil { - return *x.UrlText - } - return false -} - -func (x *WebMessageInfo) GetUrlNumber() bool { - if x != nil && x.UrlNumber != nil { - return *x.UrlNumber - } - return false -} - -func (x *WebMessageInfo) GetMessageStubType() WebMessageInfo_StubType { - if x != nil && x.MessageStubType != nil { - return *x.MessageStubType - } - return WebMessageInfo_UNKNOWN -} - -func (x *WebMessageInfo) GetClearMedia() bool { - if x != nil && x.ClearMedia != nil { - return *x.ClearMedia - } - return false -} - -func (x *WebMessageInfo) GetMessageStubParameters() []string { - if x != nil { - return x.MessageStubParameters - } - return nil -} - -func (x *WebMessageInfo) GetDuration() uint32 { - if x != nil && x.Duration != nil { - return *x.Duration - } - return 0 -} - -func (x *WebMessageInfo) GetLabels() []string { - if x != nil { - return x.Labels - } - return nil -} - -func (x *WebMessageInfo) GetPaymentInfo() *PaymentInfo { - if x != nil { - return x.PaymentInfo - } - return nil -} - -func (x *WebMessageInfo) GetFinalLiveLocation() *LiveLocationMessage { - if x != nil { - return x.FinalLiveLocation - } - return nil -} - -func (x *WebMessageInfo) GetQuotedPaymentInfo() *PaymentInfo { - if x != nil { - return x.QuotedPaymentInfo - } - return nil -} - -func (x *WebMessageInfo) GetEphemeralStartTimestamp() uint64 { - if x != nil && x.EphemeralStartTimestamp != nil { - return *x.EphemeralStartTimestamp - } - return 0 -} - -func (x *WebMessageInfo) GetEphemeralDuration() uint32 { - if x != nil && x.EphemeralDuration != nil { - return *x.EphemeralDuration - } - return 0 -} - -func (x *WebMessageInfo) GetEphemeralOffToOn() bool { - if x != nil && x.EphemeralOffToOn != nil { - return *x.EphemeralOffToOn - } - return false -} - -func (x *WebMessageInfo) GetEphemeralOutOfSync() bool { - if x != nil && x.EphemeralOutOfSync != nil { - return *x.EphemeralOutOfSync - } - return false -} - -func (x *WebMessageInfo) GetBizPrivacyStatus() WebMessageInfo_BizPrivacyStatus { - if x != nil && x.BizPrivacyStatus != nil { - return *x.BizPrivacyStatus - } - return WebMessageInfo_E2EE -} - -func (x *WebMessageInfo) GetVerifiedBizName() string { - if x != nil && x.VerifiedBizName != nil { - return *x.VerifiedBizName - } - return "" -} - -func (x *WebMessageInfo) GetMediaData() *MediaData { - if x != nil { - return x.MediaData - } - return nil -} - -func (x *WebMessageInfo) GetPhotoChange() *PhotoChange { - if x != nil { - return x.PhotoChange - } - return nil -} - -func (x *WebMessageInfo) GetUserReceipt() []*UserReceipt { - if x != nil { - return x.UserReceipt - } - return nil -} - -func (x *WebMessageInfo) GetReactions() []*Reaction { - if x != nil { - return x.Reactions - } - return nil -} - -func (x *WebMessageInfo) GetQuotedStickerData() *MediaData { - if x != nil { - return x.QuotedStickerData - } - return nil -} - -func (x *WebMessageInfo) GetFutureproofData() []byte { - if x != nil { - return x.FutureproofData - } - return nil -} - -func (x *WebMessageInfo) GetStatusPsa() *StatusPSA { - if x != nil { - return x.StatusPsa - } - return nil -} - -func (x *WebMessageInfo) GetPollUpdates() []*PollUpdate { - if x != nil { - return x.PollUpdates - } - return nil -} - -func (x *WebMessageInfo) GetPollAdditionalMetadata() *PollAdditionalMetadata { - if x != nil { - return x.PollAdditionalMetadata - } - return nil -} - -func (x *WebMessageInfo) GetAgentId() string { - if x != nil && x.AgentId != nil { - return *x.AgentId - } - return "" -} - -func (x *WebMessageInfo) GetStatusAlreadyViewed() bool { - if x != nil && x.StatusAlreadyViewed != nil { - return *x.StatusAlreadyViewed - } - return false -} - -func (x *WebMessageInfo) GetMessageSecret() []byte { - if x != nil { - return x.MessageSecret - } - return nil -} - -func (x *WebMessageInfo) GetKeepInChat() *KeepInChat { - if x != nil { - return x.KeepInChat - } - return nil -} - -func (x *WebMessageInfo) GetOriginalSelfAuthorUserJidString() string { - if x != nil && x.OriginalSelfAuthorUserJidString != nil { - return *x.OriginalSelfAuthorUserJidString - } - return "" -} - -func (x *WebMessageInfo) GetRevokeMessageTimestamp() uint64 { - if x != nil && x.RevokeMessageTimestamp != nil { - return *x.RevokeMessageTimestamp - } - return 0 -} - -func (x *WebMessageInfo) GetPinInChat() *PinInChat { - if x != nil { - return x.PinInChat - } - return nil -} - -func (x *WebMessageInfo) GetPremiumMessageInfo() *PremiumMessageInfo { - if x != nil { - return x.PremiumMessageInfo - } - return nil -} - -func (x *WebMessageInfo) GetIs1PBizBotMessage() bool { - if x != nil && x.Is1PBizBotMessage != nil { - return *x.Is1PBizBotMessage - } - return false -} - -func (x *WebMessageInfo) GetIsGroupHistoryMessage() bool { - if x != nil && x.IsGroupHistoryMessage != nil { - return *x.IsGroupHistoryMessage - } - return false -} - -func (x *WebMessageInfo) GetBotMessageInvokerJid() string { - if x != nil && x.BotMessageInvokerJid != nil { - return *x.BotMessageInvokerJid - } - return "" -} - -func (x *WebMessageInfo) GetCommentMetadata() *CommentMetadata { - if x != nil { - return x.CommentMetadata - } - return nil -} - -func (x *WebMessageInfo) GetEventResponses() []*EventResponse { - if x != nil { - return x.EventResponses - } - return nil -} - -func (x *WebMessageInfo) GetReportingTokenInfo() *ReportingTokenInfo { - if x != nil { - return x.ReportingTokenInfo - } - return nil -} - -func (x *WebMessageInfo) GetNewsletterServerId() uint64 { - if x != nil && x.NewsletterServerId != nil { - return *x.NewsletterServerId - } - return 0 -} - -type WebFeatures struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LabelsDisplay *WebFeatures_Flag `protobuf:"varint,1,opt,name=labelsDisplay,enum=defproto.WebFeatures_Flag" json:"labelsDisplay,omitempty"` - VoipIndividualOutgoing *WebFeatures_Flag `protobuf:"varint,2,opt,name=voipIndividualOutgoing,enum=defproto.WebFeatures_Flag" json:"voipIndividualOutgoing,omitempty"` - GroupsV3 *WebFeatures_Flag `protobuf:"varint,3,opt,name=groupsV3,enum=defproto.WebFeatures_Flag" json:"groupsV3,omitempty"` - GroupsV3Create *WebFeatures_Flag `protobuf:"varint,4,opt,name=groupsV3Create,enum=defproto.WebFeatures_Flag" json:"groupsV3Create,omitempty"` - ChangeNumberV2 *WebFeatures_Flag `protobuf:"varint,5,opt,name=changeNumberV2,enum=defproto.WebFeatures_Flag" json:"changeNumberV2,omitempty"` - QueryStatusV3Thumbnail *WebFeatures_Flag `protobuf:"varint,6,opt,name=queryStatusV3Thumbnail,enum=defproto.WebFeatures_Flag" json:"queryStatusV3Thumbnail,omitempty"` - LiveLocations *WebFeatures_Flag `protobuf:"varint,7,opt,name=liveLocations,enum=defproto.WebFeatures_Flag" json:"liveLocations,omitempty"` - QueryVname *WebFeatures_Flag `protobuf:"varint,8,opt,name=queryVname,enum=defproto.WebFeatures_Flag" json:"queryVname,omitempty"` - VoipIndividualIncoming *WebFeatures_Flag `protobuf:"varint,9,opt,name=voipIndividualIncoming,enum=defproto.WebFeatures_Flag" json:"voipIndividualIncoming,omitempty"` - QuickRepliesQuery *WebFeatures_Flag `protobuf:"varint,10,opt,name=quickRepliesQuery,enum=defproto.WebFeatures_Flag" json:"quickRepliesQuery,omitempty"` - Payments *WebFeatures_Flag `protobuf:"varint,11,opt,name=payments,enum=defproto.WebFeatures_Flag" json:"payments,omitempty"` - StickerPackQuery *WebFeatures_Flag `protobuf:"varint,12,opt,name=stickerPackQuery,enum=defproto.WebFeatures_Flag" json:"stickerPackQuery,omitempty"` - LiveLocationsFinal *WebFeatures_Flag `protobuf:"varint,13,opt,name=liveLocationsFinal,enum=defproto.WebFeatures_Flag" json:"liveLocationsFinal,omitempty"` - LabelsEdit *WebFeatures_Flag `protobuf:"varint,14,opt,name=labelsEdit,enum=defproto.WebFeatures_Flag" json:"labelsEdit,omitempty"` - MediaUpload *WebFeatures_Flag `protobuf:"varint,15,opt,name=mediaUpload,enum=defproto.WebFeatures_Flag" json:"mediaUpload,omitempty"` - MediaUploadRichQuickReplies *WebFeatures_Flag `protobuf:"varint,18,opt,name=mediaUploadRichQuickReplies,enum=defproto.WebFeatures_Flag" json:"mediaUploadRichQuickReplies,omitempty"` - VnameV2 *WebFeatures_Flag `protobuf:"varint,19,opt,name=vnameV2,enum=defproto.WebFeatures_Flag" json:"vnameV2,omitempty"` - VideoPlaybackUrl *WebFeatures_Flag `protobuf:"varint,20,opt,name=videoPlaybackUrl,enum=defproto.WebFeatures_Flag" json:"videoPlaybackUrl,omitempty"` - StatusRanking *WebFeatures_Flag `protobuf:"varint,21,opt,name=statusRanking,enum=defproto.WebFeatures_Flag" json:"statusRanking,omitempty"` - VoipIndividualVideo *WebFeatures_Flag `protobuf:"varint,22,opt,name=voipIndividualVideo,enum=defproto.WebFeatures_Flag" json:"voipIndividualVideo,omitempty"` - ThirdPartyStickers *WebFeatures_Flag `protobuf:"varint,23,opt,name=thirdPartyStickers,enum=defproto.WebFeatures_Flag" json:"thirdPartyStickers,omitempty"` - FrequentlyForwardedSetting *WebFeatures_Flag `protobuf:"varint,24,opt,name=frequentlyForwardedSetting,enum=defproto.WebFeatures_Flag" json:"frequentlyForwardedSetting,omitempty"` - GroupsV4JoinPermission *WebFeatures_Flag `protobuf:"varint,25,opt,name=groupsV4JoinPermission,enum=defproto.WebFeatures_Flag" json:"groupsV4JoinPermission,omitempty"` - RecentStickers *WebFeatures_Flag `protobuf:"varint,26,opt,name=recentStickers,enum=defproto.WebFeatures_Flag" json:"recentStickers,omitempty"` - Catalog *WebFeatures_Flag `protobuf:"varint,27,opt,name=catalog,enum=defproto.WebFeatures_Flag" json:"catalog,omitempty"` - StarredStickers *WebFeatures_Flag `protobuf:"varint,28,opt,name=starredStickers,enum=defproto.WebFeatures_Flag" json:"starredStickers,omitempty"` - VoipGroupCall *WebFeatures_Flag `protobuf:"varint,29,opt,name=voipGroupCall,enum=defproto.WebFeatures_Flag" json:"voipGroupCall,omitempty"` - TemplateMessage *WebFeatures_Flag `protobuf:"varint,30,opt,name=templateMessage,enum=defproto.WebFeatures_Flag" json:"templateMessage,omitempty"` - TemplateMessageInteractivity *WebFeatures_Flag `protobuf:"varint,31,opt,name=templateMessageInteractivity,enum=defproto.WebFeatures_Flag" json:"templateMessageInteractivity,omitempty"` - EphemeralMessages *WebFeatures_Flag `protobuf:"varint,32,opt,name=ephemeralMessages,enum=defproto.WebFeatures_Flag" json:"ephemeralMessages,omitempty"` - E2ENotificationSync *WebFeatures_Flag `protobuf:"varint,33,opt,name=e2ENotificationSync,enum=defproto.WebFeatures_Flag" json:"e2ENotificationSync,omitempty"` - RecentStickersV2 *WebFeatures_Flag `protobuf:"varint,34,opt,name=recentStickersV2,enum=defproto.WebFeatures_Flag" json:"recentStickersV2,omitempty"` - RecentStickersV3 *WebFeatures_Flag `protobuf:"varint,36,opt,name=recentStickersV3,enum=defproto.WebFeatures_Flag" json:"recentStickersV3,omitempty"` - UserNotice *WebFeatures_Flag `protobuf:"varint,37,opt,name=userNotice,enum=defproto.WebFeatures_Flag" json:"userNotice,omitempty"` - Support *WebFeatures_Flag `protobuf:"varint,39,opt,name=support,enum=defproto.WebFeatures_Flag" json:"support,omitempty"` - GroupUiiCleanup *WebFeatures_Flag `protobuf:"varint,40,opt,name=groupUiiCleanup,enum=defproto.WebFeatures_Flag" json:"groupUiiCleanup,omitempty"` - GroupDogfoodingInternalOnly *WebFeatures_Flag `protobuf:"varint,41,opt,name=groupDogfoodingInternalOnly,enum=defproto.WebFeatures_Flag" json:"groupDogfoodingInternalOnly,omitempty"` - SettingsSync *WebFeatures_Flag `protobuf:"varint,42,opt,name=settingsSync,enum=defproto.WebFeatures_Flag" json:"settingsSync,omitempty"` - ArchiveV2 *WebFeatures_Flag `protobuf:"varint,43,opt,name=archiveV2,enum=defproto.WebFeatures_Flag" json:"archiveV2,omitempty"` - EphemeralAllowGroupMembers *WebFeatures_Flag `protobuf:"varint,44,opt,name=ephemeralAllowGroupMembers,enum=defproto.WebFeatures_Flag" json:"ephemeralAllowGroupMembers,omitempty"` - Ephemeral24HDuration *WebFeatures_Flag `protobuf:"varint,45,opt,name=ephemeral24HDuration,enum=defproto.WebFeatures_Flag" json:"ephemeral24HDuration,omitempty"` - MdForceUpgrade *WebFeatures_Flag `protobuf:"varint,46,opt,name=mdForceUpgrade,enum=defproto.WebFeatures_Flag" json:"mdForceUpgrade,omitempty"` - DisappearingMode *WebFeatures_Flag `protobuf:"varint,47,opt,name=disappearingMode,enum=defproto.WebFeatures_Flag" json:"disappearingMode,omitempty"` - ExternalMdOptInAvailable *WebFeatures_Flag `protobuf:"varint,48,opt,name=externalMdOptInAvailable,enum=defproto.WebFeatures_Flag" json:"externalMdOptInAvailable,omitempty"` - NoDeleteMessageTimeLimit *WebFeatures_Flag `protobuf:"varint,49,opt,name=noDeleteMessageTimeLimit,enum=defproto.WebFeatures_Flag" json:"noDeleteMessageTimeLimit,omitempty"` -} - -func (x *WebFeatures) Reset() { - *x = WebFeatures{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[184] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WebFeatures) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WebFeatures) ProtoMessage() {} - -func (x *WebFeatures) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[184] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WebFeatures.ProtoReflect.Descriptor instead. -func (*WebFeatures) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{184} -} - -func (x *WebFeatures) GetLabelsDisplay() WebFeatures_Flag { - if x != nil && x.LabelsDisplay != nil { - return *x.LabelsDisplay - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetVoipIndividualOutgoing() WebFeatures_Flag { - if x != nil && x.VoipIndividualOutgoing != nil { - return *x.VoipIndividualOutgoing - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetGroupsV3() WebFeatures_Flag { - if x != nil && x.GroupsV3 != nil { - return *x.GroupsV3 - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetGroupsV3Create() WebFeatures_Flag { - if x != nil && x.GroupsV3Create != nil { - return *x.GroupsV3Create - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetChangeNumberV2() WebFeatures_Flag { - if x != nil && x.ChangeNumberV2 != nil { - return *x.ChangeNumberV2 - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetQueryStatusV3Thumbnail() WebFeatures_Flag { - if x != nil && x.QueryStatusV3Thumbnail != nil { - return *x.QueryStatusV3Thumbnail - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetLiveLocations() WebFeatures_Flag { - if x != nil && x.LiveLocations != nil { - return *x.LiveLocations - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetQueryVname() WebFeatures_Flag { - if x != nil && x.QueryVname != nil { - return *x.QueryVname - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetVoipIndividualIncoming() WebFeatures_Flag { - if x != nil && x.VoipIndividualIncoming != nil { - return *x.VoipIndividualIncoming - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetQuickRepliesQuery() WebFeatures_Flag { - if x != nil && x.QuickRepliesQuery != nil { - return *x.QuickRepliesQuery - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetPayments() WebFeatures_Flag { - if x != nil && x.Payments != nil { - return *x.Payments - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetStickerPackQuery() WebFeatures_Flag { - if x != nil && x.StickerPackQuery != nil { - return *x.StickerPackQuery - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetLiveLocationsFinal() WebFeatures_Flag { - if x != nil && x.LiveLocationsFinal != nil { - return *x.LiveLocationsFinal - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetLabelsEdit() WebFeatures_Flag { - if x != nil && x.LabelsEdit != nil { - return *x.LabelsEdit - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetMediaUpload() WebFeatures_Flag { - if x != nil && x.MediaUpload != nil { - return *x.MediaUpload - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetMediaUploadRichQuickReplies() WebFeatures_Flag { - if x != nil && x.MediaUploadRichQuickReplies != nil { - return *x.MediaUploadRichQuickReplies - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetVnameV2() WebFeatures_Flag { - if x != nil && x.VnameV2 != nil { - return *x.VnameV2 - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetVideoPlaybackUrl() WebFeatures_Flag { - if x != nil && x.VideoPlaybackUrl != nil { - return *x.VideoPlaybackUrl - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetStatusRanking() WebFeatures_Flag { - if x != nil && x.StatusRanking != nil { - return *x.StatusRanking - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetVoipIndividualVideo() WebFeatures_Flag { - if x != nil && x.VoipIndividualVideo != nil { - return *x.VoipIndividualVideo - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetThirdPartyStickers() WebFeatures_Flag { - if x != nil && x.ThirdPartyStickers != nil { - return *x.ThirdPartyStickers - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetFrequentlyForwardedSetting() WebFeatures_Flag { - if x != nil && x.FrequentlyForwardedSetting != nil { - return *x.FrequentlyForwardedSetting - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetGroupsV4JoinPermission() WebFeatures_Flag { - if x != nil && x.GroupsV4JoinPermission != nil { - return *x.GroupsV4JoinPermission - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetRecentStickers() WebFeatures_Flag { - if x != nil && x.RecentStickers != nil { - return *x.RecentStickers - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetCatalog() WebFeatures_Flag { - if x != nil && x.Catalog != nil { - return *x.Catalog - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetStarredStickers() WebFeatures_Flag { - if x != nil && x.StarredStickers != nil { - return *x.StarredStickers - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetVoipGroupCall() WebFeatures_Flag { - if x != nil && x.VoipGroupCall != nil { - return *x.VoipGroupCall - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetTemplateMessage() WebFeatures_Flag { - if x != nil && x.TemplateMessage != nil { - return *x.TemplateMessage - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetTemplateMessageInteractivity() WebFeatures_Flag { - if x != nil && x.TemplateMessageInteractivity != nil { - return *x.TemplateMessageInteractivity - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetEphemeralMessages() WebFeatures_Flag { - if x != nil && x.EphemeralMessages != nil { - return *x.EphemeralMessages - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetE2ENotificationSync() WebFeatures_Flag { - if x != nil && x.E2ENotificationSync != nil { - return *x.E2ENotificationSync - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetRecentStickersV2() WebFeatures_Flag { - if x != nil && x.RecentStickersV2 != nil { - return *x.RecentStickersV2 - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetRecentStickersV3() WebFeatures_Flag { - if x != nil && x.RecentStickersV3 != nil { - return *x.RecentStickersV3 - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetUserNotice() WebFeatures_Flag { - if x != nil && x.UserNotice != nil { - return *x.UserNotice - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetSupport() WebFeatures_Flag { - if x != nil && x.Support != nil { - return *x.Support - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetGroupUiiCleanup() WebFeatures_Flag { - if x != nil && x.GroupUiiCleanup != nil { - return *x.GroupUiiCleanup - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetGroupDogfoodingInternalOnly() WebFeatures_Flag { - if x != nil && x.GroupDogfoodingInternalOnly != nil { - return *x.GroupDogfoodingInternalOnly - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetSettingsSync() WebFeatures_Flag { - if x != nil && x.SettingsSync != nil { - return *x.SettingsSync - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetArchiveV2() WebFeatures_Flag { - if x != nil && x.ArchiveV2 != nil { - return *x.ArchiveV2 - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetEphemeralAllowGroupMembers() WebFeatures_Flag { - if x != nil && x.EphemeralAllowGroupMembers != nil { - return *x.EphemeralAllowGroupMembers - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetEphemeral24HDuration() WebFeatures_Flag { - if x != nil && x.Ephemeral24HDuration != nil { - return *x.Ephemeral24HDuration - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetMdForceUpgrade() WebFeatures_Flag { - if x != nil && x.MdForceUpgrade != nil { - return *x.MdForceUpgrade - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetDisappearingMode() WebFeatures_Flag { - if x != nil && x.DisappearingMode != nil { - return *x.DisappearingMode - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetExternalMdOptInAvailable() WebFeatures_Flag { - if x != nil && x.ExternalMdOptInAvailable != nil { - return *x.ExternalMdOptInAvailable - } - return WebFeatures_NOT_STARTED -} - -func (x *WebFeatures) GetNoDeleteMessageTimeLimit() WebFeatures_Flag { - if x != nil && x.NoDeleteMessageTimeLimit != nil { - return *x.NoDeleteMessageTimeLimit - } - return WebFeatures_NOT_STARTED -} - -type UserReceipt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserJid *string `protobuf:"bytes,1,req,name=userJid" json:"userJid,omitempty"` - ReceiptTimestamp *int64 `protobuf:"varint,2,opt,name=receiptTimestamp" json:"receiptTimestamp,omitempty"` - ReadTimestamp *int64 `protobuf:"varint,3,opt,name=readTimestamp" json:"readTimestamp,omitempty"` - PlayedTimestamp *int64 `protobuf:"varint,4,opt,name=playedTimestamp" json:"playedTimestamp,omitempty"` - PendingDeviceJid []string `protobuf:"bytes,5,rep,name=pendingDeviceJid" json:"pendingDeviceJid,omitempty"` - DeliveredDeviceJid []string `protobuf:"bytes,6,rep,name=deliveredDeviceJid" json:"deliveredDeviceJid,omitempty"` -} - -func (x *UserReceipt) Reset() { - *x = UserReceipt{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[185] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserReceipt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserReceipt) ProtoMessage() {} - -func (x *UserReceipt) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[185] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserReceipt.ProtoReflect.Descriptor instead. -func (*UserReceipt) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{185} -} - -func (x *UserReceipt) GetUserJid() string { - if x != nil && x.UserJid != nil { - return *x.UserJid - } - return "" -} - -func (x *UserReceipt) GetReceiptTimestamp() int64 { - if x != nil && x.ReceiptTimestamp != nil { - return *x.ReceiptTimestamp - } - return 0 -} - -func (x *UserReceipt) GetReadTimestamp() int64 { - if x != nil && x.ReadTimestamp != nil { - return *x.ReadTimestamp - } - return 0 -} - -func (x *UserReceipt) GetPlayedTimestamp() int64 { - if x != nil && x.PlayedTimestamp != nil { - return *x.PlayedTimestamp - } - return 0 -} - -func (x *UserReceipt) GetPendingDeviceJid() []string { - if x != nil { - return x.PendingDeviceJid - } - return nil -} - -func (x *UserReceipt) GetDeliveredDeviceJid() []string { - if x != nil { - return x.DeliveredDeviceJid - } - return nil -} - -type StatusPSA struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CampaignId *uint64 `protobuf:"varint,44,req,name=campaignId" json:"campaignId,omitempty"` - CampaignExpirationTimestamp *uint64 `protobuf:"varint,45,opt,name=campaignExpirationTimestamp" json:"campaignExpirationTimestamp,omitempty"` -} - -func (x *StatusPSA) Reset() { - *x = StatusPSA{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[186] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StatusPSA) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StatusPSA) ProtoMessage() {} - -func (x *StatusPSA) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[186] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StatusPSA.ProtoReflect.Descriptor instead. -func (*StatusPSA) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{186} -} - -func (x *StatusPSA) GetCampaignId() uint64 { - if x != nil && x.CampaignId != nil { - return *x.CampaignId - } - return 0 -} - -func (x *StatusPSA) GetCampaignExpirationTimestamp() uint64 { - if x != nil && x.CampaignExpirationTimestamp != nil { - return *x.CampaignExpirationTimestamp - } - return 0 -} - -type ReportingTokenInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ReportingTag []byte `protobuf:"bytes,1,opt,name=reportingTag" json:"reportingTag,omitempty"` -} - -func (x *ReportingTokenInfo) Reset() { - *x = ReportingTokenInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[187] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReportingTokenInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReportingTokenInfo) ProtoMessage() {} - -func (x *ReportingTokenInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[187] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReportingTokenInfo.ProtoReflect.Descriptor instead. -func (*ReportingTokenInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{187} -} - -func (x *ReportingTokenInfo) GetReportingTag() []byte { - if x != nil { - return x.ReportingTag - } - return nil -} - -type Reaction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - Text *string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"` - GroupingKey *string `protobuf:"bytes,3,opt,name=groupingKey" json:"groupingKey,omitempty"` - SenderTimestampMs *int64 `protobuf:"varint,4,opt,name=senderTimestampMs" json:"senderTimestampMs,omitempty"` - Unread *bool `protobuf:"varint,5,opt,name=unread" json:"unread,omitempty"` -} - -func (x *Reaction) Reset() { - *x = Reaction{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[188] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Reaction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Reaction) ProtoMessage() {} - -func (x *Reaction) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[188] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Reaction.ProtoReflect.Descriptor instead. -func (*Reaction) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{188} -} - -func (x *Reaction) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *Reaction) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -func (x *Reaction) GetGroupingKey() string { - if x != nil && x.GroupingKey != nil { - return *x.GroupingKey - } - return "" -} - -func (x *Reaction) GetSenderTimestampMs() int64 { - if x != nil && x.SenderTimestampMs != nil { - return *x.SenderTimestampMs - } - return 0 -} - -func (x *Reaction) GetUnread() bool { - if x != nil && x.Unread != nil { - return *x.Unread - } - return false -} - -type PremiumMessageInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ServerCampaignId *string `protobuf:"bytes,1,opt,name=serverCampaignId" json:"serverCampaignId,omitempty"` -} - -func (x *PremiumMessageInfo) Reset() { - *x = PremiumMessageInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[189] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PremiumMessageInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PremiumMessageInfo) ProtoMessage() {} - -func (x *PremiumMessageInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[189] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PremiumMessageInfo.ProtoReflect.Descriptor instead. -func (*PremiumMessageInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{189} -} - -func (x *PremiumMessageInfo) GetServerCampaignId() string { - if x != nil && x.ServerCampaignId != nil { - return *x.ServerCampaignId - } - return "" -} - -type PollUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PollUpdateMessageKey *MessageKey `protobuf:"bytes,1,opt,name=pollUpdateMessageKey" json:"pollUpdateMessageKey,omitempty"` - Vote *PollVoteMessage `protobuf:"bytes,2,opt,name=vote" json:"vote,omitempty"` - SenderTimestampMs *int64 `protobuf:"varint,3,opt,name=senderTimestampMs" json:"senderTimestampMs,omitempty"` - ServerTimestampMs *int64 `protobuf:"varint,4,opt,name=serverTimestampMs" json:"serverTimestampMs,omitempty"` - Unread *bool `protobuf:"varint,5,opt,name=unread" json:"unread,omitempty"` -} - -func (x *PollUpdate) Reset() { - *x = PollUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[190] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PollUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PollUpdate) ProtoMessage() {} - -func (x *PollUpdate) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[190] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PollUpdate.ProtoReflect.Descriptor instead. -func (*PollUpdate) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{190} -} - -func (x *PollUpdate) GetPollUpdateMessageKey() *MessageKey { - if x != nil { - return x.PollUpdateMessageKey - } - return nil -} - -func (x *PollUpdate) GetVote() *PollVoteMessage { - if x != nil { - return x.Vote - } - return nil -} - -func (x *PollUpdate) GetSenderTimestampMs() int64 { - if x != nil && x.SenderTimestampMs != nil { - return *x.SenderTimestampMs - } - return 0 -} - -func (x *PollUpdate) GetServerTimestampMs() int64 { - if x != nil && x.ServerTimestampMs != nil { - return *x.ServerTimestampMs - } - return 0 -} - -func (x *PollUpdate) GetUnread() bool { - if x != nil && x.Unread != nil { - return *x.Unread - } - return false -} - -type PollAdditionalMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PollInvalidated *bool `protobuf:"varint,1,opt,name=pollInvalidated" json:"pollInvalidated,omitempty"` -} - -func (x *PollAdditionalMetadata) Reset() { - *x = PollAdditionalMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[191] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PollAdditionalMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PollAdditionalMetadata) ProtoMessage() {} - -func (x *PollAdditionalMetadata) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[191] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PollAdditionalMetadata.ProtoReflect.Descriptor instead. -func (*PollAdditionalMetadata) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{191} -} - -func (x *PollAdditionalMetadata) GetPollInvalidated() bool { - if x != nil && x.PollInvalidated != nil { - return *x.PollInvalidated - } - return false -} - -type PinInChat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type *PinInChat_Type `protobuf:"varint,1,opt,name=type,enum=defproto.PinInChat_Type" json:"type,omitempty"` - Key *MessageKey `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"` - SenderTimestampMs *int64 `protobuf:"varint,3,opt,name=senderTimestampMs" json:"senderTimestampMs,omitempty"` - ServerTimestampMs *int64 `protobuf:"varint,4,opt,name=serverTimestampMs" json:"serverTimestampMs,omitempty"` - MessageAddOnContextInfo *MessageAddOnContextInfo `protobuf:"bytes,5,opt,name=messageAddOnContextInfo" json:"messageAddOnContextInfo,omitempty"` -} - -func (x *PinInChat) Reset() { - *x = PinInChat{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[192] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PinInChat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PinInChat) ProtoMessage() {} - -func (x *PinInChat) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[192] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PinInChat.ProtoReflect.Descriptor instead. -func (*PinInChat) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{192} -} - -func (x *PinInChat) GetType() PinInChat_Type { - if x != nil && x.Type != nil { - return *x.Type - } - return PinInChat_UNKNOWN_TYPE -} - -func (x *PinInChat) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *PinInChat) GetSenderTimestampMs() int64 { - if x != nil && x.SenderTimestampMs != nil { - return *x.SenderTimestampMs - } - return 0 -} - -func (x *PinInChat) GetServerTimestampMs() int64 { - if x != nil && x.ServerTimestampMs != nil { - return *x.ServerTimestampMs - } - return 0 -} - -func (x *PinInChat) GetMessageAddOnContextInfo() *MessageAddOnContextInfo { - if x != nil { - return x.MessageAddOnContextInfo - } - return nil -} - -type PhotoChange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OldPhoto []byte `protobuf:"bytes,1,opt,name=oldPhoto" json:"oldPhoto,omitempty"` - NewPhoto []byte `protobuf:"bytes,2,opt,name=newPhoto" json:"newPhoto,omitempty"` - NewPhotoId *uint32 `protobuf:"varint,3,opt,name=newPhotoId" json:"newPhotoId,omitempty"` -} - -func (x *PhotoChange) Reset() { - *x = PhotoChange{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[193] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PhotoChange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PhotoChange) ProtoMessage() {} - -func (x *PhotoChange) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[193] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PhotoChange.ProtoReflect.Descriptor instead. -func (*PhotoChange) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{193} -} - -func (x *PhotoChange) GetOldPhoto() []byte { - if x != nil { - return x.OldPhoto - } - return nil -} - -func (x *PhotoChange) GetNewPhoto() []byte { - if x != nil { - return x.NewPhoto - } - return nil -} - -func (x *PhotoChange) GetNewPhotoId() uint32 { - if x != nil && x.NewPhotoId != nil { - return *x.NewPhotoId - } - return 0 -} - -type PaymentInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CurrencyDeprecated *PaymentInfo_Currency `protobuf:"varint,1,opt,name=currencyDeprecated,enum=defproto.PaymentInfo_Currency" json:"currencyDeprecated,omitempty"` - Amount1000 *uint64 `protobuf:"varint,2,opt,name=amount1000" json:"amount1000,omitempty"` - ReceiverJid *string `protobuf:"bytes,3,opt,name=receiverJid" json:"receiverJid,omitempty"` - Status *PaymentInfo_Status `protobuf:"varint,4,opt,name=status,enum=defproto.PaymentInfo_Status" json:"status,omitempty"` - TransactionTimestamp *uint64 `protobuf:"varint,5,opt,name=transactionTimestamp" json:"transactionTimestamp,omitempty"` - RequestMessageKey *MessageKey `protobuf:"bytes,6,opt,name=requestMessageKey" json:"requestMessageKey,omitempty"` - ExpiryTimestamp *uint64 `protobuf:"varint,7,opt,name=expiryTimestamp" json:"expiryTimestamp,omitempty"` - Futureproofed *bool `protobuf:"varint,8,opt,name=futureproofed" json:"futureproofed,omitempty"` - Currency *string `protobuf:"bytes,9,opt,name=currency" json:"currency,omitempty"` - TxnStatus *PaymentInfo_TxnStatus `protobuf:"varint,10,opt,name=txnStatus,enum=defproto.PaymentInfo_TxnStatus" json:"txnStatus,omitempty"` - UseNoviFiatFormat *bool `protobuf:"varint,11,opt,name=useNoviFiatFormat" json:"useNoviFiatFormat,omitempty"` - PrimaryAmount *Money `protobuf:"bytes,12,opt,name=primaryAmount" json:"primaryAmount,omitempty"` - ExchangeAmount *Money `protobuf:"bytes,13,opt,name=exchangeAmount" json:"exchangeAmount,omitempty"` -} - -func (x *PaymentInfo) Reset() { - *x = PaymentInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[194] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PaymentInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PaymentInfo) ProtoMessage() {} - -func (x *PaymentInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[194] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PaymentInfo.ProtoReflect.Descriptor instead. -func (*PaymentInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{194} -} - -func (x *PaymentInfo) GetCurrencyDeprecated() PaymentInfo_Currency { - if x != nil && x.CurrencyDeprecated != nil { - return *x.CurrencyDeprecated - } - return PaymentInfo_UNKNOWN_CURRENCY -} - -func (x *PaymentInfo) GetAmount1000() uint64 { - if x != nil && x.Amount1000 != nil { - return *x.Amount1000 - } - return 0 -} - -func (x *PaymentInfo) GetReceiverJid() string { - if x != nil && x.ReceiverJid != nil { - return *x.ReceiverJid - } - return "" -} - -func (x *PaymentInfo) GetStatus() PaymentInfo_Status { - if x != nil && x.Status != nil { - return *x.Status - } - return PaymentInfo_UNKNOWN_STATUS -} - -func (x *PaymentInfo) GetTransactionTimestamp() uint64 { - if x != nil && x.TransactionTimestamp != nil { - return *x.TransactionTimestamp - } - return 0 -} - -func (x *PaymentInfo) GetRequestMessageKey() *MessageKey { - if x != nil { - return x.RequestMessageKey - } - return nil -} - -func (x *PaymentInfo) GetExpiryTimestamp() uint64 { - if x != nil && x.ExpiryTimestamp != nil { - return *x.ExpiryTimestamp - } - return 0 -} - -func (x *PaymentInfo) GetFutureproofed() bool { - if x != nil && x.Futureproofed != nil { - return *x.Futureproofed - } - return false -} - -func (x *PaymentInfo) GetCurrency() string { - if x != nil && x.Currency != nil { - return *x.Currency - } - return "" -} - -func (x *PaymentInfo) GetTxnStatus() PaymentInfo_TxnStatus { - if x != nil && x.TxnStatus != nil { - return *x.TxnStatus - } - return PaymentInfo_UNKNOWN -} - -func (x *PaymentInfo) GetUseNoviFiatFormat() bool { - if x != nil && x.UseNoviFiatFormat != nil { - return *x.UseNoviFiatFormat - } - return false -} - -func (x *PaymentInfo) GetPrimaryAmount() *Money { - if x != nil { - return x.PrimaryAmount - } - return nil -} - -func (x *PaymentInfo) GetExchangeAmount() *Money { - if x != nil { - return x.ExchangeAmount - } - return nil -} - -type NotificationMessageInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - Message *Message `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"` - MessageTimestamp *uint64 `protobuf:"varint,3,opt,name=messageTimestamp" json:"messageTimestamp,omitempty"` - Participant *string `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"` -} - -func (x *NotificationMessageInfo) Reset() { - *x = NotificationMessageInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[195] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NotificationMessageInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NotificationMessageInfo) ProtoMessage() {} - -func (x *NotificationMessageInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[195] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NotificationMessageInfo.ProtoReflect.Descriptor instead. -func (*NotificationMessageInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{195} -} - -func (x *NotificationMessageInfo) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *NotificationMessageInfo) GetMessage() *Message { - if x != nil { - return x.Message - } - return nil -} - -func (x *NotificationMessageInfo) GetMessageTimestamp() uint64 { - if x != nil && x.MessageTimestamp != nil { - return *x.MessageTimestamp - } - return 0 -} - -func (x *NotificationMessageInfo) GetParticipant() string { - if x != nil && x.Participant != nil { - return *x.Participant - } - return "" -} - -type MessageAddOnContextInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MessageAddOnDurationInSecs *uint32 `protobuf:"varint,1,opt,name=messageAddOnDurationInSecs" json:"messageAddOnDurationInSecs,omitempty"` -} - -func (x *MessageAddOnContextInfo) Reset() { - *x = MessageAddOnContextInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[196] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MessageAddOnContextInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MessageAddOnContextInfo) ProtoMessage() {} - -func (x *MessageAddOnContextInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[196] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MessageAddOnContextInfo.ProtoReflect.Descriptor instead. -func (*MessageAddOnContextInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{196} -} - -func (x *MessageAddOnContextInfo) GetMessageAddOnDurationInSecs() uint32 { - if x != nil && x.MessageAddOnDurationInSecs != nil { - return *x.MessageAddOnDurationInSecs - } - return 0 -} - -type MediaData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LocalPath *string `protobuf:"bytes,1,opt,name=localPath" json:"localPath,omitempty"` -} - -func (x *MediaData) Reset() { - *x = MediaData{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[197] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MediaData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MediaData) ProtoMessage() {} - -func (x *MediaData) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[197] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MediaData.ProtoReflect.Descriptor instead. -func (*MediaData) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{197} -} - -func (x *MediaData) GetLocalPath() string { - if x != nil && x.LocalPath != nil { - return *x.LocalPath - } - return "" -} - -type KeepInChat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - KeepType *KeepType `protobuf:"varint,1,opt,name=keepType,enum=defproto.KeepType" json:"keepType,omitempty"` - ServerTimestamp *int64 `protobuf:"varint,2,opt,name=serverTimestamp" json:"serverTimestamp,omitempty"` - Key *MessageKey `protobuf:"bytes,3,opt,name=key" json:"key,omitempty"` - DeviceJid *string `protobuf:"bytes,4,opt,name=deviceJid" json:"deviceJid,omitempty"` - ClientTimestampMs *int64 `protobuf:"varint,5,opt,name=clientTimestampMs" json:"clientTimestampMs,omitempty"` - ServerTimestampMs *int64 `protobuf:"varint,6,opt,name=serverTimestampMs" json:"serverTimestampMs,omitempty"` -} - -func (x *KeepInChat) Reset() { - *x = KeepInChat{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[198] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KeepInChat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KeepInChat) ProtoMessage() {} - -func (x *KeepInChat) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[198] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KeepInChat.ProtoReflect.Descriptor instead. -func (*KeepInChat) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{198} -} - -func (x *KeepInChat) GetKeepType() KeepType { - if x != nil && x.KeepType != nil { - return *x.KeepType - } - return KeepType_UNKNOWN -} - -func (x *KeepInChat) GetServerTimestamp() int64 { - if x != nil && x.ServerTimestamp != nil { - return *x.ServerTimestamp - } - return 0 -} - -func (x *KeepInChat) GetKey() *MessageKey { - if x != nil { - return x.Key - } - return nil -} - -func (x *KeepInChat) GetDeviceJid() string { - if x != nil && x.DeviceJid != nil { - return *x.DeviceJid - } - return "" -} - -func (x *KeepInChat) GetClientTimestampMs() int64 { - if x != nil && x.ClientTimestampMs != nil { - return *x.ClientTimestampMs - } - return 0 -} - -func (x *KeepInChat) GetServerTimestampMs() int64 { - if x != nil && x.ServerTimestampMs != nil { - return *x.ServerTimestampMs - } - return 0 -} - -type EventResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EventResponseMessageKey *MessageKey `protobuf:"bytes,1,opt,name=eventResponseMessageKey" json:"eventResponseMessageKey,omitempty"` - TimestampMs *int64 `protobuf:"varint,2,opt,name=timestampMs" json:"timestampMs,omitempty"` - EventResponseMessage *EventResponseMessage `protobuf:"bytes,3,opt,name=eventResponseMessage" json:"eventResponseMessage,omitempty"` - Unread *bool `protobuf:"varint,4,opt,name=unread" json:"unread,omitempty"` -} - -func (x *EventResponse) Reset() { - *x = EventResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[199] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventResponse) ProtoMessage() {} - -func (x *EventResponse) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[199] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EventResponse.ProtoReflect.Descriptor instead. -func (*EventResponse) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{199} -} - -func (x *EventResponse) GetEventResponseMessageKey() *MessageKey { - if x != nil { - return x.EventResponseMessageKey - } - return nil -} - -func (x *EventResponse) GetTimestampMs() int64 { - if x != nil && x.TimestampMs != nil { - return *x.TimestampMs - } - return 0 -} - -func (x *EventResponse) GetEventResponseMessage() *EventResponseMessage { - if x != nil { - return x.EventResponseMessage - } - return nil -} - -func (x *EventResponse) GetUnread() bool { - if x != nil && x.Unread != nil { - return *x.Unread - } - return false -} - -type CommentMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommentParentKey *MessageKey `protobuf:"bytes,1,opt,name=commentParentKey" json:"commentParentKey,omitempty"` - ReplyCount *uint32 `protobuf:"varint,2,opt,name=replyCount" json:"replyCount,omitempty"` -} - -func (x *CommentMetadata) Reset() { - *x = CommentMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[200] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommentMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommentMetadata) ProtoMessage() {} - -func (x *CommentMetadata) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[200] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommentMetadata.ProtoReflect.Descriptor instead. -func (*CommentMetadata) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{200} -} - -func (x *CommentMetadata) GetCommentParentKey() *MessageKey { - if x != nil { - return x.CommentParentKey - } - return nil -} - -func (x *CommentMetadata) GetReplyCount() uint32 { - if x != nil && x.ReplyCount != nil { - return *x.ReplyCount - } - return 0 -} - -type NoiseCertificate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Details []byte `protobuf:"bytes,1,opt,name=details" json:"details,omitempty"` - Signature []byte `protobuf:"bytes,2,opt,name=signature" json:"signature,omitempty"` -} - -func (x *NoiseCertificate) Reset() { - *x = NoiseCertificate{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[201] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NoiseCertificate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NoiseCertificate) ProtoMessage() {} - -func (x *NoiseCertificate) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[201] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NoiseCertificate.ProtoReflect.Descriptor instead. -func (*NoiseCertificate) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{201} -} - -func (x *NoiseCertificate) GetDetails() []byte { - if x != nil { - return x.Details - } - return nil -} - -func (x *NoiseCertificate) GetSignature() []byte { - if x != nil { - return x.Signature - } - return nil -} - -type CertChain struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Leaf *CertChain_NoiseCertificate `protobuf:"bytes,1,opt,name=leaf" json:"leaf,omitempty"` - Intermediate *CertChain_NoiseCertificate `protobuf:"bytes,2,opt,name=intermediate" json:"intermediate,omitempty"` -} - -func (x *CertChain) Reset() { - *x = CertChain{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[202] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CertChain) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CertChain) ProtoMessage() {} - -func (x *CertChain) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[202] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CertChain.ProtoReflect.Descriptor instead. -func (*CertChain) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{202} -} - -func (x *CertChain) GetLeaf() *CertChain_NoiseCertificate { - if x != nil { - return x.Leaf - } - return nil -} - -func (x *CertChain) GetIntermediate() *CertChain_NoiseCertificate { - if x != nil { - return x.Intermediate - } - return nil -} - -type QP struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *QP) Reset() { - *x = QP{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[203] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QP) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QP) ProtoMessage() {} - -func (x *QP) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[203] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QP.ProtoReflect.Descriptor instead. -func (*QP) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{203} -} - -type DeviceProps_HistorySyncConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FullSyncDaysLimit *uint32 `protobuf:"varint,1,opt,name=fullSyncDaysLimit" json:"fullSyncDaysLimit,omitempty"` - FullSyncSizeMbLimit *uint32 `protobuf:"varint,2,opt,name=fullSyncSizeMbLimit" json:"fullSyncSizeMbLimit,omitempty"` - StorageQuotaMb *uint32 `protobuf:"varint,3,opt,name=storageQuotaMb" json:"storageQuotaMb,omitempty"` - InlineInitialPayloadInE2EeMsg *bool `protobuf:"varint,4,opt,name=inlineInitialPayloadInE2EeMsg" json:"inlineInitialPayloadInE2EeMsg,omitempty"` - RecentSyncDaysLimit *uint32 `protobuf:"varint,5,opt,name=recentSyncDaysLimit" json:"recentSyncDaysLimit,omitempty"` - SupportCallLogHistory *bool `protobuf:"varint,6,opt,name=supportCallLogHistory" json:"supportCallLogHistory,omitempty"` - SupportBotUserAgentChatHistory *bool `protobuf:"varint,7,opt,name=supportBotUserAgentChatHistory" json:"supportBotUserAgentChatHistory,omitempty"` - SupportCagReactionsAndPolls *bool `protobuf:"varint,8,opt,name=supportCagReactionsAndPolls" json:"supportCagReactionsAndPolls,omitempty"` -} - -func (x *DeviceProps_HistorySyncConfig) Reset() { - *x = DeviceProps_HistorySyncConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[204] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeviceProps_HistorySyncConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeviceProps_HistorySyncConfig) ProtoMessage() {} - -func (x *DeviceProps_HistorySyncConfig) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[204] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeviceProps_HistorySyncConfig.ProtoReflect.Descriptor instead. -func (*DeviceProps_HistorySyncConfig) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{5, 0} -} - -func (x *DeviceProps_HistorySyncConfig) GetFullSyncDaysLimit() uint32 { - if x != nil && x.FullSyncDaysLimit != nil { - return *x.FullSyncDaysLimit - } - return 0 -} - -func (x *DeviceProps_HistorySyncConfig) GetFullSyncSizeMbLimit() uint32 { - if x != nil && x.FullSyncSizeMbLimit != nil { - return *x.FullSyncSizeMbLimit - } - return 0 -} - -func (x *DeviceProps_HistorySyncConfig) GetStorageQuotaMb() uint32 { - if x != nil && x.StorageQuotaMb != nil { - return *x.StorageQuotaMb - } - return 0 -} - -func (x *DeviceProps_HistorySyncConfig) GetInlineInitialPayloadInE2EeMsg() bool { - if x != nil && x.InlineInitialPayloadInE2EeMsg != nil { - return *x.InlineInitialPayloadInE2EeMsg - } - return false -} - -func (x *DeviceProps_HistorySyncConfig) GetRecentSyncDaysLimit() uint32 { - if x != nil && x.RecentSyncDaysLimit != nil { - return *x.RecentSyncDaysLimit - } - return 0 -} - -func (x *DeviceProps_HistorySyncConfig) GetSupportCallLogHistory() bool { - if x != nil && x.SupportCallLogHistory != nil { - return *x.SupportCallLogHistory - } - return false -} - -func (x *DeviceProps_HistorySyncConfig) GetSupportBotUserAgentChatHistory() bool { - if x != nil && x.SupportBotUserAgentChatHistory != nil { - return *x.SupportBotUserAgentChatHistory - } - return false -} - -func (x *DeviceProps_HistorySyncConfig) GetSupportCagReactionsAndPolls() bool { - if x != nil && x.SupportCagReactionsAndPolls != nil { - return *x.SupportCagReactionsAndPolls - } - return false -} - -type DeviceProps_AppVersion struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Primary *uint32 `protobuf:"varint,1,opt,name=primary" json:"primary,omitempty"` - Secondary *uint32 `protobuf:"varint,2,opt,name=secondary" json:"secondary,omitempty"` - Tertiary *uint32 `protobuf:"varint,3,opt,name=tertiary" json:"tertiary,omitempty"` - Quaternary *uint32 `protobuf:"varint,4,opt,name=quaternary" json:"quaternary,omitempty"` - Quinary *uint32 `protobuf:"varint,5,opt,name=quinary" json:"quinary,omitempty"` -} - -func (x *DeviceProps_AppVersion) Reset() { - *x = DeviceProps_AppVersion{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[205] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeviceProps_AppVersion) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeviceProps_AppVersion) ProtoMessage() {} - -func (x *DeviceProps_AppVersion) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[205] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeviceProps_AppVersion.ProtoReflect.Descriptor instead. -func (*DeviceProps_AppVersion) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{5, 1} -} - -func (x *DeviceProps_AppVersion) GetPrimary() uint32 { - if x != nil && x.Primary != nil { - return *x.Primary - } - return 0 -} - -func (x *DeviceProps_AppVersion) GetSecondary() uint32 { - if x != nil && x.Secondary != nil { - return *x.Secondary - } - return 0 -} - -func (x *DeviceProps_AppVersion) GetTertiary() uint32 { - if x != nil && x.Tertiary != nil { - return *x.Tertiary - } - return 0 -} - -func (x *DeviceProps_AppVersion) GetQuaternary() uint32 { - if x != nil && x.Quaternary != nil { - return *x.Quaternary - } - return 0 -} - -func (x *DeviceProps_AppVersion) GetQuinary() uint32 { - if x != nil && x.Quinary != nil { - return *x.Quinary - } - return 0 -} - -type InteractiveMessage_ShopMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id *string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` - Surface *InteractiveMessage_ShopMessage_Surface `protobuf:"varint,2,opt,name=surface,enum=defproto.InteractiveMessage_ShopMessage_Surface" json:"surface,omitempty"` - MessageVersion *int32 `protobuf:"varint,3,opt,name=messageVersion" json:"messageVersion,omitempty"` -} - -func (x *InteractiveMessage_ShopMessage) Reset() { - *x = InteractiveMessage_ShopMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[206] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveMessage_ShopMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveMessage_ShopMessage) ProtoMessage() {} - -func (x *InteractiveMessage_ShopMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[206] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveMessage_ShopMessage.ProtoReflect.Descriptor instead. -func (*InteractiveMessage_ShopMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{6, 0} -} - -func (x *InteractiveMessage_ShopMessage) GetId() string { - if x != nil && x.Id != nil { - return *x.Id - } - return "" -} - -func (x *InteractiveMessage_ShopMessage) GetSurface() InteractiveMessage_ShopMessage_Surface { - if x != nil && x.Surface != nil { - return *x.Surface - } - return InteractiveMessage_ShopMessage_UNKNOWN_SURFACE -} - -func (x *InteractiveMessage_ShopMessage) GetMessageVersion() int32 { - if x != nil && x.MessageVersion != nil { - return *x.MessageVersion - } - return 0 -} - -type InteractiveMessage_NativeFlowMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Buttons []*InteractiveMessage_NativeFlowMessage_NativeFlowButton `protobuf:"bytes,1,rep,name=buttons" json:"buttons,omitempty"` - MessageParamsJson *string `protobuf:"bytes,2,opt,name=messageParamsJson" json:"messageParamsJson,omitempty"` - MessageVersion *int32 `protobuf:"varint,3,opt,name=messageVersion" json:"messageVersion,omitempty"` -} - -func (x *InteractiveMessage_NativeFlowMessage) Reset() { - *x = InteractiveMessage_NativeFlowMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[207] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveMessage_NativeFlowMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveMessage_NativeFlowMessage) ProtoMessage() {} - -func (x *InteractiveMessage_NativeFlowMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[207] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveMessage_NativeFlowMessage.ProtoReflect.Descriptor instead. -func (*InteractiveMessage_NativeFlowMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{6, 1} -} - -func (x *InteractiveMessage_NativeFlowMessage) GetButtons() []*InteractiveMessage_NativeFlowMessage_NativeFlowButton { - if x != nil { - return x.Buttons - } - return nil -} - -func (x *InteractiveMessage_NativeFlowMessage) GetMessageParamsJson() string { - if x != nil && x.MessageParamsJson != nil { - return *x.MessageParamsJson - } - return "" -} - -func (x *InteractiveMessage_NativeFlowMessage) GetMessageVersion() int32 { - if x != nil && x.MessageVersion != nil { - return *x.MessageVersion - } - return 0 -} - -type InteractiveMessage_Header struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` - Subtitle *string `protobuf:"bytes,2,opt,name=subtitle" json:"subtitle,omitempty"` - HasMediaAttachment *bool `protobuf:"varint,5,opt,name=hasMediaAttachment" json:"hasMediaAttachment,omitempty"` - // Types that are assignable to Media: - // - // *InteractiveMessage_Header_DocumentMessage - // *InteractiveMessage_Header_ImageMessage - // *InteractiveMessage_Header_JpegThumbnail - // *InteractiveMessage_Header_VideoMessage - // *InteractiveMessage_Header_LocationMessage - Media isInteractiveMessage_Header_Media `protobuf_oneof:"media"` -} - -func (x *InteractiveMessage_Header) Reset() { - *x = InteractiveMessage_Header{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[208] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveMessage_Header) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveMessage_Header) ProtoMessage() {} - -func (x *InteractiveMessage_Header) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[208] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveMessage_Header.ProtoReflect.Descriptor instead. -func (*InteractiveMessage_Header) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{6, 2} -} - -func (x *InteractiveMessage_Header) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *InteractiveMessage_Header) GetSubtitle() string { - if x != nil && x.Subtitle != nil { - return *x.Subtitle - } - return "" -} - -func (x *InteractiveMessage_Header) GetHasMediaAttachment() bool { - if x != nil && x.HasMediaAttachment != nil { - return *x.HasMediaAttachment - } - return false -} - -func (m *InteractiveMessage_Header) GetMedia() isInteractiveMessage_Header_Media { - if m != nil { - return m.Media - } - return nil -} - -func (x *InteractiveMessage_Header) GetDocumentMessage() *DocumentMessage { - if x, ok := x.GetMedia().(*InteractiveMessage_Header_DocumentMessage); ok { - return x.DocumentMessage - } - return nil -} - -func (x *InteractiveMessage_Header) GetImageMessage() *ImageMessage { - if x, ok := x.GetMedia().(*InteractiveMessage_Header_ImageMessage); ok { - return x.ImageMessage - } - return nil -} - -func (x *InteractiveMessage_Header) GetJpegThumbnail() []byte { - if x, ok := x.GetMedia().(*InteractiveMessage_Header_JpegThumbnail); ok { - return x.JpegThumbnail - } - return nil -} - -func (x *InteractiveMessage_Header) GetVideoMessage() *VideoMessage { - if x, ok := x.GetMedia().(*InteractiveMessage_Header_VideoMessage); ok { - return x.VideoMessage - } - return nil -} - -func (x *InteractiveMessage_Header) GetLocationMessage() *LocationMessage { - if x, ok := x.GetMedia().(*InteractiveMessage_Header_LocationMessage); ok { - return x.LocationMessage - } - return nil -} - -type isInteractiveMessage_Header_Media interface { - isInteractiveMessage_Header_Media() -} - -type InteractiveMessage_Header_DocumentMessage struct { - DocumentMessage *DocumentMessage `protobuf:"bytes,3,opt,name=documentMessage,oneof"` -} - -type InteractiveMessage_Header_ImageMessage struct { - ImageMessage *ImageMessage `protobuf:"bytes,4,opt,name=imageMessage,oneof"` -} - -type InteractiveMessage_Header_JpegThumbnail struct { - JpegThumbnail []byte `protobuf:"bytes,6,opt,name=jpegThumbnail,oneof"` -} - -type InteractiveMessage_Header_VideoMessage struct { - VideoMessage *VideoMessage `protobuf:"bytes,7,opt,name=videoMessage,oneof"` -} - -type InteractiveMessage_Header_LocationMessage struct { - LocationMessage *LocationMessage `protobuf:"bytes,8,opt,name=locationMessage,oneof"` -} - -func (*InteractiveMessage_Header_DocumentMessage) isInteractiveMessage_Header_Media() {} - -func (*InteractiveMessage_Header_ImageMessage) isInteractiveMessage_Header_Media() {} - -func (*InteractiveMessage_Header_JpegThumbnail) isInteractiveMessage_Header_Media() {} - -func (*InteractiveMessage_Header_VideoMessage) isInteractiveMessage_Header_Media() {} - -func (*InteractiveMessage_Header_LocationMessage) isInteractiveMessage_Header_Media() {} - -type InteractiveMessage_Footer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` -} - -func (x *InteractiveMessage_Footer) Reset() { - *x = InteractiveMessage_Footer{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[209] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveMessage_Footer) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveMessage_Footer) ProtoMessage() {} - -func (x *InteractiveMessage_Footer) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[209] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveMessage_Footer.ProtoReflect.Descriptor instead. -func (*InteractiveMessage_Footer) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{6, 3} -} - -func (x *InteractiveMessage_Footer) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -type InteractiveMessage_CollectionMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BizJid *string `protobuf:"bytes,1,opt,name=bizJid" json:"bizJid,omitempty"` - Id *string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` - MessageVersion *int32 `protobuf:"varint,3,opt,name=messageVersion" json:"messageVersion,omitempty"` -} - -func (x *InteractiveMessage_CollectionMessage) Reset() { - *x = InteractiveMessage_CollectionMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[210] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveMessage_CollectionMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveMessage_CollectionMessage) ProtoMessage() {} - -func (x *InteractiveMessage_CollectionMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[210] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveMessage_CollectionMessage.ProtoReflect.Descriptor instead. -func (*InteractiveMessage_CollectionMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{6, 4} -} - -func (x *InteractiveMessage_CollectionMessage) GetBizJid() string { - if x != nil && x.BizJid != nil { - return *x.BizJid - } - return "" -} - -func (x *InteractiveMessage_CollectionMessage) GetId() string { - if x != nil && x.Id != nil { - return *x.Id - } - return "" -} - -func (x *InteractiveMessage_CollectionMessage) GetMessageVersion() int32 { - if x != nil && x.MessageVersion != nil { - return *x.MessageVersion - } - return 0 -} - -type InteractiveMessage_CarouselMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Cards []*InteractiveMessage `protobuf:"bytes,1,rep,name=cards" json:"cards,omitempty"` - MessageVersion *int32 `protobuf:"varint,2,opt,name=messageVersion" json:"messageVersion,omitempty"` -} - -func (x *InteractiveMessage_CarouselMessage) Reset() { - *x = InteractiveMessage_CarouselMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[211] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveMessage_CarouselMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveMessage_CarouselMessage) ProtoMessage() {} - -func (x *InteractiveMessage_CarouselMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[211] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveMessage_CarouselMessage.ProtoReflect.Descriptor instead. -func (*InteractiveMessage_CarouselMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{6, 5} -} - -func (x *InteractiveMessage_CarouselMessage) GetCards() []*InteractiveMessage { - if x != nil { - return x.Cards - } - return nil -} - -func (x *InteractiveMessage_CarouselMessage) GetMessageVersion() int32 { - if x != nil && x.MessageVersion != nil { - return *x.MessageVersion - } - return 0 -} - -type InteractiveMessage_Body struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` -} - -func (x *InteractiveMessage_Body) Reset() { - *x = InteractiveMessage_Body{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[212] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveMessage_Body) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveMessage_Body) ProtoMessage() {} - -func (x *InteractiveMessage_Body) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[212] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveMessage_Body.ProtoReflect.Descriptor instead. -func (*InteractiveMessage_Body) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{6, 6} -} - -func (x *InteractiveMessage_Body) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -type InteractiveMessage_NativeFlowMessage_NativeFlowButton struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - ButtonParamsJson *string `protobuf:"bytes,2,opt,name=buttonParamsJson" json:"buttonParamsJson,omitempty"` -} - -func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) Reset() { - *x = InteractiveMessage_NativeFlowMessage_NativeFlowButton{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[213] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveMessage_NativeFlowMessage_NativeFlowButton) ProtoMessage() {} - -func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[213] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveMessage_NativeFlowMessage_NativeFlowButton.ProtoReflect.Descriptor instead. -func (*InteractiveMessage_NativeFlowMessage_NativeFlowButton) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{6, 1, 0} -} - -func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *InteractiveMessage_NativeFlowMessage_NativeFlowButton) GetButtonParamsJson() string { - if x != nil && x.ButtonParamsJson != nil { - return *x.ButtonParamsJson - } - return "" -} - -type HighlyStructuredMessage_HSMLocalizableParameter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Default *string `protobuf:"bytes,1,opt,name=default" json:"default,omitempty"` - // Types that are assignable to ParamOneof: - // - // *HighlyStructuredMessage_HSMLocalizableParameter_Currency - // *HighlyStructuredMessage_HSMLocalizableParameter_DateTime - ParamOneof isHighlyStructuredMessage_HSMLocalizableParameter_ParamOneof `protobuf_oneof:"paramOneof"` -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter) Reset() { - *x = HighlyStructuredMessage_HSMLocalizableParameter{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[214] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HighlyStructuredMessage_HSMLocalizableParameter) ProtoMessage() {} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[214] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter.ProtoReflect.Descriptor instead. -func (*HighlyStructuredMessage_HSMLocalizableParameter) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{10, 0} -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter) GetDefault() string { - if x != nil && x.Default != nil { - return *x.Default - } - return "" -} - -func (m *HighlyStructuredMessage_HSMLocalizableParameter) GetParamOneof() isHighlyStructuredMessage_HSMLocalizableParameter_ParamOneof { - if m != nil { - return m.ParamOneof - } - return nil -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter) GetCurrency() *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency { - if x, ok := x.GetParamOneof().(*HighlyStructuredMessage_HSMLocalizableParameter_Currency); ok { - return x.Currency - } - return nil -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter) GetDateTime() *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime { - if x, ok := x.GetParamOneof().(*HighlyStructuredMessage_HSMLocalizableParameter_DateTime); ok { - return x.DateTime - } - return nil -} - -type isHighlyStructuredMessage_HSMLocalizableParameter_ParamOneof interface { - isHighlyStructuredMessage_HSMLocalizableParameter_ParamOneof() -} - -type HighlyStructuredMessage_HSMLocalizableParameter_Currency struct { - Currency *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency `protobuf:"bytes,2,opt,name=currency,oneof"` -} - -type HighlyStructuredMessage_HSMLocalizableParameter_DateTime struct { - DateTime *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime `protobuf:"bytes,3,opt,name=dateTime,oneof"` -} - -func (*HighlyStructuredMessage_HSMLocalizableParameter_Currency) isHighlyStructuredMessage_HSMLocalizableParameter_ParamOneof() { -} - -func (*HighlyStructuredMessage_HSMLocalizableParameter_DateTime) isHighlyStructuredMessage_HSMLocalizableParameter_ParamOneof() { -} - -type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to DatetimeOneof: - // - // *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_Component - // *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_UnixEpoch - DatetimeOneof isHighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_DatetimeOneof `protobuf_oneof:"datetimeOneof"` -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) Reset() { - *x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[215] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) ProtoMessage() {} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[215] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime.ProtoReflect.Descriptor instead. -func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{10, 0, 0} -} - -func (m *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) GetDatetimeOneof() isHighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_DatetimeOneof { - if m != nil { - return m.DatetimeOneof - } - return nil -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) GetComponent() *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent { - if x, ok := x.GetDatetimeOneof().(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_Component); ok { - return x.Component - } - return nil -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime) GetUnixEpoch() *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch { - if x, ok := x.GetDatetimeOneof().(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_UnixEpoch); ok { - return x.UnixEpoch - } - return nil -} - -type isHighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_DatetimeOneof interface { - isHighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_DatetimeOneof() -} - -type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_Component struct { - Component *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent `protobuf:"bytes,1,opt,name=component,oneof"` -} - -type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_UnixEpoch struct { - UnixEpoch *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch `protobuf:"bytes,2,opt,name=unixEpoch,oneof"` -} - -func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_Component) isHighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_DatetimeOneof() { -} - -func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_UnixEpoch) isHighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_DatetimeOneof() { -} - -type HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CurrencyCode *string `protobuf:"bytes,1,opt,name=currencyCode" json:"currencyCode,omitempty"` - Amount1000 *int64 `protobuf:"varint,2,opt,name=amount1000" json:"amount1000,omitempty"` -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) Reset() { - *x = HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[216] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) ProtoMessage() {} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[216] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency.ProtoReflect.Descriptor instead. -func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{10, 0, 1} -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) GetCurrencyCode() string { - if x != nil && x.CurrencyCode != nil { - return *x.CurrencyCode - } - return "" -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency) GetAmount1000() int64 { - if x != nil && x.Amount1000 != nil { - return *x.Amount1000 - } - return 0 -} - -type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Timestamp *int64 `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"` -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) Reset() { - *x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[217] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) ProtoMessage() { -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[217] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch.ProtoReflect.Descriptor instead. -func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{10, 0, 0, 0} -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch) GetTimestamp() int64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -type HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DayOfWeek *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType `protobuf:"varint,1,opt,name=dayOfWeek,enum=defproto.HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType" json:"dayOfWeek,omitempty"` - Year *uint32 `protobuf:"varint,2,opt,name=year" json:"year,omitempty"` - Month *uint32 `protobuf:"varint,3,opt,name=month" json:"month,omitempty"` - DayOfMonth *uint32 `protobuf:"varint,4,opt,name=dayOfMonth" json:"dayOfMonth,omitempty"` - Hour *uint32 `protobuf:"varint,5,opt,name=hour" json:"hour,omitempty"` - Minute *uint32 `protobuf:"varint,6,opt,name=minute" json:"minute,omitempty"` - Calendar *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType `protobuf:"varint,7,opt,name=calendar,enum=defproto.HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType" json:"calendar,omitempty"` -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) Reset() { - *x = HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[218] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) ProtoMessage() { -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[218] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent.ProtoReflect.Descriptor instead. -func (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{10, 0, 0, 1} -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) GetDayOfWeek() HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType { - if x != nil && x.DayOfWeek != nil { - return *x.DayOfWeek - } - return HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_MONDAY -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) GetYear() uint32 { - if x != nil && x.Year != nil { - return *x.Year - } - return 0 -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) GetMonth() uint32 { - if x != nil && x.Month != nil { - return *x.Month - } - return 0 -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) GetDayOfMonth() uint32 { - if x != nil && x.DayOfMonth != nil { - return *x.DayOfMonth - } - return 0 -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) GetHour() uint32 { - if x != nil && x.Hour != nil { - return *x.Hour - } - return 0 -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) GetMinute() uint32 { - if x != nil && x.Minute != nil { - return *x.Minute - } - return 0 -} - -func (x *HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent) GetCalendar() HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType { - if x != nil && x.Calendar != nil { - return *x.Calendar - } - return HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_GREGORIAN -} - -type CallLogMessage_CallParticipant struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Jid *string `protobuf:"bytes,1,opt,name=jid" json:"jid,omitempty"` - CallOutcome *CallLogMessage_CallOutcome `protobuf:"varint,2,opt,name=callOutcome,enum=defproto.CallLogMessage_CallOutcome" json:"callOutcome,omitempty"` -} - -func (x *CallLogMessage_CallParticipant) Reset() { - *x = CallLogMessage_CallParticipant{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[219] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CallLogMessage_CallParticipant) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CallLogMessage_CallParticipant) ProtoMessage() {} - -func (x *CallLogMessage_CallParticipant) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[219] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CallLogMessage_CallParticipant.ProtoReflect.Descriptor instead. -func (*CallLogMessage_CallParticipant) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{28, 0} -} - -func (x *CallLogMessage_CallParticipant) GetJid() string { - if x != nil && x.Jid != nil { - return *x.Jid - } - return "" -} - -func (x *CallLogMessage_CallParticipant) GetCallOutcome() CallLogMessage_CallOutcome { - if x != nil && x.CallOutcome != nil { - return *x.CallOutcome - } - return CallLogMessage_CONNECTED -} - -type ButtonsMessage_Button struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ButtonId *string `protobuf:"bytes,1,opt,name=buttonId" json:"buttonId,omitempty"` - ButtonText *ButtonsMessage_Button_ButtonText `protobuf:"bytes,2,opt,name=buttonText" json:"buttonText,omitempty"` - Type *ButtonsMessage_Button_Type `protobuf:"varint,3,opt,name=type,enum=defproto.ButtonsMessage_Button_Type" json:"type,omitempty"` - NativeFlowInfo *ButtonsMessage_Button_NativeFlowInfo `protobuf:"bytes,4,opt,name=nativeFlowInfo" json:"nativeFlowInfo,omitempty"` -} - -func (x *ButtonsMessage_Button) Reset() { - *x = ButtonsMessage_Button{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[220] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ButtonsMessage_Button) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ButtonsMessage_Button) ProtoMessage() {} - -func (x *ButtonsMessage_Button) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[220] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ButtonsMessage_Button.ProtoReflect.Descriptor instead. -func (*ButtonsMessage_Button) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{30, 0} -} - -func (x *ButtonsMessage_Button) GetButtonId() string { - if x != nil && x.ButtonId != nil { - return *x.ButtonId - } - return "" -} - -func (x *ButtonsMessage_Button) GetButtonText() *ButtonsMessage_Button_ButtonText { - if x != nil { - return x.ButtonText - } - return nil -} - -func (x *ButtonsMessage_Button) GetType() ButtonsMessage_Button_Type { - if x != nil && x.Type != nil { - return *x.Type - } - return ButtonsMessage_Button_UNKNOWN -} - -func (x *ButtonsMessage_Button) GetNativeFlowInfo() *ButtonsMessage_Button_NativeFlowInfo { - if x != nil { - return x.NativeFlowInfo - } - return nil -} - -type ButtonsMessage_Button_NativeFlowInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - ParamsJson *string `protobuf:"bytes,2,opt,name=paramsJson" json:"paramsJson,omitempty"` -} - -func (x *ButtonsMessage_Button_NativeFlowInfo) Reset() { - *x = ButtonsMessage_Button_NativeFlowInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[221] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ButtonsMessage_Button_NativeFlowInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ButtonsMessage_Button_NativeFlowInfo) ProtoMessage() {} - -func (x *ButtonsMessage_Button_NativeFlowInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[221] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ButtonsMessage_Button_NativeFlowInfo.ProtoReflect.Descriptor instead. -func (*ButtonsMessage_Button_NativeFlowInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{30, 0, 0} -} - -func (x *ButtonsMessage_Button_NativeFlowInfo) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *ButtonsMessage_Button_NativeFlowInfo) GetParamsJson() string { - if x != nil && x.ParamsJson != nil { - return *x.ParamsJson - } - return "" -} - -type ButtonsMessage_Button_ButtonText struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayText *string `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"` -} - -func (x *ButtonsMessage_Button_ButtonText) Reset() { - *x = ButtonsMessage_Button_ButtonText{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[222] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ButtonsMessage_Button_ButtonText) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ButtonsMessage_Button_ButtonText) ProtoMessage() {} - -func (x *ButtonsMessage_Button_ButtonText) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[222] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ButtonsMessage_Button_ButtonText.ProtoReflect.Descriptor instead. -func (*ButtonsMessage_Button_ButtonText) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{30, 0, 1} -} - -func (x *ButtonsMessage_Button_ButtonText) GetDisplayText() string { - if x != nil && x.DisplayText != nil { - return *x.DisplayText - } - return "" -} - -type HydratedTemplateButton_HydratedURLButton struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayText *string `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"` - Url *string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"` - ConsentedUsersUrl *string `protobuf:"bytes,3,opt,name=consentedUsersUrl" json:"consentedUsersUrl,omitempty"` - WebviewPresentation *HydratedTemplateButton_HydratedURLButton_WebviewPresentationType `protobuf:"varint,4,opt,name=webviewPresentation,enum=defproto.HydratedTemplateButton_HydratedURLButton_WebviewPresentationType" json:"webviewPresentation,omitempty"` -} - -func (x *HydratedTemplateButton_HydratedURLButton) Reset() { - *x = HydratedTemplateButton_HydratedURLButton{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[223] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HydratedTemplateButton_HydratedURLButton) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HydratedTemplateButton_HydratedURLButton) ProtoMessage() {} - -func (x *HydratedTemplateButton_HydratedURLButton) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[223] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HydratedTemplateButton_HydratedURLButton.ProtoReflect.Descriptor instead. -func (*HydratedTemplateButton_HydratedURLButton) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{43, 0} -} - -func (x *HydratedTemplateButton_HydratedURLButton) GetDisplayText() string { - if x != nil && x.DisplayText != nil { - return *x.DisplayText - } - return "" -} - -func (x *HydratedTemplateButton_HydratedURLButton) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *HydratedTemplateButton_HydratedURLButton) GetConsentedUsersUrl() string { - if x != nil && x.ConsentedUsersUrl != nil { - return *x.ConsentedUsersUrl - } - return "" -} - -func (x *HydratedTemplateButton_HydratedURLButton) GetWebviewPresentation() HydratedTemplateButton_HydratedURLButton_WebviewPresentationType { - if x != nil && x.WebviewPresentation != nil { - return *x.WebviewPresentation - } - return HydratedTemplateButton_HydratedURLButton_FULL -} - -type HydratedTemplateButton_HydratedQuickReplyButton struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayText *string `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"` - Id *string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` -} - -func (x *HydratedTemplateButton_HydratedQuickReplyButton) Reset() { - *x = HydratedTemplateButton_HydratedQuickReplyButton{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[224] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HydratedTemplateButton_HydratedQuickReplyButton) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HydratedTemplateButton_HydratedQuickReplyButton) ProtoMessage() {} - -func (x *HydratedTemplateButton_HydratedQuickReplyButton) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[224] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HydratedTemplateButton_HydratedQuickReplyButton.ProtoReflect.Descriptor instead. -func (*HydratedTemplateButton_HydratedQuickReplyButton) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{43, 1} -} - -func (x *HydratedTemplateButton_HydratedQuickReplyButton) GetDisplayText() string { - if x != nil && x.DisplayText != nil { - return *x.DisplayText - } - return "" -} - -func (x *HydratedTemplateButton_HydratedQuickReplyButton) GetId() string { - if x != nil && x.Id != nil { - return *x.Id - } - return "" -} - -type HydratedTemplateButton_HydratedCallButton struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayText *string `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"` - PhoneNumber *string `protobuf:"bytes,2,opt,name=phoneNumber" json:"phoneNumber,omitempty"` -} - -func (x *HydratedTemplateButton_HydratedCallButton) Reset() { - *x = HydratedTemplateButton_HydratedCallButton{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[225] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HydratedTemplateButton_HydratedCallButton) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HydratedTemplateButton_HydratedCallButton) ProtoMessage() {} - -func (x *HydratedTemplateButton_HydratedCallButton) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[225] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HydratedTemplateButton_HydratedCallButton.ProtoReflect.Descriptor instead. -func (*HydratedTemplateButton_HydratedCallButton) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{43, 2} -} - -func (x *HydratedTemplateButton_HydratedCallButton) GetDisplayText() string { - if x != nil && x.DisplayText != nil { - return *x.DisplayText - } - return "" -} - -func (x *HydratedTemplateButton_HydratedCallButton) GetPhoneNumber() string { - if x != nil && x.PhoneNumber != nil { - return *x.PhoneNumber - } - return "" -} - -type ContextInfo_UTMInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UtmSource *string `protobuf:"bytes,1,opt,name=utmSource" json:"utmSource,omitempty"` - UtmCampaign *string `protobuf:"bytes,2,opt,name=utmCampaign" json:"utmCampaign,omitempty"` -} - -func (x *ContextInfo_UTMInfo) Reset() { - *x = ContextInfo_UTMInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[226] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContextInfo_UTMInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContextInfo_UTMInfo) ProtoMessage() {} - -func (x *ContextInfo_UTMInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[226] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContextInfo_UTMInfo.ProtoReflect.Descriptor instead. -func (*ContextInfo_UTMInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{47, 0} -} - -func (x *ContextInfo_UTMInfo) GetUtmSource() string { - if x != nil && x.UtmSource != nil { - return *x.UtmSource - } - return "" -} - -func (x *ContextInfo_UTMInfo) GetUtmCampaign() string { - if x != nil && x.UtmCampaign != nil { - return *x.UtmCampaign - } - return "" -} - -type ContextInfo_ExternalAdReplyInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` - Body *string `protobuf:"bytes,2,opt,name=body" json:"body,omitempty"` - MediaType *ContextInfo_ExternalAdReplyInfo_MediaType `protobuf:"varint,3,opt,name=mediaType,enum=defproto.ContextInfo_ExternalAdReplyInfo_MediaType" json:"mediaType,omitempty"` - ThumbnailUrl *string `protobuf:"bytes,4,opt,name=thumbnailUrl" json:"thumbnailUrl,omitempty"` - MediaUrl *string `protobuf:"bytes,5,opt,name=mediaUrl" json:"mediaUrl,omitempty"` - Thumbnail []byte `protobuf:"bytes,6,opt,name=thumbnail" json:"thumbnail,omitempty"` - SourceType *string `protobuf:"bytes,7,opt,name=sourceType" json:"sourceType,omitempty"` - SourceId *string `protobuf:"bytes,8,opt,name=sourceId" json:"sourceId,omitempty"` - SourceUrl *string `protobuf:"bytes,9,opt,name=sourceUrl" json:"sourceUrl,omitempty"` - ContainsAutoReply *bool `protobuf:"varint,10,opt,name=containsAutoReply" json:"containsAutoReply,omitempty"` - RenderLargerThumbnail *bool `protobuf:"varint,11,opt,name=renderLargerThumbnail" json:"renderLargerThumbnail,omitempty"` - ShowAdAttribution *bool `protobuf:"varint,12,opt,name=showAdAttribution" json:"showAdAttribution,omitempty"` - CtwaClid *string `protobuf:"bytes,13,opt,name=ctwaClid" json:"ctwaClid,omitempty"` - Ref *string `protobuf:"bytes,14,opt,name=ref" json:"ref,omitempty"` -} - -func (x *ContextInfo_ExternalAdReplyInfo) Reset() { - *x = ContextInfo_ExternalAdReplyInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[227] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContextInfo_ExternalAdReplyInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContextInfo_ExternalAdReplyInfo) ProtoMessage() {} - -func (x *ContextInfo_ExternalAdReplyInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[227] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContextInfo_ExternalAdReplyInfo.ProtoReflect.Descriptor instead. -func (*ContextInfo_ExternalAdReplyInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{47, 1} -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetBody() string { - if x != nil && x.Body != nil { - return *x.Body - } - return "" -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetMediaType() ContextInfo_ExternalAdReplyInfo_MediaType { - if x != nil && x.MediaType != nil { - return *x.MediaType - } - return ContextInfo_ExternalAdReplyInfo_NONE -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetThumbnailUrl() string { - if x != nil && x.ThumbnailUrl != nil { - return *x.ThumbnailUrl - } - return "" -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetMediaUrl() string { - if x != nil && x.MediaUrl != nil { - return *x.MediaUrl - } - return "" -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetThumbnail() []byte { - if x != nil { - return x.Thumbnail - } - return nil -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetSourceType() string { - if x != nil && x.SourceType != nil { - return *x.SourceType - } - return "" -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetSourceId() string { - if x != nil && x.SourceId != nil { - return *x.SourceId - } - return "" -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetSourceUrl() string { - if x != nil && x.SourceUrl != nil { - return *x.SourceUrl - } - return "" -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetContainsAutoReply() bool { - if x != nil && x.ContainsAutoReply != nil { - return *x.ContainsAutoReply - } - return false -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetRenderLargerThumbnail() bool { - if x != nil && x.RenderLargerThumbnail != nil { - return *x.RenderLargerThumbnail - } - return false -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetShowAdAttribution() bool { - if x != nil && x.ShowAdAttribution != nil { - return *x.ShowAdAttribution - } - return false -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetCtwaClid() string { - if x != nil && x.CtwaClid != nil { - return *x.CtwaClid - } - return "" -} - -func (x *ContextInfo_ExternalAdReplyInfo) GetRef() string { - if x != nil && x.Ref != nil { - return *x.Ref - } - return "" -} - -type ContextInfo_DataSharingContext struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ShowMmDisclosure *bool `protobuf:"varint,1,opt,name=showMmDisclosure" json:"showMmDisclosure,omitempty"` -} - -func (x *ContextInfo_DataSharingContext) Reset() { - *x = ContextInfo_DataSharingContext{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[228] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContextInfo_DataSharingContext) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContextInfo_DataSharingContext) ProtoMessage() {} - -func (x *ContextInfo_DataSharingContext) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[228] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContextInfo_DataSharingContext.ProtoReflect.Descriptor instead. -func (*ContextInfo_DataSharingContext) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{47, 2} -} - -func (x *ContextInfo_DataSharingContext) GetShowMmDisclosure() bool { - if x != nil && x.ShowMmDisclosure != nil { - return *x.ShowMmDisclosure - } - return false -} - -type ContextInfo_BusinessMessageForwardInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BusinessOwnerJid *string `protobuf:"bytes,1,opt,name=businessOwnerJid" json:"businessOwnerJid,omitempty"` -} - -func (x *ContextInfo_BusinessMessageForwardInfo) Reset() { - *x = ContextInfo_BusinessMessageForwardInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[229] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContextInfo_BusinessMessageForwardInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContextInfo_BusinessMessageForwardInfo) ProtoMessage() {} - -func (x *ContextInfo_BusinessMessageForwardInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[229] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContextInfo_BusinessMessageForwardInfo.ProtoReflect.Descriptor instead. -func (*ContextInfo_BusinessMessageForwardInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{47, 3} -} - -func (x *ContextInfo_BusinessMessageForwardInfo) GetBusinessOwnerJid() string { - if x != nil && x.BusinessOwnerJid != nil { - return *x.BusinessOwnerJid - } - return "" -} - -type ContextInfo_AdReplyInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AdvertiserName *string `protobuf:"bytes,1,opt,name=advertiserName" json:"advertiserName,omitempty"` - MediaType *ContextInfo_AdReplyInfo_MediaType `protobuf:"varint,2,opt,name=mediaType,enum=defproto.ContextInfo_AdReplyInfo_MediaType" json:"mediaType,omitempty"` - JpegThumbnail []byte `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"` - Caption *string `protobuf:"bytes,17,opt,name=caption" json:"caption,omitempty"` -} - -func (x *ContextInfo_AdReplyInfo) Reset() { - *x = ContextInfo_AdReplyInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[230] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ContextInfo_AdReplyInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ContextInfo_AdReplyInfo) ProtoMessage() {} - -func (x *ContextInfo_AdReplyInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[230] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ContextInfo_AdReplyInfo.ProtoReflect.Descriptor instead. -func (*ContextInfo_AdReplyInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{47, 4} -} - -func (x *ContextInfo_AdReplyInfo) GetAdvertiserName() string { - if x != nil && x.AdvertiserName != nil { - return *x.AdvertiserName - } - return "" -} - -func (x *ContextInfo_AdReplyInfo) GetMediaType() ContextInfo_AdReplyInfo_MediaType { - if x != nil && x.MediaType != nil { - return *x.MediaType - } - return ContextInfo_AdReplyInfo_NONE -} - -func (x *ContextInfo_AdReplyInfo) GetJpegThumbnail() []byte { - if x != nil { - return x.JpegThumbnail - } - return nil -} - -func (x *ContextInfo_AdReplyInfo) GetCaption() string { - if x != nil && x.Caption != nil { - return *x.Caption - } - return "" -} - -type TemplateButton_URLButton struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayText *HighlyStructuredMessage `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"` - Url *HighlyStructuredMessage `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"` -} - -func (x *TemplateButton_URLButton) Reset() { - *x = TemplateButton_URLButton{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[231] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TemplateButton_URLButton) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TemplateButton_URLButton) ProtoMessage() {} - -func (x *TemplateButton_URLButton) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[231] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TemplateButton_URLButton.ProtoReflect.Descriptor instead. -func (*TemplateButton_URLButton) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{54, 0} -} - -func (x *TemplateButton_URLButton) GetDisplayText() *HighlyStructuredMessage { - if x != nil { - return x.DisplayText - } - return nil -} - -func (x *TemplateButton_URLButton) GetUrl() *HighlyStructuredMessage { - if x != nil { - return x.Url - } - return nil -} - -type TemplateButton_QuickReplyButton struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayText *HighlyStructuredMessage `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"` - Id *string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` -} - -func (x *TemplateButton_QuickReplyButton) Reset() { - *x = TemplateButton_QuickReplyButton{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[232] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TemplateButton_QuickReplyButton) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TemplateButton_QuickReplyButton) ProtoMessage() {} - -func (x *TemplateButton_QuickReplyButton) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[232] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TemplateButton_QuickReplyButton.ProtoReflect.Descriptor instead. -func (*TemplateButton_QuickReplyButton) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{54, 1} -} - -func (x *TemplateButton_QuickReplyButton) GetDisplayText() *HighlyStructuredMessage { - if x != nil { - return x.DisplayText - } - return nil -} - -func (x *TemplateButton_QuickReplyButton) GetId() string { - if x != nil && x.Id != nil { - return *x.Id - } - return "" -} - -type TemplateButton_CallButton struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayText *HighlyStructuredMessage `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"` - PhoneNumber *HighlyStructuredMessage `protobuf:"bytes,2,opt,name=phoneNumber" json:"phoneNumber,omitempty"` -} - -func (x *TemplateButton_CallButton) Reset() { - *x = TemplateButton_CallButton{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[233] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TemplateButton_CallButton) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TemplateButton_CallButton) ProtoMessage() {} - -func (x *TemplateButton_CallButton) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[233] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TemplateButton_CallButton.ProtoReflect.Descriptor instead. -func (*TemplateButton_CallButton) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{54, 2} -} - -func (x *TemplateButton_CallButton) GetDisplayText() *HighlyStructuredMessage { - if x != nil { - return x.DisplayText - } - return nil -} - -func (x *TemplateButton_CallButton) GetPhoneNumber() *HighlyStructuredMessage { - if x != nil { - return x.PhoneNumber - } - return nil -} - -type PaymentBackground_MediaData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MediaKey []byte `protobuf:"bytes,1,opt,name=mediaKey" json:"mediaKey,omitempty"` - MediaKeyTimestamp *int64 `protobuf:"varint,2,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"` - FileSha256 []byte `protobuf:"bytes,3,opt,name=fileSha256" json:"fileSha256,omitempty"` - FileEncSha256 []byte `protobuf:"bytes,4,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"` - DirectPath *string `protobuf:"bytes,5,opt,name=directPath" json:"directPath,omitempty"` -} - -func (x *PaymentBackground_MediaData) Reset() { - *x = PaymentBackground_MediaData{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[234] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PaymentBackground_MediaData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PaymentBackground_MediaData) ProtoMessage() {} - -func (x *PaymentBackground_MediaData) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[234] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PaymentBackground_MediaData.ProtoReflect.Descriptor instead. -func (*PaymentBackground_MediaData) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{56, 0} -} - -func (x *PaymentBackground_MediaData) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *PaymentBackground_MediaData) GetMediaKeyTimestamp() int64 { - if x != nil && x.MediaKeyTimestamp != nil { - return *x.MediaKeyTimestamp - } - return 0 -} - -func (x *PaymentBackground_MediaData) GetFileSha256() []byte { - if x != nil { - return x.FileSha256 - } - return nil -} - -func (x *PaymentBackground_MediaData) GetFileEncSha256() []byte { - if x != nil { - return x.FileEncSha256 - } - return nil -} - -func (x *PaymentBackground_MediaData) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -type TemplateMessage_HydratedFourRowTemplate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - HydratedContentText *string `protobuf:"bytes,6,opt,name=hydratedContentText" json:"hydratedContentText,omitempty"` - HydratedFooterText *string `protobuf:"bytes,7,opt,name=hydratedFooterText" json:"hydratedFooterText,omitempty"` - HydratedButtons []*HydratedTemplateButton `protobuf:"bytes,8,rep,name=hydratedButtons" json:"hydratedButtons,omitempty"` - TemplateId *string `protobuf:"bytes,9,opt,name=templateId" json:"templateId,omitempty"` - // Types that are assignable to Title: - // - // *TemplateMessage_HydratedFourRowTemplate_DocumentMessage - // *TemplateMessage_HydratedFourRowTemplate_HydratedTitleText - // *TemplateMessage_HydratedFourRowTemplate_ImageMessage - // *TemplateMessage_HydratedFourRowTemplate_VideoMessage - // *TemplateMessage_HydratedFourRowTemplate_LocationMessage - Title isTemplateMessage_HydratedFourRowTemplate_Title `protobuf_oneof:"title"` -} - -func (x *TemplateMessage_HydratedFourRowTemplate) Reset() { - *x = TemplateMessage_HydratedFourRowTemplate{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[235] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TemplateMessage_HydratedFourRowTemplate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TemplateMessage_HydratedFourRowTemplate) ProtoMessage() {} - -func (x *TemplateMessage_HydratedFourRowTemplate) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[235] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TemplateMessage_HydratedFourRowTemplate.ProtoReflect.Descriptor instead. -func (*TemplateMessage_HydratedFourRowTemplate) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{62, 0} -} - -func (x *TemplateMessage_HydratedFourRowTemplate) GetHydratedContentText() string { - if x != nil && x.HydratedContentText != nil { - return *x.HydratedContentText - } - return "" -} - -func (x *TemplateMessage_HydratedFourRowTemplate) GetHydratedFooterText() string { - if x != nil && x.HydratedFooterText != nil { - return *x.HydratedFooterText - } - return "" -} - -func (x *TemplateMessage_HydratedFourRowTemplate) GetHydratedButtons() []*HydratedTemplateButton { - if x != nil { - return x.HydratedButtons - } - return nil -} - -func (x *TemplateMessage_HydratedFourRowTemplate) GetTemplateId() string { - if x != nil && x.TemplateId != nil { - return *x.TemplateId - } - return "" -} - -func (m *TemplateMessage_HydratedFourRowTemplate) GetTitle() isTemplateMessage_HydratedFourRowTemplate_Title { - if m != nil { - return m.Title - } - return nil -} - -func (x *TemplateMessage_HydratedFourRowTemplate) GetDocumentMessage() *DocumentMessage { - if x, ok := x.GetTitle().(*TemplateMessage_HydratedFourRowTemplate_DocumentMessage); ok { - return x.DocumentMessage - } - return nil -} - -func (x *TemplateMessage_HydratedFourRowTemplate) GetHydratedTitleText() string { - if x, ok := x.GetTitle().(*TemplateMessage_HydratedFourRowTemplate_HydratedTitleText); ok { - return x.HydratedTitleText - } - return "" -} - -func (x *TemplateMessage_HydratedFourRowTemplate) GetImageMessage() *ImageMessage { - if x, ok := x.GetTitle().(*TemplateMessage_HydratedFourRowTemplate_ImageMessage); ok { - return x.ImageMessage - } - return nil -} - -func (x *TemplateMessage_HydratedFourRowTemplate) GetVideoMessage() *VideoMessage { - if x, ok := x.GetTitle().(*TemplateMessage_HydratedFourRowTemplate_VideoMessage); ok { - return x.VideoMessage - } - return nil -} - -func (x *TemplateMessage_HydratedFourRowTemplate) GetLocationMessage() *LocationMessage { - if x, ok := x.GetTitle().(*TemplateMessage_HydratedFourRowTemplate_LocationMessage); ok { - return x.LocationMessage - } - return nil -} - -type isTemplateMessage_HydratedFourRowTemplate_Title interface { - isTemplateMessage_HydratedFourRowTemplate_Title() -} - -type TemplateMessage_HydratedFourRowTemplate_DocumentMessage struct { - DocumentMessage *DocumentMessage `protobuf:"bytes,1,opt,name=documentMessage,oneof"` -} - -type TemplateMessage_HydratedFourRowTemplate_HydratedTitleText struct { - HydratedTitleText string `protobuf:"bytes,2,opt,name=hydratedTitleText,oneof"` -} - -type TemplateMessage_HydratedFourRowTemplate_ImageMessage struct { - ImageMessage *ImageMessage `protobuf:"bytes,3,opt,name=imageMessage,oneof"` -} - -type TemplateMessage_HydratedFourRowTemplate_VideoMessage struct { - VideoMessage *VideoMessage `protobuf:"bytes,4,opt,name=videoMessage,oneof"` -} - -type TemplateMessage_HydratedFourRowTemplate_LocationMessage struct { - LocationMessage *LocationMessage `protobuf:"bytes,5,opt,name=locationMessage,oneof"` -} - -func (*TemplateMessage_HydratedFourRowTemplate_DocumentMessage) isTemplateMessage_HydratedFourRowTemplate_Title() { -} - -func (*TemplateMessage_HydratedFourRowTemplate_HydratedTitleText) isTemplateMessage_HydratedFourRowTemplate_Title() { -} - -func (*TemplateMessage_HydratedFourRowTemplate_ImageMessage) isTemplateMessage_HydratedFourRowTemplate_Title() { -} - -func (*TemplateMessage_HydratedFourRowTemplate_VideoMessage) isTemplateMessage_HydratedFourRowTemplate_Title() { -} - -func (*TemplateMessage_HydratedFourRowTemplate_LocationMessage) isTemplateMessage_HydratedFourRowTemplate_Title() { -} - -type TemplateMessage_FourRowTemplate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Content *HighlyStructuredMessage `protobuf:"bytes,6,opt,name=content" json:"content,omitempty"` - Footer *HighlyStructuredMessage `protobuf:"bytes,7,opt,name=footer" json:"footer,omitempty"` - Buttons []*TemplateButton `protobuf:"bytes,8,rep,name=buttons" json:"buttons,omitempty"` - // Types that are assignable to Title: - // - // *TemplateMessage_FourRowTemplate_DocumentMessage - // *TemplateMessage_FourRowTemplate_HighlyStructuredMessage - // *TemplateMessage_FourRowTemplate_ImageMessage - // *TemplateMessage_FourRowTemplate_VideoMessage - // *TemplateMessage_FourRowTemplate_LocationMessage - Title isTemplateMessage_FourRowTemplate_Title `protobuf_oneof:"title"` -} - -func (x *TemplateMessage_FourRowTemplate) Reset() { - *x = TemplateMessage_FourRowTemplate{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[236] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TemplateMessage_FourRowTemplate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TemplateMessage_FourRowTemplate) ProtoMessage() {} - -func (x *TemplateMessage_FourRowTemplate) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[236] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TemplateMessage_FourRowTemplate.ProtoReflect.Descriptor instead. -func (*TemplateMessage_FourRowTemplate) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{62, 1} -} - -func (x *TemplateMessage_FourRowTemplate) GetContent() *HighlyStructuredMessage { - if x != nil { - return x.Content - } - return nil -} - -func (x *TemplateMessage_FourRowTemplate) GetFooter() *HighlyStructuredMessage { - if x != nil { - return x.Footer - } - return nil -} - -func (x *TemplateMessage_FourRowTemplate) GetButtons() []*TemplateButton { - if x != nil { - return x.Buttons - } - return nil -} - -func (m *TemplateMessage_FourRowTemplate) GetTitle() isTemplateMessage_FourRowTemplate_Title { - if m != nil { - return m.Title - } - return nil -} - -func (x *TemplateMessage_FourRowTemplate) GetDocumentMessage() *DocumentMessage { - if x, ok := x.GetTitle().(*TemplateMessage_FourRowTemplate_DocumentMessage); ok { - return x.DocumentMessage - } - return nil -} - -func (x *TemplateMessage_FourRowTemplate) GetHighlyStructuredMessage() *HighlyStructuredMessage { - if x, ok := x.GetTitle().(*TemplateMessage_FourRowTemplate_HighlyStructuredMessage); ok { - return x.HighlyStructuredMessage - } - return nil -} - -func (x *TemplateMessage_FourRowTemplate) GetImageMessage() *ImageMessage { - if x, ok := x.GetTitle().(*TemplateMessage_FourRowTemplate_ImageMessage); ok { - return x.ImageMessage - } - return nil -} - -func (x *TemplateMessage_FourRowTemplate) GetVideoMessage() *VideoMessage { - if x, ok := x.GetTitle().(*TemplateMessage_FourRowTemplate_VideoMessage); ok { - return x.VideoMessage - } - return nil -} - -func (x *TemplateMessage_FourRowTemplate) GetLocationMessage() *LocationMessage { - if x, ok := x.GetTitle().(*TemplateMessage_FourRowTemplate_LocationMessage); ok { - return x.LocationMessage - } - return nil -} - -type isTemplateMessage_FourRowTemplate_Title interface { - isTemplateMessage_FourRowTemplate_Title() -} - -type TemplateMessage_FourRowTemplate_DocumentMessage struct { - DocumentMessage *DocumentMessage `protobuf:"bytes,1,opt,name=documentMessage,oneof"` -} - -type TemplateMessage_FourRowTemplate_HighlyStructuredMessage struct { - HighlyStructuredMessage *HighlyStructuredMessage `protobuf:"bytes,2,opt,name=highlyStructuredMessage,oneof"` -} - -type TemplateMessage_FourRowTemplate_ImageMessage struct { - ImageMessage *ImageMessage `protobuf:"bytes,3,opt,name=imageMessage,oneof"` -} - -type TemplateMessage_FourRowTemplate_VideoMessage struct { - VideoMessage *VideoMessage `protobuf:"bytes,4,opt,name=videoMessage,oneof"` -} - -type TemplateMessage_FourRowTemplate_LocationMessage struct { - LocationMessage *LocationMessage `protobuf:"bytes,5,opt,name=locationMessage,oneof"` -} - -func (*TemplateMessage_FourRowTemplate_DocumentMessage) isTemplateMessage_FourRowTemplate_Title() {} - -func (*TemplateMessage_FourRowTemplate_HighlyStructuredMessage) isTemplateMessage_FourRowTemplate_Title() { -} - -func (*TemplateMessage_FourRowTemplate_ImageMessage) isTemplateMessage_FourRowTemplate_Title() {} - -func (*TemplateMessage_FourRowTemplate_VideoMessage) isTemplateMessage_FourRowTemplate_Title() {} - -func (*TemplateMessage_FourRowTemplate_LocationMessage) isTemplateMessage_FourRowTemplate_Title() {} - -type ProductMessage_ProductSnapshot struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductImage *ImageMessage `protobuf:"bytes,1,opt,name=productImage" json:"productImage,omitempty"` - ProductId *string `protobuf:"bytes,2,opt,name=productId" json:"productId,omitempty"` - Title *string `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"` - Description *string `protobuf:"bytes,4,opt,name=description" json:"description,omitempty"` - CurrencyCode *string `protobuf:"bytes,5,opt,name=currencyCode" json:"currencyCode,omitempty"` - PriceAmount1000 *int64 `protobuf:"varint,6,opt,name=priceAmount1000" json:"priceAmount1000,omitempty"` - RetailerId *string `protobuf:"bytes,7,opt,name=retailerId" json:"retailerId,omitempty"` - Url *string `protobuf:"bytes,8,opt,name=url" json:"url,omitempty"` - ProductImageCount *uint32 `protobuf:"varint,9,opt,name=productImageCount" json:"productImageCount,omitempty"` - FirstImageId *string `protobuf:"bytes,11,opt,name=firstImageId" json:"firstImageId,omitempty"` - SalePriceAmount1000 *int64 `protobuf:"varint,12,opt,name=salePriceAmount1000" json:"salePriceAmount1000,omitempty"` -} - -func (x *ProductMessage_ProductSnapshot) Reset() { - *x = ProductMessage_ProductSnapshot{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[237] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProductMessage_ProductSnapshot) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProductMessage_ProductSnapshot) ProtoMessage() {} - -func (x *ProductMessage_ProductSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[237] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProductMessage_ProductSnapshot.ProtoReflect.Descriptor instead. -func (*ProductMessage_ProductSnapshot) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{75, 0} -} - -func (x *ProductMessage_ProductSnapshot) GetProductImage() *ImageMessage { - if x != nil { - return x.ProductImage - } - return nil -} - -func (x *ProductMessage_ProductSnapshot) GetProductId() string { - if x != nil && x.ProductId != nil { - return *x.ProductId - } - return "" -} - -func (x *ProductMessage_ProductSnapshot) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *ProductMessage_ProductSnapshot) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *ProductMessage_ProductSnapshot) GetCurrencyCode() string { - if x != nil && x.CurrencyCode != nil { - return *x.CurrencyCode - } - return "" -} - -func (x *ProductMessage_ProductSnapshot) GetPriceAmount1000() int64 { - if x != nil && x.PriceAmount1000 != nil { - return *x.PriceAmount1000 - } - return 0 -} - -func (x *ProductMessage_ProductSnapshot) GetRetailerId() string { - if x != nil && x.RetailerId != nil { - return *x.RetailerId - } - return "" -} - -func (x *ProductMessage_ProductSnapshot) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *ProductMessage_ProductSnapshot) GetProductImageCount() uint32 { - if x != nil && x.ProductImageCount != nil { - return *x.ProductImageCount - } - return 0 -} - -func (x *ProductMessage_ProductSnapshot) GetFirstImageId() string { - if x != nil && x.FirstImageId != nil { - return *x.FirstImageId - } - return "" -} - -func (x *ProductMessage_ProductSnapshot) GetSalePriceAmount1000() int64 { - if x != nil && x.SalePriceAmount1000 != nil { - return *x.SalePriceAmount1000 - } - return 0 -} - -type ProductMessage_CatalogSnapshot struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CatalogImage *ImageMessage `protobuf:"bytes,1,opt,name=catalogImage" json:"catalogImage,omitempty"` - Title *string `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"` - Description *string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"` -} - -func (x *ProductMessage_CatalogSnapshot) Reset() { - *x = ProductMessage_CatalogSnapshot{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[238] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProductMessage_CatalogSnapshot) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProductMessage_CatalogSnapshot) ProtoMessage() {} - -func (x *ProductMessage_CatalogSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[238] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProductMessage_CatalogSnapshot.ProtoReflect.Descriptor instead. -func (*ProductMessage_CatalogSnapshot) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{75, 1} -} - -func (x *ProductMessage_CatalogSnapshot) GetCatalogImage() *ImageMessage { - if x != nil { - return x.CatalogImage - } - return nil -} - -func (x *ProductMessage_CatalogSnapshot) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *ProductMessage_CatalogSnapshot) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -type PollCreationMessage_Option struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OptionName *string `protobuf:"bytes,1,opt,name=optionName" json:"optionName,omitempty"` -} - -func (x *PollCreationMessage_Option) Reset() { - *x = PollCreationMessage_Option{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[239] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PollCreationMessage_Option) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PollCreationMessage_Option) ProtoMessage() {} - -func (x *PollCreationMessage_Option) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[239] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PollCreationMessage_Option.ProtoReflect.Descriptor instead. -func (*PollCreationMessage_Option) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{80, 0} -} - -func (x *PollCreationMessage_Option) GetOptionName() string { - if x != nil && x.OptionName != nil { - return *x.OptionName - } - return "" -} - -type PeerDataOperationRequestResponseMessage_PeerDataOperationResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MediaUploadResult *MediaRetryNotification_ResultType `protobuf:"varint,1,opt,name=mediaUploadResult,enum=defproto.MediaRetryNotification_ResultType" json:"mediaUploadResult,omitempty"` - StickerMessage *StickerMessage `protobuf:"bytes,2,opt,name=stickerMessage" json:"stickerMessage,omitempty"` - LinkPreviewResponse *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse `protobuf:"bytes,3,opt,name=linkPreviewResponse" json:"linkPreviewResponse,omitempty"` - PlaceholderMessageResendResponse *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse `protobuf:"bytes,4,opt,name=placeholderMessageResendResponse" json:"placeholderMessageResendResponse,omitempty"` -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) Reset() { - *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[240] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult) ProtoMessage() {} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[240] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerDataOperationRequestResponseMessage_PeerDataOperationResult.ProtoReflect.Descriptor instead. -func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{82, 0} -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) GetMediaUploadResult() MediaRetryNotification_ResultType { - if x != nil && x.MediaUploadResult != nil { - return *x.MediaUploadResult - } - return MediaRetryNotification_GENERAL_ERROR -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) GetStickerMessage() *StickerMessage { - if x != nil { - return x.StickerMessage - } - return nil -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) GetLinkPreviewResponse() *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse { - if x != nil { - return x.LinkPreviewResponse - } - return nil -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult) GetPlaceholderMessageResendResponse() *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse { - if x != nil { - return x.PlaceholderMessageResendResponse - } - return nil -} - -type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WebMessageInfoBytes []byte `protobuf:"bytes,1,opt,name=webMessageInfoBytes" json:"webMessageInfoBytes,omitempty"` -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) Reset() { - *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[241] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) ProtoMessage() { -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[241] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse.ProtoReflect.Descriptor instead. -func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{82, 0, 0} -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse) GetWebMessageInfoBytes() []byte { - if x != nil { - return x.WebMessageInfoBytes - } - return nil -} - -type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` - Title *string `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"` - Description *string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"` - ThumbData []byte `protobuf:"bytes,4,opt,name=thumbData" json:"thumbData,omitempty"` - CanonicalUrl *string `protobuf:"bytes,5,opt,name=canonicalUrl" json:"canonicalUrl,omitempty"` - MatchText *string `protobuf:"bytes,6,opt,name=matchText" json:"matchText,omitempty"` - PreviewType *string `protobuf:"bytes,7,opt,name=previewType" json:"previewType,omitempty"` - HqThumbnail *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail `protobuf:"bytes,8,opt,name=hqThumbnail" json:"hqThumbnail,omitempty"` -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) Reset() { - *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[242] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) ProtoMessage() { -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[242] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse.ProtoReflect.Descriptor instead. -func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{82, 0, 1} -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) GetThumbData() []byte { - if x != nil { - return x.ThumbData - } - return nil -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) GetCanonicalUrl() string { - if x != nil && x.CanonicalUrl != nil { - return *x.CanonicalUrl - } - return "" -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) GetMatchText() string { - if x != nil && x.MatchText != nil { - return *x.MatchText - } - return "" -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) GetPreviewType() string { - if x != nil && x.PreviewType != nil { - return *x.PreviewType - } - return "" -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse) GetHqThumbnail() *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail { - if x != nil { - return x.HqThumbnail - } - return nil -} - -type PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DirectPath *string `protobuf:"bytes,1,opt,name=directPath" json:"directPath,omitempty"` - ThumbHash *string `protobuf:"bytes,2,opt,name=thumbHash" json:"thumbHash,omitempty"` - EncThumbHash *string `protobuf:"bytes,3,opt,name=encThumbHash" json:"encThumbHash,omitempty"` - MediaKey []byte `protobuf:"bytes,4,opt,name=mediaKey" json:"mediaKey,omitempty"` - MediaKeyTimestampMs *int64 `protobuf:"varint,5,opt,name=mediaKeyTimestampMs" json:"mediaKeyTimestampMs,omitempty"` - ThumbWidth *int32 `protobuf:"varint,6,opt,name=thumbWidth" json:"thumbWidth,omitempty"` - ThumbHeight *int32 `protobuf:"varint,7,opt,name=thumbHeight" json:"thumbHeight,omitempty"` -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) Reset() { - *x = PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[243] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) ProtoMessage() { -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[243] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail.ProtoReflect.Descriptor instead. -func (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{82, 0, 1, 0} -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetThumbHash() string { - if x != nil && x.ThumbHash != nil { - return *x.ThumbHash - } - return "" -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetEncThumbHash() string { - if x != nil && x.EncThumbHash != nil { - return *x.EncThumbHash - } - return "" -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetMediaKeyTimestampMs() int64 { - if x != nil && x.MediaKeyTimestampMs != nil { - return *x.MediaKeyTimestampMs - } - return 0 -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetThumbWidth() int32 { - if x != nil && x.ThumbWidth != nil { - return *x.ThumbWidth - } - return 0 -} - -func (x *PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail) GetThumbHeight() int32 { - if x != nil && x.ThumbHeight != nil { - return *x.ThumbHeight - } - return 0 -} - -type PeerDataOperationRequestMessage_RequestUrlPreview struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` - IncludeHqThumbnail *bool `protobuf:"varint,2,opt,name=includeHqThumbnail" json:"includeHqThumbnail,omitempty"` -} - -func (x *PeerDataOperationRequestMessage_RequestUrlPreview) Reset() { - *x = PeerDataOperationRequestMessage_RequestUrlPreview{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[244] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerDataOperationRequestMessage_RequestUrlPreview) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerDataOperationRequestMessage_RequestUrlPreview) ProtoMessage() {} - -func (x *PeerDataOperationRequestMessage_RequestUrlPreview) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[244] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerDataOperationRequestMessage_RequestUrlPreview.ProtoReflect.Descriptor instead. -func (*PeerDataOperationRequestMessage_RequestUrlPreview) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{83, 0} -} - -func (x *PeerDataOperationRequestMessage_RequestUrlPreview) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *PeerDataOperationRequestMessage_RequestUrlPreview) GetIncludeHqThumbnail() bool { - if x != nil && x.IncludeHqThumbnail != nil { - return *x.IncludeHqThumbnail - } - return false -} - -type PeerDataOperationRequestMessage_RequestStickerReupload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FileSha256 *string `protobuf:"bytes,1,opt,name=fileSha256" json:"fileSha256,omitempty"` -} - -func (x *PeerDataOperationRequestMessage_RequestStickerReupload) Reset() { - *x = PeerDataOperationRequestMessage_RequestStickerReupload{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[245] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerDataOperationRequestMessage_RequestStickerReupload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerDataOperationRequestMessage_RequestStickerReupload) ProtoMessage() {} - -func (x *PeerDataOperationRequestMessage_RequestStickerReupload) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[245] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerDataOperationRequestMessage_RequestStickerReupload.ProtoReflect.Descriptor instead. -func (*PeerDataOperationRequestMessage_RequestStickerReupload) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{83, 1} -} - -func (x *PeerDataOperationRequestMessage_RequestStickerReupload) GetFileSha256() string { - if x != nil && x.FileSha256 != nil { - return *x.FileSha256 - } - return "" -} - -type PeerDataOperationRequestMessage_PlaceholderMessageResendRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MessageKey *MessageKey `protobuf:"bytes,1,opt,name=messageKey" json:"messageKey,omitempty"` -} - -func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) Reset() { - *x = PeerDataOperationRequestMessage_PlaceholderMessageResendRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[246] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) ProtoMessage() {} - -func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[246] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerDataOperationRequestMessage_PlaceholderMessageResendRequest.ProtoReflect.Descriptor instead. -func (*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{83, 2} -} - -func (x *PeerDataOperationRequestMessage_PlaceholderMessageResendRequest) GetMessageKey() *MessageKey { - if x != nil { - return x.MessageKey - } - return nil -} - -type PeerDataOperationRequestMessage_HistorySyncOnDemandRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChatJid *string `protobuf:"bytes,1,opt,name=chatJid" json:"chatJid,omitempty"` - OldestMsgId *string `protobuf:"bytes,2,opt,name=oldestMsgId" json:"oldestMsgId,omitempty"` - OldestMsgFromMe *bool `protobuf:"varint,3,opt,name=oldestMsgFromMe" json:"oldestMsgFromMe,omitempty"` - OnDemandMsgCount *int32 `protobuf:"varint,4,opt,name=onDemandMsgCount" json:"onDemandMsgCount,omitempty"` - OldestMsgTimestampMs *int64 `protobuf:"varint,5,opt,name=oldestMsgTimestampMs" json:"oldestMsgTimestampMs,omitempty"` -} - -func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) Reset() { - *x = PeerDataOperationRequestMessage_HistorySyncOnDemandRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[247] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) ProtoMessage() {} - -func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[247] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerDataOperationRequestMessage_HistorySyncOnDemandRequest.ProtoReflect.Descriptor instead. -func (*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{83, 3} -} - -func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetChatJid() string { - if x != nil && x.ChatJid != nil { - return *x.ChatJid - } - return "" -} - -func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetOldestMsgId() string { - if x != nil && x.OldestMsgId != nil { - return *x.OldestMsgId - } - return "" -} - -func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetOldestMsgFromMe() bool { - if x != nil && x.OldestMsgFromMe != nil { - return *x.OldestMsgFromMe - } - return false -} - -func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetOnDemandMsgCount() int32 { - if x != nil && x.OnDemandMsgCount != nil { - return *x.OnDemandMsgCount - } - return 0 -} - -func (x *PeerDataOperationRequestMessage_HistorySyncOnDemandRequest) GetOldestMsgTimestampMs() int64 { - if x != nil && x.OldestMsgTimestampMs != nil { - return *x.OldestMsgTimestampMs - } - return 0 -} - -type ListResponseMessage_SingleSelectReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SelectedRowId *string `protobuf:"bytes,1,opt,name=selectedRowId" json:"selectedRowId,omitempty"` -} - -func (x *ListResponseMessage_SingleSelectReply) Reset() { - *x = ListResponseMessage_SingleSelectReply{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[248] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListResponseMessage_SingleSelectReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListResponseMessage_SingleSelectReply) ProtoMessage() {} - -func (x *ListResponseMessage_SingleSelectReply) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[248] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListResponseMessage_SingleSelectReply.ProtoReflect.Descriptor instead. -func (*ListResponseMessage_SingleSelectReply) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{90, 0} -} - -func (x *ListResponseMessage_SingleSelectReply) GetSelectedRowId() string { - if x != nil && x.SelectedRowId != nil { - return *x.SelectedRowId - } - return "" -} - -type ListMessage_Section struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` - Rows []*ListMessage_Row `protobuf:"bytes,2,rep,name=rows" json:"rows,omitempty"` -} - -func (x *ListMessage_Section) Reset() { - *x = ListMessage_Section{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[249] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListMessage_Section) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMessage_Section) ProtoMessage() {} - -func (x *ListMessage_Section) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[249] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMessage_Section.ProtoReflect.Descriptor instead. -func (*ListMessage_Section) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{91, 0} -} - -func (x *ListMessage_Section) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *ListMessage_Section) GetRows() []*ListMessage_Row { - if x != nil { - return x.Rows - } - return nil -} - -type ListMessage_Row struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` - Description *string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"` - RowId *string `protobuf:"bytes,3,opt,name=rowId" json:"rowId,omitempty"` -} - -func (x *ListMessage_Row) Reset() { - *x = ListMessage_Row{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[250] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListMessage_Row) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMessage_Row) ProtoMessage() {} - -func (x *ListMessage_Row) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[250] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMessage_Row.ProtoReflect.Descriptor instead. -func (*ListMessage_Row) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{91, 1} -} - -func (x *ListMessage_Row) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *ListMessage_Row) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *ListMessage_Row) GetRowId() string { - if x != nil && x.RowId != nil { - return *x.RowId - } - return "" -} - -type ListMessage_Product struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductId *string `protobuf:"bytes,1,opt,name=productId" json:"productId,omitempty"` -} - -func (x *ListMessage_Product) Reset() { - *x = ListMessage_Product{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[251] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListMessage_Product) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMessage_Product) ProtoMessage() {} - -func (x *ListMessage_Product) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[251] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMessage_Product.ProtoReflect.Descriptor instead. -func (*ListMessage_Product) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{91, 2} -} - -func (x *ListMessage_Product) GetProductId() string { - if x != nil && x.ProductId != nil { - return *x.ProductId - } - return "" -} - -type ListMessage_ProductSection struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title *string `protobuf:"bytes,1,opt,name=title" json:"title,omitempty"` - Products []*ListMessage_Product `protobuf:"bytes,2,rep,name=products" json:"products,omitempty"` -} - -func (x *ListMessage_ProductSection) Reset() { - *x = ListMessage_ProductSection{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[252] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListMessage_ProductSection) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMessage_ProductSection) ProtoMessage() {} - -func (x *ListMessage_ProductSection) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[252] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMessage_ProductSection.ProtoReflect.Descriptor instead. -func (*ListMessage_ProductSection) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{91, 3} -} - -func (x *ListMessage_ProductSection) GetTitle() string { - if x != nil && x.Title != nil { - return *x.Title - } - return "" -} - -func (x *ListMessage_ProductSection) GetProducts() []*ListMessage_Product { - if x != nil { - return x.Products - } - return nil -} - -type ListMessage_ProductListInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductSections []*ListMessage_ProductSection `protobuf:"bytes,1,rep,name=productSections" json:"productSections,omitempty"` - HeaderImage *ListMessage_ProductListHeaderImage `protobuf:"bytes,2,opt,name=headerImage" json:"headerImage,omitempty"` - BusinessOwnerJid *string `protobuf:"bytes,3,opt,name=businessOwnerJid" json:"businessOwnerJid,omitempty"` -} - -func (x *ListMessage_ProductListInfo) Reset() { - *x = ListMessage_ProductListInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[253] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListMessage_ProductListInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMessage_ProductListInfo) ProtoMessage() {} - -func (x *ListMessage_ProductListInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[253] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMessage_ProductListInfo.ProtoReflect.Descriptor instead. -func (*ListMessage_ProductListInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{91, 4} -} - -func (x *ListMessage_ProductListInfo) GetProductSections() []*ListMessage_ProductSection { - if x != nil { - return x.ProductSections - } - return nil -} - -func (x *ListMessage_ProductListInfo) GetHeaderImage() *ListMessage_ProductListHeaderImage { - if x != nil { - return x.HeaderImage - } - return nil -} - -func (x *ListMessage_ProductListInfo) GetBusinessOwnerJid() string { - if x != nil && x.BusinessOwnerJid != nil { - return *x.BusinessOwnerJid - } - return "" -} - -type ListMessage_ProductListHeaderImage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProductId *string `protobuf:"bytes,1,opt,name=productId" json:"productId,omitempty"` - JpegThumbnail []byte `protobuf:"bytes,2,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"` -} - -func (x *ListMessage_ProductListHeaderImage) Reset() { - *x = ListMessage_ProductListHeaderImage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[254] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListMessage_ProductListHeaderImage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMessage_ProductListHeaderImage) ProtoMessage() {} - -func (x *ListMessage_ProductListHeaderImage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[254] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMessage_ProductListHeaderImage.ProtoReflect.Descriptor instead. -func (*ListMessage_ProductListHeaderImage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{91, 5} -} - -func (x *ListMessage_ProductListHeaderImage) GetProductId() string { - if x != nil && x.ProductId != nil { - return *x.ProductId - } - return "" -} - -func (x *ListMessage_ProductListHeaderImage) GetJpegThumbnail() []byte { - if x != nil { - return x.JpegThumbnail - } - return nil -} - -type InteractiveResponseMessage_NativeFlowResponseMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` - ParamsJson *string `protobuf:"bytes,2,opt,name=paramsJson" json:"paramsJson,omitempty"` - Version *int32 `protobuf:"varint,3,opt,name=version" json:"version,omitempty"` -} - -func (x *InteractiveResponseMessage_NativeFlowResponseMessage) Reset() { - *x = InteractiveResponseMessage_NativeFlowResponseMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[255] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveResponseMessage_NativeFlowResponseMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveResponseMessage_NativeFlowResponseMessage) ProtoMessage() {} - -func (x *InteractiveResponseMessage_NativeFlowResponseMessage) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[255] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveResponseMessage_NativeFlowResponseMessage.ProtoReflect.Descriptor instead. -func (*InteractiveResponseMessage_NativeFlowResponseMessage) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{94, 0} -} - -func (x *InteractiveResponseMessage_NativeFlowResponseMessage) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *InteractiveResponseMessage_NativeFlowResponseMessage) GetParamsJson() string { - if x != nil && x.ParamsJson != nil { - return *x.ParamsJson - } - return "" -} - -func (x *InteractiveResponseMessage_NativeFlowResponseMessage) GetVersion() int32 { - if x != nil && x.Version != nil { - return *x.Version - } - return 0 -} - -type InteractiveResponseMessage_Body struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` - Format *InteractiveResponseMessage_Body_Format `protobuf:"varint,2,opt,name=format,enum=defproto.InteractiveResponseMessage_Body_Format" json:"format,omitempty"` -} - -func (x *InteractiveResponseMessage_Body) Reset() { - *x = InteractiveResponseMessage_Body{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[256] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InteractiveResponseMessage_Body) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InteractiveResponseMessage_Body) ProtoMessage() {} - -func (x *InteractiveResponseMessage_Body) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[256] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InteractiveResponseMessage_Body.ProtoReflect.Descriptor instead. -func (*InteractiveResponseMessage_Body) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{94, 1} -} - -func (x *InteractiveResponseMessage_Body) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -func (x *InteractiveResponseMessage_Body) GetFormat() InteractiveResponseMessage_Body_Format { - if x != nil && x.Format != nil { - return *x.Format - } - return InteractiveResponseMessage_Body_DEFAULT -} - -type CallLogRecord_ParticipantInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserJid *string `protobuf:"bytes,1,opt,name=userJid" json:"userJid,omitempty"` - CallResult *CallLogRecord_CallResult `protobuf:"varint,2,opt,name=callResult,enum=defproto.CallLogRecord_CallResult" json:"callResult,omitempty"` -} - -func (x *CallLogRecord_ParticipantInfo) Reset() { - *x = CallLogRecord_ParticipantInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[257] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CallLogRecord_ParticipantInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CallLogRecord_ParticipantInfo) ProtoMessage() {} - -func (x *CallLogRecord_ParticipantInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[257] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CallLogRecord_ParticipantInfo.ProtoReflect.Descriptor instead. -func (*CallLogRecord_ParticipantInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{171, 0} -} - -func (x *CallLogRecord_ParticipantInfo) GetUserJid() string { - if x != nil && x.UserJid != nil { - return *x.UserJid - } - return "" -} - -func (x *CallLogRecord_ParticipantInfo) GetCallResult() CallLogRecord_CallResult { - if x != nil && x.CallResult != nil { - return *x.CallResult - } - return CallLogRecord_CONNECTED -} - -type VerifiedNameCertificate_Details struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Serial *uint64 `protobuf:"varint,1,opt,name=serial" json:"serial,omitempty"` - Issuer *string `protobuf:"bytes,2,opt,name=issuer" json:"issuer,omitempty"` - VerifiedName *string `protobuf:"bytes,4,opt,name=verifiedName" json:"verifiedName,omitempty"` - LocalizedNames []*LocalizedName `protobuf:"bytes,8,rep,name=localizedNames" json:"localizedNames,omitempty"` - IssueTime *uint64 `protobuf:"varint,10,opt,name=issueTime" json:"issueTime,omitempty"` -} - -func (x *VerifiedNameCertificate_Details) Reset() { - *x = VerifiedNameCertificate_Details{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[258] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VerifiedNameCertificate_Details) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VerifiedNameCertificate_Details) ProtoMessage() {} - -func (x *VerifiedNameCertificate_Details) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[258] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VerifiedNameCertificate_Details.ProtoReflect.Descriptor instead. -func (*VerifiedNameCertificate_Details) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{172, 0} -} - -func (x *VerifiedNameCertificate_Details) GetSerial() uint64 { - if x != nil && x.Serial != nil { - return *x.Serial - } - return 0 -} - -func (x *VerifiedNameCertificate_Details) GetIssuer() string { - if x != nil && x.Issuer != nil { - return *x.Issuer - } - return "" -} - -func (x *VerifiedNameCertificate_Details) GetVerifiedName() string { - if x != nil && x.VerifiedName != nil { - return *x.VerifiedName - } - return "" -} - -func (x *VerifiedNameCertificate_Details) GetLocalizedNames() []*LocalizedName { - if x != nil { - return x.LocalizedNames - } - return nil -} - -func (x *VerifiedNameCertificate_Details) GetIssueTime() uint64 { - if x != nil && x.IssueTime != nil { - return *x.IssueTime - } - return 0 -} - -type ClientPayload_WebInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RefToken *string `protobuf:"bytes,1,opt,name=refToken" json:"refToken,omitempty"` - Version *string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"` - WebdPayload *ClientPayload_WebInfo_WebdPayload `protobuf:"bytes,3,opt,name=webdPayload" json:"webdPayload,omitempty"` - WebSubPlatform *ClientPayload_WebInfo_WebSubPlatform `protobuf:"varint,4,opt,name=webSubPlatform,enum=defproto.ClientPayload_WebInfo_WebSubPlatform" json:"webSubPlatform,omitempty"` -} - -func (x *ClientPayload_WebInfo) Reset() { - *x = ClientPayload_WebInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[259] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClientPayload_WebInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientPayload_WebInfo) ProtoMessage() {} - -func (x *ClientPayload_WebInfo) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[259] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientPayload_WebInfo.ProtoReflect.Descriptor instead. -func (*ClientPayload_WebInfo) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 0} -} - -func (x *ClientPayload_WebInfo) GetRefToken() string { - if x != nil && x.RefToken != nil { - return *x.RefToken - } - return "" -} - -func (x *ClientPayload_WebInfo) GetVersion() string { - if x != nil && x.Version != nil { - return *x.Version - } - return "" -} - -func (x *ClientPayload_WebInfo) GetWebdPayload() *ClientPayload_WebInfo_WebdPayload { - if x != nil { - return x.WebdPayload - } - return nil -} - -func (x *ClientPayload_WebInfo) GetWebSubPlatform() ClientPayload_WebInfo_WebSubPlatform { - if x != nil && x.WebSubPlatform != nil { - return *x.WebSubPlatform - } - return ClientPayload_WebInfo_WEB_BROWSER -} - -type ClientPayload_UserAgent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Platform *ClientPayload_UserAgent_Platform `protobuf:"varint,1,opt,name=platform,enum=defproto.ClientPayload_UserAgent_Platform" json:"platform,omitempty"` - AppVersion *ClientPayload_UserAgent_AppVersion `protobuf:"bytes,2,opt,name=appVersion" json:"appVersion,omitempty"` - Mcc *string `protobuf:"bytes,3,opt,name=mcc" json:"mcc,omitempty"` - Mnc *string `protobuf:"bytes,4,opt,name=mnc" json:"mnc,omitempty"` - OsVersion *string `protobuf:"bytes,5,opt,name=osVersion" json:"osVersion,omitempty"` - Manufacturer *string `protobuf:"bytes,6,opt,name=manufacturer" json:"manufacturer,omitempty"` - Device *string `protobuf:"bytes,7,opt,name=device" json:"device,omitempty"` - OsBuildNumber *string `protobuf:"bytes,8,opt,name=osBuildNumber" json:"osBuildNumber,omitempty"` - PhoneId *string `protobuf:"bytes,9,opt,name=phoneId" json:"phoneId,omitempty"` - ReleaseChannel *ClientPayload_UserAgent_ReleaseChannel `protobuf:"varint,10,opt,name=releaseChannel,enum=defproto.ClientPayload_UserAgent_ReleaseChannel" json:"releaseChannel,omitempty"` - LocaleLanguageIso6391 *string `protobuf:"bytes,11,opt,name=localeLanguageIso6391" json:"localeLanguageIso6391,omitempty"` - LocaleCountryIso31661Alpha2 *string `protobuf:"bytes,12,opt,name=localeCountryIso31661Alpha2" json:"localeCountryIso31661Alpha2,omitempty"` - DeviceBoard *string `protobuf:"bytes,13,opt,name=deviceBoard" json:"deviceBoard,omitempty"` - DeviceExpId *string `protobuf:"bytes,14,opt,name=deviceExpId" json:"deviceExpId,omitempty"` - DeviceType *ClientPayload_UserAgent_DeviceType `protobuf:"varint,15,opt,name=deviceType,enum=defproto.ClientPayload_UserAgent_DeviceType" json:"deviceType,omitempty"` -} - -func (x *ClientPayload_UserAgent) Reset() { - *x = ClientPayload_UserAgent{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[260] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClientPayload_UserAgent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientPayload_UserAgent) ProtoMessage() {} - -func (x *ClientPayload_UserAgent) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[260] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientPayload_UserAgent.ProtoReflect.Descriptor instead. -func (*ClientPayload_UserAgent) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 1} -} - -func (x *ClientPayload_UserAgent) GetPlatform() ClientPayload_UserAgent_Platform { - if x != nil && x.Platform != nil { - return *x.Platform - } - return ClientPayload_UserAgent_ANDROID -} - -func (x *ClientPayload_UserAgent) GetAppVersion() *ClientPayload_UserAgent_AppVersion { - if x != nil { - return x.AppVersion - } - return nil -} - -func (x *ClientPayload_UserAgent) GetMcc() string { - if x != nil && x.Mcc != nil { - return *x.Mcc - } - return "" -} - -func (x *ClientPayload_UserAgent) GetMnc() string { - if x != nil && x.Mnc != nil { - return *x.Mnc - } - return "" -} - -func (x *ClientPayload_UserAgent) GetOsVersion() string { - if x != nil && x.OsVersion != nil { - return *x.OsVersion - } - return "" -} - -func (x *ClientPayload_UserAgent) GetManufacturer() string { - if x != nil && x.Manufacturer != nil { - return *x.Manufacturer - } - return "" -} - -func (x *ClientPayload_UserAgent) GetDevice() string { - if x != nil && x.Device != nil { - return *x.Device - } - return "" -} - -func (x *ClientPayload_UserAgent) GetOsBuildNumber() string { - if x != nil && x.OsBuildNumber != nil { - return *x.OsBuildNumber - } - return "" -} - -func (x *ClientPayload_UserAgent) GetPhoneId() string { - if x != nil && x.PhoneId != nil { - return *x.PhoneId - } - return "" -} - -func (x *ClientPayload_UserAgent) GetReleaseChannel() ClientPayload_UserAgent_ReleaseChannel { - if x != nil && x.ReleaseChannel != nil { - return *x.ReleaseChannel - } - return ClientPayload_UserAgent_RELEASE -} - -func (x *ClientPayload_UserAgent) GetLocaleLanguageIso6391() string { - if x != nil && x.LocaleLanguageIso6391 != nil { - return *x.LocaleLanguageIso6391 - } - return "" -} - -func (x *ClientPayload_UserAgent) GetLocaleCountryIso31661Alpha2() string { - if x != nil && x.LocaleCountryIso31661Alpha2 != nil { - return *x.LocaleCountryIso31661Alpha2 - } - return "" -} - -func (x *ClientPayload_UserAgent) GetDeviceBoard() string { - if x != nil && x.DeviceBoard != nil { - return *x.DeviceBoard - } - return "" -} - -func (x *ClientPayload_UserAgent) GetDeviceExpId() string { - if x != nil && x.DeviceExpId != nil { - return *x.DeviceExpId - } - return "" -} - -func (x *ClientPayload_UserAgent) GetDeviceType() ClientPayload_UserAgent_DeviceType { - if x != nil && x.DeviceType != nil { - return *x.DeviceType - } - return ClientPayload_UserAgent_PHONE -} - -type ClientPayload_InteropData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AccountId *uint64 `protobuf:"varint,1,opt,name=accountId" json:"accountId,omitempty"` - Token []byte `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"` -} - -func (x *ClientPayload_InteropData) Reset() { - *x = ClientPayload_InteropData{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[261] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClientPayload_InteropData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientPayload_InteropData) ProtoMessage() {} - -func (x *ClientPayload_InteropData) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[261] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientPayload_InteropData.ProtoReflect.Descriptor instead. -func (*ClientPayload_InteropData) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 2} -} - -func (x *ClientPayload_InteropData) GetAccountId() uint64 { - if x != nil && x.AccountId != nil { - return *x.AccountId - } - return 0 -} - -func (x *ClientPayload_InteropData) GetToken() []byte { - if x != nil { - return x.Token - } - return nil -} - -type ClientPayload_DevicePairingRegistrationData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ERegid []byte `protobuf:"bytes,1,opt,name=eRegid" json:"eRegid,omitempty"` - EKeytype []byte `protobuf:"bytes,2,opt,name=eKeytype" json:"eKeytype,omitempty"` - EIdent []byte `protobuf:"bytes,3,opt,name=eIdent" json:"eIdent,omitempty"` - ESkeyId []byte `protobuf:"bytes,4,opt,name=eSkeyId" json:"eSkeyId,omitempty"` - ESkeyVal []byte `protobuf:"bytes,5,opt,name=eSkeyVal" json:"eSkeyVal,omitempty"` - ESkeySig []byte `protobuf:"bytes,6,opt,name=eSkeySig" json:"eSkeySig,omitempty"` - BuildHash []byte `protobuf:"bytes,7,opt,name=buildHash" json:"buildHash,omitempty"` - DeviceProps []byte `protobuf:"bytes,8,opt,name=deviceProps" json:"deviceProps,omitempty"` -} - -func (x *ClientPayload_DevicePairingRegistrationData) Reset() { - *x = ClientPayload_DevicePairingRegistrationData{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[262] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClientPayload_DevicePairingRegistrationData) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientPayload_DevicePairingRegistrationData) ProtoMessage() {} - -func (x *ClientPayload_DevicePairingRegistrationData) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[262] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientPayload_DevicePairingRegistrationData.ProtoReflect.Descriptor instead. -func (*ClientPayload_DevicePairingRegistrationData) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 3} -} - -func (x *ClientPayload_DevicePairingRegistrationData) GetERegid() []byte { - if x != nil { - return x.ERegid - } - return nil -} - -func (x *ClientPayload_DevicePairingRegistrationData) GetEKeytype() []byte { - if x != nil { - return x.EKeytype - } - return nil -} - -func (x *ClientPayload_DevicePairingRegistrationData) GetEIdent() []byte { - if x != nil { - return x.EIdent - } - return nil -} - -func (x *ClientPayload_DevicePairingRegistrationData) GetESkeyId() []byte { - if x != nil { - return x.ESkeyId - } - return nil -} - -func (x *ClientPayload_DevicePairingRegistrationData) GetESkeyVal() []byte { - if x != nil { - return x.ESkeyVal - } - return nil -} - -func (x *ClientPayload_DevicePairingRegistrationData) GetESkeySig() []byte { - if x != nil { - return x.ESkeySig - } - return nil -} - -func (x *ClientPayload_DevicePairingRegistrationData) GetBuildHash() []byte { - if x != nil { - return x.BuildHash - } - return nil -} - -func (x *ClientPayload_DevicePairingRegistrationData) GetDeviceProps() []byte { - if x != nil { - return x.DeviceProps - } - return nil -} - -type ClientPayload_DNSSource struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DnsMethod *ClientPayload_DNSSource_DNSResolutionMethod `protobuf:"varint,15,opt,name=dnsMethod,enum=defproto.ClientPayload_DNSSource_DNSResolutionMethod" json:"dnsMethod,omitempty"` - AppCached *bool `protobuf:"varint,16,opt,name=appCached" json:"appCached,omitempty"` -} - -func (x *ClientPayload_DNSSource) Reset() { - *x = ClientPayload_DNSSource{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[263] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClientPayload_DNSSource) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientPayload_DNSSource) ProtoMessage() {} - -func (x *ClientPayload_DNSSource) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[263] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientPayload_DNSSource.ProtoReflect.Descriptor instead. -func (*ClientPayload_DNSSource) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 4} -} - -func (x *ClientPayload_DNSSource) GetDnsMethod() ClientPayload_DNSSource_DNSResolutionMethod { - if x != nil && x.DnsMethod != nil { - return *x.DnsMethod - } - return ClientPayload_DNSSource_SYSTEM -} - -func (x *ClientPayload_DNSSource) GetAppCached() bool { - if x != nil && x.AppCached != nil { - return *x.AppCached - } - return false -} - -type ClientPayload_WebInfo_WebdPayload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UsesParticipantInKey *bool `protobuf:"varint,1,opt,name=usesParticipantInKey" json:"usesParticipantInKey,omitempty"` - SupportsStarredMessages *bool `protobuf:"varint,2,opt,name=supportsStarredMessages" json:"supportsStarredMessages,omitempty"` - SupportsDocumentMessages *bool `protobuf:"varint,3,opt,name=supportsDocumentMessages" json:"supportsDocumentMessages,omitempty"` - SupportsUrlMessages *bool `protobuf:"varint,4,opt,name=supportsUrlMessages" json:"supportsUrlMessages,omitempty"` - SupportsMediaRetry *bool `protobuf:"varint,5,opt,name=supportsMediaRetry" json:"supportsMediaRetry,omitempty"` - SupportsE2EImage *bool `protobuf:"varint,6,opt,name=supportsE2EImage" json:"supportsE2EImage,omitempty"` - SupportsE2EVideo *bool `protobuf:"varint,7,opt,name=supportsE2EVideo" json:"supportsE2EVideo,omitempty"` - SupportsE2EAudio *bool `protobuf:"varint,8,opt,name=supportsE2EAudio" json:"supportsE2EAudio,omitempty"` - SupportsE2EDocument *bool `protobuf:"varint,9,opt,name=supportsE2EDocument" json:"supportsE2EDocument,omitempty"` - DocumentTypes *string `protobuf:"bytes,10,opt,name=documentTypes" json:"documentTypes,omitempty"` - Features []byte `protobuf:"bytes,11,opt,name=features" json:"features,omitempty"` -} - -func (x *ClientPayload_WebInfo_WebdPayload) Reset() { - *x = ClientPayload_WebInfo_WebdPayload{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[264] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClientPayload_WebInfo_WebdPayload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientPayload_WebInfo_WebdPayload) ProtoMessage() {} - -func (x *ClientPayload_WebInfo_WebdPayload) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[264] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientPayload_WebInfo_WebdPayload.ProtoReflect.Descriptor instead. -func (*ClientPayload_WebInfo_WebdPayload) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 0, 0} -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetUsesParticipantInKey() bool { - if x != nil && x.UsesParticipantInKey != nil { - return *x.UsesParticipantInKey - } - return false -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetSupportsStarredMessages() bool { - if x != nil && x.SupportsStarredMessages != nil { - return *x.SupportsStarredMessages - } - return false -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetSupportsDocumentMessages() bool { - if x != nil && x.SupportsDocumentMessages != nil { - return *x.SupportsDocumentMessages - } - return false -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetSupportsUrlMessages() bool { - if x != nil && x.SupportsUrlMessages != nil { - return *x.SupportsUrlMessages - } - return false -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetSupportsMediaRetry() bool { - if x != nil && x.SupportsMediaRetry != nil { - return *x.SupportsMediaRetry - } - return false -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetSupportsE2EImage() bool { - if x != nil && x.SupportsE2EImage != nil { - return *x.SupportsE2EImage - } - return false -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetSupportsE2EVideo() bool { - if x != nil && x.SupportsE2EVideo != nil { - return *x.SupportsE2EVideo - } - return false -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetSupportsE2EAudio() bool { - if x != nil && x.SupportsE2EAudio != nil { - return *x.SupportsE2EAudio - } - return false -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetSupportsE2EDocument() bool { - if x != nil && x.SupportsE2EDocument != nil { - return *x.SupportsE2EDocument - } - return false -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetDocumentTypes() string { - if x != nil && x.DocumentTypes != nil { - return *x.DocumentTypes - } - return "" -} - -func (x *ClientPayload_WebInfo_WebdPayload) GetFeatures() []byte { - if x != nil { - return x.Features - } - return nil -} - -type ClientPayload_UserAgent_AppVersion struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Primary *uint32 `protobuf:"varint,1,opt,name=primary" json:"primary,omitempty"` - Secondary *uint32 `protobuf:"varint,2,opt,name=secondary" json:"secondary,omitempty"` - Tertiary *uint32 `protobuf:"varint,3,opt,name=tertiary" json:"tertiary,omitempty"` - Quaternary *uint32 `protobuf:"varint,4,opt,name=quaternary" json:"quaternary,omitempty"` - Quinary *uint32 `protobuf:"varint,5,opt,name=quinary" json:"quinary,omitempty"` -} - -func (x *ClientPayload_UserAgent_AppVersion) Reset() { - *x = ClientPayload_UserAgent_AppVersion{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[265] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClientPayload_UserAgent_AppVersion) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClientPayload_UserAgent_AppVersion) ProtoMessage() {} - -func (x *ClientPayload_UserAgent_AppVersion) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[265] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClientPayload_UserAgent_AppVersion.ProtoReflect.Descriptor instead. -func (*ClientPayload_UserAgent_AppVersion) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{181, 1, 0} -} - -func (x *ClientPayload_UserAgent_AppVersion) GetPrimary() uint32 { - if x != nil && x.Primary != nil { - return *x.Primary - } - return 0 -} - -func (x *ClientPayload_UserAgent_AppVersion) GetSecondary() uint32 { - if x != nil && x.Secondary != nil { - return *x.Secondary - } - return 0 -} - -func (x *ClientPayload_UserAgent_AppVersion) GetTertiary() uint32 { - if x != nil && x.Tertiary != nil { - return *x.Tertiary - } - return 0 -} - -func (x *ClientPayload_UserAgent_AppVersion) GetQuaternary() uint32 { - if x != nil && x.Quaternary != nil { - return *x.Quaternary - } - return 0 -} - -func (x *ClientPayload_UserAgent_AppVersion) GetQuinary() uint32 { - if x != nil && x.Quinary != nil { - return *x.Quinary - } - return 0 -} - -type NoiseCertificate_Details struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Serial *uint32 `protobuf:"varint,1,opt,name=serial" json:"serial,omitempty"` - Issuer *string `protobuf:"bytes,2,opt,name=issuer" json:"issuer,omitempty"` - Expires *uint64 `protobuf:"varint,3,opt,name=expires" json:"expires,omitempty"` - Subject *string `protobuf:"bytes,4,opt,name=subject" json:"subject,omitempty"` - Key []byte `protobuf:"bytes,5,opt,name=key" json:"key,omitempty"` -} - -func (x *NoiseCertificate_Details) Reset() { - *x = NoiseCertificate_Details{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[266] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NoiseCertificate_Details) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NoiseCertificate_Details) ProtoMessage() {} - -func (x *NoiseCertificate_Details) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[266] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NoiseCertificate_Details.ProtoReflect.Descriptor instead. -func (*NoiseCertificate_Details) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{201, 0} -} - -func (x *NoiseCertificate_Details) GetSerial() uint32 { - if x != nil && x.Serial != nil { - return *x.Serial - } - return 0 -} - -func (x *NoiseCertificate_Details) GetIssuer() string { - if x != nil && x.Issuer != nil { - return *x.Issuer - } - return "" -} - -func (x *NoiseCertificate_Details) GetExpires() uint64 { - if x != nil && x.Expires != nil { - return *x.Expires - } - return 0 -} - -func (x *NoiseCertificate_Details) GetSubject() string { - if x != nil && x.Subject != nil { - return *x.Subject - } - return "" -} - -func (x *NoiseCertificate_Details) GetKey() []byte { - if x != nil { - return x.Key - } - return nil -} - -type CertChain_NoiseCertificate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Details []byte `protobuf:"bytes,1,opt,name=details" json:"details,omitempty"` - Signature []byte `protobuf:"bytes,2,opt,name=signature" json:"signature,omitempty"` -} - -func (x *CertChain_NoiseCertificate) Reset() { - *x = CertChain_NoiseCertificate{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[267] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CertChain_NoiseCertificate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CertChain_NoiseCertificate) ProtoMessage() {} - -func (x *CertChain_NoiseCertificate) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[267] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CertChain_NoiseCertificate.ProtoReflect.Descriptor instead. -func (*CertChain_NoiseCertificate) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{202, 0} -} - -func (x *CertChain_NoiseCertificate) GetDetails() []byte { - if x != nil { - return x.Details - } - return nil -} - -func (x *CertChain_NoiseCertificate) GetSignature() []byte { - if x != nil { - return x.Signature - } - return nil -} - -type CertChain_NoiseCertificate_Details struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Serial *uint32 `protobuf:"varint,1,opt,name=serial" json:"serial,omitempty"` - IssuerSerial *uint32 `protobuf:"varint,2,opt,name=issuerSerial" json:"issuerSerial,omitempty"` - Key []byte `protobuf:"bytes,3,opt,name=key" json:"key,omitempty"` - NotBefore *uint64 `protobuf:"varint,4,opt,name=notBefore" json:"notBefore,omitempty"` - NotAfter *uint64 `protobuf:"varint,5,opt,name=notAfter" json:"notAfter,omitempty"` -} - -func (x *CertChain_NoiseCertificate_Details) Reset() { - *x = CertChain_NoiseCertificate_Details{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[268] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CertChain_NoiseCertificate_Details) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CertChain_NoiseCertificate_Details) ProtoMessage() {} - -func (x *CertChain_NoiseCertificate_Details) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[268] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CertChain_NoiseCertificate_Details.ProtoReflect.Descriptor instead. -func (*CertChain_NoiseCertificate_Details) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{202, 0, 0} -} - -func (x *CertChain_NoiseCertificate_Details) GetSerial() uint32 { - if x != nil && x.Serial != nil { - return *x.Serial - } - return 0 -} - -func (x *CertChain_NoiseCertificate_Details) GetIssuerSerial() uint32 { - if x != nil && x.IssuerSerial != nil { - return *x.IssuerSerial - } - return 0 -} - -func (x *CertChain_NoiseCertificate_Details) GetKey() []byte { - if x != nil { - return x.Key - } - return nil -} - -func (x *CertChain_NoiseCertificate_Details) GetNotBefore() uint64 { - if x != nil && x.NotBefore != nil { - return *x.NotBefore - } - return 0 -} - -func (x *CertChain_NoiseCertificate_Details) GetNotAfter() uint64 { - if x != nil && x.NotAfter != nil { - return *x.NotAfter - } - return 0 -} - -type QP_Filter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FilterName *string `protobuf:"bytes,1,req,name=filterName" json:"filterName,omitempty"` - Parameters []*QP_FilterParameters `protobuf:"bytes,2,rep,name=parameters" json:"parameters,omitempty"` - FilterResult *QP_FilterResult `protobuf:"varint,3,opt,name=filterResult,enum=defproto.QP_FilterResult" json:"filterResult,omitempty"` - ClientNotSupportedConfig *QP_FilterClientNotSupportedConfig `protobuf:"varint,4,req,name=clientNotSupportedConfig,enum=defproto.QP_FilterClientNotSupportedConfig" json:"clientNotSupportedConfig,omitempty"` -} - -func (x *QP_Filter) Reset() { - *x = QP_Filter{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[269] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QP_Filter) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QP_Filter) ProtoMessage() {} - -func (x *QP_Filter) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[269] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QP_Filter.ProtoReflect.Descriptor instead. -func (*QP_Filter) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{203, 0} -} - -func (x *QP_Filter) GetFilterName() string { - if x != nil && x.FilterName != nil { - return *x.FilterName - } - return "" -} - -func (x *QP_Filter) GetParameters() []*QP_FilterParameters { - if x != nil { - return x.Parameters - } - return nil -} - -func (x *QP_Filter) GetFilterResult() QP_FilterResult { - if x != nil && x.FilterResult != nil { - return *x.FilterResult - } - return QP_TRUE -} - -func (x *QP_Filter) GetClientNotSupportedConfig() QP_FilterClientNotSupportedConfig { - if x != nil && x.ClientNotSupportedConfig != nil { - return *x.ClientNotSupportedConfig - } - return QP_PASS_BY_DEFAULT -} - -type QP_FilterParameters struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` - Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` -} - -func (x *QP_FilterParameters) Reset() { - *x = QP_FilterParameters{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[270] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QP_FilterParameters) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QP_FilterParameters) ProtoMessage() {} - -func (x *QP_FilterParameters) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[270] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QP_FilterParameters.ProtoReflect.Descriptor instead. -func (*QP_FilterParameters) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{203, 1} -} - -func (x *QP_FilterParameters) GetKey() string { - if x != nil && x.Key != nil { - return *x.Key - } - return "" -} - -func (x *QP_FilterParameters) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value - } - return "" -} - -type QP_FilterClause struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClauseType *QP_ClauseType `protobuf:"varint,1,req,name=clauseType,enum=defproto.QP_ClauseType" json:"clauseType,omitempty"` - Clauses []*QP_FilterClause `protobuf:"bytes,2,rep,name=clauses" json:"clauses,omitempty"` - Filters []*QP_Filter `protobuf:"bytes,3,rep,name=filters" json:"filters,omitempty"` -} - -func (x *QP_FilterClause) Reset() { - *x = QP_FilterClause{} - if protoimpl.UnsafeEnabled { - mi := &file_def_proto_msgTypes[271] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QP_FilterClause) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QP_FilterClause) ProtoMessage() {} - -func (x *QP_FilterClause) ProtoReflect() protoreflect.Message { - mi := &file_def_proto_msgTypes[271] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QP_FilterClause.ProtoReflect.Descriptor instead. -func (*QP_FilterClause) Descriptor() ([]byte, []int) { - return file_def_proto_rawDescGZIP(), []int{203, 2} -} - -func (x *QP_FilterClause) GetClauseType() QP_ClauseType { - if x != nil && x.ClauseType != nil { - return *x.ClauseType - } - return QP_AND -} - -func (x *QP_FilterClause) GetClauses() []*QP_FilterClause { - if x != nil { - return x.Clauses - } - return nil -} - -func (x *QP_FilterClause) GetFilters() []*QP_Filter { - if x != nil { - return x.Filters - } - return nil -} - -var File_def_proto protoreflect.FileDescriptor - -var file_def_proto_rawDesc = []byte{ - 0x0a, 0x09, 0x64, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x15, 0x41, 0x44, 0x56, 0x53, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xbb, 0x01, 0x0a, 0x17, 0x41, 0x44, 0x56, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x30, 0x0a, - 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4b, 0x65, 0x79, 0x12, - 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x1b, 0x41, 0x44, 0x56, 0x53, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x48, 0x4d, 0x41, 0x43, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x68, 0x6d, 0x61, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, - 0x6d, 0x61, 0x63, 0x12, 0x3d, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x44, 0x56, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x0f, 0x41, 0x44, 0x56, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x77, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x61, 0x77, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, - 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x44, 0x56, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x11, 0x41, 0x44, 0x56, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x72, - 0x61, 0x77, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x61, 0x77, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3d, 0x0a, 0x0b, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x44, 0x56, 0x45, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x44, 0x56, 0x45, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd6, 0x09, 0x0a, 0x0b, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x2e, - 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x73, - 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x46, 0x75, 0x6c, - 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x55, 0x0a, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, - 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd3, 0x03, 0x0a, - 0x11, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x75, 0x6c, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x61, - 0x79, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, - 0x75, 0x6c, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x79, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x30, 0x0a, 0x13, 0x66, 0x75, 0x6c, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x69, 0x7a, 0x65, - 0x4d, 0x62, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x66, - 0x75, 0x6c, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x69, 0x7a, 0x65, 0x4d, 0x62, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x51, 0x75, 0x6f, - 0x74, 0x61, 0x4d, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x4d, 0x62, 0x12, 0x44, 0x0a, 0x1d, 0x69, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x49, 0x6e, 0x45, 0x32, 0x45, 0x65, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x1d, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x45, 0x32, 0x45, 0x65, 0x4d, 0x73, 0x67, - 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x61, - 0x79, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x61, 0x79, 0x73, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x61, 0x6c, - 0x6c, 0x4c, 0x6f, 0x67, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x15, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, - 0x67, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x1e, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, - 0x68, 0x61, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x1e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x6f, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x40, 0x0a, 0x1b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x61, 0x67, 0x52, 0x65, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x6c, 0x73, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x61, - 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x6e, 0x64, 0x50, 0x6f, 0x6c, - 0x6c, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x72, - 0x74, 0x69, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x65, 0x72, - 0x74, 0x69, 0x61, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x71, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x69, 0x6e, 0x61, 0x72, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, - 0xbe, 0x02, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x43, 0x48, 0x52, 0x4f, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x49, 0x52, - 0x45, 0x46, 0x4f, 0x58, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x45, 0x10, 0x03, 0x12, 0x09, - 0x0a, 0x05, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x41, 0x46, - 0x41, 0x52, 0x49, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x44, 0x47, 0x45, 0x10, 0x06, 0x12, - 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x53, 0x4b, 0x54, 0x4f, 0x50, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, - 0x49, 0x50, 0x41, 0x44, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, - 0x44, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x54, 0x10, 0x09, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x48, - 0x41, 0x4e, 0x41, 0x10, 0x0a, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4f, 0x48, 0x41, 0x10, 0x0b, - 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x54, 0x41, 0x4c, 0x49, 0x4e, 0x41, 0x10, 0x0c, 0x12, 0x0a, - 0x0a, 0x06, 0x54, 0x43, 0x4c, 0x5f, 0x54, 0x56, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4f, - 0x53, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4f, 0x53, - 0x5f, 0x43, 0x41, 0x54, 0x41, 0x4c, 0x59, 0x53, 0x54, 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 0x41, - 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x10, 0x12, 0x15, - 0x0a, 0x11, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x41, 0x4d, 0x42, 0x49, 0x47, 0x55, - 0x4f, 0x55, 0x53, 0x10, 0x11, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x45, 0x41, 0x52, 0x5f, 0x4f, 0x53, - 0x10, 0x12, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x52, 0x5f, 0x57, 0x52, 0x49, 0x53, 0x54, 0x10, 0x13, - 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x52, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x10, 0x14, 0x12, - 0x07, 0x0a, 0x03, 0x55, 0x57, 0x50, 0x10, 0x15, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x52, 0x10, 0x16, - 0x22, 0xad, 0x0e, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x3b, 0x0a, 0x06, 0x66, - 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, - 0x52, 0x06, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x60, 0x0a, 0x15, 0x73, 0x68, 0x6f, 0x70, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x66, 0x72, - 0x6f, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, - 0x68, 0x6f, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x15, 0x73, 0x68, - 0x6f, 0x70, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, - 0x52, 0x11, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, - 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4e, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, - 0x52, 0x11, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x63, 0x61, 0x72, 0x6f, 0x75, 0x73, 0x65, 0x6c, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, 0x72, 0x6f, 0x75, - 0x73, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x61, - 0x72, 0x6f, 0x75, 0x73, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0xc9, 0x01, - 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4a, 0x0a, - 0x07, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x68, 0x6f, - 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x52, 0x07, 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0x36, 0x0a, 0x07, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x13, 0x0a, 0x0f, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x55, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, - 0x00, 0x12, 0x06, 0x0a, 0x02, 0x46, 0x42, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x47, 0x10, - 0x02, 0x12, 0x06, 0x0a, 0x02, 0x57, 0x41, 0x10, 0x03, 0x1a, 0x98, 0x02, 0x0a, 0x11, 0x4e, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x59, 0x0a, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x42, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x52, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x1a, 0x52, 0x0a, 0x10, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x42, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x4a, 0x73, 0x6f, 0x6e, 0x1a, 0xa5, 0x03, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x68, 0x61, 0x73, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x68, - 0x61, 0x73, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x45, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, - 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x3c, - 0x0a, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, - 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x0f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x48, 0x00, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x1a, 0x1c, 0x0a, 0x06, - 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x63, 0x0a, 0x11, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x62, 0x69, 0x7a, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x62, 0x69, 0x7a, 0x4a, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, - 0x6d, 0x0a, 0x0f, 0x43, 0x61, 0x72, 0x6f, 0x75, 0x73, 0x65, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x05, 0x63, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x1a, - 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x22, 0x6a, 0x0a, 0x26, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x40, 0x0a, 0x1b, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x1b, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xcd, 0x08, 0x0a, - 0x0c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, - 0x32, 0x35, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, - 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x57, 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, - 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x24, 0x0a, 0x0d, - 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, - 0x69, 0x6c, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, - 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x53, 0x63, 0x61, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x65, 0x78, - 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, - 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x61, 0x6e, 0x73, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x63, 0x61, 0x6e, 0x73, 0x53, 0x69, 0x64, 0x65, - 0x63, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x63, 0x61, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x63, 0x61, 0x6e, 0x4c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x6d, 0x69, 0x64, 0x51, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x17, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x14, 0x6d, 0x69, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x46, - 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x38, 0x0a, 0x17, 0x6d, 0x69, 0x64, - 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, - 0x61, 0x32, 0x35, 0x36, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x6d, 0x69, 0x64, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, - 0x32, 0x35, 0x36, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x12, - 0x30, 0x0a, 0x13, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x68, - 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x53, 0x68, - 0x61, 0x32, 0x35, 0x36, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, - 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x2e, 0x0a, 0x12, 0x74, - 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, - 0x36, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, - 0x69, 0x6c, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x63, 0x55, 0x72, 0x6c, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x55, 0x72, 0x6c, 0x12, 0x41, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xcf, 0x05, 0x0a, - 0x17, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, - 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, - 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, - 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, - 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, - 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4d, 0x0a, 0x08, 0x73, 0x79, - 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, - 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x08, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x75, - 0x6e, 0x6b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, - 0x68, 0x75, 0x6e, 0x6b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x6f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x42, 0x0a, 0x1c, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x4d, 0x73, 0x67, - 0x49, 0x6e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x53, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1c, 0x6f, 0x6c, 0x64, 0x65, 0x73, - 0x74, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x12, 0x4c, 0x0a, 0x21, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x48, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x21, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x48, 0x69, 0x73, 0x74, 0x42, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3a, 0x0a, 0x18, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x0f, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, - 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, - 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x53, 0x54, 0x52, 0x41, 0x50, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, - 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x56, - 0x33, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x0a, 0x0a, - 0x06, 0x52, 0x45, 0x43, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x55, 0x53, - 0x48, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x4f, 0x4e, 0x5f, - 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x05, 0x12, - 0x0d, 0x0a, 0x09, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x06, 0x22, 0x96, - 0x0d, 0x0a, 0x17, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4c, 0x67, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x4c, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x4c, 0x63, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x4c, 0x63, 0x12, 0x67, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x48, 0x53, 0x4d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, - 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x64, - 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x4c, 0x67, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x4c, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x4c, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x4c, 0x63, 0x12, - 0x3b, 0x0a, 0x0b, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x48, 0x73, 0x6d, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x0b, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x48, 0x73, 0x6d, 0x1a, 0xe8, 0x09, 0x0a, - 0x17, 0x48, 0x53, 0x4d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x12, 0x63, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x48, 0x53, 0x4d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, - 0x48, 0x53, 0x4d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x48, 0x00, 0x52, 0x08, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x63, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x48, 0x53, 0x4d, - 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x48, 0x00, 0x52, 0x08, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x87, 0x07, 0x0a, - 0x0b, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x7a, 0x0a, 0x09, - 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x5a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, - 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x48, 0x53, 0x4d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, - 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, - 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x7a, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x78, - 0x45, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x48, - 0x53, 0x4d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, - 0x69, 0x78, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x48, 0x00, 0x52, 0x09, 0x75, 0x6e, 0x69, 0x78, 0x45, - 0x70, 0x6f, 0x63, 0x68, 0x1a, 0x34, 0x0a, 0x14, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xb8, 0x04, 0x0a, 0x14, 0x48, - 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x12, 0x86, 0x01, 0x0a, 0x09, 0x64, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, - 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x68, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x48, 0x53, 0x4d, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2e, 0x48, - 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x09, 0x64, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x12, 0x0a, 0x04, - 0x79, 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x79, 0x65, 0x61, 0x72, - 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x61, 0x79, 0x4f, 0x66, 0x4d, - 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x61, 0x79, 0x4f, - 0x66, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, - 0x6e, 0x75, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, - 0x74, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x08, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x67, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x48, 0x53, 0x4d, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x2e, 0x48, 0x53, 0x4d, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2e, 0x48, 0x53, 0x4d, - 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, - 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x22, 0x6b, 0x0a, 0x0d, 0x44, 0x61, 0x79, 0x4f, - 0x66, 0x57, 0x65, 0x65, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x4f, 0x4e, - 0x44, 0x41, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x55, 0x45, 0x53, 0x44, 0x41, 0x59, - 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x45, 0x44, 0x4e, 0x45, 0x53, 0x44, 0x41, 0x59, 0x10, - 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x48, 0x55, 0x52, 0x53, 0x44, 0x41, 0x59, 0x10, 0x04, 0x12, - 0x0a, 0x0a, 0x06, 0x46, 0x52, 0x49, 0x44, 0x41, 0x59, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x53, - 0x41, 0x54, 0x55, 0x52, 0x44, 0x41, 0x59, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x55, 0x4e, - 0x44, 0x41, 0x59, 0x10, 0x07, 0x22, 0x2e, 0x0a, 0x0c, 0x43, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x52, 0x45, 0x47, 0x4f, 0x52, 0x49, - 0x41, 0x4e, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x4f, 0x4c, 0x41, 0x52, 0x5f, 0x48, 0x49, - 0x4a, 0x52, 0x49, 0x10, 0x02, 0x42, 0x0f, 0x0a, 0x0d, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, - 0x65, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x1a, 0x51, 0x0a, 0x0b, 0x48, 0x53, 0x4d, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x22, 0xff, 0x02, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4a, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x45, 0x78, 0x70, 0x69, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, - 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, - 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, - 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x26, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, - 0x79, 0x70, 0x65, 0x22, 0x24, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x22, 0x41, 0x0a, 0x12, 0x46, 0x75, 0x74, - 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x2b, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xd4, 0x0b, 0x0a, - 0x13, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, - 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, - 0x67, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x08, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, - 0x67, 0x62, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x41, 0x72, 0x67, 0x62, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, - 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x72, 0x67, 0x62, 0x12, 0x3a, 0x0a, 0x04, 0x66, 0x6f, - 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x46, 0x6f, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x66, 0x6f, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, - 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, - 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, - 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x49, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x6f, 0x4e, - 0x6f, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x30, 0x0a, 0x13, - 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, - 0x61, 0x74, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x68, 0x75, 0x6d, 0x62, - 0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, - 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, - 0x36, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, - 0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x68, 0x75, 0x6d, - 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45, - 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x4b, 0x65, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x68, 0x75, - 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x26, 0x0a, 0x0e, - 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x19, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x57, - 0x69, 0x64, 0x74, 0x68, 0x12, 0x63, 0x0a, 0x13, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, - 0x6e, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x31, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x1e, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, 0x32, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x1e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x56, - 0x32, 0x12, 0x4a, 0x0a, 0x20, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x50, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, - 0x61, 0x69, 0x6c, 0x56, 0x32, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x20, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x56, 0x32, 0x12, 0x67, 0x0a, - 0x15, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x54, 0x79, 0x70, 0x65, 0x56, 0x32, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, - 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x15, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x54, 0x79, 0x70, 0x65, 0x56, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, - 0x63, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, - 0x63, 0x65, 0x22, 0x3e, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x56, - 0x49, 0x44, 0x45, 0x4f, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x48, - 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, - 0x10, 0x05, 0x22, 0x48, 0x0a, 0x13, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, - 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, - 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x55, 0x42, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x44, - 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x10, 0x03, 0x22, 0xa4, 0x01, 0x0a, - 0x08, 0x46, 0x6f, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x59, 0x53, - 0x54, 0x45, 0x4d, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, - 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x42, 0x5f, 0x53, 0x43, 0x52, - 0x49, 0x50, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, - 0x42, 0x4f, 0x4c, 0x44, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x4f, 0x52, 0x4e, 0x49, 0x4e, - 0x47, 0x42, 0x52, 0x45, 0x45, 0x5a, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, - 0x07, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x4c, 0x49, 0x53, 0x54, 0x4f, 0x47, 0x41, 0x5f, 0x52, - 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x58, 0x4f, 0x32, - 0x5f, 0x45, 0x58, 0x54, 0x52, 0x41, 0x42, 0x4f, 0x4c, 0x44, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, - 0x43, 0x4f, 0x55, 0x52, 0x49, 0x45, 0x52, 0x50, 0x52, 0x49, 0x4d, 0x45, 0x5f, 0x42, 0x4f, 0x4c, - 0x44, 0x10, 0x0a, 0x22, 0xc2, 0x01, 0x0a, 0x14, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x08, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x22, 0x3a, 0x0a, 0x11, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, - 0x0a, 0x05, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, - 0x5f, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x22, 0x8e, 0x02, 0x0a, 0x0c, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x12, 0x45, 0x6e, - 0x63, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x40, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, - 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, - 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, 0x63, 0x49, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x05, 0x65, 0x6e, 0x63, 0x49, 0x76, 0x22, 0x9f, 0x01, 0x0a, 0x17, 0x45, 0x6e, 0x63, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x17, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x17, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, 0x63, 0x49, 0x76, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x65, 0x6e, 0x63, 0x49, 0x76, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x45, - 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x40, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, - 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, - 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, 0x63, 0x49, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x05, 0x65, 0x6e, 0x63, 0x49, 0x76, 0x22, 0xda, 0x05, 0x0a, 0x0f, 0x44, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, - 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, - 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x11, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, - 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x56, 0x63, 0x61, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x56, 0x63, 0x61, 0x72, 0x64, 0x12, 0x30, - 0x0a, 0x13, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x74, 0x68, 0x75, - 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x53, 0x68, 0x61, - 0x32, 0x35, 0x36, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, - 0x6e, 0x61, 0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x68, - 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, - 0x6c, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x70, - 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, - 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, - 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x48, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, - 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x68, 0x75, - 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0x0a, 0x11, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, - 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x70, 0x68, 0x61, 0x73, 0x68, 0x22, 0x46, 0x0a, 0x1c, 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xa7, 0x01, - 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x37, - 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x63, 0x61, 0x72, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x63, 0x61, - 0x72, 0x64, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x7f, 0x0a, 0x0e, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x10, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x38, 0x0a, 0x04, - 0x43, 0x68, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x1b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xac, 0x01, - 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x4b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x61, 0x6c, 0x6c, 0x4b, 0x65, 0x79, - 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xe9, 0x04, 0x0a, - 0x0e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x69, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x69, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x46, 0x0a, 0x0b, 0x63, 0x61, 0x6c, - 0x6c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, - 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x75, 0x74, - 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, - 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x63, 0x73, 0x12, 0x3d, 0x0a, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x73, 0x1a, 0x6b, 0x0a, 0x0f, 0x43, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6a, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x4f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x75, 0x74, 0x63, 0x6f, - 0x6d, 0x65, 0x52, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x22, - 0x3b, 0x0a, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, - 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x43, 0x48, 0x45, - 0x44, 0x55, 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, - 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x10, 0x02, 0x22, 0x99, 0x01, 0x0a, - 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x0d, 0x0a, 0x09, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4d, - 0x49, 0x53, 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, - 0x03, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x45, 0x4c, - 0x53, 0x45, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x4e, 0x47, - 0x4f, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x49, 0x4c, 0x45, 0x4e, 0x43, - 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x44, 0x4e, 0x44, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x53, - 0x49, 0x4c, 0x45, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, - 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x10, 0x07, 0x22, 0x9f, 0x02, 0x0a, 0x16, 0x42, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x22, 0x25, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, - 0x44, 0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x42, 0x0a, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc6, 0x08, 0x0a, 0x0e, 0x42, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x12, - 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x07, 0x62, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x07, 0x62, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x45, - 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x48, 0x00, 0x52, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0xac, 0x03, 0x0a, 0x06, 0x42, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x4a, 0x0a, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x52, - 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x56, 0x0a, 0x0e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, - 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x4e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x6e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x44, 0x0a, - 0x0e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x73, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, - 0x73, 0x6f, 0x6e, 0x1a, 0x2e, 0x0a, 0x0a, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x65, 0x78, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, - 0x65, 0x78, 0x74, 0x22, 0x32, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x50, - 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, - 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x22, 0x60, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x01, 0x12, 0x08, 0x0a, - 0x04, 0x54, 0x45, 0x58, 0x54, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x4f, 0x43, 0x55, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x04, - 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x4c, - 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x42, 0x08, 0x0a, 0x06, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x22, 0x8b, 0x09, 0x0a, 0x12, 0x42, 0x6f, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, - 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, - 0x12, 0x40, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x46, 0x65, 0x65, - 0x64, 0x62, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x6f, 0x74, - 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6b, 0x69, 0x6e, 0x64, 0x4e, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6b, 0x69, - 0x6e, 0x64, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6b, 0x69, - 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x6b, 0x69, 0x6e, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x22, 0x4d, - 0x0a, 0x1f, 0x42, 0x6f, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x4b, 0x69, 0x6e, - 0x64, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, - 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, - 0x4b, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x01, 0x22, 0xcb, 0x03, - 0x0a, 0x1f, 0x42, 0x6f, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x4b, 0x69, 0x6e, - 0x64, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, - 0x4b, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x01, 0x12, 0x2a, 0x0a, - 0x26, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x55, - 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, - 0x48, 0x45, 0x4c, 0x50, 0x46, 0x55, 0x4c, 0x10, 0x02, 0x12, 0x2e, 0x0a, 0x2a, 0x42, 0x4f, 0x54, - 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, - 0x4c, 0x45, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, - 0x52, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x4f, 0x54, - 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, - 0x4c, 0x45, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x55, - 0x52, 0x41, 0x54, 0x45, 0x10, 0x08, 0x12, 0x27, 0x0a, 0x23, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, - 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, - 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x10, 0x10, 0x12, - 0x28, 0x0a, 0x24, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, - 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, - 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x20, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x4f, 0x54, - 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, - 0x4c, 0x45, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x55, - 0x53, 0x45, 0x44, 0x10, 0x40, 0x12, 0x3a, 0x0a, 0x35, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, - 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x4e, - 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x56, 0x49, 0x53, 0x55, - 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x45, 0x41, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x80, - 0x01, 0x12, 0x38, 0x0a, 0x33, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, - 0x4b, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x56, 0x41, 0x4e, 0x54, - 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x80, 0x02, 0x22, 0x83, 0x03, 0x0a, 0x0f, - 0x42, 0x6f, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x4b, 0x69, 0x6e, 0x64, 0x12, - 0x19, 0x0a, 0x15, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, - 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x42, 0x4f, - 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x01, 0x12, 0x21, 0x0a, - 0x1d, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x45, - 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x48, 0x45, 0x4c, 0x50, 0x46, 0x55, 0x4c, 0x10, 0x02, - 0x12, 0x25, 0x0a, 0x21, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, - 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x45, - 0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x4f, 0x54, 0x5f, 0x46, - 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, - 0x5f, 0x41, 0x43, 0x43, 0x55, 0x52, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x42, - 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x45, 0x47, 0x41, - 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x41, 0x46, 0x45, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x42, - 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x45, 0x47, 0x41, - 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x06, 0x12, 0x21, 0x0a, 0x1d, - 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4e, 0x45, 0x47, - 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x53, 0x45, 0x44, 0x10, 0x07, 0x12, - 0x30, 0x0a, 0x2c, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, - 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x56, 0x49, 0x53, - 0x55, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x41, 0x50, 0x50, 0x45, 0x41, 0x4c, 0x49, 0x4e, 0x47, 0x10, - 0x08, 0x12, 0x2e, 0x0a, 0x2a, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, - 0x4b, 0x5f, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, - 0x45, 0x4c, 0x45, 0x56, 0x41, 0x4e, 0x54, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, - 0x09, 0x22, 0xd4, 0x01, 0x0a, 0x0c, 0x42, 0x43, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x3e, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, - 0x43, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2e, 0x0a, 0x09, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x01, 0x12, 0x09, 0x0a, - 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x22, 0xfd, 0x03, 0x0a, 0x0c, 0x41, 0x75, 0x64, - 0x69, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, - 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, - 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, - 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x74, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, - 0x70, 0x74, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, - 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, - 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, - 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, - 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, - 0x67, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x76, 0x65, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x77, 0x61, 0x76, 0x65, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, - 0x6e, 0x64, 0x41, 0x72, 0x67, 0x62, 0x18, 0x14, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x62, 0x61, - 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x72, 0x67, 0x62, 0x12, 0x1a, 0x0a, 0x08, - 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x6b, - 0x65, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, - 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x37, - 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, - 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0x45, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, - 0x2d, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0x4d, - 0x0a, 0x16, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x49, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, - 0x4b, 0x65, 0x79, 0x49, 0x64, 0x52, 0x06, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x22, 0x29, 0x0a, - 0x11, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, - 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x1a, 0x41, 0x70, 0x70, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x77, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x61, 0x77, 0x49, 0x64, 0x12, 0x22, 0x0a, - 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x28, 0x0a, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x13, - 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, - 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x46, 0x69, 0x6e, - 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x22, 0x6c, 0x0a, 0x22, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, - 0x61, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x22, 0x74, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, - 0x0f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, - 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x67, 0x72, 0x65, - 0x65, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x10, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x39, 0x0a, 0x0f, 0x70, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x74, - 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0f, 0x70, 0x6f, 0x6c, - 0x79, 0x67, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x74, 0x69, 0x63, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x16, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x53, 0x6b, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x53, 0x6b, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, - 0x74, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x4e, - 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, - 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x06, 0x0a, - 0x16, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x67, 0x0a, - 0x10, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x09, 0x75, 0x72, 0x6c, 0x42, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x48, 0x79, 0x64, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x55, 0x52, 0x4c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x09, 0x75, 0x72, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x0a, 0x63, 0x61, - 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, - 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x1a, 0xaf, 0x02, 0x0a, 0x11, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x55, 0x52, - 0x4c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x63, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x72, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x65, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x7c, 0x0a, 0x13, 0x77, 0x65, 0x62, - 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x55, 0x52, 0x4c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x57, 0x65, 0x62, 0x76, 0x69, - 0x65, 0x77, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x13, 0x77, 0x65, 0x62, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x65, 0x73, 0x65, - 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x17, 0x57, 0x65, 0x62, 0x76, 0x69, - 0x65, 0x77, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, - 0x54, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x43, - 0x54, 0x10, 0x03, 0x1a, 0x4c, 0x0a, 0x18, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x51, - 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, - 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x1a, 0x58, 0x0a, 0x12, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x61, 0x6c, - 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x68, 0x6f, - 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x68, - 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, - 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4a, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x89, 0x03, - 0x0a, 0x10, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, - 0x64, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, - 0x65, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x3c, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, - 0x6f, 0x64, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, - 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4a, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x4a, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, - 0x64, 0x42, 0x79, 0x4d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x4d, 0x65, 0x22, 0x4e, 0x0a, 0x07, 0x54, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, - 0x4e, 0x47, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, - 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x55, 0x4c, - 0x4b, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x03, 0x22, 0x4d, 0x0a, 0x09, 0x49, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x48, 0x41, 0x4e, 0x47, - 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, - 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x4d, 0x45, 0x10, - 0x01, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x42, - 0x59, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x22, 0xc0, 0x03, 0x0a, 0x12, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x48, 0x61, 0x73, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, - 0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0f, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x2e, 0x0a, 0x10, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x01, 0x52, 0x10, - 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, - 0x12, 0x49, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x44, 0x56, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4d, 0x0a, 0x13, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x44, 0x56, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, - 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x4b, - 0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x12, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x34, 0x0a, 0x13, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x0a, 0x20, - 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x01, 0x52, 0x13, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, - 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x22, 0x9c, 0x16, 0x0a, - 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x73, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0d, 0x71, 0x75, - 0x6f, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x69, - 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x4a, 0x69, - 0x64, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, - 0x65, 0x64, 0x4a, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x16, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, - 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x12, 0x3d, 0x0a, - 0x08, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x41, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x08, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x64, 0x41, 0x64, 0x12, 0x3c, 0x0a, 0x0e, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x19, 0x65, 0x70, - 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x65, - 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x34, 0x0a, 0x15, 0x65, 0x70, 0x68, 0x65, - 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, - 0x61, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x53, - 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x3e, 0x0a, 0x1a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x70, 0x70, 0x18, 0x1e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x70, 0x70, 0x12, 0x4a, 0x0a, - 0x20, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, - 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x64, 0x69, 0x73, - 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x20, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, - 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, - 0x10, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x18, - 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x0a, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4a, 0x69, 0x64, 0x18, 0x23, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4a, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x42, 0x61, 0x6e, 0x6e, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, - 0x75, 0x73, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, - 0x11, 0x74, 0x72, 0x75, 0x73, 0x74, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x72, 0x75, 0x73, 0x74, 0x42, - 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, - 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x69, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x03, 0x75, 0x74, 0x6d, 0x18, 0x29, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x54, 0x4d, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x03, 0x75, 0x74, 0x6d, 0x12, 0x70, 0x0a, 0x1e, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x65, 0x64, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x65, 0x64, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x1e, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x65, 0x64, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x70, 0x0a, 0x1a, 0x62, 0x75, - 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x1a, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x13, - 0x73, 0x6d, 0x62, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, - 0x6e, 0x49, 0x64, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x6d, 0x62, 0x43, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x30, - 0x0a, 0x13, 0x73, 0x6d, 0x62, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x61, - 0x69, 0x67, 0x6e, 0x49, 0x64, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x6d, 0x62, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, - 0x12, 0x58, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, - 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x49, 0x0a, 0x07, 0x55, 0x54, - 0x4d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x74, 0x6d, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x74, 0x6d, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x74, 0x6d, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, - 0x67, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x74, 0x6d, 0x43, 0x61, 0x6d, - 0x70, 0x61, 0x69, 0x67, 0x6e, 0x1a, 0xb7, 0x04, 0x0a, 0x13, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x51, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x68, - 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, - 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, - 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, - 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, - 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x41, 0x75, - 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x12, 0x34, 0x0a, 0x15, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x72, - 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x15, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x54, 0x68, 0x75, - 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x77, 0x41, 0x64, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x73, 0x68, 0x6f, 0x77, 0x41, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x74, 0x77, 0x61, 0x43, 0x6c, 0x69, 0x64, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x74, 0x77, 0x61, 0x43, 0x6c, 0x69, 0x64, - 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x72, - 0x65, 0x66, 0x22, 0x2b, 0x0a, 0x09, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, - 0x47, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x1a, - 0x40, 0x0a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x53, 0x68, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x77, 0x4d, 0x6d, 0x44, - 0x69, 0x73, 0x63, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x10, 0x73, 0x68, 0x6f, 0x77, 0x4d, 0x6d, 0x44, 0x69, 0x73, 0x63, 0x6c, 0x6f, 0x73, 0x75, 0x72, - 0x65, 0x1a, 0x48, 0x0a, 0x1a, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x2a, 0x0a, 0x10, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x72, - 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x75, 0x73, 0x69, 0x6e, - 0x65, 0x73, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x1a, 0xed, 0x01, 0x0a, 0x0b, - 0x41, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x61, - 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x64, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, - 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, - 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2b, - 0x0a, 0x09, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, - 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x01, - 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x02, 0x22, 0xd9, 0x02, 0x0a, 0x1e, - 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, - 0x74, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, - 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, - 0x72, 0x4a, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x26, - 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, - 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, - 0x0a, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, - 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x65, 0x78, 0x74, 0x22, 0x39, 0x0a, 0x0b, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x55, - 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x50, 0x44, 0x41, 0x54, - 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x49, 0x4e, 0x4b, - 0x5f, 0x43, 0x41, 0x52, 0x44, 0x10, 0x03, 0x22, 0x7a, 0x0a, 0x1a, 0x42, 0x6f, 0x74, 0x53, 0x75, - 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x10, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, - 0x73, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, - 0x6d, 0x70, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x22, 0xa0, 0x03, 0x0a, 0x11, 0x42, 0x6f, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x42, 0x6f, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, - 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x43, 0x64, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x43, 0x64, 0x6e, - 0x55, 0x72, 0x6c, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x68, - 0x6f, 0x74, 0x6f, 0x43, 0x64, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x12, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x43, 0x64, 0x6e, - 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x72, - 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x26, 0x0a, 0x0e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x08, 0x0a, 0x04, 0x42, - 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, - 0x02, 0x22, 0x23, 0x0a, 0x0a, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x09, 0x0a, 0x05, 0x52, 0x45, 0x45, 0x4c, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, - 0x41, 0x52, 0x43, 0x48, 0x10, 0x02, 0x22, 0x95, 0x02, 0x0a, 0x0b, 0x42, 0x6f, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x41, 0x76, 0x61, - 0x74, 0x61, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x61, 0x76, 0x61, - 0x74, 0x61, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x70, - 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x74, - 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0e, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, - 0x0a, 0x17, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x70, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x53, 0x75, - 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x17, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xab, - 0x01, 0x0a, 0x11, 0x42, 0x6f, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x12, 0x1c, - 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x40, 0x0a, 0x0a, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, - 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x9e, - 0x05, 0x0a, 0x0e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x57, 0x0a, 0x10, 0x71, 0x75, 0x69, 0x63, 0x6b, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x51, 0x75, 0x69, 0x63, - 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, - 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, - 0x12, 0x42, 0x0a, 0x09, 0x75, 0x72, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x2e, 0x55, 0x52, - 0x4c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x75, 0x72, 0x6c, 0x42, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x1a, 0x85, 0x01, 0x0a, 0x09, - 0x55, 0x52, 0x4c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x33, - 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x03, - 0x75, 0x72, 0x6c, 0x1a, 0x67, 0x0a, 0x10, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x96, 0x01, 0x0a, - 0x0a, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0b, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, - 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, - 0x12, 0x43, 0x0a, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, - 0x67, 0x0a, 0x05, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x78, 0x44, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x78, - 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x79, 0x44, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x79, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x0c, 0x0a, 0x01, - 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x01, 0x79, 0x22, 0xd0, 0x04, 0x0a, 0x11, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x14, - 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x41, 0x72, 0x67, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x07, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x41, 0x72, - 0x67, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x67, 0x62, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x08, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x67, 0x62, 0x12, 0x20, - 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x67, 0x62, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x67, 0x62, - 0x12, 0x43, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xbb, 0x01, 0x0a, 0x09, - 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, - 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, - 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, - 0x32, 0x35, 0x36, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, - 0x61, 0x32, 0x35, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, - 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0x20, 0x0a, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x22, 0x59, 0x0a, 0x05, 0x4d, - 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x9c, 0x28, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x1c, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, - 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x1c, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, - 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x43, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, - 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x43, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x61, - 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x75, 0x64, - 0x69, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x6f, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, - 0x6c, 0x52, 0x04, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x12, 0x43, 0x0a, 0x0f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x52, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x41, 0x72, 0x72, 0x61, - 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, - 0x74, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x14, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x5b, 0x0a, 0x17, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x17, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x79, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x86, 0x01, 0x0a, 0x2a, 0x66, 0x61, 0x73, 0x74, 0x52, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x74, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x2a, - 0x66, 0x61, 0x73, 0x74, 0x52, 0x61, 0x74, 0x63, 0x68, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x53, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x73, 0x65, - 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x12, 0x73, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x6c, 0x69, 0x76, 0x65, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x13, 0x6c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x15, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x6a, 0x0a, 0x1c, 0x64, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1c, - 0x64, 0x65, 0x63, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x67, 0x0a, 0x1b, - 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x43, 0x0a, 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x1a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x12, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x64, 0x0a, 0x1a, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x1a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x40, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x49, 0x0a, 0x11, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x11, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, - 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0b, 0x6c, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x0f, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, - 0x72, 0x6f, 0x6f, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x76, 0x69, 0x65, - 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x0c, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x26, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x10, 0x65, 0x70, 0x68, - 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x28, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, - 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x10, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x16, 0x62, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x62, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x52, 0x0a, 0x14, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x14, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x12, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x43, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x15, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x72, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x6d, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x4d, - 0x52, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x72, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x6d, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x64, 0x0a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x30, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x13, 0x70, 0x6f, 0x6c, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x31, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, - 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x13, 0x70, 0x6f, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x49, 0x0a, 0x11, 0x70, 0x6f, 0x6c, 0x6c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x6c, - 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x11, - 0x70, 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x49, 0x0a, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x49, 0x6e, 0x43, 0x68, - 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x49, - 0x6e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5c, 0x0a, 0x1a, - 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x43, 0x61, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x74, 0x75, - 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1a, - 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x43, 0x61, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x19, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, - 0x11, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x56, 0x32, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x11, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x32, 0x12, 0x4c, 0x0a, 0x12, 0x65, 0x6e, 0x63, - 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x45, 0x6e, 0x63, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x12, 0x65, 0x6e, 0x63, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x65, 0x64, 0x69, 0x74, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, - 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x65, 0x64, - 0x69, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5c, 0x0a, 0x1a, 0x76, - 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x32, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, - 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1a, 0x76, - 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x32, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x15, 0x70, 0x6f, 0x6c, - 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x56, 0x32, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x70, 0x6f, 0x6c, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x32, 0x12, 0x6a, - 0x0a, 0x1c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x3d, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1c, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x15, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x46, - 0x0a, 0x10, 0x70, 0x69, 0x6e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x69, 0x6e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x70, 0x69, 0x6e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x15, 0x70, 0x6f, 0x6c, 0x6c, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x33, 0x18, - 0x40, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x70, 0x6f, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x33, 0x12, 0x5e, 0x0a, 0x18, 0x73, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x64, 0x69, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x18, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, - 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x0a, 0x70, - 0x74, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x70, 0x74, 0x76, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x10, 0x62, 0x6f, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, - 0x72, 0x6f, 0x6f, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x10, 0x62, 0x6f, 0x74, - 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, - 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x52, 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x52, 0x0a, 0x14, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, - 0x14, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x11, 0x65, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x63, 0x43, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x11, 0x65, - 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x63, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x42, 0x43, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, - 0x62, 0x63, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x50, 0x0a, 0x14, - 0x6c, 0x6f, 0x74, 0x74, 0x69, 0x65, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x74, 0x75, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x6f, - 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x14, 0x6c, 0x6f, 0x74, 0x74, 0x69, 0x65, - 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, - 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x4b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5b, 0x0a, 0x17, 0x65, 0x6e, - 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x17, - 0x65, 0x6e, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6a, 0x0a, 0x1c, 0x6e, 0x65, 0x77, - 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, - 0x65, 0x74, 0x74, 0x65, 0x72, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1c, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, - 0x74, 0x65, 0x72, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x66, 0x0a, 0x14, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, 0x63, 0x49, 0x76, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x65, 0x6e, 0x63, 0x49, 0x76, 0x12, 0x1e, 0x0a, - 0x0a, 0x65, 0x6e, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xc5, 0x03, - 0x0a, 0x12, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x12, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x19, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, - 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x70, 0x61, - 0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x1a, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x53, 0x65, 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x53, 0x65, 0x63, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x6f, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x62, 0x6f, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x62, 0x6f, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x0b, 0x62, 0x6f, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x34, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x07, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6d, 0x65, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, - 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, - 0x61, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x69, 0x66, 0x50, 0x6c, 0x61, 0x79, 0x62, - 0x61, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x67, 0x69, 0x66, 0x50, 0x6c, - 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, - 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x57, 0x0a, 0x16, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, - 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, - 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, - 0x69, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, - 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, - 0x65, 0x63, 0x61, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x12, 0x4a, 0x0a, 0x0e, - 0x67, 0x69, 0x66, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x67, 0x69, 0x66, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, 0x65, 0x77, - 0x4f, 0x6e, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, - 0x4f, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, - 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x13, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, - 0x61, 0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0f, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x12, 0x2e, 0x0a, 0x12, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45, 0x6e, 0x63, - 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x74, 0x68, - 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x55, 0x72, 0x6c, 0x18, 0x18, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x55, 0x72, 0x6c, 0x12, 0x41, - 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x2d, 0x0a, 0x0b, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x49, - 0x50, 0x48, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x45, 0x4e, 0x4f, 0x52, 0x10, 0x02, - 0x22, 0xd8, 0x0c, 0x0a, 0x0f, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, - 0x10, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x75, 0x72, 0x52, - 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x10, 0x68, 0x79, 0x64, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x55, 0x0a, 0x0f, - 0x66, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x46, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x48, 0x00, 0x52, 0x0f, 0x66, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x12, 0x6d, 0x0a, 0x17, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, - 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, - 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x17, 0x68, 0x79, 0x64, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x46, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x1a, 0xaa, 0x04, 0x0a, 0x17, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, - 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x30, - 0x0a, 0x13, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x54, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x68, 0x79, 0x64, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, - 0x12, 0x2e, 0x0a, 0x12, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6f, 0x74, - 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x68, 0x79, - 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, - 0x12, 0x4a, 0x0a, 0x0f, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x0f, 0x68, 0x79, 0x64, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x0f, - 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x11, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, - 0x69, 0x74, 0x6c, 0x65, 0x54, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x11, 0x68, 0x79, 0x64, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x54, - 0x65, 0x78, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, - 0x00, 0x52, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x45, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x1a, - 0xaf, 0x04, 0x0a, 0x0f, 0x46, 0x6f, 0x75, 0x72, 0x52, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x12, 0x39, 0x0a, 0x06, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, - 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x06, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x62, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x12, - 0x45, 0x0a, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5d, 0x0a, 0x17, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x79, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x17, 0x68, 0x69, - 0x67, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x48, 0x00, 0x52, 0x0c, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x42, 0x08, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x8b, 0x02, 0x0a, 0x1a, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, 0x0b, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3c, 0x0a, 0x19, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x6f, 0x75, 0x73, 0x65, 0x6c, 0x43, - 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x6f, 0x75, 0x73, 0x65, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x7d, 0x0a, 0x15, 0x53, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x72, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x4d, 0x52, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1c, - 0x0a, 0x09, 0x72, 0x6d, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x72, 0x6d, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x10, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x93, 0x05, 0x0a, 0x0e, 0x53, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1e, 0x0a, - 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x24, 0x0a, - 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, - 0x32, 0x35, 0x36, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, - 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, - 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x46, 0x72, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, - 0x65, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x64, 0x65, 0x63, 0x61, - 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x65, - 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6e, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, - 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x70, 0x6e, 0x67, 0x54, 0x68, 0x75, 0x6d, - 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, - 0x0a, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x74, 0x54, 0x73, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x53, 0x65, - 0x6e, 0x74, 0x54, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x41, 0x69, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x69, 0x53, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x74, 0x74, 0x69, 0x65, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x74, 0x74, 0x69, 0x65, 0x22, 0x8a, - 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x23, 0x61, 0x78, 0x6f, - 0x6c, 0x6f, 0x74, 0x6c, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x23, 0x61, 0x78, 0x6f, 0x6c, 0x6f, 0x74, 0x6c, 0x53, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x12, - 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x33, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6e, 0x6f, 0x74, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x0a, 0x62, - 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x0a, 0x62, 0x61, - 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0xb0, 0x01, 0x0a, 0x18, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, - 0x08, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x65, 0x64, - 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x23, 0x0a, 0x08, 0x45, 0x64, 0x69, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, - 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x01, 0x22, 0xe4, 0x01, 0x0a, 0x1c, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x14, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x4d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, - 0x12, 0x4b, 0x0a, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x22, 0x2d, 0x0a, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, - 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, - 0x10, 0x02, 0x22, 0xab, 0x01, 0x0a, 0x1d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x65, - 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x68, 0x61, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, - 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x22, 0x2a, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x68, 0x61, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, - 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x4e, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x01, - 0x22, 0x54, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd0, 0x02, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x33, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x6e, 0x6f, 0x74, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x73, 0x6f, 0x34, 0x32, 0x31, 0x37, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, - 0x49, 0x73, 0x6f, 0x34, 0x32, 0x31, 0x37, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x31, 0x30, 0x30, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, - 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0a, - 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x0a, 0x62, - 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x52, 0x65, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x22, 0xd3, 0x0e, 0x0a, 0x0f, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x65, 0x70, 0x68, - 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, - 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x19, 0x65, - 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, - 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x5b, 0x0a, 0x17, 0x68, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, - 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x68, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x52, 0x14, 0x61, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, - 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x58, 0x0a, 0x16, 0x61, 0x70, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, - 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x16, 0x61, 0x70, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x88, 0x01, 0x0a, 0x26, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x26, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x6e, 0x63, 0x12, - 0x7c, 0x0a, 0x22, 0x61, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x61, 0x74, 0x61, 0x6c, - 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x70, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, - 0x61, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x22, 0x61, 0x70, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x46, 0x61, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, - 0x10, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, - 0x6f, 0x64, 0x65, 0x52, 0x10, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, - 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x0d, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, - 0x12, 0x73, 0x0a, 0x1f, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x1f, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x27, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, - 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x27, 0x70, 0x65, 0x65, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x62, 0x6f, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, - 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x46, 0x65, - 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x12, 0x62, - 0x6f, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x4a, 0x69, - 0x64, 0x12, 0x6d, 0x0a, 0x1d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x65, 0x6c, 0x63, - 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, - 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x1d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x22, 0xdc, 0x03, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x56, - 0x4f, 0x4b, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x50, 0x48, 0x45, 0x4d, 0x45, 0x52, - 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, - 0x45, 0x50, 0x48, 0x45, 0x4d, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x52, - 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x49, 0x53, - 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x50, 0x50, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x53, - 0x48, 0x41, 0x52, 0x45, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x50, 0x50, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x51, - 0x55, 0x45, 0x53, 0x54, 0x10, 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x53, 0x47, 0x5f, 0x46, 0x41, - 0x4e, 0x4f, 0x55, 0x54, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x46, 0x49, 0x4c, 0x4c, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x08, 0x12, 0x2e, 0x0a, 0x2a, 0x49, 0x4e, 0x49, 0x54, 0x49, - 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x49, - 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, - 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x09, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x50, 0x50, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x10, 0x0a, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x50, 0x48, 0x4f, - 0x4e, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, 0x0e, 0x12, 0x27, 0x0a, - 0x23, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x10, 0x10, 0x12, 0x30, 0x0a, 0x2c, 0x50, 0x45, 0x45, 0x52, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x11, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x51, 0x55, - 0x45, 0x53, 0x54, 0x5f, 0x57, 0x45, 0x4c, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x10, 0x12, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4f, 0x54, 0x5f, 0x46, 0x45, 0x45, - 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x13, 0x22, - 0xdb, 0x06, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, - 0x73, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x4a, - 0x69, 0x64, 0x12, 0x42, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, - 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x07, 0x63, - 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, - 0x6f, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x6f, 0x74, - 0x65, 0x72, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0xa7, 0x03, 0x0a, 0x0f, - 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, - 0x3a, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x12, - 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, - 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x22, 0x0a, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x61, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x13, 0x73, 0x61, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x31, 0x30, 0x30, 0x30, 0x1a, 0x85, 0x01, 0x0a, 0x0f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, - 0x67, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x61, 0x74, - 0x61, 0x6c, 0x6f, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3b, 0x0a, - 0x0f, 0x50, 0x6f, 0x6c, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x11, 0x50, - 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x4c, 0x0a, 0x16, 0x70, 0x6f, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x16, 0x70, 0x6f, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x2a, - 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x45, 0x6e, 0x63, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x11, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x50, 0x6f, 0x6c, - 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x44, 0x0a, 0x0c, 0x50, 0x6f, 0x6c, 0x6c, 0x45, 0x6e, - 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, 0x63, 0x49, 0x76, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x65, 0x6e, 0x63, 0x49, 0x76, 0x22, 0x9c, 0x02, 0x0a, - 0x13, 0x50, 0x6f, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x65, 0x6e, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x3e, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x6c, - 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x36, 0x0a, 0x16, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x16, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x1a, 0x28, 0x0a, 0x06, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x10, - 0x50, 0x69, 0x6e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x50, 0x69, 0x6e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, - 0x11, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x4d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x22, 0x3c, 0x0a, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x49, 0x4e, 0x5f, 0x46, 0x4f, 0x52, - 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x50, 0x49, 0x4e, 0x5f, - 0x46, 0x4f, 0x52, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x22, 0xad, 0x0c, 0x0a, 0x27, 0x50, 0x65, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6a, 0x0a, 0x1c, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x1c, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x49, 0x64, 0x12, 0x83, 0x01, - 0x0a, 0x17, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x49, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x17, 0x70, 0x65, 0x65, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x1a, 0xf3, 0x09, 0x0a, 0x17, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x59, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x74, 0x72, 0x79, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x8f, 0x01, 0x0a, - 0x13, 0x6c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x65, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x13, 0x6c, 0x69, 0x6e, 0x6b, 0x50, - 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb6, - 0x01, 0x0a, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6a, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x65, 0x65, - 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, - 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x54, 0x0a, 0x20, 0x50, 0x6c, 0x61, 0x63, 0x65, - 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x77, - 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x77, 0x65, 0x62, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x99, 0x05, - 0x0a, 0x13, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, - 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x72, - 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x65, 0x78, 0x74, 0x12, - 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x0b, 0x68, 0x71, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, - 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x7d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x48, 0x69, 0x67, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x68, 0x75, - 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x52, 0x0b, 0x68, 0x71, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, - 0x61, 0x69, 0x6c, 0x1a, 0x93, 0x02, 0x0a, 0x1f, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x72, 0x65, 0x76, - 0x69, 0x65, 0x77, 0x48, 0x69, 0x67, 0x68, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x68, - 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, - 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, - 0x62, 0x48, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x54, 0x68, 0x75, 0x6d, - 0x62, 0x48, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x63, - 0x54, 0x68, 0x75, 0x6d, 0x62, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x13, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, - 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x13, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x68, 0x75, 0x6d, 0x62, - 0x57, 0x69, 0x64, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x68, 0x75, - 0x6d, 0x62, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x68, 0x75, 0x6d, 0x62, - 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x68, - 0x75, 0x6d, 0x62, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xde, 0x08, 0x0a, 0x1f, 0x50, 0x65, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6a, 0x0a, - 0x1c, 0x70, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, - 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x1c, 0x70, 0x65, 0x65, - 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x78, 0x0a, 0x16, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x75, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x72, 0x52, 0x65, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x16, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x75, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x12, 0x69, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x55, 0x72, - 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, - 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x55, 0x72, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x11, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x84, - 0x01, 0x0a, 0x1a, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x6e, - 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, - 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, - 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x1a, 0x68, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x93, 0x01, 0x0a, 0x1f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, - 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x65, - 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x49, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, - 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x1f, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x55, 0x0a, 0x11, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x72, 0x6c, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x71, 0x54, - 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x71, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, - 0x69, 0x6c, 0x1a, 0x38, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x69, - 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x1a, 0x57, 0x0a, 0x1f, - 0x50, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x34, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4b, 0x65, 0x79, 0x1a, 0xe2, 0x01, 0x0a, 0x1a, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x69, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x49, 0x64, - 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x46, 0x72, 0x6f, - 0x6d, 0x4d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6f, 0x6c, 0x64, 0x65, 0x73, - 0x74, 0x4d, 0x73, 0x67, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x6e, - 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x4d, 0x73, - 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, - 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x14, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x38, 0x0a, 0x0b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x42, 0x50, 0x41, 0x59, - 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x56, 0x49, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, - 0x55, 0x50, 0x49, 0x10, 0x03, 0x22, 0xa7, 0x05, 0x0a, 0x0c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x1c, - 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x73, 0x75, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x07, - 0x73, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x74, 0x6c, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x12, - 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, - 0x0a, 0x15, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x15, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x0c, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x41, - 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x10, 0x01, 0x22, 0x36, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x51, 0x55, 0x49, 0x52, - 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x22, - 0xd8, 0x01, 0x0a, 0x1c, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x41, 0x64, - 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4a, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, - 0x74, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, - 0x74, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, - 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, - 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, - 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x02, 0x0a, 0x14, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x66, - 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, - 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0xd2, 0x03, 0x0a, - 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x67, 0x72, 0x65, - 0x65, 0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, - 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x6f, 0x6e, - 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x12, 0x2a, - 0x0a, 0x10, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, - 0x63, 0x79, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x70, - 0x65, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, - 0x73, 0x70, 0x65, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x70, 0x73, 0x12, 0x4c, 0x0a, 0x21, 0x64, 0x65, - 0x67, 0x72, 0x65, 0x65, 0x73, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x69, 0x73, 0x65, 0x46, 0x72, - 0x6f, 0x6d, 0x4d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x21, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x43, 0x6c, - 0x6f, 0x63, 0x6b, 0x77, 0x69, 0x73, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x61, 0x67, 0x6e, 0x65, - 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, - 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, - 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0xc6, 0x03, 0x0a, 0x13, 0x4c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x67, - 0x72, 0x65, 0x65, 0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x61, 0x74, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x6f, - 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x64, - 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, - 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x49, 0x6e, 0x4d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x63, 0x63, 0x75, 0x72, - 0x61, 0x63, 0x79, 0x49, 0x6e, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, - 0x70, 0x65, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x70, 0x73, 0x12, 0x4c, 0x0a, 0x21, 0x64, - 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x69, 0x73, 0x65, 0x46, - 0x72, 0x6f, 0x6d, 0x4d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x72, 0x74, 0x68, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x21, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x73, 0x43, - 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x69, 0x73, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x61, 0x67, 0x6e, - 0x65, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x61, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x74, - 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6a, - 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, - 0x6c, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x90, 0x03, 0x0a, 0x13, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5d, 0x0a, 0x11, - 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6c, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x37, 0x0a, 0x0b, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x11, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x49, - 0x64, 0x22, 0x2a, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, - 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x49, - 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x01, 0x22, 0xb3, 0x08, - 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x54, - 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0f, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x72, 0x6f, - 0x64, 0x75, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, - 0x0a, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x12, 0x37, 0x0a, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x4e, 0x0a, 0x07, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x6f, 0x77, - 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x53, 0x0a, 0x03, 0x52, 0x6f, 0x77, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, - 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x6f, 0x77, 0x49, 0x64, 0x1a, 0x27, 0x0a, 0x07, 0x50, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x49, 0x64, 0x1a, 0x61, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x08, - 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x1a, 0xdd, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x0f, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x74, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0b, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x62, - 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x1a, 0x5c, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, - 0x24, 0x0a, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, - 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x22, 0x3c, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, - 0x0a, 0x0d, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, - 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x4c, 0x49, 0x53, - 0x54, 0x10, 0x02, 0x22, 0x8d, 0x01, 0x0a, 0x11, 0x4b, 0x65, 0x65, 0x70, 0x49, 0x6e, 0x43, 0x68, - 0x61, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x2e, 0x0a, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, - 0x65, 0x65, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x4d, 0x73, 0x22, 0xaf, 0x04, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x4f, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4d, - 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, - 0x79, 0x12, 0x40, 0x0a, 0x1b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, - 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x38, 0x0a, 0x17, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, - 0x35, 0x36, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, - 0x36, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x17, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x4a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x17, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x4a, 0x70, 0x65, 0x67, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x22, - 0x24, 0x0a, 0x0e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, - 0x50, 0x44, 0x46, 0x10, 0x01, 0x22, 0xad, 0x04, 0x0a, 0x1a, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, - 0x6f, 0x64, 0x79, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x7e, 0x0a, 0x19, - 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, - 0x00, 0x52, 0x19, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x69, 0x0a, 0x19, - 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x8d, 0x01, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x65, 0x78, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x2e, - 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x27, - 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, - 0x4f, 0x4e, 0x53, 0x5f, 0x31, 0x10, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4c, 0x0a, 0x10, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, - 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x08, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x10, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x22, 0x49, 0x0a, 0x11, 0x57, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x70, 0x65, 0x72, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0xd5, - 0x02, 0x0a, 0x0f, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, - 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, - 0x61, 0x32, 0x35, 0x36, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, - 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, - 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x74, 0x54, 0x73, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x53, 0x65, 0x6e, 0x74, 0x54, 0x73, 0x22, 0x36, 0x0a, 0x08, 0x50, 0x75, 0x73, 0x68, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x73, 0x68, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x47, - 0x0a, 0x17, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x6f, 0x4c, - 0x49, 0x44, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6e, 0x4a, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6e, 0x4a, 0x69, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x64, 0x4a, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6c, 0x69, 0x64, 0x4a, 0x69, 0x64, 0x22, 0x75, 0x0a, 0x10, 0x50, 0x61, 0x73, 0x74, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x4a, 0x69, 0x64, 0x12, 0x45, 0x0a, 0x10, 0x70, 0x61, 0x73, 0x74, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x73, - 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x10, 0x70, 0x61, - 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0xb4, - 0x01, 0x0a, 0x0f, 0x50, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x0b, - 0x6c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x25, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x73, - 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x2e, 0x4c, 0x65, 0x61, - 0x76, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0b, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x54, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x54, 0x73, 0x22, - 0x24, 0x0a, 0x0b, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x08, - 0x0a, 0x04, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x4d, 0x4f, - 0x56, 0x45, 0x44, 0x10, 0x01, 0x22, 0x8c, 0x02, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x26, - 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, - 0x69, 0x62, 0x72, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x6f, 0x70, 0x75, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3a, - 0x0a, 0x18, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x18, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x75, 0x74, - 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x56, 0x69, 0x62, 0x72, 0x61, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x56, 0x69, 0x62, - 0x72, 0x61, 0x74, 0x65, 0x22, 0xb3, 0x08, 0x0a, 0x0b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x53, 0x79, 0x6e, 0x63, 0x12, 0x41, 0x0a, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x2e, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, - 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, - 0x33, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x56, 0x33, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, - 0x68, 0x75, 0x6e, 0x6b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x09, 0x70, 0x75, 0x73, 0x68, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, - 0x70, 0x75, 0x73, 0x68, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0e, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x74, - 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, 0x64, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x74, - 0x68, 0x72, 0x65, 0x61, 0x64, 0x44, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x66, 0x72, 0x61, 0x6d, 0x65, - 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x74, 0x68, - 0x72, 0x65, 0x61, 0x64, 0x44, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x41, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x70, 0x61, 0x73, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, - 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x10, - 0x70, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, - 0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x52, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x61, 0x69, 0x57, 0x61, 0x69, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, - 0x63, 0x2e, 0x42, 0x6f, 0x74, 0x41, 0x49, 0x57, 0x61, 0x69, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x61, 0x69, 0x57, 0x61, 0x69, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x5d, 0x0a, 0x18, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x54, 0x6f, 0x4c, 0x69, 0x64, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x6f, - 0x4c, 0x49, 0x44, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x18, 0x70, 0x68, 0x6f, 0x6e, - 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x54, 0x6f, 0x4c, 0x69, 0x64, 0x4d, 0x61, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x0f, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x53, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x49, 0x54, - 0x49, 0x41, 0x4c, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x53, 0x54, 0x52, 0x41, 0x50, 0x10, 0x00, 0x12, - 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x56, 0x33, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02, - 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x43, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, - 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x4e, - 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x54, 0x41, - 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4d, 0x41, 0x4e, 0x44, 0x10, - 0x06, 0x22, 0x37, 0x0a, 0x12, 0x42, 0x6f, 0x74, 0x41, 0x49, 0x57, 0x61, 0x69, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x57, 0x41, - 0x49, 0x54, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x49, 0x5f, 0x41, - 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x22, 0x64, 0x0a, 0x0e, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x4d, 0x73, 0x67, 0x12, 0x32, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x73, 0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6d, 0x73, 0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, - 0x22, 0x91, 0x01, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4a, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x12, - 0x33, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x04, - 0x72, 0x61, 0x6e, 0x6b, 0x22, 0x2e, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x0b, 0x0a, 0x07, - 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, 0x4d, - 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x55, 0x50, 0x45, 0x52, 0x41, 0x44, 0x4d, - 0x49, 0x4e, 0x10, 0x02, 0x22, 0xe1, 0x09, 0x0a, 0x0e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x13, 0x6c, 0x69, 0x67, 0x68, 0x74, - 0x54, 0x68, 0x65, 0x6d, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x70, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x57, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x70, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x13, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x57, 0x61, 0x6c, - 0x6c, 0x70, 0x61, 0x70, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x56, - 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x12, 0x64, - 0x61, 0x72, 0x6b, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x70, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x70, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x52, 0x12, 0x64, 0x61, 0x72, 0x6b, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x57, - 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x70, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x6f, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x57, 0x69, 0x46, 0x69, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x75, - 0x74, 0x6f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x57, 0x69, 0x46, 0x69, 0x12, 0x52, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x75, - 0x74, 0x6f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x52, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x12, 0x50, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x6f, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x6f, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x22, 0x73, 0x68, - 0x6f, 0x77, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x22, 0x73, 0x68, 0x6f, 0x77, 0x49, 0x6e, 0x64, 0x69, - 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x44, 0x0a, 0x1d, 0x73, 0x68, - 0x6f, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x1d, 0x73, 0x68, 0x6f, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, - 0x12, 0x3a, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, - 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, - 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x19, - 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x19, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x4c, 0x0a, 0x12, 0x61, 0x76, - 0x61, 0x74, 0x61, 0x72, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x52, 0x12, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x6f, 0x6e, 0x74, - 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x6f, 0x6e, 0x74, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x15, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x61, 0x75, - 0x74, 0x6f, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x73, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x55, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x69, - 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x51, - 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x10, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x6f, - 0x64, 0x65, 0x12, 0x66, 0x0a, 0x1e, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x1e, 0x69, 0x6e, 0x64, 0x69, - 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5c, 0x0a, 0x19, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x19, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xe6, 0x0f, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x79, - 0x6e, 0x63, 0x4d, 0x73, 0x67, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x6e, 0x65, 0x77, 0x4a, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6e, 0x65, 0x77, 0x4a, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6c, 0x64, 0x4a, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6c, 0x64, 0x4a, 0x69, 0x64, 0x12, - 0x2a, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x4d, - 0x73, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x32, 0x0a, 0x14, 0x65, 0x6e, 0x64, - 0x4f, 0x66, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, - 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x30, 0x0a, - 0x13, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x65, 0x70, 0x68, 0x65, - 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3c, 0x0a, 0x19, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x19, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x6b, 0x0a, - 0x18, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x18, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x6f, - 0x74, 0x53, 0x70, 0x61, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, 0x6f, 0x74, - 0x53, 0x70, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x12, 0x46, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, - 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, - 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, - 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x75, 0x6e, 0x72, 0x65, - 0x61, 0x64, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x6e, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x61, 0x72, 0x6b, - 0x65, 0x64, 0x41, 0x73, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x41, 0x73, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, - 0x12, 0x3c, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, - 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x74, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x07, 0x74, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x63, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x16, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x10, 0x74, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3c, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x50, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, - 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, - 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, - 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x75, - 0x74, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0b, 0x6d, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x09, - 0x77, 0x61, 0x6c, 0x6c, 0x70, 0x61, 0x70, 0x65, 0x72, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x70, - 0x61, 0x70, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x09, 0x77, 0x61, - 0x6c, 0x6c, 0x70, 0x61, 0x70, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0f, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x16, - 0x74, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x74, 0x63, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, - 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, - 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x18, 0x20, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, - 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x23, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x69, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x64, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x24, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6e, 0x4a, 0x69, 0x64, 0x18, - 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6e, 0x4a, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x4f, 0x77, 0x6e, 0x50, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4f, 0x77, 0x6e, 0x50, 0x6e, 0x12, 0x34, 0x0a, 0x15, - 0x70, 0x6e, 0x68, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x64, 0x54, - 0x68, 0x72, 0x65, 0x61, 0x64, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x70, 0x6e, 0x68, - 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x64, 0x54, 0x68, 0x72, 0x65, - 0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x64, 0x4a, 0x69, 0x64, 0x18, 0x2a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x6c, 0x69, 0x64, 0x4a, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, - 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, - 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x69, 0x64, 0x4f, 0x72, 0x69, - 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, - 0x69, 0x64, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x2d, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0xbc, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x64, 0x4f, 0x66, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x30, 0x0a, 0x2c, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x42, 0x55, 0x54, 0x5f, - 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, - 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, - 0x00, 0x12, 0x32, 0x0a, 0x2e, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x41, 0x4e, - 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, - 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x49, 0x4d, - 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x3a, 0x0a, 0x36, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, - 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x59, 0x4e, 0x43, - 0x5f, 0x42, 0x55, 0x54, 0x5f, 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x52, 0x45, - 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, - 0x02, 0x22, 0x44, 0x0a, 0x12, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x73, 0x65, 0x72, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x62, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x62, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0xb8, 0x01, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x6f, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x24, - 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x22, 0x30, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x6e, - 0x7a, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x6e, - 0x7a, 0x61, 0x49, 0x64, 0x22, 0xec, 0x01, 0x0a, 0x16, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, - 0x74, 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x43, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x74, 0x72, - 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x22, 0x51, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, - 0x0a, 0x0d, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0d, - 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, - 0x10, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x10, 0x03, 0x22, 0x74, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, - 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4a, 0x69, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x28, 0x0a, 0x0c, 0x53, 0x79, 0x6e, - 0x63, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x22, 0xab, 0x01, 0x0a, 0x0d, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x30, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x07, 0x72, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, - 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x25, 0x0a, 0x05, - 0x6b, 0x65, 0x79, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x52, 0x05, 0x6b, 0x65, - 0x79, 0x49, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, - 0x6e, 0x63, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x6b, - 0x65, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x52, 0x05, 0x6b, 0x65, 0x79, - 0x49, 0x64, 0x22, 0xa5, 0x03, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x30, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, - 0x6e, 0x63, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x11, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x11, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x4d, 0x61, 0x63, 0x12, 0x25, 0x0a, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x2e, - 0x0a, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x69, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0x47, 0x0a, 0x0e, 0x53, 0x79, - 0x6e, 0x63, 0x64, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x09, - 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x64, - 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6d, 0x75, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x0d, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x4d, 0x75, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x06, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x25, 0x0a, 0x0e, 0x53, 0x79, - 0x6e, 0x63, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, - 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, - 0x01, 0x22, 0x20, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x12, 0x0a, 0x04, 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, - 0x6c, 0x6f, 0x62, 0x22, 0x17, 0x0a, 0x05, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x22, 0xd7, 0x01, 0x0a, - 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x62, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x4b, - 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, - 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, - 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, - 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, - 0x36, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, - 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x22, 0x32, 0x0a, 0x08, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xcb, 0x19, 0x0a, 0x0f, 0x53, - 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x34, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x72, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x34, 0x0a, 0x0a, 0x6d, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x75, 0x74, - 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x69, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x09, 0x70, 0x69, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x1b, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x1b, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x0f, 0x70, 0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x70, 0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, - 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x10, 0x71, 0x75, 0x69, 0x63, - 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75, - 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, - 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x5e, 0x0a, 0x18, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x57, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x45, 0x6d, - 0x6f, 0x6a, 0x69, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x43, 0x0a, 0x0f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x45, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x45, 0x64, 0x69, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x45, 0x64, 0x69, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x16, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3d, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, - 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x49, - 0x0a, 0x11, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, - 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x18, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72, 0x4d, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72, 0x4d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x18, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6f, - 0x72, 0x4d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0d, 0x6b, 0x65, 0x79, - 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6b, 0x65, 0x79, 0x45, 0x78, - 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x14, 0x6d, 0x61, 0x72, 0x6b, - 0x43, 0x68, 0x61, 0x74, 0x41, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x41, 0x73, 0x52, 0x65, 0x61, 0x64, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x6d, 0x61, 0x72, 0x6b, 0x43, 0x68, 0x61, 0x74, - 0x41, 0x73, 0x52, 0x65, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0f, - 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x46, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, - 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x15, 0x75, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, - 0x74, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x15, 0x75, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x40, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x12, 0x61, 0x0a, 0x19, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x55, 0x6e, 0x73, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x19, 0x61, 0x6e, 0x64, 0x72, - 0x6f, 0x69, 0x64, 0x55, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0b, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, - 0x0a, 0x12, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x14, - 0x75, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x75, 0x74, 0x65, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x4d, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x46, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x09, 0x6e, 0x75, 0x78, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4e, 0x75, 0x78, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x09, 0x6e, 0x75, 0x78, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x14, 0x70, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x70, 0x72, 0x69, 0x6d, 0x61, - 0x72, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3d, 0x0a, 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0d, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, - 0x0a, 0x19, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x19, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, - 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x46, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x74, 0x41, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6a, 0x0a, 0x1a, 0x63, 0x68, 0x61, - 0x74, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x65, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x41, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x63, 0x68, 0x61, 0x74, 0x41, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x70, 0x6e, 0x46, 0x6f, 0x72, 0x4c, 0x69, - 0x64, 0x43, 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x25, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6e, 0x46, - 0x6f, 0x72, 0x4c, 0x69, 0x64, 0x43, 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x12, 0x70, 0x6e, 0x46, 0x6f, 0x72, 0x4c, 0x69, 0x64, 0x43, 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x16, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x26, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x73, 0x0a, - 0x1f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x1f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x65, - 0x62, 0x42, 0x65, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x65, 0x62, 0x42, 0x65, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x65, 0x62, 0x42, - 0x65, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x1b, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x63, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x61, 0x79, - 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, - 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x6c, 0x6c, - 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x1b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x6c, - 0x6c, 0x73, 0x12, 0x3d, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x43, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x63, 0x79, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, - 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x12, 0x5b, 0x0a, 0x17, 0x62, 0x6f, 0x74, 0x57, 0x65, 0x6c, - 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x74, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x62, 0x6f, 0x74, 0x57, - 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x17, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, - 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x18, 0x2e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, - 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x43, - 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x12, 0x55, 0x0a, 0x15, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x52, - 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, - 0x11, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x22, 0x3f, 0x0a, 0x15, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x26, 0x0a, 0x0e, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x73, 0x22, 0x58, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x46, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x1d, 0x69, - 0x73, 0x54, 0x77, 0x65, 0x6e, 0x74, 0x79, 0x46, 0x6f, 0x75, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x46, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x1d, 0x69, 0x73, 0x54, 0x77, 0x65, 0x6e, 0x74, 0x79, 0x46, 0x6f, 0x75, 0x72, - 0x48, 0x6f, 0x75, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x22, 0x59, 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0xc5, 0x01, 0x0a, - 0x16, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3e, 0x0a, 0x1a, 0x6c, - 0x61, 0x73, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x1a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x37, 0x0a, 0x08, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, - 0x73, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x41, 0x75, 0x74, - 0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, - 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x0d, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, - 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x69, - 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1a, 0x0a, 0x08, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, - 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x48, 0x69, 0x6e, - 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, - 0x64, 0x48, 0x69, 0x6e, 0x74, 0x22, 0xc0, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, - 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x63, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4a, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4a, 0x69, - 0x64, 0x22, 0x45, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x41, - 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x44, - 0x45, 0x4e, 0x59, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, - 0x4e, 0x54, 0x41, 0x43, 0x54, 0x53, 0x10, 0x02, 0x22, 0x26, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x72, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, - 0x22, 0x49, 0x0a, 0x1b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x2a, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x68, 0x6f, 0x77, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x49, 0x0a, 0x19, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, - 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, - 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x74, 0x54, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x53, 0x65, 0x6e, 0x74, 0x54, 0x73, 0x22, 0x51, 0x0a, 0x18, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x07, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x52, 0x07, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x10, 0x51, 0x75, - 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x63, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x22, 0x25, 0x0a, 0x0f, 0x50, 0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3b, 0x0a, 0x1b, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x63, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x6c, - 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x22, 0x30, 0x0a, 0x14, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x0e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x2a, - 0x0a, 0x12, 0x50, 0x6e, 0x46, 0x6f, 0x72, 0x4c, 0x69, 0x64, 0x43, 0x68, 0x61, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6e, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6e, 0x4a, 0x69, 0x64, 0x22, 0x23, 0x0a, 0x09, 0x50, 0x69, - 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x22, - 0x25, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x63, 0x70, 0x69, 0x22, 0x2f, 0x0a, 0x09, 0x4e, 0x75, 0x78, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, - 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x63, 0x6b, 0x6e, 0x6f, - 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x22, 0x6c, 0x0a, 0x0a, 0x4d, 0x75, 0x74, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6d, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6d, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x4d, - 0x75, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, - 0x4d, 0x75, 0x74, 0x65, 0x64, 0x22, 0x45, 0x0a, 0x1f, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, - 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, - 0x69, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc3, 0x02, 0x0a, - 0x16, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x52, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, - 0x65, 0x6e, 0x74, 0x41, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c, 0x61, 0x73, - 0x74, 0x53, 0x65, 0x6e, 0x74, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x64, 0x22, - 0x31, 0x0a, 0x1d, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x79, 0x70, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x45, 0x52, 0x53, 0x4f, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, - 0x10, 0x00, 0x22, 0x70, 0x0a, 0x14, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x68, 0x61, 0x74, 0x41, 0x73, - 0x52, 0x65, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, - 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x72, 0x65, 0x61, 0x64, 0x12, 0x44, - 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x22, 0x27, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x3f, 0x0a, - 0x15, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, - 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x22, 0x99, - 0x01, 0x0a, 0x0f, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x45, 0x64, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, - 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x32, 0x0a, 0x16, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, 0x22, 0x39, - 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x28, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x45, 0x70, 0x6f, - 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, - 0x64, 0x4b, 0x65, 0x79, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x22, 0x31, 0x0a, 0x15, 0x45, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x57, 0x65, 0x62, 0x42, 0x65, 0x74, 0x61, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x22, 0x68, 0x0a, 0x18, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6f, 0x72, - 0x4d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x59, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, - 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x4a, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x4a, 0x69, - 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, - 0x67, 0x22, 0x58, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x0d, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x64, 0x4a, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x69, 0x64, 0x4a, 0x69, 0x64, 0x12, - 0x3a, 0x0a, 0x18, 0x73, 0x61, 0x76, 0x65, 0x4f, 0x6e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x18, 0x73, 0x61, 0x76, 0x65, 0x4f, 0x6e, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x57, 0x0a, 0x0f, 0x43, - 0x6c, 0x65, 0x61, 0x72, 0x43, 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, - 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x22, 0x42, 0x0a, 0x20, 0x43, 0x68, 0x61, 0x74, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x74, - 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x68, - 0x61, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x22, 0x3c, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x74, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x22, 0x4e, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, - 0x67, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x4c, - 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, - 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x31, 0x0a, 0x17, 0x42, 0x6f, 0x74, 0x57, 0x65, 0x6c, - 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x22, 0x75, 0x0a, 0x11, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x0c, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x22, 0x35, 0x0a, 0x19, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x55, 0x6e, 0x73, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x22, 0x5b, 0x0a, 0x0b, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x0e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2f, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x07, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0x41, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x6f, 0x6a, - 0x69, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x12, 0x16, 0x0a, - 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x77, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xde, 0x04, 0x0a, 0x0e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x4c, 0x74, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x74, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1c, - 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x4c, 0x74, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x4c, 0x74, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x63, 0x68, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x58, 0x0a, 0x27, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x46, 0x6f, 0x75, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x48, - 0x61, 0x73, 0x68, 0x4f, 0x66, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x63, - 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x27, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x46, 0x6f, 0x75, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x41, 0x48, 0x61, - 0x73, 0x68, 0x4f, 0x66, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4d, 0x61, 0x63, 0x4b, - 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x6e, 0x65, 0x77, 0x4c, 0x74, 0x68, 0x61, 0x73, 0x68, 0x53, - 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x6e, - 0x65, 0x77, 0x4c, 0x74, 0x68, 0x61, 0x73, 0x68, 0x53, 0x75, 0x62, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x64, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x64, 0x64, 0x12, 0x22, - 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x44, 0x65, 0x62, 0x75, 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x69, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, - 0x55, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x41, - 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4d, 0x42, 0x41, - 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x08, - 0x0a, 0x04, 0x53, 0x4d, 0x42, 0x49, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x57, 0x45, 0x42, 0x10, - 0x04, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x57, 0x50, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x41, - 0x52, 0x57, 0x49, 0x4e, 0x10, 0x06, 0x22, 0xb1, 0x08, 0x0a, 0x0d, 0x43, 0x61, 0x6c, 0x6c, 0x4c, - 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x73, 0x44, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x69, 0x73, 0x44, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x73, 0x69, - 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x25, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, - 0x6c, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x53, 0x69, 0x6c, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, - 0x67, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x69, - 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x69, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x24, 0x0a, 0x0d, 0x63, - 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, - 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, - 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x6c, - 0x6c, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x4a, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x61, 0x6c, - 0x6c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4a, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x4a, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x4a, 0x69, 0x64, 0x12, 0x4b, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, - 0x43, 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x54, 0x79, - 0x70, 0x65, 0x1a, 0x6f, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4a, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x12, - 0x42, 0x0a, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, - 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x43, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x22, 0x46, 0x0a, 0x0d, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0d, - 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, - 0x07, 0x50, 0x52, 0x49, 0x56, 0x41, 0x43, 0x59, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, - 0x47, 0x48, 0x54, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10, 0x03, 0x22, 0x3b, 0x0a, 0x08, 0x43, - 0x61, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x47, 0x55, 0x4c, - 0x41, 0x52, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, - 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x4f, 0x49, 0x43, - 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x10, 0x02, 0x22, 0xaf, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x4e, 0x45, - 0x43, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x45, - 0x4c, 0x53, 0x45, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, - 0x53, 0x53, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, - 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x08, 0x12, 0x0d, - 0x0a, 0x09, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x09, 0x12, 0x0b, 0x0a, - 0x07, 0x4f, 0x4e, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0x0a, 0x22, 0xba, 0x02, 0x0a, 0x17, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x28, - 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0xbc, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6c, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x63, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6c, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc5, 0x04, 0x0a, - 0x0f, 0x42, 0x69, 0x7a, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x44, 0x0a, 0x06, 0x76, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x69, 0x7a, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, - 0x76, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3f, 0x0a, 0x09, 0x76, 0x6e, 0x61, 0x6d, 0x65, 0x43, - 0x65, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, - 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x09, 0x76, 0x6e, - 0x61, 0x6d, 0x65, 0x43, 0x65, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x12, 0x4b, 0x0a, 0x0b, 0x68, 0x6f, 0x73, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x69, 0x7a, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, - 0x41, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x69, 0x7a, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x63, - 0x74, 0x6f, 0x72, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, - 0x41, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, - 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x70, - 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x54, 0x73, 0x12, 0x28, 0x0a, 0x0f, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x22, 0x34, 0x0a, 0x12, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0b, 0x0a, 0x07, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, - 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x22, 0x2f, 0x0a, 0x0f, - 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0e, 0x0a, 0x0a, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x00, 0x12, - 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x43, 0x45, 0x42, 0x4f, 0x4f, 0x4b, 0x10, 0x01, 0x22, 0x25, 0x0a, - 0x10, 0x41, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4c, 0x46, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, - 0x53, 0x50, 0x10, 0x01, 0x22, 0x7e, 0x0a, 0x11, 0x42, 0x69, 0x7a, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3f, 0x0a, 0x09, 0x76, 0x6e, 0x61, - 0x6d, 0x65, 0x43, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, - 0x09, 0x76, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x65, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x62, 0x69, - 0x7a, 0x41, 0x63, 0x63, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x62, 0x69, 0x7a, 0x41, 0x63, 0x63, 0x74, 0x4c, 0x69, 0x6e, 0x6b, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x80, 0x03, 0x0a, 0x12, 0x42, 0x69, 0x7a, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x13, 0x77, - 0x68, 0x61, 0x74, 0x73, 0x61, 0x70, 0x70, 0x42, 0x69, 0x7a, 0x41, 0x63, 0x63, 0x74, 0x46, 0x62, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x77, 0x68, 0x61, 0x74, 0x73, 0x61, - 0x70, 0x70, 0x42, 0x69, 0x7a, 0x41, 0x63, 0x63, 0x74, 0x46, 0x62, 0x69, 0x64, 0x12, 0x2e, 0x0a, - 0x12, 0x77, 0x68, 0x61, 0x74, 0x73, 0x61, 0x70, 0x70, 0x41, 0x63, 0x63, 0x74, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x77, 0x68, 0x61, 0x74, 0x73, - 0x61, 0x70, 0x70, 0x41, 0x63, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, - 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x68, - 0x6f, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x69, 0x7a, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x48, - 0x6f, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, - 0x68, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x28, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x69, 0x7a, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x2f, 0x0a, 0x0f, 0x48, 0x6f, 0x73, 0x74, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x4e, - 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x41, - 0x43, 0x45, 0x42, 0x4f, 0x4f, 0x4b, 0x10, 0x01, 0x22, 0x1d, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x4e, 0x54, 0x45, 0x52, - 0x50, 0x52, 0x49, 0x53, 0x45, 0x10, 0x00, 0x22, 0xdb, 0x01, 0x0a, 0x10, 0x48, 0x61, 0x6e, 0x64, - 0x73, 0x68, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0b, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x61, 0x6e, - 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, 0x6c, - 0x6f, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x40, - 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, - 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, - 0x6c, 0x6c, 0x6f, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x6c, 0x6f, - 0x12, 0x43, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, - 0x69, 0x6e, 0x69, 0x73, 0x68, 0x22, 0x66, 0x0a, 0x14, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, - 0x6b, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x1c, 0x0a, - 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x66, 0x0a, - 0x14, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, - 0x72, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x49, 0x0a, 0x15, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, - 0x6b, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x22, 0xc4, 0x24, 0x0a, 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x09, - 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x77, 0x65, 0x62, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x2e, 0x57, 0x65, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x77, 0x65, 0x62, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0f, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, - 0x0a, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x25, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, - 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x64, 0x73, 0x12, 0x3f, - 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x44, 0x4e, 0x53, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x64, 0x6e, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x11, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x50, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x50, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x39, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x62, 0x43, - 0x61, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x66, 0x62, 0x43, 0x61, 0x74, 0x12, - 0x20, 0x0a, 0x0b, 0x66, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x62, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x63, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, - 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, - 0x63, 0x12, 0x51, 0x0a, 0x0f, 0x69, 0x6f, 0x73, 0x41, 0x70, 0x70, 0x45, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x2e, 0x49, 0x4f, 0x53, 0x41, 0x70, 0x70, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x69, 0x6f, 0x73, 0x41, 0x70, 0x70, 0x45, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x62, 0x41, 0x70, 0x70, 0x49, 0x64, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x66, 0x62, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x66, 0x62, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x20, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x62, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x75, 0x6c, 0x6c, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x70, 0x75, - 0x6c, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, - 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x79, 0x65, 0x61, 0x72, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x79, 0x65, 0x61, 0x72, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x18, 0x25, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x12, 0x45, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x18, - 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x1a, 0xd2, 0x06, 0x0a, 0x07, 0x57, 0x65, 0x62, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x66, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0b, 0x77, 0x65, 0x62, - 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x57, 0x65, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x2e, - 0x57, 0x65, 0x62, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0b, 0x77, 0x65, 0x62, - 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x56, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x53, - 0x75, 0x62, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x57, 0x65, 0x62, 0x49, 0x6e, 0x66, - 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x52, 0x0e, 0x77, 0x65, 0x62, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x1a, 0x91, 0x04, 0x0a, 0x0b, 0x57, 0x65, 0x62, 0x64, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x12, 0x32, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, - 0x75, 0x73, 0x65, 0x73, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, - 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x17, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x53, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x53, - 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x3a, - 0x0a, 0x18, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x18, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x55, 0x72, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x55, 0x72, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x74, - 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x10, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x32, 0x45, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x45, 0x32, 0x45, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x45, 0x32, 0x45, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x32, 0x45, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x45, 0x32, 0x45, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x32, 0x45, 0x41, 0x75, 0x64, 0x69, 0x6f, - 0x12, 0x30, 0x0a, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x32, 0x45, 0x44, - 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x32, 0x45, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x53, 0x75, 0x62, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x57, 0x45, 0x42, 0x5f, 0x42, 0x52, - 0x4f, 0x57, 0x53, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x50, 0x50, 0x5f, 0x53, - 0x54, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x49, 0x4e, 0x5f, 0x53, 0x54, - 0x4f, 0x52, 0x45, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x41, 0x52, 0x57, 0x49, 0x4e, 0x10, - 0x03, 0x12, 0x09, 0x0a, 0x05, 0x57, 0x49, 0x4e, 0x33, 0x32, 0x10, 0x04, 0x1a, 0xe1, 0x0b, 0x0a, - 0x09, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x4c, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x63, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x63, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x6e, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, - 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x24, - 0x0a, 0x0d, 0x6f, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x58, - 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x34, 0x0a, 0x15, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x49, 0x73, 0x6f, 0x36, 0x33, 0x39, - 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x4c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x49, 0x73, 0x6f, 0x36, 0x33, 0x39, 0x31, 0x12, 0x40, - 0x0a, 0x1b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, - 0x73, 0x6f, 0x33, 0x31, 0x36, 0x36, 0x31, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x1b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x72, 0x79, 0x49, 0x73, 0x6f, 0x33, 0x31, 0x36, 0x36, 0x31, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x32, - 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x49, - 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, - 0x78, 0x70, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x1a, 0x9a, 0x01, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x72, - 0x74, 0x69, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x65, 0x72, - 0x74, 0x69, 0x61, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x71, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x71, 0x75, 0x61, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x69, 0x6e, 0x61, 0x72, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, - 0x3d, 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0x00, 0x12, 0x08, - 0x0a, 0x04, 0x42, 0x45, 0x54, 0x41, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x50, 0x48, - 0x41, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x03, 0x22, 0xf7, - 0x03, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x41, - 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4f, 0x53, 0x10, - 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x53, 0x5f, 0x50, 0x48, 0x4f, - 0x4e, 0x45, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x42, 0x45, 0x52, - 0x52, 0x59, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x42, 0x45, 0x52, - 0x52, 0x59, 0x58, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x34, 0x30, 0x10, 0x05, 0x12, 0x07, - 0x0a, 0x03, 0x53, 0x36, 0x30, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x59, 0x54, 0x48, 0x4f, - 0x4e, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x49, - 0x5a, 0x45, 0x4e, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x50, 0x52, - 0x49, 0x53, 0x45, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x4d, 0x42, 0x5f, 0x41, 0x4e, 0x44, - 0x52, 0x4f, 0x49, 0x44, 0x10, 0x0a, 0x12, 0x09, 0x0a, 0x05, 0x4b, 0x41, 0x49, 0x4f, 0x53, 0x10, - 0x0b, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x4d, 0x42, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x0c, 0x12, 0x0b, - 0x0a, 0x07, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x53, 0x10, 0x0d, 0x12, 0x07, 0x0a, 0x03, 0x57, - 0x45, 0x42, 0x10, 0x0e, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x4f, 0x52, 0x54, 0x41, 0x4c, 0x10, 0x0f, - 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, - 0x44, 0x10, 0x10, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x49, 0x50, 0x48, - 0x4f, 0x4e, 0x45, 0x10, 0x11, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x41, 0x4e, - 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x12, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x4c, 0x55, 0x45, 0x5f, - 0x49, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x13, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x42, 0x4c, 0x49, - 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x14, 0x12, 0x11, 0x0a, 0x0d, - 0x4d, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x15, 0x12, - 0x12, 0x0a, 0x0e, 0x49, 0x47, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, - 0x44, 0x10, 0x16, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x47, 0x45, 0x10, 0x17, 0x12, 0x09, 0x0a, - 0x05, 0x4d, 0x41, 0x43, 0x4f, 0x53, 0x10, 0x18, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x43, 0x55, 0x4c, - 0x55, 0x53, 0x5f, 0x4d, 0x53, 0x47, 0x10, 0x19, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x43, 0x55, 0x4c, - 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x1a, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x49, 0x4c, - 0x41, 0x4e, 0x10, 0x1b, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x41, 0x50, 0x49, 0x10, 0x1c, 0x12, 0x0a, - 0x0a, 0x06, 0x57, 0x45, 0x41, 0x52, 0x4f, 0x53, 0x10, 0x1d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x52, - 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x10, 0x1e, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x52, 0x44, 0x45, - 0x56, 0x49, 0x43, 0x45, 0x10, 0x1f, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x57, - 0x45, 0x42, 0x10, 0x20, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x41, 0x44, 0x10, 0x21, 0x12, 0x08, - 0x0a, 0x04, 0x54, 0x45, 0x53, 0x54, 0x10, 0x22, 0x22, 0x46, 0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, - 0x07, 0x44, 0x45, 0x53, 0x4b, 0x54, 0x4f, 0x50, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x57, 0x45, - 0x41, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x52, 0x10, 0x04, - 0x1a, 0x41, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x1a, 0xfd, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, - 0x69, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x52, 0x65, 0x67, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x65, 0x52, 0x65, 0x67, 0x69, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x65, 0x4b, 0x65, 0x79, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x65, 0x4b, 0x65, 0x79, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x65, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x53, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x65, 0x53, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x53, 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x65, - 0x53, 0x6b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x53, 0x6b, 0x65, 0x79, - 0x53, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x65, 0x53, 0x6b, 0x65, 0x79, - 0x53, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x48, 0x61, 0x73, 0x68, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, - 0x6f, 0x70, 0x73, 0x1a, 0xd8, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x53, 0x0a, 0x09, 0x64, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x44, 0x4e, - 0x53, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x09, 0x64, 0x6e, 0x73, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x43, 0x61, 0x63, - 0x68, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x70, 0x70, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x64, 0x22, 0x58, 0x0a, 0x13, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x0a, 0x0a, 0x06, 0x53, - 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4f, 0x4f, 0x47, 0x4c, - 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x41, 0x52, 0x44, 0x43, 0x4f, 0x44, 0x45, 0x44, - 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x03, - 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x22, 0x45, - 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x0c, 0x0a, 0x08, 0x57, 0x48, 0x41, - 0x54, 0x53, 0x41, 0x50, 0x50, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x45, 0x53, 0x53, 0x45, - 0x4e, 0x47, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4f, - 0x50, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4f, 0x50, 0x5f, 0x4d, - 0x53, 0x47, 0x52, 0x10, 0x03, 0x22, 0x54, 0x0a, 0x0f, 0x49, 0x4f, 0x53, 0x41, 0x70, 0x70, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x48, 0x41, 0x52, - 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, - 0x11, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, - 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x53, 0x5f, - 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0xb0, 0x02, 0x0a, 0x0b, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43, - 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, - 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, - 0x45, 0x44, 0x47, 0x45, 0x10, 0x64, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, - 0x41, 0x52, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x10, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x45, 0x4c, - 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x55, 0x4d, 0x54, 0x53, 0x10, 0x66, 0x12, 0x11, 0x0a, 0x0d, - 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x45, 0x56, 0x44, 0x4f, 0x10, 0x67, 0x12, - 0x11, 0x0a, 0x0d, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x47, 0x50, 0x52, 0x53, - 0x10, 0x68, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x48, - 0x53, 0x44, 0x50, 0x41, 0x10, 0x69, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, - 0x41, 0x52, 0x5f, 0x48, 0x53, 0x55, 0x50, 0x41, 0x10, 0x6a, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x45, - 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x48, 0x53, 0x50, 0x41, 0x10, 0x6b, 0x12, 0x11, 0x0a, - 0x0d, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x43, 0x44, 0x4d, 0x41, 0x10, 0x6c, - 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x31, 0x58, 0x52, - 0x54, 0x54, 0x10, 0x6d, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x45, 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, - 0x5f, 0x45, 0x48, 0x52, 0x50, 0x44, 0x10, 0x6e, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x45, 0x4c, 0x4c, - 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4c, 0x54, 0x45, 0x10, 0x6f, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x45, - 0x4c, 0x4c, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x48, 0x53, 0x50, 0x41, 0x50, 0x10, 0x70, 0x22, 0x86, - 0x01, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x12, 0x08, 0x0a, 0x04, 0x50, 0x55, 0x53, 0x48, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x53, - 0x45, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, - 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x13, 0x0a, - 0x0f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, - 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x53, 0x57, - 0x49, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x52, - 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x06, 0x22, 0xc8, 0x01, 0x0a, 0x14, 0x57, 0x65, 0x62, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, - 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x68, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x43, 0x68, 0x61, 0x74, 0x73, - 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x40, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x22, 0xbb, 0x4b, 0x0a, 0x0e, 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x02, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x12, 0x30, 0x0a, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x32, 0x53, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x32, 0x53, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x74, - 0x61, 0x72, 0x72, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x34, 0x0a, 0x15, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, - 0x78, 0x74, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x43, 0x69, 0x70, 0x68, 0x65, 0x72, 0x74, 0x65, 0x78, 0x74, 0x53, - 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, - 0x73, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, - 0x61, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x72, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x75, 0x72, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x75, 0x72, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, - 0x74, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x53, 0x74, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6c, 0x65, 0x61, - 0x72, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6c, - 0x65, 0x61, 0x72, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x34, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x53, 0x74, 0x75, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x53, 0x74, 0x75, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4b, 0x0a, 0x11, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x4c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x11, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x76, 0x65, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x11, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1f, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x71, 0x75, 0x6f, 0x74, - 0x65, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, - 0x17, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x20, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, - 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2c, 0x0a, 0x11, 0x65, 0x70, 0x68, 0x65, 0x6d, - 0x65, 0x72, 0x61, 0x6c, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x21, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x11, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, - 0x61, 0x6c, 0x4f, 0x66, 0x66, 0x54, 0x6f, 0x4f, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x10, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4f, 0x66, 0x66, 0x54, 0x6f, 0x4f, - 0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4f, 0x75, - 0x74, 0x4f, 0x66, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x23, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, - 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x53, 0x79, 0x6e, - 0x63, 0x12, 0x55, 0x0a, 0x10, 0x62, 0x69, 0x7a, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x7a, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x10, 0x62, 0x69, 0x7a, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x42, 0x69, 0x7a, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x69, 0x7a, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x18, - 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x0b, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x37, - 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x18, 0x28, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x30, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, - 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x11, 0x71, 0x75, 0x6f, - 0x74, 0x65, 0x64, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x2a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x71, 0x75, 0x6f, 0x74, 0x65, - 0x64, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0f, - 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x18, - 0x2b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x70, 0x72, 0x6f, - 0x6f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x50, 0x73, 0x61, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x53, 0x41, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x73, 0x61, 0x12, 0x36, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, - 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x58, 0x0a, 0x16, 0x70, 0x6f, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x2e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x6c, - 0x6c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x16, 0x70, 0x6f, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, - 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x18, 0x30, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x13, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, - 0x79, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x34, 0x0a, - 0x0a, 0x6b, 0x65, 0x65, 0x70, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x65, - 0x70, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x0a, 0x6b, 0x65, 0x65, 0x70, 0x49, 0x6e, 0x43, - 0x68, 0x61, 0x74, 0x12, 0x48, 0x0a, 0x1f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, - 0x65, 0x6c, 0x66, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4a, 0x69, 0x64, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1f, 0x6f, 0x72, - 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x66, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x0a, - 0x16, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x34, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x72, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x31, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x49, 0x6e, 0x43, 0x68, - 0x61, 0x74, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x69, 0x6e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x52, 0x09, 0x70, - 0x69, 0x6e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x12, 0x4c, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x6d, - 0x69, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x37, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x12, 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x73, 0x31, 0x50, 0x42, 0x69, - 0x7a, 0x42, 0x6f, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x38, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x69, 0x73, 0x31, 0x50, 0x42, 0x69, 0x7a, 0x42, 0x6f, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x39, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x62, 0x6f, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x4a, - 0x69, 0x64, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x62, 0x6f, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x12, 0x43, - 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, - 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, - 0x6e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x49, 0x64, 0x22, 0xd2, 0x35, 0x0a, 0x08, 0x53, 0x74, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, - 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x49, 0x50, 0x48, - 0x45, 0x52, 0x54, 0x45, 0x58, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x55, 0x54, 0x55, - 0x52, 0x45, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x4f, 0x4e, - 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0x05, 0x12, 0x17, 0x0a, 0x13, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, - 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, - 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x10, 0x09, 0x12, 0x18, 0x0a, 0x14, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x0a, 0x12, - 0x19, 0x0a, 0x15, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x49, 0x54, - 0x49, 0x41, 0x4c, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x0b, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x45, - 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x41, 0x4e, 0x59, 0x5f, 0x54, 0x4f, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x0c, 0x12, - 0x23, 0x0a, 0x1f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x59, 0x5f, 0x54, 0x4f, 0x5f, 0x48, 0x49, - 0x47, 0x48, 0x10, 0x0d, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x48, 0x49, 0x47, 0x48, - 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x0e, 0x12, 0x27, 0x0a, 0x23, 0x56, 0x45, 0x52, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x0f, 0x12, 0x26, 0x0a, 0x22, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x5f, 0x54, 0x4f, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x10, 0x12, 0x26, 0x0a, 0x22, 0x56, 0x45, - 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x4c, 0x4f, 0x57, 0x5f, 0x54, 0x4f, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x11, 0x12, 0x23, 0x0a, 0x1f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x5f, 0x54, - 0x4f, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x12, 0x12, 0x27, 0x0a, 0x23, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, - 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x13, - 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, - 0x10, 0x14, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, - 0x47, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x15, 0x12, 0x15, 0x0a, 0x11, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x49, 0x43, 0x4f, - 0x4e, 0x10, 0x16, 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, - 0x4e, 0x47, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, - 0x17, 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, - 0x45, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x18, 0x12, - 0x19, 0x0a, 0x15, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, - 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x10, 0x19, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, - 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, - 0x4e, 0x43, 0x45, 0x10, 0x1a, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x1b, - 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, - 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x1c, 0x12, 0x1d, - 0x0a, 0x19, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, - 0x41, 0x4e, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x1d, 0x12, 0x1c, 0x0a, - 0x18, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, - 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x1e, 0x12, 0x1c, 0x0a, 0x18, 0x47, - 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, - 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x10, 0x1f, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x52, 0x4f, - 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4c, - 0x45, 0x41, 0x56, 0x45, 0x10, 0x20, 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, - 0x47, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x21, 0x12, 0x14, 0x0a, 0x10, 0x42, - 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, - 0x22, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x41, - 0x44, 0x44, 0x10, 0x23, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, - 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x24, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x45, - 0x4e, 0x45, 0x52, 0x49, 0x43, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x25, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x32, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, - 0x54, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x26, 0x12, 0x11, - 0x0a, 0x0d, 0x45, 0x32, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, - 0x27, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x45, 0x44, - 0x5f, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x28, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x41, 0x4c, 0x4c, - 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x45, 0x44, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x29, 0x12, - 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x44, 0x49, 0x56, 0x49, 0x44, 0x55, 0x41, 0x4c, 0x5f, 0x43, 0x48, - 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x2a, 0x12, 0x10, 0x0a, - 0x0c, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x2b, 0x12, - 0x26, 0x0a, 0x22, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, - 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x42, - 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x10, 0x2c, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, - 0x4d, 0x49, 0x53, 0x53, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x56, 0x4f, 0x49, - 0x43, 0x45, 0x10, 0x2d, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x49, 0x53, - 0x53, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, - 0x2e, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x49, 0x50, - 0x48, 0x45, 0x52, 0x54, 0x45, 0x58, 0x54, 0x10, 0x2f, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x59, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x55, 0x54, 0x55, 0x52, 0x45, 0x50, 0x52, 0x4f, 0x4f, 0x46, - 0x10, 0x30, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, - 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x31, - 0x12, 0x2e, 0x0a, 0x2a, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, - 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x32, - 0x12, 0x33, 0x0a, 0x2f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, - 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x10, 0x33, 0x12, 0x35, 0x0a, 0x31, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x55, 0x50, 0x10, 0x34, 0x12, 0x3c, 0x0a, 0x38, - 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, - 0x56, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x41, 0x46, 0x54, 0x45, - 0x52, 0x5f, 0x48, 0x49, 0x43, 0x43, 0x55, 0x50, 0x10, 0x35, 0x12, 0x29, 0x0a, 0x25, 0x50, 0x41, - 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x43, - 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x55, 0x50, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, - 0x44, 0x45, 0x52, 0x10, 0x36, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x50, 0x41, 0x59, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x37, 0x12, - 0x2a, 0x0a, 0x26, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x49, - 0x4e, 0x56, 0x49, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x38, 0x12, 0x23, 0x0a, 0x1f, 0x50, - 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x39, - 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, - 0x45, 0x44, 0x10, 0x3a, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, - 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x3b, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x49, - 0x5a, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x4f, 0x54, - 0x54, 0x4f, 0x4d, 0x10, 0x3c, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x49, 0x5a, 0x5f, 0x56, 0x45, 0x52, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x3d, - 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x49, 0x5a, 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x4f, 0x5f, 0x54, 0x4f, - 0x50, 0x10, 0x3e, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x49, 0x5a, 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x4f, - 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x10, 0x3f, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x49, 0x5a, - 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x40, 0x12, 0x1c, - 0x0a, 0x18, 0x42, 0x49, 0x5a, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4f, - 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x41, 0x12, 0x1e, 0x0a, 0x1a, - 0x42, 0x49, 0x5a, 0x5f, 0x54, 0x57, 0x4f, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x47, - 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x50, 0x10, 0x42, 0x12, 0x21, 0x0a, 0x1d, - 0x42, 0x49, 0x5a, 0x5f, 0x54, 0x57, 0x4f, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x47, - 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x10, 0x43, 0x12, - 0x0d, 0x0a, 0x09, 0x4f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x44, 0x12, 0x28, - 0x0a, 0x24, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x4e, - 0x4f, 0x5f, 0x46, 0x52, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x5f, 0x46, 0x4f, 0x52, - 0x57, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0x45, 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x5f, 0x56, 0x34, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, - 0x53, 0x45, 0x4e, 0x54, 0x10, 0x46, 0x12, 0x26, 0x0a, 0x22, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f, - 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x47, 0x12, 0x1c, - 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x45, 0x50, 0x48, 0x45, 0x4d, 0x45, 0x52, - 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x48, 0x12, 0x16, 0x0a, 0x12, - 0x45, 0x32, 0x45, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, - 0x45, 0x44, 0x10, 0x49, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x49, 0x45, 0x57, 0x45, 0x44, 0x5f, 0x4f, - 0x4e, 0x43, 0x45, 0x10, 0x4a, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x32, 0x45, 0x5f, 0x45, 0x4e, 0x43, - 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x57, 0x10, 0x4b, 0x12, 0x22, 0x0a, 0x1e, - 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, - 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x4c, - 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, - 0x5f, 0x46, 0x42, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x10, 0x4d, - 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, - 0x5f, 0x46, 0x42, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, - 0x49, 0x53, 0x45, 0x10, 0x4e, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, - 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x4f, 0x12, 0x37, 0x0a, 0x33, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, - 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, - 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x50, 0x12, 0x1c, - 0x0a, 0x18, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, - 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x51, 0x12, 0x37, 0x0a, 0x33, - 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, - 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, - 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x52, 0x12, 0x28, 0x0a, 0x24, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, - 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x54, 0x4f, - 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x53, 0x12, - 0x23, 0x0a, 0x1f, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, - 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x54, 0x12, 0x3c, 0x0a, 0x38, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, - 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, - 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, - 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x55, 0x12, 0x21, 0x0a, 0x1d, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, - 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x56, 0x12, 0x3c, 0x0a, 0x38, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, - 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, - 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, - 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x57, 0x12, 0x2a, 0x0a, 0x26, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, - 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, - 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x58, 0x12, - 0x2f, 0x0a, 0x2b, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x53, - 0x55, 0x4d, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, - 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x59, - 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x43, 0x4f, 0x4e, - 0x53, 0x55, 0x4d, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, - 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x5a, 0x12, 0x30, 0x0a, - 0x2c, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, - 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, - 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x5b, 0x12, - 0x23, 0x0a, 0x1f, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, - 0x5f, 0x46, 0x42, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, - 0x53, 0x45, 0x10, 0x5c, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, - 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, - 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x5d, 0x12, 0x1f, 0x0a, 0x1b, 0x42, 0x4c, - 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x55, - 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x5e, 0x12, 0x38, 0x0a, 0x34, 0x42, - 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, - 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, - 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x5f, 0x12, 0x1d, 0x0a, 0x19, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, - 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x60, 0x12, 0x38, 0x0a, 0x34, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, - 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, - 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x61, 0x12, 0x28, - 0x0a, 0x24, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, - 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, - 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x10, 0x62, 0x12, 0x24, 0x0a, 0x20, 0x42, 0x4c, 0x55, 0x45, - 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, - 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x63, 0x12, 0x22, - 0x0a, 0x1e, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, - 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x64, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x54, - 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x10, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x4c, - 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, - 0x45, 0x52, 0x10, 0x66, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, - 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x10, 0x67, 0x12, 0x2a, 0x0a, - 0x26, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x56, - 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x68, 0x12, 0x2f, 0x0a, 0x2b, 0x42, 0x4c, 0x55, - 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, - 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x69, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x4c, - 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x6a, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x4c, 0x55, 0x45, 0x5f, - 0x4d, 0x53, 0x47, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, - 0x4f, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x6b, 0x12, 0x2a, 0x0a, 0x26, - 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, - 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x6c, 0x12, 0x2f, 0x0a, 0x2b, 0x42, 0x4c, 0x55, 0x45, - 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, - 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, - 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x6d, 0x12, 0x2b, 0x0a, 0x27, 0x42, 0x4c, 0x55, - 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, - 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x6e, 0x12, 0x23, 0x0a, 0x1f, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, - 0x53, 0x47, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x55, - 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x6f, 0x12, 0x36, 0x0a, 0x32, 0x42, - 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x55, - 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x70, 0x12, 0x32, 0x0a, 0x2e, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, - 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x71, 0x12, 0x36, 0x0a, 0x32, 0x42, 0x4c, 0x55, 0x45, 0x5f, - 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, - 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x72, 0x12, - 0x32, 0x0a, 0x2e, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x42, 0x53, 0x50, 0x5f, - 0x46, 0x42, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x53, - 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x73, 0x12, 0x37, 0x0a, 0x33, 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, - 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, - 0x45, 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x74, 0x12, 0x37, 0x0a, 0x33, - 0x42, 0x4c, 0x55, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x42, - 0x5f, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, - 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x75, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x32, 0x45, 0x5f, 0x49, 0x44, 0x45, - 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, - 0x45, 0x10, 0x76, 0x12, 0x12, 0x0a, 0x0e, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, - 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x77, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x52, 0x4f, 0x55, 0x50, - 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x78, - 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x43, 0x45, - 0x44, 0x10, 0x79, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x41, 0x43, 0x54, 0x10, 0x7a, 0x12, 0x21, 0x0a, 0x1d, 0x45, 0x50, 0x48, 0x45, 0x4d, 0x45, - 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10, 0x7b, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x59, 0x4e, - 0x43, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x7c, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x59, - 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0x7d, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x49, 0x5a, 0x5f, 0x50, - 0x52, 0x49, 0x56, 0x41, 0x43, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, - 0x5f, 0x46, 0x42, 0x10, 0x7e, 0x12, 0x1d, 0x0a, 0x19, 0x42, 0x49, 0x5a, 0x5f, 0x50, 0x52, 0x49, - 0x56, 0x41, 0x43, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x42, - 0x53, 0x50, 0x10, 0x7f, 0x12, 0x1b, 0x0a, 0x16, 0x42, 0x49, 0x5a, 0x5f, 0x50, 0x52, 0x49, 0x56, - 0x41, 0x43, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x46, 0x42, 0x10, 0x80, - 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x42, 0x49, 0x5a, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x43, 0x59, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x42, 0x53, 0x50, 0x10, 0x81, 0x01, 0x12, - 0x16, 0x0a, 0x11, 0x44, 0x49, 0x53, 0x41, 0x50, 0x50, 0x45, 0x41, 0x52, 0x49, 0x4e, 0x47, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x82, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x32, 0x45, 0x5f, 0x44, - 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x10, 0x83, 0x01, 0x12, 0x11, 0x0a, 0x0c, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x52, - 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x10, 0x84, 0x01, 0x12, 0x24, 0x0a, 0x1f, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x47, 0x52, - 0x4f, 0x57, 0x54, 0x48, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x85, 0x01, 0x12, 0x20, - 0x0a, 0x1b, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, - 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x86, 0x01, - 0x12, 0x21, 0x0a, 0x1c, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x49, - 0x4e, 0x4b, 0x5f, 0x53, 0x49, 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, - 0x10, 0x87, 0x01, 0x12, 0x1d, 0x0a, 0x18, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, - 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, - 0x88, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, - 0x55, 0x4e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x52, - 0x4f, 0x55, 0x50, 0x10, 0x89, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, - 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x49, 0x42, 0x4c, 0x49, - 0x4e, 0x47, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x8a, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x43, - 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, - 0x53, 0x55, 0x42, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x8b, 0x01, 0x12, 0x1d, 0x0a, 0x18, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, - 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x10, 0x8c, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x47, - 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, - 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4a, 0x4f, - 0x49, 0x4e, 0x10, 0x8d, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, - 0x54, 0x59, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x8e, 0x01, 0x12, 0x1b, 0x0a, 0x16, - 0x45, 0x50, 0x48, 0x45, 0x4d, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x49, - 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x10, 0x8f, 0x01, 0x12, 0x2b, 0x0a, 0x26, 0x47, 0x52, 0x4f, - 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x48, 0x49, 0x50, 0x5f, 0x4a, 0x4f, - 0x49, 0x4e, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, - 0x45, 0x53, 0x54, 0x10, 0x90, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, - 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x48, 0x49, 0x50, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, - 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x41, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x91, 0x01, - 0x12, 0x22, 0x0a, 0x1d, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, - 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x10, 0x92, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, - 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x50, 0x52, - 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x93, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x43, 0x4f, 0x4d, 0x4d, - 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, - 0x54, 0x5f, 0x44, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x94, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x43, - 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x95, 0x01, - 0x12, 0x34, 0x0a, 0x2f, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x49, - 0x4e, 0x4b, 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, - 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x48, 0x49, 0x50, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, - 0x56, 0x41, 0x4c, 0x10, 0x96, 0x01, 0x12, 0x34, 0x0a, 0x2f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x41, 0x52, - 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x97, 0x01, 0x12, 0x1a, 0x0a, 0x15, - 0x4d, 0x41, 0x53, 0x4b, 0x45, 0x44, 0x5f, 0x54, 0x48, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x98, 0x01, 0x12, 0x1b, 0x0a, 0x16, 0x4d, 0x41, 0x53, 0x4b, - 0x45, 0x44, 0x5f, 0x54, 0x48, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x55, 0x4e, 0x4d, 0x41, 0x53, 0x4b, - 0x45, 0x44, 0x10, 0x99, 0x01, 0x12, 0x18, 0x0a, 0x13, 0x42, 0x49, 0x5a, 0x5f, 0x43, 0x48, 0x41, - 0x54, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x9a, 0x01, 0x12, - 0x0d, 0x0a, 0x08, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x50, 0x53, 0x41, 0x10, 0x9b, 0x01, 0x12, 0x1f, - 0x0a, 0x1a, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x9c, 0x01, 0x12, - 0x1e, 0x0a, 0x19, 0x43, 0x41, 0x47, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x45, 0x44, 0x5f, 0x54, 0x48, - 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x9d, 0x01, 0x12, - 0x2b, 0x0a, 0x26, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x41, 0x52, - 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x55, 0x42, 0x4a, 0x45, 0x43, - 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x9e, 0x01, 0x12, 0x18, 0x0a, 0x13, - 0x43, 0x41, 0x47, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, - 0x41, 0x44, 0x44, 0x10, 0x9f, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x42, 0x49, 0x5a, 0x5f, 0x43, 0x48, - 0x41, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, - 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x10, 0xa0, 0x01, 0x12, 0x1b, 0x0a, 0x16, 0x43, 0x41, 0x47, - 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4a, 0x4f, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0xa1, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, - 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0xa2, 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x43, 0x4f, 0x4d, - 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x52, 0x49, - 0x43, 0x48, 0x10, 0xa3, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, - 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x41, - 0x44, 0x44, 0x5f, 0x52, 0x49, 0x43, 0x48, 0x10, 0xa4, 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x55, - 0x42, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x52, - 0x49, 0x43, 0x48, 0x10, 0xa5, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x53, 0x55, 0x42, 0x5f, 0x47, 0x52, - 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, - 0x41, 0x44, 0x44, 0x5f, 0x52, 0x49, 0x43, 0x48, 0x10, 0xa6, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x43, - 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x41, - 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x52, 0x49, 0x43, 0x48, 0x10, - 0xa7, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x5f, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f, - 0x52, 0x49, 0x43, 0x48, 0x10, 0xa8, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x49, 0x4c, 0x45, 0x4e, - 0x43, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x43, 0x41, 0x4c, 0x4c, - 0x45, 0x52, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0xa9, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x53, - 0x49, 0x4c, 0x45, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, - 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0xaa, 0x01, 0x12, - 0x1a, 0x0a, 0x15, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, - 0x41, 0x44, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0xab, 0x01, 0x12, 0x39, 0x0a, 0x34, 0x47, - 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x48, 0x49, 0x50, 0x5f, - 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, - 0x41, 0x44, 0x44, 0x10, 0xac, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, - 0x49, 0x54, 0x59, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x52, - 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xad, 0x01, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x45, 0x4e, - 0x44, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x10, 0xae, 0x01, 0x12, 0x14, 0x0a, - 0x0f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, - 0x10, 0xaf, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, - 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x41, 0x44, - 0x44, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0xb0, 0x01, 0x12, 0x1b, 0x0a, - 0x16, 0x50, 0x49, 0x4e, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, - 0x49, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x10, 0xb1, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x50, 0x41, - 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x54, - 0x55, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x52, 0x10, 0xb2, 0x01, 0x12, 0x2e, 0x0a, - 0x29, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, - 0x53, 0x45, 0x54, 0x55, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x45, 0x5f, 0x52, 0x45, - 0x43, 0x45, 0x49, 0x56, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xb3, 0x01, 0x12, 0x32, 0x0a, - 0x2d, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, - 0x53, 0x45, 0x54, 0x55, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x45, 0x5f, 0x53, 0x45, - 0x4e, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x10, 0xb4, - 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x4c, 0x49, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0xb5, 0x01, 0x12, - 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x44, 0x4d, - 0x49, 0x4e, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x10, 0xb6, 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x53, 0x55, - 0x42, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0xb7, 0x01, - 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x5f, 0x43, 0x41, - 0x4c, 0x4c, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0xb8, 0x01, 0x12, 0x2b, 0x0a, 0x26, - 0x53, 0x55, 0x42, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x54, - 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x45, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x41, 0x44, - 0x44, 0x5f, 0x52, 0x49, 0x43, 0x48, 0x10, 0xb9, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x47, 0x52, 0x4f, - 0x55, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x4e, 0x54, - 0x5f, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x49, 0x4e, 0x47, - 0x10, 0xba, 0x01, 0x12, 0x24, 0x0a, 0x1f, 0x50, 0x41, 0x49, 0x44, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x41, - 0x49, 0x47, 0x4e, 0x5f, 0x49, 0x44, 0x10, 0xbb, 0x01, 0x12, 0x18, 0x0a, 0x13, 0x47, 0x45, 0x4e, - 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, - 0x10, 0xbc, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x43, - 0x48, 0x41, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x10, 0xbd, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x47, 0x45, - 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, - 0x41, 0x44, 0x44, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xbe, 0x01, 0x12, - 0x20, 0x0a, 0x1b, 0x53, 0x55, 0x47, 0x47, 0x45, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x55, 0x42, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x10, 0xbf, - 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x42, 0x49, 0x5a, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x31, 0x50, 0x5f, - 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, - 0x44, 0x10, 0xc0, 0x01, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x55, - 0x53, 0x45, 0x52, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0xc1, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x42, 0x49, - 0x5a, 0x5f, 0x43, 0x4f, 0x45, 0x58, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x43, 0x59, 0x5f, 0x49, - 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x10, 0xc2, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x42, - 0x49, 0x5a, 0x5f, 0x43, 0x4f, 0x45, 0x58, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x43, 0x59, 0x5f, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x10, - 0xc3, 0x01, 0x12, 0x19, 0x0a, 0x14, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41, 0x49, - 0x5f, 0x45, 0x44, 0x55, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xc4, 0x01, 0x12, 0x21, 0x0a, - 0x1c, 0x42, 0x49, 0x5a, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x33, 0x50, 0x5f, 0x4d, 0x45, 0x53, 0x53, - 0x41, 0x47, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xc5, 0x01, - 0x12, 0x1b, 0x0a, 0x16, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x54, - 0x55, 0x50, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0xc6, 0x01, 0x12, 0x1a, 0x0a, - 0x15, 0x52, 0x45, 0x4d, 0x49, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x5f, 0x4d, - 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0xc7, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x52, 0x45, 0x4d, - 0x49, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x5f, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x10, 0xc8, 0x01, 0x22, 0x58, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, - 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x4c, - 0x49, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x52, - 0x45, 0x41, 0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x44, 0x10, - 0x05, 0x22, 0x3d, 0x0a, 0x10, 0x42, 0x69, 0x7a, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x32, 0x45, 0x45, 0x10, 0x00, 0x12, - 0x06, 0x0a, 0x02, 0x46, 0x42, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x53, 0x50, 0x10, 0x01, - 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x53, 0x50, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, 0x42, 0x10, 0x03, - 0x22, 0x96, 0x1a, 0x0a, 0x0b, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x12, 0x40, 0x0a, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, - 0x6c, 0x61, 0x67, 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x12, 0x52, 0x0a, 0x16, 0x76, 0x6f, 0x69, 0x70, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, - 0x64, 0x75, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, - 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x16, - 0x76, 0x6f, 0x69, 0x70, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x4f, 0x75, - 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x56, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x56, 0x33, 0x12, 0x42, - 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x56, 0x33, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, - 0x61, 0x67, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x56, 0x33, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x56, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x56, 0x32, 0x12, 0x52, 0x0a, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x33, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, - 0x61, 0x67, 0x52, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, - 0x33, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x40, 0x0a, 0x0d, 0x6c, 0x69, - 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0d, 0x6c, - 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x0a, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x56, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0a, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x56, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x16, 0x76, 0x6f, 0x69, 0x70, - 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, - 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x16, 0x76, 0x6f, 0x69, 0x70, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, - 0x64, 0x75, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x48, 0x0a, 0x11, - 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, - 0x6c, 0x61, 0x67, 0x52, 0x11, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x65, - 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x46, - 0x0a, 0x10, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x10, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x63, - 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x4a, 0x0a, 0x12, 0x6c, 0x69, 0x76, 0x65, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, - 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x12, - 0x6c, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x6e, - 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x0a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x64, 0x69, 0x74, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, - 0x61, 0x67, 0x52, 0x0a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x64, 0x69, 0x74, 0x12, 0x3c, - 0x0a, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, - 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, - 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x5c, 0x0a, 0x1b, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x69, 0x63, 0x68, 0x51, - 0x75, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x1b, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x69, 0x63, 0x68, 0x51, 0x75, - 0x69, 0x63, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x76, 0x6e, - 0x61, 0x6d, 0x65, 0x56, 0x32, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x76, 0x6e, 0x61, 0x6d, 0x65, 0x56, 0x32, - 0x12, 0x46, 0x0a, 0x10, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, - 0x6b, 0x55, 0x72, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x10, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x6c, 0x61, - 0x79, 0x62, 0x61, 0x63, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x40, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0d, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x12, 0x4c, 0x0a, 0x13, 0x76, 0x6f, - 0x69, 0x70, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, - 0x6c, 0x61, 0x67, 0x52, 0x13, 0x76, 0x6f, 0x69, 0x70, 0x49, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, - 0x75, 0x61, 0x6c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x4a, 0x0a, 0x12, 0x74, 0x68, 0x69, 0x72, - 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x17, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, - 0x52, 0x12, 0x74, 0x68, 0x69, 0x72, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x1a, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, - 0x6c, 0x79, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x1a, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, - 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x12, 0x52, 0x0a, 0x16, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x56, 0x34, 0x4a, 0x6f, 0x69, 0x6e, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x16, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x56, 0x34, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, - 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, - 0x6c, 0x6f, 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x44, - 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, - 0x6c, 0x61, 0x67, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x65, 0x64, 0x53, 0x74, 0x69, 0x63, - 0x6b, 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x76, 0x6f, 0x69, 0x70, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x43, 0x61, 0x6c, 0x6c, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0d, 0x76, 0x6f, 0x69, 0x70, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x44, 0x0a, 0x0f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0f, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5e, 0x0a, 0x1c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x1f, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, - 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x1c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x48, 0x0a, 0x11, - 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, - 0x6c, 0x61, 0x67, 0x52, 0x11, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x13, 0x65, 0x32, 0x45, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x21, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, - 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, - 0x13, 0x65, 0x32, 0x45, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x79, 0x6e, 0x63, 0x12, 0x46, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, - 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x56, 0x32, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, - 0x6e, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x56, 0x32, 0x12, 0x46, 0x0a, 0x10, - 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x73, 0x56, 0x33, - 0x18, 0x24, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, - 0x61, 0x67, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x65, - 0x72, 0x73, 0x56, 0x33, 0x12, 0x3a, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, - 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, - 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x07, 0x73, - 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x44, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, - 0x69, 0x69, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x55, 0x69, 0x69, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x12, 0x5c, 0x0a, 0x1b, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x6f, 0x67, 0x66, 0x6f, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x29, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x1b, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x44, 0x6f, 0x67, 0x66, 0x6f, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x3e, 0x0a, 0x0c, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0c, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x38, 0x0a, 0x09, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x56, 0x32, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x09, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x56, 0x32, 0x12, 0x5a, 0x0a, 0x1a, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, - 0x6c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x1a, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x41, - 0x6c, 0x6c, 0x6f, 0x77, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x12, 0x4e, 0x0a, 0x14, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x32, 0x34, 0x48, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x14, 0x65, 0x70, 0x68, 0x65, - 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x32, 0x34, 0x48, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x64, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x0e, 0x6d, 0x64, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, - 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x10, 0x64, 0x69, 0x73, 0x61, - 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x56, 0x0a, 0x18, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4d, 0x64, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x41, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x18, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x4d, 0x64, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x56, 0x0a, 0x18, 0x6e, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x31, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x57, 0x65, 0x62, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x46, 0x6c, - 0x61, 0x67, 0x52, 0x18, 0x6e, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x4b, 0x0a, 0x04, - 0x46, 0x6c, 0x61, 0x67, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, - 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x55, - 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x56, 0x45, - 0x4c, 0x4f, 0x50, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x52, 0x4f, - 0x44, 0x55, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0xff, 0x01, 0x0a, 0x0b, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, - 0x72, 0x4a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, - 0x4a, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, - 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x2a, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x4a, 0x69, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4a, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x64, - 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4a, 0x69, - 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, - 0x65, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4a, 0x69, 0x64, 0x22, 0x6d, 0x0a, 0x09, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x53, 0x41, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x18, 0x2c, 0x20, 0x02, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x61, - 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x1b, 0x63, 0x61, 0x6d, 0x70, - 0x61, 0x69, 0x67, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1b, 0x63, - 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x38, 0x0a, 0x12, 0x52, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, - 0x67, 0x54, 0x61, 0x67, 0x22, 0xae, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x20, 0x0a, - 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x12, - 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x4d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x64, 0x22, 0x40, 0x0a, 0x12, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x6d, - 0x70, 0x61, 0x69, 0x67, 0x6e, 0x49, 0x64, 0x22, 0xf9, 0x01, 0x0a, 0x0a, 0x50, 0x6f, 0x6c, 0x6c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x14, 0x70, 0x6f, 0x6c, 0x6c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x14, 0x70, 0x6f, 0x6c, 0x6c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, - 0x12, 0x2d, 0x0a, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x56, 0x6f, - 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x04, 0x76, 0x6f, 0x74, 0x65, 0x12, - 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x4d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x2c, 0x0a, - 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x4d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x72, - 0x65, 0x61, 0x64, 0x22, 0x42, 0x0a, 0x16, 0x50, 0x6f, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, - 0x0f, 0x70, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x6f, 0x6c, 0x6c, 0x49, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x09, 0x50, 0x69, 0x6e, 0x49, - 0x6e, 0x43, 0x68, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, - 0x69, 0x6e, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x5b, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x17, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x3c, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, - 0x0a, 0x0b, 0x50, 0x49, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, - 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x50, 0x49, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x41, 0x4c, 0x4c, - 0x10, 0x02, 0x22, 0x65, 0x0a, 0x0b, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, - 0x08, 0x6e, 0x65, 0x77, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x6e, 0x65, 0x77, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x65, 0x77, - 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, - 0x65, 0x77, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x49, 0x64, 0x22, 0xac, 0x0c, 0x0a, 0x0b, 0x50, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x12, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x44, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x31, 0x30, 0x30, 0x30, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x4a, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x42, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x70, 0x72, 0x6f, - 0x6f, 0x66, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x75, 0x74, 0x75, - 0x72, 0x65, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, - 0x54, 0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x74, 0x78, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x4e, 0x6f, 0x76, 0x69, 0x46, - 0x69, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x11, 0x75, 0x73, 0x65, 0x4e, 0x6f, 0x76, 0x69, 0x46, 0x69, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x35, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, - 0x61, 0x72, 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x0e, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x6e, - 0x65, 0x79, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x99, 0x05, 0x0a, 0x09, 0x54, 0x78, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, - 0x0d, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x55, 0x50, 0x10, 0x01, - 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x43, 0x45, - 0x49, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x55, 0x50, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, - 0x49, 0x4e, 0x49, 0x54, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, - 0x53, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, - 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0f, - 0x0a, 0x0b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x49, 0x53, 0x4b, 0x10, 0x07, 0x12, - 0x15, 0x0a, 0x11, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, - 0x53, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, - 0x53, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x5f, 0x44, 0x41, 0x10, 0x0a, 0x12, 0x13, 0x0a, 0x0f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x44, 0x41, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, - 0x46, 0x55, 0x4e, 0x44, 0x45, 0x44, 0x5f, 0x54, 0x58, 0x4e, 0x10, 0x0c, 0x12, 0x11, 0x0a, 0x0d, - 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0d, 0x12, - 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x0e, 0x12, 0x14, 0x0a, - 0x10, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x44, - 0x41, 0x10, 0x0f, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x54, - 0x58, 0x4e, 0x10, 0x10, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x43, 0x41, 0x4e, - 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x11, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x55, 0x54, 0x48, 0x5f, - 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x50, 0x52, - 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x12, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x55, - 0x54, 0x48, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x10, 0x13, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, - 0x49, 0x54, 0x10, 0x14, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, - 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x15, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4c, - 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x16, 0x12, 0x17, 0x0a, - 0x13, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x52, 0x49, 0x53, 0x4b, 0x10, 0x17, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, - 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x18, 0x12, 0x13, 0x0a, 0x0f, - 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, - 0x19, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x41, 0x4e, - 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x1a, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x4c, 0x4c, 0x45, - 0x43, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x1b, 0x12, - 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x1c, 0x12, 0x14, - 0x0a, 0x10, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x41, 0x4c, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, - 0x53, 0x53, 0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x41, 0x4c, - 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x1e, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, - 0x46, 0x55, 0x4e, 0x44, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x1f, 0x22, 0xcc, - 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x0a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x08, 0x0a, - 0x04, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x45, 0x45, 0x44, 0x5f, - 0x54, 0x4f, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x43, - 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4f, 0x55, - 0x4c, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, - 0x05, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x46, 0x55, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x06, 0x12, - 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, - 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, - 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x57, 0x41, 0x49, - 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x50, 0x41, 0x59, 0x45, 0x52, 0x10, 0x0a, - 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x0b, 0x22, 0x29, 0x0a, - 0x08, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x00, 0x12, - 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x52, 0x10, 0x01, 0x22, 0xbc, 0x01, 0x0a, 0x17, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x22, 0x59, 0x0a, 0x17, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x41, 0x64, 0x64, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, - 0x4f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x53, 0x65, 0x63, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, - 0x64, 0x64, 0x4f, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x53, 0x65, - 0x63, 0x73, 0x22, 0x29, 0x0a, 0x09, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x22, 0x88, 0x02, - 0x0a, 0x0a, 0x4b, 0x65, 0x65, 0x70, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x74, 0x12, 0x2e, 0x0a, 0x08, - 0x6b, 0x65, 0x65, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x65, 0x70, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1c, - 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4a, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4a, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x0d, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x17, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, - 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, - 0x79, 0x52, 0x17, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x52, 0x0a, 0x14, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x64, 0x65, 0x66, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x14, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x06, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x64, 0x22, 0x73, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x10, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x10, 0x63, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, - 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcb, 0x01, - 0x0a, 0x10, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x7f, 0x0a, 0x07, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x16, 0x0a, - 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xf0, 0x02, 0x0a, 0x09, - 0x43, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x38, 0x0a, 0x04, 0x6c, 0x65, 0x61, - 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4e, 0x6f, 0x69, - 0x73, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6c, - 0x65, 0x61, 0x66, 0x12, 0x48, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4e, - 0x6f, 0x69, 0x73, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, - 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x1a, 0xde, 0x01, - 0x0a, 0x10, 0x4e, 0x6f, 0x69, 0x73, 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x91, 0x01, 0x0a, 0x07, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x22, - 0x0a, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x53, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x42, 0x65, 0x66, 0x6f, 0x72, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x42, 0x65, 0x66, 0x6f, - 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x41, 0x66, 0x74, 0x65, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x41, 0x66, 0x74, 0x65, 0x72, 0x22, 0xa6, - 0x05, 0x0a, 0x02, 0x51, 0x50, 0x1a, 0x8f, 0x02, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x02, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, - 0x51, 0x50, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, - 0x3d, 0x0a, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x51, 0x50, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x67, - 0x0a, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x02, 0x28, 0x0e, - 0x32, 0x2b, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x50, 0x2e, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x53, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x18, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x3a, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x1a, 0xab, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x50, 0x2e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x0a, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, - 0x07, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x50, 0x2e, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, - 0x50, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x73, 0x22, 0x30, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x52, 0x55, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x46, - 0x41, 0x4c, 0x53, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x10, 0x03, 0x22, 0x4a, 0x0a, 0x1e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x42, 0x59, - 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x46, 0x41, - 0x49, 0x4c, 0x5f, 0x42, 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x02, 0x22, - 0x26, 0x0a, 0x0a, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, - 0x03, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x07, - 0x0a, 0x03, 0x4e, 0x4f, 0x52, 0x10, 0x03, 0x2a, 0x29, 0x0a, 0x11, 0x41, 0x44, 0x56, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, - 0x45, 0x32, 0x45, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x4f, 0x53, 0x54, 0x45, 0x44, - 0x10, 0x01, 0x2a, 0x40, 0x0a, 0x08, 0x4b, 0x65, 0x65, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, - 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4b, - 0x45, 0x45, 0x50, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x15, 0x0a, - 0x11, 0x55, 0x4e, 0x44, 0x4f, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x41, - 0x4c, 0x4c, 0x10, 0x02, 0x2a, 0xac, 0x01, 0x0a, 0x1c, 0x50, 0x65, 0x65, 0x72, 0x44, 0x61, 0x74, - 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x5f, - 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x45, 0x4e, - 0x44, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x52, - 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x53, 0x54, 0x52, 0x41, 0x50, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, - 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x52, - 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x48, 0x49, 0x53, 0x54, 0x4f, - 0x52, 0x59, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4d, 0x41, 0x4e, - 0x44, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x48, 0x4f, 0x4c, 0x44, - 0x45, 0x52, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x4e, - 0x44, 0x10, 0x04, 0x2a, 0x2f, 0x0a, 0x0f, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x56, 0x69, 0x73, 0x69, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, - 0x54, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, - 0x4f, 0x4e, 0x10, 0x02, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6b, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6e, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x2f, - 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2f, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x3b, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, -} - -var ( - file_def_proto_rawDescOnce sync.Once - file_def_proto_rawDescData = file_def_proto_rawDesc -) - -func file_def_proto_rawDescGZIP() []byte { - file_def_proto_rawDescOnce.Do(func() { - file_def_proto_rawDescData = protoimpl.X.CompressGZIP(file_def_proto_rawDescData) - }) - return file_def_proto_rawDescData -} - -var file_def_proto_enumTypes = make([]protoimpl.EnumInfo, 83) -var file_def_proto_msgTypes = make([]protoimpl.MessageInfo, 272) -var file_def_proto_goTypes = []interface{}{ - (ADVEncryptionType)(0), // 0: defproto.ADVEncryptionType - (KeepType)(0), // 1: defproto.KeepType - (PeerDataOperationRequestType)(0), // 2: defproto.PeerDataOperationRequestType - (MediaVisibility)(0), // 3: defproto.MediaVisibility - (DeviceProps_PlatformType)(0), // 4: defproto.DeviceProps.PlatformType - (InteractiveMessage_ShopMessage_Surface)(0), // 5: defproto.InteractiveMessage.ShopMessage.Surface - (HistorySyncNotification_HistorySyncType)(0), // 6: defproto.HistorySyncNotification.HistorySyncType - (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_DayOfWeekType)(0), // 7: defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType - (HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent_CalendarType)(0), // 8: defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType - (GroupInviteMessage_GroupType)(0), // 9: defproto.GroupInviteMessage.GroupType - (ExtendedTextMessage_PreviewType)(0), // 10: defproto.ExtendedTextMessage.PreviewType - (ExtendedTextMessage_InviteLinkGroupType)(0), // 11: defproto.ExtendedTextMessage.InviteLinkGroupType - (ExtendedTextMessage_FontType)(0), // 12: defproto.ExtendedTextMessage.FontType - (EventResponseMessage_EventResponseType)(0), // 13: defproto.EventResponseMessage.EventResponseType - (CallLogMessage_CallType)(0), // 14: defproto.CallLogMessage.CallType - (CallLogMessage_CallOutcome)(0), // 15: defproto.CallLogMessage.CallOutcome - (ButtonsResponseMessage_Type)(0), // 16: defproto.ButtonsResponseMessage.Type - (ButtonsMessage_HeaderType)(0), // 17: defproto.ButtonsMessage.HeaderType - (ButtonsMessage_Button_Type)(0), // 18: defproto.ButtonsMessage.Button.Type - (BotFeedbackMessage_BotFeedbackKindMultiplePositive)(0), // 19: defproto.BotFeedbackMessage.BotFeedbackKindMultiplePositive - (BotFeedbackMessage_BotFeedbackKindMultipleNegative)(0), // 20: defproto.BotFeedbackMessage.BotFeedbackKindMultipleNegative - (BotFeedbackMessage_BotFeedbackKind)(0), // 21: defproto.BotFeedbackMessage.BotFeedbackKind - (BCallMessage_MediaType)(0), // 22: defproto.BCallMessage.MediaType - (HydratedTemplateButton_HydratedURLButton_WebviewPresentationType)(0), // 23: defproto.HydratedTemplateButton.HydratedURLButton.WebviewPresentationType - (DisappearingMode_Trigger)(0), // 24: defproto.DisappearingMode.Trigger - (DisappearingMode_Initiator)(0), // 25: defproto.DisappearingMode.Initiator - (ContextInfo_ExternalAdReplyInfo_MediaType)(0), // 26: defproto.ContextInfo.ExternalAdReplyInfo.MediaType - (ContextInfo_AdReplyInfo_MediaType)(0), // 27: defproto.ContextInfo.AdReplyInfo.MediaType - (ForwardedNewsletterMessageInfo_ContentType)(0), // 28: defproto.ForwardedNewsletterMessageInfo.ContentType - (BotPluginMetadata_SearchProvider)(0), // 29: defproto.BotPluginMetadata.SearchProvider - (BotPluginMetadata_PluginType)(0), // 30: defproto.BotPluginMetadata.PluginType - (PaymentBackground_Type)(0), // 31: defproto.PaymentBackground.Type - (VideoMessage_Attribution)(0), // 32: defproto.VideoMessage.Attribution - (ScheduledCallEditMessage_EditType)(0), // 33: defproto.ScheduledCallEditMessage.EditType - (ScheduledCallCreationMessage_CallType)(0), // 34: defproto.ScheduledCallCreationMessage.CallType - (RequestWelcomeMessageMetadata_LocalChatState)(0), // 35: defproto.RequestWelcomeMessageMetadata.LocalChatState - (ProtocolMessage_Type)(0), // 36: defproto.ProtocolMessage.Type - (PinInChatMessage_Type)(0), // 37: defproto.PinInChatMessage.Type - (PaymentInviteMessage_ServiceType)(0), // 38: defproto.PaymentInviteMessage.ServiceType - (OrderMessage_OrderSurface)(0), // 39: defproto.OrderMessage.OrderSurface - (OrderMessage_OrderStatus)(0), // 40: defproto.OrderMessage.OrderStatus - (ListResponseMessage_ListType)(0), // 41: defproto.ListResponseMessage.ListType - (ListMessage_ListType)(0), // 42: defproto.ListMessage.ListType - (InvoiceMessage_AttachmentType)(0), // 43: defproto.InvoiceMessage.AttachmentType - (InteractiveResponseMessage_Body_Format)(0), // 44: defproto.InteractiveResponseMessage.Body.Format - (PastParticipant_LeaveReason)(0), // 45: defproto.PastParticipant.LeaveReason - (HistorySync_HistorySyncType)(0), // 46: defproto.HistorySync.HistorySyncType - (HistorySync_BotAIWaitListState)(0), // 47: defproto.HistorySync.BotAIWaitListState - (GroupParticipant_Rank)(0), // 48: defproto.GroupParticipant.Rank - (Conversation_EndOfHistoryTransferType)(0), // 49: defproto.Conversation.EndOfHistoryTransferType - (MediaRetryNotification_ResultType)(0), // 50: defproto.MediaRetryNotification.ResultType - (SyncdMutation_SyncdOperation)(0), // 51: defproto.SyncdMutation.SyncdOperation - (StatusPrivacyAction_StatusDistributionMode)(0), // 52: defproto.StatusPrivacyAction.StatusDistributionMode - (MarketingMessageAction_MarketingMessagePrototypeType)(0), // 53: defproto.MarketingMessageAction.MarketingMessagePrototypeType - (PatchDebugData_Platform)(0), // 54: defproto.PatchDebugData.Platform - (CallLogRecord_SilenceReason)(0), // 55: defproto.CallLogRecord.SilenceReason - (CallLogRecord_CallType)(0), // 56: defproto.CallLogRecord.CallType - (CallLogRecord_CallResult)(0), // 57: defproto.CallLogRecord.CallResult - (BizIdentityInfo_VerifiedLevelValue)(0), // 58: defproto.BizIdentityInfo.VerifiedLevelValue - (BizIdentityInfo_HostStorageType)(0), // 59: defproto.BizIdentityInfo.HostStorageType - (BizIdentityInfo_ActualActorsType)(0), // 60: defproto.BizIdentityInfo.ActualActorsType - (BizAccountLinkInfo_HostStorageType)(0), // 61: defproto.BizAccountLinkInfo.HostStorageType - (BizAccountLinkInfo_AccountType)(0), // 62: defproto.BizAccountLinkInfo.AccountType - (ClientPayload_Product)(0), // 63: defproto.ClientPayload.Product - (ClientPayload_IOSAppExtension)(0), // 64: defproto.ClientPayload.IOSAppExtension - (ClientPayload_ConnectType)(0), // 65: defproto.ClientPayload.ConnectType - (ClientPayload_ConnectReason)(0), // 66: defproto.ClientPayload.ConnectReason - (ClientPayload_WebInfo_WebSubPlatform)(0), // 67: defproto.ClientPayload.WebInfo.WebSubPlatform - (ClientPayload_UserAgent_ReleaseChannel)(0), // 68: defproto.ClientPayload.UserAgent.ReleaseChannel - (ClientPayload_UserAgent_Platform)(0), // 69: defproto.ClientPayload.UserAgent.Platform - (ClientPayload_UserAgent_DeviceType)(0), // 70: defproto.ClientPayload.UserAgent.DeviceType - (ClientPayload_DNSSource_DNSResolutionMethod)(0), // 71: defproto.ClientPayload.DNSSource.DNSResolutionMethod - (WebMessageInfo_StubType)(0), // 72: defproto.WebMessageInfo.StubType - (WebMessageInfo_Status)(0), // 73: defproto.WebMessageInfo.Status - (WebMessageInfo_BizPrivacyStatus)(0), // 74: defproto.WebMessageInfo.BizPrivacyStatus - (WebFeatures_Flag)(0), // 75: defproto.WebFeatures.Flag - (PinInChat_Type)(0), // 76: defproto.PinInChat.Type - (PaymentInfo_TxnStatus)(0), // 77: defproto.PaymentInfo.TxnStatus - (PaymentInfo_Status)(0), // 78: defproto.PaymentInfo.Status - (PaymentInfo_Currency)(0), // 79: defproto.PaymentInfo.Currency - (QP_FilterResult)(0), // 80: defproto.QP.FilterResult - (QP_FilterClientNotSupportedConfig)(0), // 81: defproto.QP.FilterClientNotSupportedConfig - (QP_ClauseType)(0), // 82: defproto.QP.ClauseType - (*ADVSignedKeyIndexList)(nil), // 83: defproto.ADVSignedKeyIndexList - (*ADVSignedDeviceIdentity)(nil), // 84: defproto.ADVSignedDeviceIdentity - (*ADVSignedDeviceIdentityHMAC)(nil), // 85: defproto.ADVSignedDeviceIdentityHMAC - (*ADVKeyIndexList)(nil), // 86: defproto.ADVKeyIndexList - (*ADVDeviceIdentity)(nil), // 87: defproto.ADVDeviceIdentity - (*DeviceProps)(nil), // 88: defproto.DeviceProps - (*InteractiveMessage)(nil), // 89: defproto.InteractiveMessage - (*InitialSecurityNotificationSettingSync)(nil), // 90: defproto.InitialSecurityNotificationSettingSync - (*ImageMessage)(nil), // 91: defproto.ImageMessage - (*HistorySyncNotification)(nil), // 92: defproto.HistorySyncNotification - (*HighlyStructuredMessage)(nil), // 93: defproto.HighlyStructuredMessage - (*GroupInviteMessage)(nil), // 94: defproto.GroupInviteMessage - (*FutureProofMessage)(nil), // 95: defproto.FutureProofMessage - (*ExtendedTextMessage)(nil), // 96: defproto.ExtendedTextMessage - (*EventResponseMessage)(nil), // 97: defproto.EventResponseMessage - (*EventMessage)(nil), // 98: defproto.EventMessage - (*EncReactionMessage)(nil), // 99: defproto.EncReactionMessage - (*EncEventResponseMessage)(nil), // 100: defproto.EncEventResponseMessage - (*EncCommentMessage)(nil), // 101: defproto.EncCommentMessage - (*DocumentMessage)(nil), // 102: defproto.DocumentMessage - (*DeviceSentMessage)(nil), // 103: defproto.DeviceSentMessage - (*DeclinePaymentRequestMessage)(nil), // 104: defproto.DeclinePaymentRequestMessage - (*ContactsArrayMessage)(nil), // 105: defproto.ContactsArrayMessage - (*ContactMessage)(nil), // 106: defproto.ContactMessage - (*CommentMessage)(nil), // 107: defproto.CommentMessage - (*Chat)(nil), // 108: defproto.Chat - (*CancelPaymentRequestMessage)(nil), // 109: defproto.CancelPaymentRequestMessage - (*Call)(nil), // 110: defproto.Call - (*CallLogMessage)(nil), // 111: defproto.CallLogMessage - (*ButtonsResponseMessage)(nil), // 112: defproto.ButtonsResponseMessage - (*ButtonsMessage)(nil), // 113: defproto.ButtonsMessage - (*BotFeedbackMessage)(nil), // 114: defproto.BotFeedbackMessage - (*BCallMessage)(nil), // 115: defproto.BCallMessage - (*AudioMessage)(nil), // 116: defproto.AudioMessage - (*AppStateSyncKey)(nil), // 117: defproto.AppStateSyncKey - (*AppStateSyncKeyShare)(nil), // 118: defproto.AppStateSyncKeyShare - (*AppStateSyncKeyRequest)(nil), // 119: defproto.AppStateSyncKeyRequest - (*AppStateSyncKeyId)(nil), // 120: defproto.AppStateSyncKeyId - (*AppStateSyncKeyFingerprint)(nil), // 121: defproto.AppStateSyncKeyFingerprint - (*AppStateSyncKeyData)(nil), // 122: defproto.AppStateSyncKeyData - (*AppStateFatalExceptionNotification)(nil), // 123: defproto.AppStateFatalExceptionNotification - (*Location)(nil), // 124: defproto.Location - (*InteractiveAnnotation)(nil), // 125: defproto.InteractiveAnnotation - (*HydratedTemplateButton)(nil), // 126: defproto.HydratedTemplateButton - (*GroupMention)(nil), // 127: defproto.GroupMention - (*DisappearingMode)(nil), // 128: defproto.DisappearingMode - (*DeviceListMetadata)(nil), // 129: defproto.DeviceListMetadata - (*ContextInfo)(nil), // 130: defproto.ContextInfo - (*ForwardedNewsletterMessageInfo)(nil), // 131: defproto.ForwardedNewsletterMessageInfo - (*BotSuggestedPromptMetadata)(nil), // 132: defproto.BotSuggestedPromptMetadata - (*BotPluginMetadata)(nil), // 133: defproto.BotPluginMetadata - (*BotMetadata)(nil), // 134: defproto.BotMetadata - (*BotAvatarMetadata)(nil), // 135: defproto.BotAvatarMetadata - (*ActionLink)(nil), // 136: defproto.ActionLink - (*TemplateButton)(nil), // 137: defproto.TemplateButton - (*Point)(nil), // 138: defproto.Point - (*PaymentBackground)(nil), // 139: defproto.PaymentBackground - (*Money)(nil), // 140: defproto.Money - (*Message)(nil), // 141: defproto.Message - (*MessageSecretMessage)(nil), // 142: defproto.MessageSecretMessage - (*MessageContextInfo)(nil), // 143: defproto.MessageContextInfo - (*VideoMessage)(nil), // 144: defproto.VideoMessage - (*TemplateMessage)(nil), // 145: defproto.TemplateMessage - (*TemplateButtonReplyMessage)(nil), // 146: defproto.TemplateButtonReplyMessage - (*StickerSyncRMRMessage)(nil), // 147: defproto.StickerSyncRMRMessage - (*StickerMessage)(nil), // 148: defproto.StickerMessage - (*SenderKeyDistributionMessage)(nil), // 149: defproto.SenderKeyDistributionMessage - (*SendPaymentMessage)(nil), // 150: defproto.SendPaymentMessage - (*ScheduledCallEditMessage)(nil), // 151: defproto.ScheduledCallEditMessage - (*ScheduledCallCreationMessage)(nil), // 152: defproto.ScheduledCallCreationMessage - (*RequestWelcomeMessageMetadata)(nil), // 153: defproto.RequestWelcomeMessageMetadata - (*RequestPhoneNumberMessage)(nil), // 154: defproto.RequestPhoneNumberMessage - (*RequestPaymentMessage)(nil), // 155: defproto.RequestPaymentMessage - (*ReactionMessage)(nil), // 156: defproto.ReactionMessage - (*ProtocolMessage)(nil), // 157: defproto.ProtocolMessage - (*ProductMessage)(nil), // 158: defproto.ProductMessage - (*PollVoteMessage)(nil), // 159: defproto.PollVoteMessage - (*PollUpdateMessage)(nil), // 160: defproto.PollUpdateMessage - (*PollUpdateMessageMetadata)(nil), // 161: defproto.PollUpdateMessageMetadata - (*PollEncValue)(nil), // 162: defproto.PollEncValue - (*PollCreationMessage)(nil), // 163: defproto.PollCreationMessage - (*PinInChatMessage)(nil), // 164: defproto.PinInChatMessage - (*PeerDataOperationRequestResponseMessage)(nil), // 165: defproto.PeerDataOperationRequestResponseMessage - (*PeerDataOperationRequestMessage)(nil), // 166: defproto.PeerDataOperationRequestMessage - (*PaymentInviteMessage)(nil), // 167: defproto.PaymentInviteMessage - (*OrderMessage)(nil), // 168: defproto.OrderMessage - (*NewsletterAdminInviteMessage)(nil), // 169: defproto.NewsletterAdminInviteMessage - (*MessageHistoryBundle)(nil), // 170: defproto.MessageHistoryBundle - (*LocationMessage)(nil), // 171: defproto.LocationMessage - (*LiveLocationMessage)(nil), // 172: defproto.LiveLocationMessage - (*ListResponseMessage)(nil), // 173: defproto.ListResponseMessage - (*ListMessage)(nil), // 174: defproto.ListMessage - (*KeepInChatMessage)(nil), // 175: defproto.KeepInChatMessage - (*InvoiceMessage)(nil), // 176: defproto.InvoiceMessage - (*InteractiveResponseMessage)(nil), // 177: defproto.InteractiveResponseMessage - (*EphemeralSetting)(nil), // 178: defproto.EphemeralSetting - (*WallpaperSettings)(nil), // 179: defproto.WallpaperSettings - (*StickerMetadata)(nil), // 180: defproto.StickerMetadata - (*Pushname)(nil), // 181: defproto.Pushname - (*PhoneNumberToLIDMapping)(nil), // 182: defproto.PhoneNumberToLIDMapping - (*PastParticipants)(nil), // 183: defproto.PastParticipants - (*PastParticipant)(nil), // 184: defproto.PastParticipant - (*NotificationSettings)(nil), // 185: defproto.NotificationSettings - (*HistorySync)(nil), // 186: defproto.HistorySync - (*HistorySyncMsg)(nil), // 187: defproto.HistorySyncMsg - (*GroupParticipant)(nil), // 188: defproto.GroupParticipant - (*GlobalSettings)(nil), // 189: defproto.GlobalSettings - (*Conversation)(nil), // 190: defproto.Conversation - (*AvatarUserSettings)(nil), // 191: defproto.AvatarUserSettings - (*AutoDownloadSettings)(nil), // 192: defproto.AutoDownloadSettings - (*ServerErrorReceipt)(nil), // 193: defproto.ServerErrorReceipt - (*MediaRetryNotification)(nil), // 194: defproto.MediaRetryNotification - (*MessageKey)(nil), // 195: defproto.MessageKey - (*SyncdVersion)(nil), // 196: defproto.SyncdVersion - (*SyncdValue)(nil), // 197: defproto.SyncdValue - (*SyncdSnapshot)(nil), // 198: defproto.SyncdSnapshot - (*SyncdRecord)(nil), // 199: defproto.SyncdRecord - (*SyncdPatch)(nil), // 200: defproto.SyncdPatch - (*SyncdMutations)(nil), // 201: defproto.SyncdMutations - (*SyncdMutation)(nil), // 202: defproto.SyncdMutation - (*SyncdIndex)(nil), // 203: defproto.SyncdIndex - (*KeyId)(nil), // 204: defproto.KeyId - (*ExternalBlobReference)(nil), // 205: defproto.ExternalBlobReference - (*ExitCode)(nil), // 206: defproto.ExitCode - (*SyncActionValue)(nil), // 207: defproto.SyncActionValue - (*UserStatusMuteAction)(nil), // 208: defproto.UserStatusMuteAction - (*UnarchiveChatsSetting)(nil), // 209: defproto.UnarchiveChatsSetting - (*TimeFormatAction)(nil), // 210: defproto.TimeFormatAction - (*SyncActionMessage)(nil), // 211: defproto.SyncActionMessage - (*SyncActionMessageRange)(nil), // 212: defproto.SyncActionMessageRange - (*SubscriptionAction)(nil), // 213: defproto.SubscriptionAction - (*StickerAction)(nil), // 214: defproto.StickerAction - (*StatusPrivacyAction)(nil), // 215: defproto.StatusPrivacyAction - (*StarAction)(nil), // 216: defproto.StarAction - (*SecurityNotificationSetting)(nil), // 217: defproto.SecurityNotificationSetting - (*RemoveRecentStickerAction)(nil), // 218: defproto.RemoveRecentStickerAction - (*RecentEmojiWeightsAction)(nil), // 219: defproto.RecentEmojiWeightsAction - (*QuickReplyAction)(nil), // 220: defproto.QuickReplyAction - (*PushNameSetting)(nil), // 221: defproto.PushNameSetting - (*PrivacySettingRelayAllCalls)(nil), // 222: defproto.PrivacySettingRelayAllCalls - (*PrimaryVersionAction)(nil), // 223: defproto.PrimaryVersionAction - (*PrimaryFeature)(nil), // 224: defproto.PrimaryFeature - (*PnForLidChatAction)(nil), // 225: defproto.PnForLidChatAction - (*PinAction)(nil), // 226: defproto.PinAction - (*PaymentInfoAction)(nil), // 227: defproto.PaymentInfoAction - (*NuxAction)(nil), // 228: defproto.NuxAction - (*MuteAction)(nil), // 229: defproto.MuteAction - (*MarketingMessageBroadcastAction)(nil), // 230: defproto.MarketingMessageBroadcastAction - (*MarketingMessageAction)(nil), // 231: defproto.MarketingMessageAction - (*MarkChatAsReadAction)(nil), // 232: defproto.MarkChatAsReadAction - (*LocaleSetting)(nil), // 233: defproto.LocaleSetting - (*LabelReorderingAction)(nil), // 234: defproto.LabelReorderingAction - (*LabelEditAction)(nil), // 235: defproto.LabelEditAction - (*LabelAssociationAction)(nil), // 236: defproto.LabelAssociationAction - (*KeyExpiration)(nil), // 237: defproto.KeyExpiration - (*ExternalWebBetaAction)(nil), // 238: defproto.ExternalWebBetaAction - (*DeleteMessageForMeAction)(nil), // 239: defproto.DeleteMessageForMeAction - (*DeleteIndividualCallLogAction)(nil), // 240: defproto.DeleteIndividualCallLogAction - (*DeleteChatAction)(nil), // 241: defproto.DeleteChatAction - (*ContactAction)(nil), // 242: defproto.ContactAction - (*ClearChatAction)(nil), // 243: defproto.ClearChatAction - (*ChatAssignmentOpenedStatusAction)(nil), // 244: defproto.ChatAssignmentOpenedStatusAction - (*ChatAssignmentAction)(nil), // 245: defproto.ChatAssignmentAction - (*CallLogAction)(nil), // 246: defproto.CallLogAction - (*BotWelcomeRequestAction)(nil), // 247: defproto.BotWelcomeRequestAction - (*ArchiveChatAction)(nil), // 248: defproto.ArchiveChatAction - (*AndroidUnsupportedActions)(nil), // 249: defproto.AndroidUnsupportedActions - (*AgentAction)(nil), // 250: defproto.AgentAction - (*SyncActionData)(nil), // 251: defproto.SyncActionData - (*RecentEmojiWeight)(nil), // 252: defproto.RecentEmojiWeight - (*PatchDebugData)(nil), // 253: defproto.PatchDebugData - (*CallLogRecord)(nil), // 254: defproto.CallLogRecord - (*VerifiedNameCertificate)(nil), // 255: defproto.VerifiedNameCertificate - (*LocalizedName)(nil), // 256: defproto.LocalizedName - (*BizIdentityInfo)(nil), // 257: defproto.BizIdentityInfo - (*BizAccountPayload)(nil), // 258: defproto.BizAccountPayload - (*BizAccountLinkInfo)(nil), // 259: defproto.BizAccountLinkInfo - (*HandshakeMessage)(nil), // 260: defproto.HandshakeMessage - (*HandshakeServerHello)(nil), // 261: defproto.HandshakeServerHello - (*HandshakeClientHello)(nil), // 262: defproto.HandshakeClientHello - (*HandshakeClientFinish)(nil), // 263: defproto.HandshakeClientFinish - (*ClientPayload)(nil), // 264: defproto.ClientPayload - (*WebNotificationsInfo)(nil), // 265: defproto.WebNotificationsInfo - (*WebMessageInfo)(nil), // 266: defproto.WebMessageInfo - (*WebFeatures)(nil), // 267: defproto.WebFeatures - (*UserReceipt)(nil), // 268: defproto.UserReceipt - (*StatusPSA)(nil), // 269: defproto.StatusPSA - (*ReportingTokenInfo)(nil), // 270: defproto.ReportingTokenInfo - (*Reaction)(nil), // 271: defproto.Reaction - (*PremiumMessageInfo)(nil), // 272: defproto.PremiumMessageInfo - (*PollUpdate)(nil), // 273: defproto.PollUpdate - (*PollAdditionalMetadata)(nil), // 274: defproto.PollAdditionalMetadata - (*PinInChat)(nil), // 275: defproto.PinInChat - (*PhotoChange)(nil), // 276: defproto.PhotoChange - (*PaymentInfo)(nil), // 277: defproto.PaymentInfo - (*NotificationMessageInfo)(nil), // 278: defproto.NotificationMessageInfo - (*MessageAddOnContextInfo)(nil), // 279: defproto.MessageAddOnContextInfo - (*MediaData)(nil), // 280: defproto.MediaData - (*KeepInChat)(nil), // 281: defproto.KeepInChat - (*EventResponse)(nil), // 282: defproto.EventResponse - (*CommentMetadata)(nil), // 283: defproto.CommentMetadata - (*NoiseCertificate)(nil), // 284: defproto.NoiseCertificate - (*CertChain)(nil), // 285: defproto.CertChain - (*QP)(nil), // 286: defproto.QP - (*DeviceProps_HistorySyncConfig)(nil), // 287: defproto.DeviceProps.HistorySyncConfig - (*DeviceProps_AppVersion)(nil), // 288: defproto.DeviceProps.AppVersion - (*InteractiveMessage_ShopMessage)(nil), // 289: defproto.InteractiveMessage.ShopMessage - (*InteractiveMessage_NativeFlowMessage)(nil), // 290: defproto.InteractiveMessage.NativeFlowMessage - (*InteractiveMessage_Header)(nil), // 291: defproto.InteractiveMessage.Header - (*InteractiveMessage_Footer)(nil), // 292: defproto.InteractiveMessage.Footer - (*InteractiveMessage_CollectionMessage)(nil), // 293: defproto.InteractiveMessage.CollectionMessage - (*InteractiveMessage_CarouselMessage)(nil), // 294: defproto.InteractiveMessage.CarouselMessage - (*InteractiveMessage_Body)(nil), // 295: defproto.InteractiveMessage.Body - (*InteractiveMessage_NativeFlowMessage_NativeFlowButton)(nil), // 296: defproto.InteractiveMessage.NativeFlowMessage.NativeFlowButton - (*HighlyStructuredMessage_HSMLocalizableParameter)(nil), // 297: defproto.HighlyStructuredMessage.HSMLocalizableParameter - (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime)(nil), // 298: defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime - (*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency)(nil), // 299: defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency - (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch)(nil), // 300: defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch - (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent)(nil), // 301: defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent - (*CallLogMessage_CallParticipant)(nil), // 302: defproto.CallLogMessage.CallParticipant - (*ButtonsMessage_Button)(nil), // 303: defproto.ButtonsMessage.Button - (*ButtonsMessage_Button_NativeFlowInfo)(nil), // 304: defproto.ButtonsMessage.Button.NativeFlowInfo - (*ButtonsMessage_Button_ButtonText)(nil), // 305: defproto.ButtonsMessage.Button.ButtonText - (*HydratedTemplateButton_HydratedURLButton)(nil), // 306: defproto.HydratedTemplateButton.HydratedURLButton - (*HydratedTemplateButton_HydratedQuickReplyButton)(nil), // 307: defproto.HydratedTemplateButton.HydratedQuickReplyButton - (*HydratedTemplateButton_HydratedCallButton)(nil), // 308: defproto.HydratedTemplateButton.HydratedCallButton - (*ContextInfo_UTMInfo)(nil), // 309: defproto.ContextInfo.UTMInfo - (*ContextInfo_ExternalAdReplyInfo)(nil), // 310: defproto.ContextInfo.ExternalAdReplyInfo - (*ContextInfo_DataSharingContext)(nil), // 311: defproto.ContextInfo.DataSharingContext - (*ContextInfo_BusinessMessageForwardInfo)(nil), // 312: defproto.ContextInfo.BusinessMessageForwardInfo - (*ContextInfo_AdReplyInfo)(nil), // 313: defproto.ContextInfo.AdReplyInfo - (*TemplateButton_URLButton)(nil), // 314: defproto.TemplateButton.URLButton - (*TemplateButton_QuickReplyButton)(nil), // 315: defproto.TemplateButton.QuickReplyButton - (*TemplateButton_CallButton)(nil), // 316: defproto.TemplateButton.CallButton - (*PaymentBackground_MediaData)(nil), // 317: defproto.PaymentBackground.MediaData - (*TemplateMessage_HydratedFourRowTemplate)(nil), // 318: defproto.TemplateMessage.HydratedFourRowTemplate - (*TemplateMessage_FourRowTemplate)(nil), // 319: defproto.TemplateMessage.FourRowTemplate - (*ProductMessage_ProductSnapshot)(nil), // 320: defproto.ProductMessage.ProductSnapshot - (*ProductMessage_CatalogSnapshot)(nil), // 321: defproto.ProductMessage.CatalogSnapshot - (*PollCreationMessage_Option)(nil), // 322: defproto.PollCreationMessage.Option - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult)(nil), // 323: defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse)(nil), // 324: defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse)(nil), // 325: defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse - (*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail)(nil), // 326: defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail - (*PeerDataOperationRequestMessage_RequestUrlPreview)(nil), // 327: defproto.PeerDataOperationRequestMessage.RequestUrlPreview - (*PeerDataOperationRequestMessage_RequestStickerReupload)(nil), // 328: defproto.PeerDataOperationRequestMessage.RequestStickerReupload - (*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest)(nil), // 329: defproto.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest - (*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest)(nil), // 330: defproto.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest - (*ListResponseMessage_SingleSelectReply)(nil), // 331: defproto.ListResponseMessage.SingleSelectReply - (*ListMessage_Section)(nil), // 332: defproto.ListMessage.Section - (*ListMessage_Row)(nil), // 333: defproto.ListMessage.Row - (*ListMessage_Product)(nil), // 334: defproto.ListMessage.Product - (*ListMessage_ProductSection)(nil), // 335: defproto.ListMessage.ProductSection - (*ListMessage_ProductListInfo)(nil), // 336: defproto.ListMessage.ProductListInfo - (*ListMessage_ProductListHeaderImage)(nil), // 337: defproto.ListMessage.ProductListHeaderImage - (*InteractiveResponseMessage_NativeFlowResponseMessage)(nil), // 338: defproto.InteractiveResponseMessage.NativeFlowResponseMessage - (*InteractiveResponseMessage_Body)(nil), // 339: defproto.InteractiveResponseMessage.Body - (*CallLogRecord_ParticipantInfo)(nil), // 340: defproto.CallLogRecord.ParticipantInfo - (*VerifiedNameCertificate_Details)(nil), // 341: defproto.VerifiedNameCertificate.Details - (*ClientPayload_WebInfo)(nil), // 342: defproto.ClientPayload.WebInfo - (*ClientPayload_UserAgent)(nil), // 343: defproto.ClientPayload.UserAgent - (*ClientPayload_InteropData)(nil), // 344: defproto.ClientPayload.InteropData - (*ClientPayload_DevicePairingRegistrationData)(nil), // 345: defproto.ClientPayload.DevicePairingRegistrationData - (*ClientPayload_DNSSource)(nil), // 346: defproto.ClientPayload.DNSSource - (*ClientPayload_WebInfo_WebdPayload)(nil), // 347: defproto.ClientPayload.WebInfo.WebdPayload - (*ClientPayload_UserAgent_AppVersion)(nil), // 348: defproto.ClientPayload.UserAgent.AppVersion - (*NoiseCertificate_Details)(nil), // 349: defproto.NoiseCertificate.Details - (*CertChain_NoiseCertificate)(nil), // 350: defproto.CertChain.NoiseCertificate - (*CertChain_NoiseCertificate_Details)(nil), // 351: defproto.CertChain.NoiseCertificate.Details - (*QP_Filter)(nil), // 352: defproto.QP.Filter - (*QP_FilterParameters)(nil), // 353: defproto.QP.FilterParameters - (*QP_FilterClause)(nil), // 354: defproto.QP.FilterClause -} -var file_def_proto_depIdxs = []int32{ - 0, // 0: defproto.ADVSignedDeviceIdentityHMAC.accountType:type_name -> defproto.ADVEncryptionType - 0, // 1: defproto.ADVKeyIndexList.accountType:type_name -> defproto.ADVEncryptionType - 0, // 2: defproto.ADVDeviceIdentity.accountType:type_name -> defproto.ADVEncryptionType - 0, // 3: defproto.ADVDeviceIdentity.deviceType:type_name -> defproto.ADVEncryptionType - 288, // 4: defproto.DeviceProps.version:type_name -> defproto.DeviceProps.AppVersion - 4, // 5: defproto.DeviceProps.platformType:type_name -> defproto.DeviceProps.PlatformType - 287, // 6: defproto.DeviceProps.historySyncConfig:type_name -> defproto.DeviceProps.HistorySyncConfig - 291, // 7: defproto.InteractiveMessage.header:type_name -> defproto.InteractiveMessage.Header - 295, // 8: defproto.InteractiveMessage.body:type_name -> defproto.InteractiveMessage.Body - 292, // 9: defproto.InteractiveMessage.footer:type_name -> defproto.InteractiveMessage.Footer - 130, // 10: defproto.InteractiveMessage.contextInfo:type_name -> defproto.ContextInfo - 289, // 11: defproto.InteractiveMessage.shopStorefrontMessage:type_name -> defproto.InteractiveMessage.ShopMessage - 293, // 12: defproto.InteractiveMessage.collectionMessage:type_name -> defproto.InteractiveMessage.CollectionMessage - 290, // 13: defproto.InteractiveMessage.nativeFlowMessage:type_name -> defproto.InteractiveMessage.NativeFlowMessage - 294, // 14: defproto.InteractiveMessage.carouselMessage:type_name -> defproto.InteractiveMessage.CarouselMessage - 125, // 15: defproto.ImageMessage.interactiveAnnotations:type_name -> defproto.InteractiveAnnotation - 130, // 16: defproto.ImageMessage.contextInfo:type_name -> defproto.ContextInfo - 125, // 17: defproto.ImageMessage.annotations:type_name -> defproto.InteractiveAnnotation - 6, // 18: defproto.HistorySyncNotification.syncType:type_name -> defproto.HistorySyncNotification.HistorySyncType - 297, // 19: defproto.HighlyStructuredMessage.localizableParams:type_name -> defproto.HighlyStructuredMessage.HSMLocalizableParameter - 145, // 20: defproto.HighlyStructuredMessage.hydratedHsm:type_name -> defproto.TemplateMessage - 130, // 21: defproto.GroupInviteMessage.contextInfo:type_name -> defproto.ContextInfo - 9, // 22: defproto.GroupInviteMessage.groupType:type_name -> defproto.GroupInviteMessage.GroupType - 141, // 23: defproto.FutureProofMessage.message:type_name -> defproto.Message - 12, // 24: defproto.ExtendedTextMessage.font:type_name -> defproto.ExtendedTextMessage.FontType - 10, // 25: defproto.ExtendedTextMessage.previewType:type_name -> defproto.ExtendedTextMessage.PreviewType - 130, // 26: defproto.ExtendedTextMessage.contextInfo:type_name -> defproto.ContextInfo - 11, // 27: defproto.ExtendedTextMessage.inviteLinkGroupType:type_name -> defproto.ExtendedTextMessage.InviteLinkGroupType - 11, // 28: defproto.ExtendedTextMessage.inviteLinkGroupTypeV2:type_name -> defproto.ExtendedTextMessage.InviteLinkGroupType - 13, // 29: defproto.EventResponseMessage.response:type_name -> defproto.EventResponseMessage.EventResponseType - 130, // 30: defproto.EventMessage.contextInfo:type_name -> defproto.ContextInfo - 171, // 31: defproto.EventMessage.location:type_name -> defproto.LocationMessage - 195, // 32: defproto.EncReactionMessage.targetMessageKey:type_name -> defproto.MessageKey - 195, // 33: defproto.EncEventResponseMessage.eventCreationMessageKey:type_name -> defproto.MessageKey - 195, // 34: defproto.EncCommentMessage.targetMessageKey:type_name -> defproto.MessageKey - 130, // 35: defproto.DocumentMessage.contextInfo:type_name -> defproto.ContextInfo - 141, // 36: defproto.DeviceSentMessage.message:type_name -> defproto.Message - 195, // 37: defproto.DeclinePaymentRequestMessage.key:type_name -> defproto.MessageKey - 106, // 38: defproto.ContactsArrayMessage.contacts:type_name -> defproto.ContactMessage - 130, // 39: defproto.ContactsArrayMessage.contextInfo:type_name -> defproto.ContextInfo - 130, // 40: defproto.ContactMessage.contextInfo:type_name -> defproto.ContextInfo - 141, // 41: defproto.CommentMessage.message:type_name -> defproto.Message - 195, // 42: defproto.CommentMessage.targetMessageKey:type_name -> defproto.MessageKey - 195, // 43: defproto.CancelPaymentRequestMessage.key:type_name -> defproto.MessageKey - 15, // 44: defproto.CallLogMessage.callOutcome:type_name -> defproto.CallLogMessage.CallOutcome - 14, // 45: defproto.CallLogMessage.callType:type_name -> defproto.CallLogMessage.CallType - 302, // 46: defproto.CallLogMessage.participants:type_name -> defproto.CallLogMessage.CallParticipant - 130, // 47: defproto.ButtonsResponseMessage.contextInfo:type_name -> defproto.ContextInfo - 16, // 48: defproto.ButtonsResponseMessage.type:type_name -> defproto.ButtonsResponseMessage.Type - 130, // 49: defproto.ButtonsMessage.contextInfo:type_name -> defproto.ContextInfo - 303, // 50: defproto.ButtonsMessage.buttons:type_name -> defproto.ButtonsMessage.Button - 17, // 51: defproto.ButtonsMessage.headerType:type_name -> defproto.ButtonsMessage.HeaderType - 102, // 52: defproto.ButtonsMessage.documentMessage:type_name -> defproto.DocumentMessage - 91, // 53: defproto.ButtonsMessage.imageMessage:type_name -> defproto.ImageMessage - 144, // 54: defproto.ButtonsMessage.videoMessage:type_name -> defproto.VideoMessage - 171, // 55: defproto.ButtonsMessage.locationMessage:type_name -> defproto.LocationMessage - 195, // 56: defproto.BotFeedbackMessage.messageKey:type_name -> defproto.MessageKey - 21, // 57: defproto.BotFeedbackMessage.kind:type_name -> defproto.BotFeedbackMessage.BotFeedbackKind - 22, // 58: defproto.BCallMessage.mediaType:type_name -> defproto.BCallMessage.MediaType - 130, // 59: defproto.AudioMessage.contextInfo:type_name -> defproto.ContextInfo - 120, // 60: defproto.AppStateSyncKey.keyId:type_name -> defproto.AppStateSyncKeyId - 122, // 61: defproto.AppStateSyncKey.keyData:type_name -> defproto.AppStateSyncKeyData - 117, // 62: defproto.AppStateSyncKeyShare.keys:type_name -> defproto.AppStateSyncKey - 120, // 63: defproto.AppStateSyncKeyRequest.keyIds:type_name -> defproto.AppStateSyncKeyId - 121, // 64: defproto.AppStateSyncKeyData.fingerprint:type_name -> defproto.AppStateSyncKeyFingerprint - 138, // 65: defproto.InteractiveAnnotation.polygonVertices:type_name -> defproto.Point - 124, // 66: defproto.InteractiveAnnotation.location:type_name -> defproto.Location - 131, // 67: defproto.InteractiveAnnotation.newsletter:type_name -> defproto.ForwardedNewsletterMessageInfo - 307, // 68: defproto.HydratedTemplateButton.quickReplyButton:type_name -> defproto.HydratedTemplateButton.HydratedQuickReplyButton - 306, // 69: defproto.HydratedTemplateButton.urlButton:type_name -> defproto.HydratedTemplateButton.HydratedURLButton - 308, // 70: defproto.HydratedTemplateButton.callButton:type_name -> defproto.HydratedTemplateButton.HydratedCallButton - 25, // 71: defproto.DisappearingMode.initiator:type_name -> defproto.DisappearingMode.Initiator - 24, // 72: defproto.DisappearingMode.trigger:type_name -> defproto.DisappearingMode.Trigger - 0, // 73: defproto.DeviceListMetadata.senderAccountType:type_name -> defproto.ADVEncryptionType - 0, // 74: defproto.DeviceListMetadata.receiverAccountType:type_name -> defproto.ADVEncryptionType - 141, // 75: defproto.ContextInfo.quotedMessage:type_name -> defproto.Message - 313, // 76: defproto.ContextInfo.quotedAd:type_name -> defproto.ContextInfo.AdReplyInfo - 195, // 77: defproto.ContextInfo.placeholderKey:type_name -> defproto.MessageKey - 310, // 78: defproto.ContextInfo.externalAdReply:type_name -> defproto.ContextInfo.ExternalAdReplyInfo - 128, // 79: defproto.ContextInfo.disappearingMode:type_name -> defproto.DisappearingMode - 136, // 80: defproto.ContextInfo.actionLink:type_name -> defproto.ActionLink - 127, // 81: defproto.ContextInfo.groupMentions:type_name -> defproto.GroupMention - 309, // 82: defproto.ContextInfo.utm:type_name -> defproto.ContextInfo.UTMInfo - 131, // 83: defproto.ContextInfo.forwardedNewsletterMessageInfo:type_name -> defproto.ForwardedNewsletterMessageInfo - 312, // 84: defproto.ContextInfo.businessMessageForwardInfo:type_name -> defproto.ContextInfo.BusinessMessageForwardInfo - 311, // 85: defproto.ContextInfo.dataSharingContext:type_name -> defproto.ContextInfo.DataSharingContext - 28, // 86: defproto.ForwardedNewsletterMessageInfo.contentType:type_name -> defproto.ForwardedNewsletterMessageInfo.ContentType - 29, // 87: defproto.BotPluginMetadata.provider:type_name -> defproto.BotPluginMetadata.SearchProvider - 30, // 88: defproto.BotPluginMetadata.pluginType:type_name -> defproto.BotPluginMetadata.PluginType - 135, // 89: defproto.BotMetadata.avatarMetadata:type_name -> defproto.BotAvatarMetadata - 133, // 90: defproto.BotMetadata.pluginMetadata:type_name -> defproto.BotPluginMetadata - 132, // 91: defproto.BotMetadata.suggestedPromptMetadata:type_name -> defproto.BotSuggestedPromptMetadata - 315, // 92: defproto.TemplateButton.quickReplyButton:type_name -> defproto.TemplateButton.QuickReplyButton - 314, // 93: defproto.TemplateButton.urlButton:type_name -> defproto.TemplateButton.URLButton - 316, // 94: defproto.TemplateButton.callButton:type_name -> defproto.TemplateButton.CallButton - 317, // 95: defproto.PaymentBackground.mediaData:type_name -> defproto.PaymentBackground.MediaData - 31, // 96: defproto.PaymentBackground.type:type_name -> defproto.PaymentBackground.Type - 149, // 97: defproto.Message.senderKeyDistributionMessage:type_name -> defproto.SenderKeyDistributionMessage - 91, // 98: defproto.Message.imageMessage:type_name -> defproto.ImageMessage - 106, // 99: defproto.Message.contactMessage:type_name -> defproto.ContactMessage - 171, // 100: defproto.Message.locationMessage:type_name -> defproto.LocationMessage - 96, // 101: defproto.Message.extendedTextMessage:type_name -> defproto.ExtendedTextMessage - 102, // 102: defproto.Message.documentMessage:type_name -> defproto.DocumentMessage - 116, // 103: defproto.Message.audioMessage:type_name -> defproto.AudioMessage - 144, // 104: defproto.Message.videoMessage:type_name -> defproto.VideoMessage - 110, // 105: defproto.Message.call:type_name -> defproto.Call - 108, // 106: defproto.Message.chat:type_name -> defproto.Chat - 157, // 107: defproto.Message.protocolMessage:type_name -> defproto.ProtocolMessage - 105, // 108: defproto.Message.contactsArrayMessage:type_name -> defproto.ContactsArrayMessage - 93, // 109: defproto.Message.highlyStructuredMessage:type_name -> defproto.HighlyStructuredMessage - 149, // 110: defproto.Message.fastRatchetKeySenderKeyDistributionMessage:type_name -> defproto.SenderKeyDistributionMessage - 150, // 111: defproto.Message.sendPaymentMessage:type_name -> defproto.SendPaymentMessage - 172, // 112: defproto.Message.liveLocationMessage:type_name -> defproto.LiveLocationMessage - 155, // 113: defproto.Message.requestPaymentMessage:type_name -> defproto.RequestPaymentMessage - 104, // 114: defproto.Message.declinePaymentRequestMessage:type_name -> defproto.DeclinePaymentRequestMessage - 109, // 115: defproto.Message.cancelPaymentRequestMessage:type_name -> defproto.CancelPaymentRequestMessage - 145, // 116: defproto.Message.templateMessage:type_name -> defproto.TemplateMessage - 148, // 117: defproto.Message.stickerMessage:type_name -> defproto.StickerMessage - 94, // 118: defproto.Message.groupInviteMessage:type_name -> defproto.GroupInviteMessage - 146, // 119: defproto.Message.templateButtonReplyMessage:type_name -> defproto.TemplateButtonReplyMessage - 158, // 120: defproto.Message.productMessage:type_name -> defproto.ProductMessage - 103, // 121: defproto.Message.deviceSentMessage:type_name -> defproto.DeviceSentMessage - 143, // 122: defproto.Message.messageContextInfo:type_name -> defproto.MessageContextInfo - 174, // 123: defproto.Message.listMessage:type_name -> defproto.ListMessage - 95, // 124: defproto.Message.viewOnceMessage:type_name -> defproto.FutureProofMessage - 168, // 125: defproto.Message.orderMessage:type_name -> defproto.OrderMessage - 173, // 126: defproto.Message.listResponseMessage:type_name -> defproto.ListResponseMessage - 95, // 127: defproto.Message.ephemeralMessage:type_name -> defproto.FutureProofMessage - 176, // 128: defproto.Message.invoiceMessage:type_name -> defproto.InvoiceMessage - 113, // 129: defproto.Message.buttonsMessage:type_name -> defproto.ButtonsMessage - 112, // 130: defproto.Message.buttonsResponseMessage:type_name -> defproto.ButtonsResponseMessage - 167, // 131: defproto.Message.paymentInviteMessage:type_name -> defproto.PaymentInviteMessage - 89, // 132: defproto.Message.interactiveMessage:type_name -> defproto.InteractiveMessage - 156, // 133: defproto.Message.reactionMessage:type_name -> defproto.ReactionMessage - 147, // 134: defproto.Message.stickerSyncRmrMessage:type_name -> defproto.StickerSyncRMRMessage - 177, // 135: defproto.Message.interactiveResponseMessage:type_name -> defproto.InteractiveResponseMessage - 163, // 136: defproto.Message.pollCreationMessage:type_name -> defproto.PollCreationMessage - 160, // 137: defproto.Message.pollUpdateMessage:type_name -> defproto.PollUpdateMessage - 175, // 138: defproto.Message.keepInChatMessage:type_name -> defproto.KeepInChatMessage - 95, // 139: defproto.Message.documentWithCaptionMessage:type_name -> defproto.FutureProofMessage - 154, // 140: defproto.Message.requestPhoneNumberMessage:type_name -> defproto.RequestPhoneNumberMessage - 95, // 141: defproto.Message.viewOnceMessageV2:type_name -> defproto.FutureProofMessage - 99, // 142: defproto.Message.encReactionMessage:type_name -> defproto.EncReactionMessage - 95, // 143: defproto.Message.editedMessage:type_name -> defproto.FutureProofMessage - 95, // 144: defproto.Message.viewOnceMessageV2Extension:type_name -> defproto.FutureProofMessage - 163, // 145: defproto.Message.pollCreationMessageV2:type_name -> defproto.PollCreationMessage - 152, // 146: defproto.Message.scheduledCallCreationMessage:type_name -> defproto.ScheduledCallCreationMessage - 95, // 147: defproto.Message.groupMentionedMessage:type_name -> defproto.FutureProofMessage - 164, // 148: defproto.Message.pinInChatMessage:type_name -> defproto.PinInChatMessage - 163, // 149: defproto.Message.pollCreationMessageV3:type_name -> defproto.PollCreationMessage - 151, // 150: defproto.Message.scheduledCallEditMessage:type_name -> defproto.ScheduledCallEditMessage - 144, // 151: defproto.Message.ptvMessage:type_name -> defproto.VideoMessage - 95, // 152: defproto.Message.botInvokeMessage:type_name -> defproto.FutureProofMessage - 111, // 153: defproto.Message.callLogMesssage:type_name -> defproto.CallLogMessage - 170, // 154: defproto.Message.messageHistoryBundle:type_name -> defproto.MessageHistoryBundle - 101, // 155: defproto.Message.encCommentMessage:type_name -> defproto.EncCommentMessage - 115, // 156: defproto.Message.bcallMessage:type_name -> defproto.BCallMessage - 95, // 157: defproto.Message.lottieStickerMessage:type_name -> defproto.FutureProofMessage - 98, // 158: defproto.Message.eventMessage:type_name -> defproto.EventMessage - 100, // 159: defproto.Message.encEventResponseMessage:type_name -> defproto.EncEventResponseMessage - 107, // 160: defproto.Message.commentMessage:type_name -> defproto.CommentMessage - 169, // 161: defproto.Message.newsletterAdminInviteMessage:type_name -> defproto.NewsletterAdminInviteMessage - 129, // 162: defproto.MessageContextInfo.deviceListMetadata:type_name -> defproto.DeviceListMetadata - 134, // 163: defproto.MessageContextInfo.botMetadata:type_name -> defproto.BotMetadata - 125, // 164: defproto.VideoMessage.interactiveAnnotations:type_name -> defproto.InteractiveAnnotation - 130, // 165: defproto.VideoMessage.contextInfo:type_name -> defproto.ContextInfo - 32, // 166: defproto.VideoMessage.gifAttribution:type_name -> defproto.VideoMessage.Attribution - 125, // 167: defproto.VideoMessage.annotations:type_name -> defproto.InteractiveAnnotation - 130, // 168: defproto.TemplateMessage.contextInfo:type_name -> defproto.ContextInfo - 318, // 169: defproto.TemplateMessage.hydratedTemplate:type_name -> defproto.TemplateMessage.HydratedFourRowTemplate - 319, // 170: defproto.TemplateMessage.fourRowTemplate:type_name -> defproto.TemplateMessage.FourRowTemplate - 318, // 171: defproto.TemplateMessage.hydratedFourRowTemplate:type_name -> defproto.TemplateMessage.HydratedFourRowTemplate - 89, // 172: defproto.TemplateMessage.interactiveMessageTemplate:type_name -> defproto.InteractiveMessage - 130, // 173: defproto.TemplateButtonReplyMessage.contextInfo:type_name -> defproto.ContextInfo - 130, // 174: defproto.StickerMessage.contextInfo:type_name -> defproto.ContextInfo - 141, // 175: defproto.SendPaymentMessage.noteMessage:type_name -> defproto.Message - 195, // 176: defproto.SendPaymentMessage.requestMessageKey:type_name -> defproto.MessageKey - 139, // 177: defproto.SendPaymentMessage.background:type_name -> defproto.PaymentBackground - 195, // 178: defproto.ScheduledCallEditMessage.key:type_name -> defproto.MessageKey - 33, // 179: defproto.ScheduledCallEditMessage.editType:type_name -> defproto.ScheduledCallEditMessage.EditType - 34, // 180: defproto.ScheduledCallCreationMessage.callType:type_name -> defproto.ScheduledCallCreationMessage.CallType - 35, // 181: defproto.RequestWelcomeMessageMetadata.localChatState:type_name -> defproto.RequestWelcomeMessageMetadata.LocalChatState - 130, // 182: defproto.RequestPhoneNumberMessage.contextInfo:type_name -> defproto.ContextInfo - 141, // 183: defproto.RequestPaymentMessage.noteMessage:type_name -> defproto.Message - 140, // 184: defproto.RequestPaymentMessage.amount:type_name -> defproto.Money - 139, // 185: defproto.RequestPaymentMessage.background:type_name -> defproto.PaymentBackground - 195, // 186: defproto.ReactionMessage.key:type_name -> defproto.MessageKey - 195, // 187: defproto.ProtocolMessage.key:type_name -> defproto.MessageKey - 36, // 188: defproto.ProtocolMessage.type:type_name -> defproto.ProtocolMessage.Type - 92, // 189: defproto.ProtocolMessage.historySyncNotification:type_name -> defproto.HistorySyncNotification - 118, // 190: defproto.ProtocolMessage.appStateSyncKeyShare:type_name -> defproto.AppStateSyncKeyShare - 119, // 191: defproto.ProtocolMessage.appStateSyncKeyRequest:type_name -> defproto.AppStateSyncKeyRequest - 90, // 192: defproto.ProtocolMessage.initialSecurityNotificationSettingSync:type_name -> defproto.InitialSecurityNotificationSettingSync - 123, // 193: defproto.ProtocolMessage.appStateFatalExceptionNotification:type_name -> defproto.AppStateFatalExceptionNotification - 128, // 194: defproto.ProtocolMessage.disappearingMode:type_name -> defproto.DisappearingMode - 141, // 195: defproto.ProtocolMessage.editedMessage:type_name -> defproto.Message - 166, // 196: defproto.ProtocolMessage.peerDataOperationRequestMessage:type_name -> defproto.PeerDataOperationRequestMessage - 165, // 197: defproto.ProtocolMessage.peerDataOperationRequestResponseMessage:type_name -> defproto.PeerDataOperationRequestResponseMessage - 114, // 198: defproto.ProtocolMessage.botFeedbackMessage:type_name -> defproto.BotFeedbackMessage - 153, // 199: defproto.ProtocolMessage.requestWelcomeMessageMetadata:type_name -> defproto.RequestWelcomeMessageMetadata - 320, // 200: defproto.ProductMessage.product:type_name -> defproto.ProductMessage.ProductSnapshot - 321, // 201: defproto.ProductMessage.catalog:type_name -> defproto.ProductMessage.CatalogSnapshot - 130, // 202: defproto.ProductMessage.contextInfo:type_name -> defproto.ContextInfo - 195, // 203: defproto.PollUpdateMessage.pollCreationMessageKey:type_name -> defproto.MessageKey - 162, // 204: defproto.PollUpdateMessage.vote:type_name -> defproto.PollEncValue - 161, // 205: defproto.PollUpdateMessage.metadata:type_name -> defproto.PollUpdateMessageMetadata - 322, // 206: defproto.PollCreationMessage.options:type_name -> defproto.PollCreationMessage.Option - 130, // 207: defproto.PollCreationMessage.contextInfo:type_name -> defproto.ContextInfo - 195, // 208: defproto.PinInChatMessage.key:type_name -> defproto.MessageKey - 37, // 209: defproto.PinInChatMessage.type:type_name -> defproto.PinInChatMessage.Type - 2, // 210: defproto.PeerDataOperationRequestResponseMessage.peerDataOperationRequestType:type_name -> defproto.PeerDataOperationRequestType - 323, // 211: defproto.PeerDataOperationRequestResponseMessage.peerDataOperationResult:type_name -> defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult - 2, // 212: defproto.PeerDataOperationRequestMessage.peerDataOperationRequestType:type_name -> defproto.PeerDataOperationRequestType - 328, // 213: defproto.PeerDataOperationRequestMessage.requestStickerReupload:type_name -> defproto.PeerDataOperationRequestMessage.RequestStickerReupload - 327, // 214: defproto.PeerDataOperationRequestMessage.requestUrlPreview:type_name -> defproto.PeerDataOperationRequestMessage.RequestUrlPreview - 330, // 215: defproto.PeerDataOperationRequestMessage.historySyncOnDemandRequest:type_name -> defproto.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest - 329, // 216: defproto.PeerDataOperationRequestMessage.placeholderMessageResendRequest:type_name -> defproto.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest - 38, // 217: defproto.PaymentInviteMessage.serviceType:type_name -> defproto.PaymentInviteMessage.ServiceType - 40, // 218: defproto.OrderMessage.status:type_name -> defproto.OrderMessage.OrderStatus - 39, // 219: defproto.OrderMessage.surface:type_name -> defproto.OrderMessage.OrderSurface - 130, // 220: defproto.OrderMessage.contextInfo:type_name -> defproto.ContextInfo - 195, // 221: defproto.OrderMessage.orderRequestMessageId:type_name -> defproto.MessageKey - 130, // 222: defproto.MessageHistoryBundle.contextInfo:type_name -> defproto.ContextInfo - 130, // 223: defproto.LocationMessage.contextInfo:type_name -> defproto.ContextInfo - 130, // 224: defproto.LiveLocationMessage.contextInfo:type_name -> defproto.ContextInfo - 41, // 225: defproto.ListResponseMessage.listType:type_name -> defproto.ListResponseMessage.ListType - 331, // 226: defproto.ListResponseMessage.singleSelectReply:type_name -> defproto.ListResponseMessage.SingleSelectReply - 130, // 227: defproto.ListResponseMessage.contextInfo:type_name -> defproto.ContextInfo - 42, // 228: defproto.ListMessage.listType:type_name -> defproto.ListMessage.ListType - 332, // 229: defproto.ListMessage.sections:type_name -> defproto.ListMessage.Section - 336, // 230: defproto.ListMessage.productListInfo:type_name -> defproto.ListMessage.ProductListInfo - 130, // 231: defproto.ListMessage.contextInfo:type_name -> defproto.ContextInfo - 195, // 232: defproto.KeepInChatMessage.key:type_name -> defproto.MessageKey - 1, // 233: defproto.KeepInChatMessage.keepType:type_name -> defproto.KeepType - 43, // 234: defproto.InvoiceMessage.attachmentType:type_name -> defproto.InvoiceMessage.AttachmentType - 339, // 235: defproto.InteractiveResponseMessage.body:type_name -> defproto.InteractiveResponseMessage.Body - 130, // 236: defproto.InteractiveResponseMessage.contextInfo:type_name -> defproto.ContextInfo - 338, // 237: defproto.InteractiveResponseMessage.nativeFlowResponseMessage:type_name -> defproto.InteractiveResponseMessage.NativeFlowResponseMessage - 184, // 238: defproto.PastParticipants.pastParticipants:type_name -> defproto.PastParticipant - 45, // 239: defproto.PastParticipant.leaveReason:type_name -> defproto.PastParticipant.LeaveReason - 46, // 240: defproto.HistorySync.syncType:type_name -> defproto.HistorySync.HistorySyncType - 190, // 241: defproto.HistorySync.conversations:type_name -> defproto.Conversation - 266, // 242: defproto.HistorySync.statusV3Messages:type_name -> defproto.WebMessageInfo - 181, // 243: defproto.HistorySync.pushnames:type_name -> defproto.Pushname - 189, // 244: defproto.HistorySync.globalSettings:type_name -> defproto.GlobalSettings - 180, // 245: defproto.HistorySync.recentStickers:type_name -> defproto.StickerMetadata - 183, // 246: defproto.HistorySync.pastParticipants:type_name -> defproto.PastParticipants - 254, // 247: defproto.HistorySync.callLogRecords:type_name -> defproto.CallLogRecord - 47, // 248: defproto.HistorySync.aiWaitListState:type_name -> defproto.HistorySync.BotAIWaitListState - 182, // 249: defproto.HistorySync.phoneNumberToLidMappings:type_name -> defproto.PhoneNumberToLIDMapping - 266, // 250: defproto.HistorySyncMsg.message:type_name -> defproto.WebMessageInfo - 48, // 251: defproto.GroupParticipant.rank:type_name -> defproto.GroupParticipant.Rank - 179, // 252: defproto.GlobalSettings.lightThemeWallpaper:type_name -> defproto.WallpaperSettings - 3, // 253: defproto.GlobalSettings.mediaVisibility:type_name -> defproto.MediaVisibility - 179, // 254: defproto.GlobalSettings.darkThemeWallpaper:type_name -> defproto.WallpaperSettings - 192, // 255: defproto.GlobalSettings.autoDownloadWiFi:type_name -> defproto.AutoDownloadSettings - 192, // 256: defproto.GlobalSettings.autoDownloadCellular:type_name -> defproto.AutoDownloadSettings - 192, // 257: defproto.GlobalSettings.autoDownloadRoaming:type_name -> defproto.AutoDownloadSettings - 191, // 258: defproto.GlobalSettings.avatarUserSettings:type_name -> defproto.AvatarUserSettings - 185, // 259: defproto.GlobalSettings.individualNotificationSettings:type_name -> defproto.NotificationSettings - 185, // 260: defproto.GlobalSettings.groupNotificationSettings:type_name -> defproto.NotificationSettings - 187, // 261: defproto.Conversation.messages:type_name -> defproto.HistorySyncMsg - 49, // 262: defproto.Conversation.endOfHistoryTransferType:type_name -> defproto.Conversation.EndOfHistoryTransferType - 128, // 263: defproto.Conversation.disappearingMode:type_name -> defproto.DisappearingMode - 188, // 264: defproto.Conversation.participant:type_name -> defproto.GroupParticipant - 179, // 265: defproto.Conversation.wallpaper:type_name -> defproto.WallpaperSettings - 3, // 266: defproto.Conversation.mediaVisibility:type_name -> defproto.MediaVisibility - 50, // 267: defproto.MediaRetryNotification.result:type_name -> defproto.MediaRetryNotification.ResultType - 196, // 268: defproto.SyncdSnapshot.version:type_name -> defproto.SyncdVersion - 199, // 269: defproto.SyncdSnapshot.records:type_name -> defproto.SyncdRecord - 204, // 270: defproto.SyncdSnapshot.keyId:type_name -> defproto.KeyId - 203, // 271: defproto.SyncdRecord.index:type_name -> defproto.SyncdIndex - 197, // 272: defproto.SyncdRecord.value:type_name -> defproto.SyncdValue - 204, // 273: defproto.SyncdRecord.keyId:type_name -> defproto.KeyId - 196, // 274: defproto.SyncdPatch.version:type_name -> defproto.SyncdVersion - 202, // 275: defproto.SyncdPatch.mutations:type_name -> defproto.SyncdMutation - 205, // 276: defproto.SyncdPatch.externalMutations:type_name -> defproto.ExternalBlobReference - 204, // 277: defproto.SyncdPatch.keyId:type_name -> defproto.KeyId - 206, // 278: defproto.SyncdPatch.exitCode:type_name -> defproto.ExitCode - 202, // 279: defproto.SyncdMutations.mutations:type_name -> defproto.SyncdMutation - 51, // 280: defproto.SyncdMutation.operation:type_name -> defproto.SyncdMutation.SyncdOperation - 199, // 281: defproto.SyncdMutation.record:type_name -> defproto.SyncdRecord - 216, // 282: defproto.SyncActionValue.starAction:type_name -> defproto.StarAction - 242, // 283: defproto.SyncActionValue.contactAction:type_name -> defproto.ContactAction - 229, // 284: defproto.SyncActionValue.muteAction:type_name -> defproto.MuteAction - 226, // 285: defproto.SyncActionValue.pinAction:type_name -> defproto.PinAction - 217, // 286: defproto.SyncActionValue.securityNotificationSetting:type_name -> defproto.SecurityNotificationSetting - 221, // 287: defproto.SyncActionValue.pushNameSetting:type_name -> defproto.PushNameSetting - 220, // 288: defproto.SyncActionValue.quickReplyAction:type_name -> defproto.QuickReplyAction - 219, // 289: defproto.SyncActionValue.recentEmojiWeightsAction:type_name -> defproto.RecentEmojiWeightsAction - 235, // 290: defproto.SyncActionValue.labelEditAction:type_name -> defproto.LabelEditAction - 236, // 291: defproto.SyncActionValue.labelAssociationAction:type_name -> defproto.LabelAssociationAction - 233, // 292: defproto.SyncActionValue.localeSetting:type_name -> defproto.LocaleSetting - 248, // 293: defproto.SyncActionValue.archiveChatAction:type_name -> defproto.ArchiveChatAction - 239, // 294: defproto.SyncActionValue.deleteMessageForMeAction:type_name -> defproto.DeleteMessageForMeAction - 237, // 295: defproto.SyncActionValue.keyExpiration:type_name -> defproto.KeyExpiration - 232, // 296: defproto.SyncActionValue.markChatAsReadAction:type_name -> defproto.MarkChatAsReadAction - 243, // 297: defproto.SyncActionValue.clearChatAction:type_name -> defproto.ClearChatAction - 241, // 298: defproto.SyncActionValue.deleteChatAction:type_name -> defproto.DeleteChatAction - 209, // 299: defproto.SyncActionValue.unarchiveChatsSetting:type_name -> defproto.UnarchiveChatsSetting - 224, // 300: defproto.SyncActionValue.primaryFeature:type_name -> defproto.PrimaryFeature - 249, // 301: defproto.SyncActionValue.androidUnsupportedActions:type_name -> defproto.AndroidUnsupportedActions - 250, // 302: defproto.SyncActionValue.agentAction:type_name -> defproto.AgentAction - 213, // 303: defproto.SyncActionValue.subscriptionAction:type_name -> defproto.SubscriptionAction - 208, // 304: defproto.SyncActionValue.userStatusMuteAction:type_name -> defproto.UserStatusMuteAction - 210, // 305: defproto.SyncActionValue.timeFormatAction:type_name -> defproto.TimeFormatAction - 228, // 306: defproto.SyncActionValue.nuxAction:type_name -> defproto.NuxAction - 223, // 307: defproto.SyncActionValue.primaryVersionAction:type_name -> defproto.PrimaryVersionAction - 214, // 308: defproto.SyncActionValue.stickerAction:type_name -> defproto.StickerAction - 218, // 309: defproto.SyncActionValue.removeRecentStickerAction:type_name -> defproto.RemoveRecentStickerAction - 245, // 310: defproto.SyncActionValue.chatAssignment:type_name -> defproto.ChatAssignmentAction - 244, // 311: defproto.SyncActionValue.chatAssignmentOpenedStatus:type_name -> defproto.ChatAssignmentOpenedStatusAction - 225, // 312: defproto.SyncActionValue.pnForLidChatAction:type_name -> defproto.PnForLidChatAction - 231, // 313: defproto.SyncActionValue.marketingMessageAction:type_name -> defproto.MarketingMessageAction - 230, // 314: defproto.SyncActionValue.marketingMessageBroadcastAction:type_name -> defproto.MarketingMessageBroadcastAction - 238, // 315: defproto.SyncActionValue.externalWebBetaAction:type_name -> defproto.ExternalWebBetaAction - 222, // 316: defproto.SyncActionValue.privacySettingRelayAllCalls:type_name -> defproto.PrivacySettingRelayAllCalls - 246, // 317: defproto.SyncActionValue.callLogAction:type_name -> defproto.CallLogAction - 215, // 318: defproto.SyncActionValue.statusPrivacy:type_name -> defproto.StatusPrivacyAction - 247, // 319: defproto.SyncActionValue.botWelcomeRequestAction:type_name -> defproto.BotWelcomeRequestAction - 240, // 320: defproto.SyncActionValue.deleteIndividualCallLog:type_name -> defproto.DeleteIndividualCallLogAction - 234, // 321: defproto.SyncActionValue.labelReorderingAction:type_name -> defproto.LabelReorderingAction - 227, // 322: defproto.SyncActionValue.paymentInfoAction:type_name -> defproto.PaymentInfoAction - 195, // 323: defproto.SyncActionMessage.key:type_name -> defproto.MessageKey - 211, // 324: defproto.SyncActionMessageRange.messages:type_name -> defproto.SyncActionMessage - 52, // 325: defproto.StatusPrivacyAction.mode:type_name -> defproto.StatusPrivacyAction.StatusDistributionMode - 252, // 326: defproto.RecentEmojiWeightsAction.weights:type_name -> defproto.RecentEmojiWeight - 53, // 327: defproto.MarketingMessageAction.type:type_name -> defproto.MarketingMessageAction.MarketingMessagePrototypeType - 212, // 328: defproto.MarkChatAsReadAction.messageRange:type_name -> defproto.SyncActionMessageRange - 212, // 329: defproto.DeleteChatAction.messageRange:type_name -> defproto.SyncActionMessageRange - 212, // 330: defproto.ClearChatAction.messageRange:type_name -> defproto.SyncActionMessageRange - 254, // 331: defproto.CallLogAction.callLogRecord:type_name -> defproto.CallLogRecord - 212, // 332: defproto.ArchiveChatAction.messageRange:type_name -> defproto.SyncActionMessageRange - 207, // 333: defproto.SyncActionData.value:type_name -> defproto.SyncActionValue - 54, // 334: defproto.PatchDebugData.senderPlatform:type_name -> defproto.PatchDebugData.Platform - 57, // 335: defproto.CallLogRecord.callResult:type_name -> defproto.CallLogRecord.CallResult - 55, // 336: defproto.CallLogRecord.silenceReason:type_name -> defproto.CallLogRecord.SilenceReason - 340, // 337: defproto.CallLogRecord.participants:type_name -> defproto.CallLogRecord.ParticipantInfo - 56, // 338: defproto.CallLogRecord.callType:type_name -> defproto.CallLogRecord.CallType - 58, // 339: defproto.BizIdentityInfo.vlevel:type_name -> defproto.BizIdentityInfo.VerifiedLevelValue - 255, // 340: defproto.BizIdentityInfo.vnameCert:type_name -> defproto.VerifiedNameCertificate - 59, // 341: defproto.BizIdentityInfo.hostStorage:type_name -> defproto.BizIdentityInfo.HostStorageType - 60, // 342: defproto.BizIdentityInfo.actualActors:type_name -> defproto.BizIdentityInfo.ActualActorsType - 255, // 343: defproto.BizAccountPayload.vnameCert:type_name -> defproto.VerifiedNameCertificate - 61, // 344: defproto.BizAccountLinkInfo.hostStorage:type_name -> defproto.BizAccountLinkInfo.HostStorageType - 62, // 345: defproto.BizAccountLinkInfo.accountType:type_name -> defproto.BizAccountLinkInfo.AccountType - 262, // 346: defproto.HandshakeMessage.clientHello:type_name -> defproto.HandshakeClientHello - 261, // 347: defproto.HandshakeMessage.serverHello:type_name -> defproto.HandshakeServerHello - 263, // 348: defproto.HandshakeMessage.clientFinish:type_name -> defproto.HandshakeClientFinish - 343, // 349: defproto.ClientPayload.userAgent:type_name -> defproto.ClientPayload.UserAgent - 342, // 350: defproto.ClientPayload.webInfo:type_name -> defproto.ClientPayload.WebInfo - 65, // 351: defproto.ClientPayload.connectType:type_name -> defproto.ClientPayload.ConnectType - 66, // 352: defproto.ClientPayload.connectReason:type_name -> defproto.ClientPayload.ConnectReason - 346, // 353: defproto.ClientPayload.dnsSource:type_name -> defproto.ClientPayload.DNSSource - 345, // 354: defproto.ClientPayload.devicePairingData:type_name -> defproto.ClientPayload.DevicePairingRegistrationData - 63, // 355: defproto.ClientPayload.product:type_name -> defproto.ClientPayload.Product - 64, // 356: defproto.ClientPayload.iosAppExtension:type_name -> defproto.ClientPayload.IOSAppExtension - 344, // 357: defproto.ClientPayload.interopData:type_name -> defproto.ClientPayload.InteropData - 266, // 358: defproto.WebNotificationsInfo.notifyMessages:type_name -> defproto.WebMessageInfo - 195, // 359: defproto.WebMessageInfo.key:type_name -> defproto.MessageKey - 141, // 360: defproto.WebMessageInfo.message:type_name -> defproto.Message - 73, // 361: defproto.WebMessageInfo.status:type_name -> defproto.WebMessageInfo.Status - 72, // 362: defproto.WebMessageInfo.messageStubType:type_name -> defproto.WebMessageInfo.StubType - 277, // 363: defproto.WebMessageInfo.paymentInfo:type_name -> defproto.PaymentInfo - 172, // 364: defproto.WebMessageInfo.finalLiveLocation:type_name -> defproto.LiveLocationMessage - 277, // 365: defproto.WebMessageInfo.quotedPaymentInfo:type_name -> defproto.PaymentInfo - 74, // 366: defproto.WebMessageInfo.bizPrivacyStatus:type_name -> defproto.WebMessageInfo.BizPrivacyStatus - 280, // 367: defproto.WebMessageInfo.mediaData:type_name -> defproto.MediaData - 276, // 368: defproto.WebMessageInfo.photoChange:type_name -> defproto.PhotoChange - 268, // 369: defproto.WebMessageInfo.userReceipt:type_name -> defproto.UserReceipt - 271, // 370: defproto.WebMessageInfo.reactions:type_name -> defproto.Reaction - 280, // 371: defproto.WebMessageInfo.quotedStickerData:type_name -> defproto.MediaData - 269, // 372: defproto.WebMessageInfo.statusPsa:type_name -> defproto.StatusPSA - 273, // 373: defproto.WebMessageInfo.pollUpdates:type_name -> defproto.PollUpdate - 274, // 374: defproto.WebMessageInfo.pollAdditionalMetadata:type_name -> defproto.PollAdditionalMetadata - 281, // 375: defproto.WebMessageInfo.keepInChat:type_name -> defproto.KeepInChat - 275, // 376: defproto.WebMessageInfo.pinInChat:type_name -> defproto.PinInChat - 272, // 377: defproto.WebMessageInfo.premiumMessageInfo:type_name -> defproto.PremiumMessageInfo - 283, // 378: defproto.WebMessageInfo.commentMetadata:type_name -> defproto.CommentMetadata - 282, // 379: defproto.WebMessageInfo.eventResponses:type_name -> defproto.EventResponse - 270, // 380: defproto.WebMessageInfo.reportingTokenInfo:type_name -> defproto.ReportingTokenInfo - 75, // 381: defproto.WebFeatures.labelsDisplay:type_name -> defproto.WebFeatures.Flag - 75, // 382: defproto.WebFeatures.voipIndividualOutgoing:type_name -> defproto.WebFeatures.Flag - 75, // 383: defproto.WebFeatures.groupsV3:type_name -> defproto.WebFeatures.Flag - 75, // 384: defproto.WebFeatures.groupsV3Create:type_name -> defproto.WebFeatures.Flag - 75, // 385: defproto.WebFeatures.changeNumberV2:type_name -> defproto.WebFeatures.Flag - 75, // 386: defproto.WebFeatures.queryStatusV3Thumbnail:type_name -> defproto.WebFeatures.Flag - 75, // 387: defproto.WebFeatures.liveLocations:type_name -> defproto.WebFeatures.Flag - 75, // 388: defproto.WebFeatures.queryVname:type_name -> defproto.WebFeatures.Flag - 75, // 389: defproto.WebFeatures.voipIndividualIncoming:type_name -> defproto.WebFeatures.Flag - 75, // 390: defproto.WebFeatures.quickRepliesQuery:type_name -> defproto.WebFeatures.Flag - 75, // 391: defproto.WebFeatures.payments:type_name -> defproto.WebFeatures.Flag - 75, // 392: defproto.WebFeatures.stickerPackQuery:type_name -> defproto.WebFeatures.Flag - 75, // 393: defproto.WebFeatures.liveLocationsFinal:type_name -> defproto.WebFeatures.Flag - 75, // 394: defproto.WebFeatures.labelsEdit:type_name -> defproto.WebFeatures.Flag - 75, // 395: defproto.WebFeatures.mediaUpload:type_name -> defproto.WebFeatures.Flag - 75, // 396: defproto.WebFeatures.mediaUploadRichQuickReplies:type_name -> defproto.WebFeatures.Flag - 75, // 397: defproto.WebFeatures.vnameV2:type_name -> defproto.WebFeatures.Flag - 75, // 398: defproto.WebFeatures.videoPlaybackUrl:type_name -> defproto.WebFeatures.Flag - 75, // 399: defproto.WebFeatures.statusRanking:type_name -> defproto.WebFeatures.Flag - 75, // 400: defproto.WebFeatures.voipIndividualVideo:type_name -> defproto.WebFeatures.Flag - 75, // 401: defproto.WebFeatures.thirdPartyStickers:type_name -> defproto.WebFeatures.Flag - 75, // 402: defproto.WebFeatures.frequentlyForwardedSetting:type_name -> defproto.WebFeatures.Flag - 75, // 403: defproto.WebFeatures.groupsV4JoinPermission:type_name -> defproto.WebFeatures.Flag - 75, // 404: defproto.WebFeatures.recentStickers:type_name -> defproto.WebFeatures.Flag - 75, // 405: defproto.WebFeatures.catalog:type_name -> defproto.WebFeatures.Flag - 75, // 406: defproto.WebFeatures.starredStickers:type_name -> defproto.WebFeatures.Flag - 75, // 407: defproto.WebFeatures.voipGroupCall:type_name -> defproto.WebFeatures.Flag - 75, // 408: defproto.WebFeatures.templateMessage:type_name -> defproto.WebFeatures.Flag - 75, // 409: defproto.WebFeatures.templateMessageInteractivity:type_name -> defproto.WebFeatures.Flag - 75, // 410: defproto.WebFeatures.ephemeralMessages:type_name -> defproto.WebFeatures.Flag - 75, // 411: defproto.WebFeatures.e2ENotificationSync:type_name -> defproto.WebFeatures.Flag - 75, // 412: defproto.WebFeatures.recentStickersV2:type_name -> defproto.WebFeatures.Flag - 75, // 413: defproto.WebFeatures.recentStickersV3:type_name -> defproto.WebFeatures.Flag - 75, // 414: defproto.WebFeatures.userNotice:type_name -> defproto.WebFeatures.Flag - 75, // 415: defproto.WebFeatures.support:type_name -> defproto.WebFeatures.Flag - 75, // 416: defproto.WebFeatures.groupUiiCleanup:type_name -> defproto.WebFeatures.Flag - 75, // 417: defproto.WebFeatures.groupDogfoodingInternalOnly:type_name -> defproto.WebFeatures.Flag - 75, // 418: defproto.WebFeatures.settingsSync:type_name -> defproto.WebFeatures.Flag - 75, // 419: defproto.WebFeatures.archiveV2:type_name -> defproto.WebFeatures.Flag - 75, // 420: defproto.WebFeatures.ephemeralAllowGroupMembers:type_name -> defproto.WebFeatures.Flag - 75, // 421: defproto.WebFeatures.ephemeral24HDuration:type_name -> defproto.WebFeatures.Flag - 75, // 422: defproto.WebFeatures.mdForceUpgrade:type_name -> defproto.WebFeatures.Flag - 75, // 423: defproto.WebFeatures.disappearingMode:type_name -> defproto.WebFeatures.Flag - 75, // 424: defproto.WebFeatures.externalMdOptInAvailable:type_name -> defproto.WebFeatures.Flag - 75, // 425: defproto.WebFeatures.noDeleteMessageTimeLimit:type_name -> defproto.WebFeatures.Flag - 195, // 426: defproto.Reaction.key:type_name -> defproto.MessageKey - 195, // 427: defproto.PollUpdate.pollUpdateMessageKey:type_name -> defproto.MessageKey - 159, // 428: defproto.PollUpdate.vote:type_name -> defproto.PollVoteMessage - 76, // 429: defproto.PinInChat.type:type_name -> defproto.PinInChat.Type - 195, // 430: defproto.PinInChat.key:type_name -> defproto.MessageKey - 279, // 431: defproto.PinInChat.messageAddOnContextInfo:type_name -> defproto.MessageAddOnContextInfo - 79, // 432: defproto.PaymentInfo.currencyDeprecated:type_name -> defproto.PaymentInfo.Currency - 78, // 433: defproto.PaymentInfo.status:type_name -> defproto.PaymentInfo.Status - 195, // 434: defproto.PaymentInfo.requestMessageKey:type_name -> defproto.MessageKey - 77, // 435: defproto.PaymentInfo.txnStatus:type_name -> defproto.PaymentInfo.TxnStatus - 140, // 436: defproto.PaymentInfo.primaryAmount:type_name -> defproto.Money - 140, // 437: defproto.PaymentInfo.exchangeAmount:type_name -> defproto.Money - 195, // 438: defproto.NotificationMessageInfo.key:type_name -> defproto.MessageKey - 141, // 439: defproto.NotificationMessageInfo.message:type_name -> defproto.Message - 1, // 440: defproto.KeepInChat.keepType:type_name -> defproto.KeepType - 195, // 441: defproto.KeepInChat.key:type_name -> defproto.MessageKey - 195, // 442: defproto.EventResponse.eventResponseMessageKey:type_name -> defproto.MessageKey - 97, // 443: defproto.EventResponse.eventResponseMessage:type_name -> defproto.EventResponseMessage - 195, // 444: defproto.CommentMetadata.commentParentKey:type_name -> defproto.MessageKey - 350, // 445: defproto.CertChain.leaf:type_name -> defproto.CertChain.NoiseCertificate - 350, // 446: defproto.CertChain.intermediate:type_name -> defproto.CertChain.NoiseCertificate - 5, // 447: defproto.InteractiveMessage.ShopMessage.surface:type_name -> defproto.InteractiveMessage.ShopMessage.Surface - 296, // 448: defproto.InteractiveMessage.NativeFlowMessage.buttons:type_name -> defproto.InteractiveMessage.NativeFlowMessage.NativeFlowButton - 102, // 449: defproto.InteractiveMessage.Header.documentMessage:type_name -> defproto.DocumentMessage - 91, // 450: defproto.InteractiveMessage.Header.imageMessage:type_name -> defproto.ImageMessage - 144, // 451: defproto.InteractiveMessage.Header.videoMessage:type_name -> defproto.VideoMessage - 171, // 452: defproto.InteractiveMessage.Header.locationMessage:type_name -> defproto.LocationMessage - 89, // 453: defproto.InteractiveMessage.CarouselMessage.cards:type_name -> defproto.InteractiveMessage - 299, // 454: defproto.HighlyStructuredMessage.HSMLocalizableParameter.currency:type_name -> defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency - 298, // 455: defproto.HighlyStructuredMessage.HSMLocalizableParameter.dateTime:type_name -> defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime - 301, // 456: defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.component:type_name -> defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent - 300, // 457: defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.unixEpoch:type_name -> defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch - 7, // 458: defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.dayOfWeek:type_name -> defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType - 8, // 459: defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.calendar:type_name -> defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType - 15, // 460: defproto.CallLogMessage.CallParticipant.callOutcome:type_name -> defproto.CallLogMessage.CallOutcome - 305, // 461: defproto.ButtonsMessage.Button.buttonText:type_name -> defproto.ButtonsMessage.Button.ButtonText - 18, // 462: defproto.ButtonsMessage.Button.type:type_name -> defproto.ButtonsMessage.Button.Type - 304, // 463: defproto.ButtonsMessage.Button.nativeFlowInfo:type_name -> defproto.ButtonsMessage.Button.NativeFlowInfo - 23, // 464: defproto.HydratedTemplateButton.HydratedURLButton.webviewPresentation:type_name -> defproto.HydratedTemplateButton.HydratedURLButton.WebviewPresentationType - 26, // 465: defproto.ContextInfo.ExternalAdReplyInfo.mediaType:type_name -> defproto.ContextInfo.ExternalAdReplyInfo.MediaType - 27, // 466: defproto.ContextInfo.AdReplyInfo.mediaType:type_name -> defproto.ContextInfo.AdReplyInfo.MediaType - 93, // 467: defproto.TemplateButton.URLButton.displayText:type_name -> defproto.HighlyStructuredMessage - 93, // 468: defproto.TemplateButton.URLButton.url:type_name -> defproto.HighlyStructuredMessage - 93, // 469: defproto.TemplateButton.QuickReplyButton.displayText:type_name -> defproto.HighlyStructuredMessage - 93, // 470: defproto.TemplateButton.CallButton.displayText:type_name -> defproto.HighlyStructuredMessage - 93, // 471: defproto.TemplateButton.CallButton.phoneNumber:type_name -> defproto.HighlyStructuredMessage - 126, // 472: defproto.TemplateMessage.HydratedFourRowTemplate.hydratedButtons:type_name -> defproto.HydratedTemplateButton - 102, // 473: defproto.TemplateMessage.HydratedFourRowTemplate.documentMessage:type_name -> defproto.DocumentMessage - 91, // 474: defproto.TemplateMessage.HydratedFourRowTemplate.imageMessage:type_name -> defproto.ImageMessage - 144, // 475: defproto.TemplateMessage.HydratedFourRowTemplate.videoMessage:type_name -> defproto.VideoMessage - 171, // 476: defproto.TemplateMessage.HydratedFourRowTemplate.locationMessage:type_name -> defproto.LocationMessage - 93, // 477: defproto.TemplateMessage.FourRowTemplate.content:type_name -> defproto.HighlyStructuredMessage - 93, // 478: defproto.TemplateMessage.FourRowTemplate.footer:type_name -> defproto.HighlyStructuredMessage - 137, // 479: defproto.TemplateMessage.FourRowTemplate.buttons:type_name -> defproto.TemplateButton - 102, // 480: defproto.TemplateMessage.FourRowTemplate.documentMessage:type_name -> defproto.DocumentMessage - 93, // 481: defproto.TemplateMessage.FourRowTemplate.highlyStructuredMessage:type_name -> defproto.HighlyStructuredMessage - 91, // 482: defproto.TemplateMessage.FourRowTemplate.imageMessage:type_name -> defproto.ImageMessage - 144, // 483: defproto.TemplateMessage.FourRowTemplate.videoMessage:type_name -> defproto.VideoMessage - 171, // 484: defproto.TemplateMessage.FourRowTemplate.locationMessage:type_name -> defproto.LocationMessage - 91, // 485: defproto.ProductMessage.ProductSnapshot.productImage:type_name -> defproto.ImageMessage - 91, // 486: defproto.ProductMessage.CatalogSnapshot.catalogImage:type_name -> defproto.ImageMessage - 50, // 487: defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.mediaUploadResult:type_name -> defproto.MediaRetryNotification.ResultType - 148, // 488: defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.stickerMessage:type_name -> defproto.StickerMessage - 325, // 489: defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.linkPreviewResponse:type_name -> defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse - 324, // 490: defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.placeholderMessageResendResponse:type_name -> defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse - 326, // 491: defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.hqThumbnail:type_name -> defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail - 195, // 492: defproto.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.messageKey:type_name -> defproto.MessageKey - 333, // 493: defproto.ListMessage.Section.rows:type_name -> defproto.ListMessage.Row - 334, // 494: defproto.ListMessage.ProductSection.products:type_name -> defproto.ListMessage.Product - 335, // 495: defproto.ListMessage.ProductListInfo.productSections:type_name -> defproto.ListMessage.ProductSection - 337, // 496: defproto.ListMessage.ProductListInfo.headerImage:type_name -> defproto.ListMessage.ProductListHeaderImage - 44, // 497: defproto.InteractiveResponseMessage.Body.format:type_name -> defproto.InteractiveResponseMessage.Body.Format - 57, // 498: defproto.CallLogRecord.ParticipantInfo.callResult:type_name -> defproto.CallLogRecord.CallResult - 256, // 499: defproto.VerifiedNameCertificate.Details.localizedNames:type_name -> defproto.LocalizedName - 347, // 500: defproto.ClientPayload.WebInfo.webdPayload:type_name -> defproto.ClientPayload.WebInfo.WebdPayload - 67, // 501: defproto.ClientPayload.WebInfo.webSubPlatform:type_name -> defproto.ClientPayload.WebInfo.WebSubPlatform - 69, // 502: defproto.ClientPayload.UserAgent.platform:type_name -> defproto.ClientPayload.UserAgent.Platform - 348, // 503: defproto.ClientPayload.UserAgent.appVersion:type_name -> defproto.ClientPayload.UserAgent.AppVersion - 68, // 504: defproto.ClientPayload.UserAgent.releaseChannel:type_name -> defproto.ClientPayload.UserAgent.ReleaseChannel - 70, // 505: defproto.ClientPayload.UserAgent.deviceType:type_name -> defproto.ClientPayload.UserAgent.DeviceType - 71, // 506: defproto.ClientPayload.DNSSource.dnsMethod:type_name -> defproto.ClientPayload.DNSSource.DNSResolutionMethod - 353, // 507: defproto.QP.Filter.parameters:type_name -> defproto.QP.FilterParameters - 80, // 508: defproto.QP.Filter.filterResult:type_name -> defproto.QP.FilterResult - 81, // 509: defproto.QP.Filter.clientNotSupportedConfig:type_name -> defproto.QP.FilterClientNotSupportedConfig - 82, // 510: defproto.QP.FilterClause.clauseType:type_name -> defproto.QP.ClauseType - 354, // 511: defproto.QP.FilterClause.clauses:type_name -> defproto.QP.FilterClause - 352, // 512: defproto.QP.FilterClause.filters:type_name -> defproto.QP.Filter - 513, // [513:513] is the sub-list for method output_type - 513, // [513:513] is the sub-list for method input_type - 513, // [513:513] is the sub-list for extension type_name - 513, // [513:513] is the sub-list for extension extendee - 0, // [0:513] is the sub-list for field type_name -} - -func init() { file_def_proto_init() } -func file_def_proto_init() { - if File_def_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_def_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ADVSignedKeyIndexList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ADVSignedDeviceIdentity); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ADVSignedDeviceIdentityHMAC); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ADVKeyIndexList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ADVDeviceIdentity); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceProps); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InitialSecurityNotificationSettingSync); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImageMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HistorySyncNotification); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HighlyStructuredMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupInviteMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FutureProofMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExtendedTextMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncReactionMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncEventResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EncCommentMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DocumentMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceSentMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeclinePaymentRequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContactsArrayMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContactMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommentMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Chat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CancelPaymentRequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Call); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallLogMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ButtonsResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ButtonsMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BotFeedbackMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BCallMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AudioMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AppStateSyncKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AppStateSyncKeyShare); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AppStateSyncKeyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AppStateSyncKeyId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AppStateSyncKeyFingerprint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AppStateSyncKeyData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AppStateFatalExceptionNotification); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Location); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveAnnotation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HydratedTemplateButton); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupMention); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisappearingMode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceListMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContextInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ForwardedNewsletterMessageInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BotSuggestedPromptMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BotPluginMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BotMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BotAvatarMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ActionLink); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TemplateButton); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Point); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PaymentBackground); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Money); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Message); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageSecretMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageContextInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VideoMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TemplateMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TemplateButtonReplyMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StickerSyncRMRMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StickerMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SenderKeyDistributionMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendPaymentMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScheduledCallEditMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScheduledCallCreationMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequestWelcomeMessageMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequestPhoneNumberMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequestPaymentMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReactionMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProtocolMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProductMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PollVoteMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PollUpdateMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PollUpdateMessageMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PollEncValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PollCreationMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PinInChatMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerDataOperationRequestResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerDataOperationRequestMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PaymentInviteMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OrderMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsletterAdminInviteMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageHistoryBundle); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LocationMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LiveLocationMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeepInChatMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InvoiceMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EphemeralSetting); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WallpaperSettings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StickerMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Pushname); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PhoneNumberToLIDMapping); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PastParticipants); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PastParticipant); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NotificationSettings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HistorySync); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HistorySyncMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupParticipant); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GlobalSettings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Conversation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AvatarUserSettings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoDownloadSettings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServerErrorReceipt); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaRetryNotification); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncdVersion); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncdValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncdSnapshot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncdRecord); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncdPatch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncdMutations); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncdMutation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncdIndex); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExternalBlobReference); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExitCode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncActionValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserStatusMuteAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveChatsSetting); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimeFormatAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncActionMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncActionMessageRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscriptionAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StickerAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatusPrivacyAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StarAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SecurityNotificationSetting); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoveRecentStickerAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RecentEmojiWeightsAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuickReplyAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PushNameSetting); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrivacySettingRelayAllCalls); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrimaryVersionAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrimaryFeature); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PnForLidChatAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PinAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PaymentInfoAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NuxAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MuteAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MarketingMessageBroadcastAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MarketingMessageAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MarkChatAsReadAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LocaleSetting); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LabelReorderingAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LabelEditAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LabelAssociationAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyExpiration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExternalWebBetaAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteMessageForMeAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteIndividualCallLogAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteChatAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContactAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClearChatAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatAssignmentOpenedStatusAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatAssignmentAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallLogAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BotWelcomeRequestAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveChatAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AndroidUnsupportedActions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AgentAction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncActionData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RecentEmojiWeight); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatchDebugData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallLogRecord); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerifiedNameCertificate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LocalizedName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BizIdentityInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BizAccountPayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BizAccountLinkInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HandshakeMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HandshakeServerHello); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HandshakeClientHello); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HandshakeClientFinish); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientPayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WebNotificationsInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WebMessageInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WebFeatures); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserReceipt); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatusPSA); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReportingTokenInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Reaction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PremiumMessageInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PollUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PollAdditionalMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PinInChat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PhotoChange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PaymentInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NotificationMessageInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageAddOnContextInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MediaData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeepInChat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommentMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NoiseCertificate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CertChain); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QP); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceProps_HistorySyncConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceProps_AppVersion); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveMessage_ShopMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveMessage_NativeFlowMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveMessage_Header); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveMessage_Footer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveMessage_CollectionMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveMessage_CarouselMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveMessage_Body); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveMessage_NativeFlowMessage_NativeFlowButton); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMCurrency); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeUnixEpoch); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_HSMDateTimeComponent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallLogMessage_CallParticipant); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ButtonsMessage_Button); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ButtonsMessage_Button_NativeFlowInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ButtonsMessage_Button_ButtonText); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HydratedTemplateButton_HydratedURLButton); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HydratedTemplateButton_HydratedQuickReplyButton); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HydratedTemplateButton_HydratedCallButton); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContextInfo_UTMInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContextInfo_ExternalAdReplyInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContextInfo_DataSharingContext); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContextInfo_BusinessMessageForwardInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContextInfo_AdReplyInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TemplateButton_URLButton); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TemplateButton_QuickReplyButton); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TemplateButton_CallButton); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PaymentBackground_MediaData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TemplateMessage_HydratedFourRowTemplate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TemplateMessage_FourRowTemplate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProductMessage_ProductSnapshot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProductMessage_CatalogSnapshot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PollCreationMessage_Option); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerDataOperationRequestResponseMessage_PeerDataOperationResult); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_PlaceholderMessageResendResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerDataOperationRequestResponseMessage_PeerDataOperationResult_LinkPreviewResponse_LinkPreviewHighQualityThumbnail); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerDataOperationRequestMessage_RequestUrlPreview); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerDataOperationRequestMessage_RequestStickerReupload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerDataOperationRequestMessage_PlaceholderMessageResendRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerDataOperationRequestMessage_HistorySyncOnDemandRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResponseMessage_SingleSelectReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMessage_Section); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMessage_Row); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMessage_Product); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMessage_ProductSection); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMessage_ProductListInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMessage_ProductListHeaderImage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveResponseMessage_NativeFlowResponseMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InteractiveResponseMessage_Body); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallLogRecord_ParticipantInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerifiedNameCertificate_Details); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientPayload_WebInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientPayload_UserAgent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientPayload_InteropData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientPayload_DevicePairingRegistrationData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientPayload_DNSSource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientPayload_WebInfo_WebdPayload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClientPayload_UserAgent_AppVersion); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NoiseCertificate_Details); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CertChain_NoiseCertificate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[268].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CertChain_NoiseCertificate_Details); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QP_Filter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[270].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QP_FilterParameters); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_def_proto_msgTypes[271].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QP_FilterClause); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_def_proto_msgTypes[6].OneofWrappers = []interface{}{ - (*InteractiveMessage_ShopStorefrontMessage)(nil), - (*InteractiveMessage_CollectionMessage_)(nil), - (*InteractiveMessage_NativeFlowMessage_)(nil), - (*InteractiveMessage_CarouselMessage_)(nil), - } - file_def_proto_msgTypes[29].OneofWrappers = []interface{}{ - (*ButtonsResponseMessage_SelectedDisplayText)(nil), - } - file_def_proto_msgTypes[30].OneofWrappers = []interface{}{ - (*ButtonsMessage_Text)(nil), - (*ButtonsMessage_DocumentMessage)(nil), - (*ButtonsMessage_ImageMessage)(nil), - (*ButtonsMessage_VideoMessage)(nil), - (*ButtonsMessage_LocationMessage)(nil), - } - file_def_proto_msgTypes[42].OneofWrappers = []interface{}{ - (*InteractiveAnnotation_Location)(nil), - (*InteractiveAnnotation_Newsletter)(nil), - } - file_def_proto_msgTypes[43].OneofWrappers = []interface{}{ - (*HydratedTemplateButton_QuickReplyButton)(nil), - (*HydratedTemplateButton_UrlButton)(nil), - (*HydratedTemplateButton_CallButton)(nil), - } - file_def_proto_msgTypes[54].OneofWrappers = []interface{}{ - (*TemplateButton_QuickReplyButton_)(nil), - (*TemplateButton_UrlButton)(nil), - (*TemplateButton_CallButton_)(nil), - } - file_def_proto_msgTypes[62].OneofWrappers = []interface{}{ - (*TemplateMessage_FourRowTemplate_)(nil), - (*TemplateMessage_HydratedFourRowTemplate_)(nil), - (*TemplateMessage_InteractiveMessageTemplate)(nil), - } - file_def_proto_msgTypes[94].OneofWrappers = []interface{}{ - (*InteractiveResponseMessage_NativeFlowResponseMessage_)(nil), - } - file_def_proto_msgTypes[208].OneofWrappers = []interface{}{ - (*InteractiveMessage_Header_DocumentMessage)(nil), - (*InteractiveMessage_Header_ImageMessage)(nil), - (*InteractiveMessage_Header_JpegThumbnail)(nil), - (*InteractiveMessage_Header_VideoMessage)(nil), - (*InteractiveMessage_Header_LocationMessage)(nil), - } - file_def_proto_msgTypes[214].OneofWrappers = []interface{}{ - (*HighlyStructuredMessage_HSMLocalizableParameter_Currency)(nil), - (*HighlyStructuredMessage_HSMLocalizableParameter_DateTime)(nil), - } - file_def_proto_msgTypes[215].OneofWrappers = []interface{}{ - (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_Component)(nil), - (*HighlyStructuredMessage_HSMLocalizableParameter_HSMDateTime_UnixEpoch)(nil), - } - file_def_proto_msgTypes[235].OneofWrappers = []interface{}{ - (*TemplateMessage_HydratedFourRowTemplate_DocumentMessage)(nil), - (*TemplateMessage_HydratedFourRowTemplate_HydratedTitleText)(nil), - (*TemplateMessage_HydratedFourRowTemplate_ImageMessage)(nil), - (*TemplateMessage_HydratedFourRowTemplate_VideoMessage)(nil), - (*TemplateMessage_HydratedFourRowTemplate_LocationMessage)(nil), - } - file_def_proto_msgTypes[236].OneofWrappers = []interface{}{ - (*TemplateMessage_FourRowTemplate_DocumentMessage)(nil), - (*TemplateMessage_FourRowTemplate_HighlyStructuredMessage)(nil), - (*TemplateMessage_FourRowTemplate_ImageMessage)(nil), - (*TemplateMessage_FourRowTemplate_VideoMessage)(nil), - (*TemplateMessage_FourRowTemplate_LocationMessage)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_def_proto_rawDesc, - NumEnums: 83, - NumMessages: 272, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_def_proto_goTypes, - DependencyIndexes: file_def_proto_depIdxs, - EnumInfos: file_def_proto_enumTypes, - MessageInfos: file_def_proto_msgTypes, - }.Build() - File_def_proto = out.File - file_def_proto_rawDesc = nil - file_def_proto_goTypes = nil - file_def_proto_depIdxs = nil -} diff --git a/neonize/gocode/go.mod b/neonize/gocode/go.mod deleted file mode 100644 index d44d5cbe..00000000 --- a/neonize/gocode/go.mod +++ /dev/null @@ -1,17 +0,0 @@ -module github.com/krypton-byte/neonize - -go 1.21.5 - -require ( - github.com/mattn/go-sqlite3 v1.14.19 - go.mau.fi/whatsmeow v0.0.0-20231216213200-9d803dd92735 - google.golang.org/protobuf v1.31.0 -) - -require ( - filippo.io/edwards25519 v1.0.0 // indirect - github.com/gorilla/websocket v1.5.0 // indirect - go.mau.fi/libsignal v0.1.0 // indirect - go.mau.fi/util v0.2.0 // indirect - golang.org/x/crypto v0.15.0 // indirect -) diff --git a/neonize/gocode/go.sum b/neonize/gocode/go.sum deleted file mode 100644 index 40620505..00000000 --- a/neonize/gocode/go.sum +++ /dev/null @@ -1,30 +0,0 @@ -filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= -filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/mattn/go-sqlite3 v1.14.19 h1:fhGleo2h1p8tVChob4I9HpmVFIAkKGpiukdrgQbWfGI= -github.com/mattn/go-sqlite3 v1.14.19/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -go.mau.fi/libsignal v0.1.0 h1:vAKI/nJ5tMhdzke4cTK1fb0idJzz1JuEIpmjprueC+c= -go.mau.fi/libsignal v0.1.0/go.mod h1:R8ovrTezxtUNzCQE5PH30StOQWWeBskBsWE55vMfY9I= -go.mau.fi/util v0.2.0 h1:AMGBEdg9Ya/smb/09dljo9wBwKr432EpfjDWF7aFQg0= -go.mau.fi/util v0.2.0/go.mod h1:AxuJUMCxpzgJ5eV9JbPWKRH8aAJJidxetNdUj7qcb84= -go.mau.fi/whatsmeow v0.0.0-20231216213200-9d803dd92735 h1:+teJYCOK6M4Kn2TYCj29levhHVwnJTmgCtEXLtgwQtM= -go.mau.fi/whatsmeow v0.0.0-20231216213200-9d803dd92735/go.mod h1:5xTtHNaZpGni6z6aE1iEopjW7wNgsKcolZxZrOujK9M= -golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= -golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/neonize/gocode/gocode.h b/neonize/gocode/gocode.h deleted file mode 100644 index 918065ca..00000000 --- a/neonize/gocode/gocode.h +++ /dev/null @@ -1,136 +0,0 @@ -/* Code generated by cmd/cgo; DO NOT EDIT. */ - -/* package command-line-arguments */ - - -#line 1 "cgo-builtin-export-prolog" - -#include - -#ifndef GO_CGO_EXPORT_PROLOGUE_H -#define GO_CGO_EXPORT_PROLOGUE_H - -#ifndef GO_CGO_GOSTRING_TYPEDEF -typedef struct { const char *p; ptrdiff_t n; } _GoString_; -#endif - -#endif - -/* Start of preamble from import "C" comments. */ - - -#line 3 "main.go" - - - #include - #include - #include "header/cstruct.h" - - typedef void (*ptr_to_python_function_string) (char*); - - static inline void call_c_func_string(ptr_to_python_function_string ptr, char* xStr) { - (ptr)(xStr); - } - typedef void (*ptr_to_python_function_bytes)(const char*, size_t); - - static inline void call_c_func_bytes(ptr_to_python_function_bytes ptr, const char* data, size_t size) { - (ptr)(data, size); - } - -#line 1 "cgo-generated-wrapper" - - -/* End of preamble from import "C" comments. */ - - -/* Start of boilerplate cgo prologue. */ -#line 1 "cgo-gcc-export-header-prolog" - -#ifndef GO_CGO_PROLOGUE_H -#define GO_CGO_PROLOGUE_H - -typedef signed char GoInt8; -typedef unsigned char GoUint8; -typedef short GoInt16; -typedef unsigned short GoUint16; -typedef int GoInt32; -typedef unsigned int GoUint32; -typedef long long GoInt64; -typedef unsigned long long GoUint64; -typedef GoInt64 GoInt; -typedef GoUint64 GoUint; -typedef size_t GoUintptr; -typedef float GoFloat32; -typedef double GoFloat64; -#ifdef _MSC_VER -#include -typedef _Fcomplex GoComplex64; -typedef _Dcomplex GoComplex128; -#else -typedef float _Complex GoComplex64; -typedef double _Complex GoComplex128; -#endif - -/* - static assertion to make sure the file is being used on architecture - at least with matching size of GoInt. -*/ -typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1]; - -#ifndef GO_CGO_GOSTRING_TYPEDEF -typedef _GoString_ GoString; -#endif -typedef void *GoMap; -typedef void *GoChan; -typedef struct { void *t; void *v; } GoInterface; -typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; - -#endif - -/* End of boilerplate cgo prologue. */ - -#ifdef __cplusplus -extern "C" { -#endif - -extern struct BytesReturn Upload(char* id, unsigned char* mediabuff, int mediaSize, int mediatype); -extern char* GenerateMessageID(char* id); -extern char* AcceptTOSNotice(char* id, char* noticeID, char* stage); -extern struct BytesReturn SendMessage(char* id, unsigned char* JIDByte, int JIDSize, unsigned char* messageByte, int messageSize); -extern void Neonize(char* db, char* id, ptr_to_python_function_string qrCb, ptr_to_python_function_string logStatus, ptr_to_python_function_bytes messageCb); -extern struct BytesReturn Download(char* id, unsigned char* messageProto, int size); -extern struct BytesReturn IsOnWhatsApp(char* id, char* numbers); -extern _Bool IsConnected(char* id); -extern _Bool IsLoggedIn(char* id); -extern struct BytesReturn GetUserInfo(char* id, unsigned char* JIDSByte, int JIDSSize); - -// /GROUP -// -extern struct BytesReturn GetGroupInfo(char* id, unsigned char* JIDByte, int JIDSize); -extern struct BytesReturn GetGroupInfoFromInvite(char* id, unsigned char* JIDByte, int JIDSize, unsigned char* inviter, int inviterSize, char* code, int expiration); -extern struct BytesReturn GetGroupInfoFromLink(char* id, char* code); -extern struct BytesReturn GetGroupRequestParticipants(char* id, unsigned char* JIDByte, int JIDSize); -extern struct BytesReturn GetLinkedGroupsParticipants(char* id, unsigned char* JIDByte, int JIDSize); -extern char* SetGroupName(char* id, unsigned char* JIDByte, int JIDSize, char* name); -extern struct BytesReturn SetGroupPhoto(char* id, unsigned char* JIDByte, int JIDSize, unsigned char* Photo, int PhotoSize); -extern char* LeaveGroup(char* id, unsigned char* JIDByte, int JIDSize); -extern struct BytesReturn GetGroupInviteLink(char* id, unsigned char* JIDByte, int JIDSize, _Bool revoke); -extern struct BytesReturn JoinGroupWithLink(char* id, char* code); -extern char* SendChatPresence(char* id, unsigned char* JIDByte, int JIDSize, int state, int media); -extern struct BytesReturn BuildRevoke(char* id, unsigned char* ChatByte, int ChatSize, unsigned char* SenderByte, int SenderSize, char* messageID); -extern struct BytesReturn BuildPollVoteCreation(char* id, char* name, unsigned char* options, int optionsSize, int selectableOptionCount); -extern struct BytesReturn CreateNewsletter(char* id, unsigned char* createNewsletterParams, int size); -extern char* FollowNewsletter(char* id, unsigned char* jid, int size); -extern struct BytesReturn GetNewsletterInfo(char* id, unsigned char* JIDByte, int JIDSize); -extern struct BytesReturn GetNewsletterInfoWithInvite(char* id, char* key); -extern struct BytesReturn GetBlocklist(char* id); -extern struct BytesReturn BuildPollVote(char* id, unsigned char* pollInfo, int pollInfoSize, unsigned char* optionName, int optionNameSize); -extern struct BytesReturn BuildReaction(char* id, unsigned char* chat, int chatSize, unsigned char* sender, int senderSize, char* messageID, char* reaction); -extern struct BytesReturn CreateGroup(char* id, unsigned char* createGroupByte, int createGroupSize); -extern struct BytesReturn GetJoinedGroups(char* id); -extern struct BytesReturn GetMe(char* id); -extern struct BytesReturn GetContactQRLink(char* id, _Bool revoke); - -#ifdef __cplusplus -} -#endif diff --git a/neonize/gocode/main.go b/neonize/gocode/main.go deleted file mode 100644 index fba74a24..00000000 --- a/neonize/gocode/main.go +++ /dev/null @@ -1,811 +0,0 @@ -package main - -/* - - #include - #include - #include "header/cstruct.h" - - typedef void (*ptr_to_python_function_string) (char*); - - static inline void call_c_func_string(ptr_to_python_function_string ptr, char* xStr) { - (ptr)(xStr); - } - typedef void (*ptr_to_python_function_bytes)(const char*, size_t); - - static inline void call_c_func_bytes(ptr_to_python_function_bytes ptr, const char* data, size_t size) { - (ptr)(data, size); - } -*/ -import "C" -import ( - "context" - "fmt" - "os" - "os/signal" - "strings" - "syscall" - "unsafe" - - "github.com/krypton-byte/neonize/neonize" - "github.com/krypton-byte/neonize/utils" - _ "github.com/mattn/go-sqlite3" - "go.mau.fi/whatsmeow" - "go.mau.fi/whatsmeow/store/sqlstore" - "go.mau.fi/whatsmeow/types" - "go.mau.fi/whatsmeow/types/events" - - waProto "go.mau.fi/whatsmeow/binary/proto" - waLog "go.mau.fi/whatsmeow/util/log" - "google.golang.org/protobuf/proto" -) - -var clients = make(map[string]*whatsmeow.Client) - -func getByteByAddr(addr *C.uchar, size C.int) []byte { - var result []byte - for i := 0; i < int(size); i++ { - value := *(*C.uchar)(unsafe.Pointer(uintptr(unsafe.Pointer(addr)) + uintptr(i))) - // fmt.Println(value) - result = append(result, byte(value)) - } - return result -} - -func ReturnBytes(data []byte) C.struct_BytesReturn { - size := C.size_t(len(data)) - ptr := (*C.char)(C.CBytes(data)) - // defer C.free(unsafe.Pointer(&ptr)) - return C.struct_BytesReturn{ptr, size} -} - -//export Upload -func Upload(id *C.char, mediabuff *C.uchar, mediaSize C.int, mediatype C.int) C.struct_BytesReturn { - client := clients[C.GoString(id)] - data := getByteByAddr(mediabuff, mediaSize) - response, err_upload := client.Upload(context.Background(), data, utils.MediaType[int(mediatype)]) - return_ := neonize.UploadReturnFunction{} - if err_upload != nil { - return_.Error = proto.String(err_upload.Error()) - } - return_.UploadResponse = utils.EncodeUploadResponse(response) - return_buf, err := proto.Marshal(&return_) - if err != nil { - panic(err) - } - return ReturnBytes(return_buf) -} - -//export GenerateMessageID -func GenerateMessageID(id *C.char) *C.char { - return C.CString(clients[C.GoString(id)].GenerateMessageID()) -} - -//export AcceptTOSNotice -func AcceptTOSNotice(id *C.char, noticeID *C.char, stage *C.char) *C.char { - err := clients[C.GoString(id)].AcceptTOSNotice(C.GoString(noticeID), C.GoString(stage)) - if err != nil { - return C.CString(err.Error()) - } - return C.CString("") -} - -//export SendMessage -func SendMessage(id *C.char, JIDByte *C.uchar, JIDSize C.int, messageByte *C.uchar, messageSize C.int) C.struct_BytesReturn { - client := clients[C.GoString(id)] - jid := getByteByAddr(JIDByte, JIDSize) - var neonize_jid neonize.JID - err := proto.Unmarshal(jid, &neonize_jid) - if err != nil { - panic(err) - } - message_bytes := getByteByAddr(messageByte, messageSize) - var message waProto.Message - err_message := proto.Unmarshal(message_bytes, &message) - if err_message != nil { - panic(err) - } - sendresponse, err := client.SendMessage(context.Background(), utils.DecodeJidProto(&neonize_jid), &message) - return_ := neonize.SendMessageReturnFunction{} - if err != nil { - return_.Error = proto.String(err.Error()) - } - return_.SendResponse = utils.EncodeSendResponse(sendresponse) - return_buf, err := proto.Marshal(&return_) - if err != nil { - panic(err) - } - return ReturnBytes(return_buf) -} - -//export Neonize -func Neonize(db *C.char, id *C.char, qrCb C.ptr_to_python_function_string, logStatus C.ptr_to_python_function_string, messageCb C.ptr_to_python_function_bytes) { - dbLog := waLog.Stdout("Database", "DEBUG", true) - // Make sure you add appropriate DB connector imports, e.g. github.com/mattn/go-sqlite3 for SQLite - container, err := sqlstore.New("sqlite3", fmt.Sprintf("file:%s?_foreign_keys=on", C.GoString(db)), dbLog) - if err != nil { - panic(err) - } - // If you want multiple sessions, remember their JIDs and use .GetDevice(jid) or .GetAllDevices() instead. - deviceStore, err := container.GetFirstDevice() - if err != nil { - panic(err) - } - clientLog := waLog.Stdout("Client", "DEBUG", true) - client := whatsmeow.NewClient(deviceStore, clientLog) - clients[C.GoString(id)] = client - eventHandler := func(evt interface{}) { - switch v := evt.(type) { - case *events.Message: - // fmt.Println("Received a message!", v.Message.GetConversation()) - if err != nil { - panic(err) - } - // fname := "z.buf" - // file, err := os.Create(fname) - // if err != nil { - // panic(err) - // } - // file.Write(data) - // defer file.Close() - // fmt.Println("dataproto: ", data) - // if err != nil { - // panic(err) - // } - messageSource := utils.EncodeEventTypesMessage(v) - messageSourceBytes, err := proto.Marshal(messageSource) - if err != nil { - panic(err) - } - messageSourceCDATA := (*C.char)(unsafe.Pointer(&messageSourceBytes[0])) - messageSourceCSize := C.size_t(len(messageSourceBytes)) - C.call_c_func_bytes(messageCb, messageSourceCDATA, messageSourceCSize) - // C.free(unsafe.Pointer(CData)) - - } - } - client.AddEventHandler(eventHandler) - qrFuncCb := func(data string) { - cstr := C.CString(data) - defer C.free(unsafe.Pointer(cstr)) - C.call_c_func_string(qrCb, cstr) - } - logStatusCb := func(eventName string) { - cstr := C.CString(eventName) - defer C.free(unsafe.Pointer(cstr)) - C.call_c_func_string(logStatus, cstr) - } - if client.Store.ID == nil { - // No ID stored, new login - qrChan, _ := client.GetQRChannel(context.Background()) - err = client.Connect() - if err != nil { - panic(err) - } - for evt := range qrChan { - if evt.Event == "code" { - // Render the QR code here - // e.g. qrterminal.GenerateHalfBlock(evt.Code, qrterminal.L, os.Stdout) - // or just manually `echo 2@... | qrencode -t ansiutf8` in a terminal - qrFuncCb(evt.Code) - // fmt.Println(cstr) - // C.free(unsafe.Pointer(cstr)) - } else { - fmt.Println("Login event:", evt.Event) - logStatusCb(evt.Event) - } - } - } else { - // Already logged in, just connect - err = client.Connect() - if err != nil { - panic(err) - } - } - - // Listen to Ctrl+C (you can also do something else that prevents the program from exiting) - c := make(chan os.Signal) - signal.Notify(c, os.Interrupt, syscall.SIGTERM) - <-c - - client.Disconnect() -} - -//export Download -func Download(id *C.char, messageProto *C.uchar, size C.int) C.struct_BytesReturn { - var message waProto.Message - err := proto.Unmarshal(getByteByAddr(messageProto, size), &message) - if err != nil { - panic(err) - } - data_buff, err := clients[C.GoString(id)].DownloadAny(&message) - return_ := neonize.DownloadReturnFunction{} - if err != nil { - return_.Error = proto.String(err.Error()) - } - if data_buff != nil { - return_.Binary = data_buff - } - return ReturnBytes(data_buff) - -} - -//export IsOnWhatsApp -func IsOnWhatsApp(id *C.char, numbers *C.char) C.struct_BytesReturn { - onWhatsApp := []*neonize.IsOnWhatsAppResponse{} - return_ := neonize.IsOnWhatsAppReturnFunction{} - response, err := clients[C.GoString(id)].IsOnWhatsApp(strings.Split(C.GoString(numbers), " ")) - for _, participant := range response { - onWhatsApp = append(onWhatsApp, utils.EncodeIsOnWhatsApp(participant)) - } - if err != nil { - return_.Error = proto.String(err.Error()) - } - return_.IsOnWhatsAppResponse = onWhatsApp - return_buf, err := proto.Marshal(&return_) - if err != nil { - panic(err) - } - return ReturnBytes(return_buf) -} - -//export IsConnected -func IsConnected(id *C.char) C.bool { - check := clients[C.GoString(id)].IsConnected() - return C.bool(check) -} - -//export IsLoggedIn -func IsLoggedIn(id *C.char) C.bool { - check := clients[C.GoString(id)].IsConnected() - return C.bool(check) -} - -//export GetUserInfo -func GetUserInfo(id *C.char, JIDSByte *C.uchar, JIDSSize C.int) C.struct_BytesReturn { - var NeoJIDS neonize.JIDArray - JIDSBuf := getByteByAddr(JIDSByte, JIDSSize) - err := proto.Unmarshal(JIDSBuf, &NeoJIDS) - if err != nil { - panic(err) - } - JIDS := []types.JID{} - for _, jid := range NeoJIDS.JIDS { - JIDS = append(JIDS, utils.DecodeJidProto(jid)) - } - user_info, err := clients[C.GoString(id)].GetUserInfo(JIDS) - return_ := neonize.GetUserInfoReturnFunction{} - if err != nil { - return_.Error = proto.String(err.Error()) - } - usersinfo := []*neonize.GetUserInfoSingleReturnFunction{} - for jid, info := range user_info { - singlereturn := &neonize.GetUserInfoSingleReturnFunction{ - JID: utils.EncodeJidProto(jid), - UserInfo: utils.EncodeUserInfo(info), - } - - usersinfo = append(usersinfo, singlereturn) - } - return_.UsersInfo = usersinfo - return_buf, marshal_err := proto.Marshal(&return_) - if marshal_err != nil { - panic(marshal_err) - } - return ReturnBytes(return_buf) -} - -// /GROUP -// -//export GetGroupInfo -func GetGroupInfo(id *C.char, JIDByte *C.uchar, JIDSize C.int) C.struct_BytesReturn { - var neoJIDProto neonize.JID - jidbyte := getByteByAddr(JIDByte, JIDSize) - err := proto.Unmarshal(jidbyte, &neoJIDProto) - if err != nil { - panic(err) - } - decodeJid := utils.DecodeJidProto(&neoJIDProto) - info, err_info := clients[C.GoString(id)].GetGroupInfo(decodeJid) - groupinfo := neonize.GetGroupInfoReturnFunction{} - if err_info != nil { - groupinfo.Error = proto.String(err_info.Error()) - } - if info != nil { - groupinfo.GroupInfo = utils.EncodeGroupInfo(info) - } - databuf, err_ := proto.Marshal(&groupinfo) - if err_ != nil { - panic(err_) - } - return ReturnBytes(databuf) -} - -//export GetGroupInfoFromInvite -func GetGroupInfoFromInvite(id *C.char, JIDByte *C.uchar, JIDSize C.int, inviter *C.uchar, inviterSize C.int, code *C.char, expiration C.int) C.struct_BytesReturn { - var JIDInviter neonize.JID - var JID neonize.JID - err_jid := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) - if err_jid != nil { - panic(err_jid) - } - err_inviter := proto.Unmarshal(getByteByAddr(inviter, inviterSize), &JIDInviter) - if err_inviter != nil { - panic(err_inviter) - } - group_info, err := clients[C.GoString(id)].GetGroupInfoFromInvite(utils.DecodeJidProto(&JID), utils.DecodeJidProto(&JIDInviter), C.GoString(code), int64(expiration)) - return_proto := neonize.GetGroupInfoReturnFunction{} - if err != nil { - return_proto.Error = proto.String(err.Error()) - } - if group_info != nil { - return_proto.GroupInfo = utils.EncodeGroupInfo(group_info) - } - return_, err_marshal := proto.Marshal(&return_proto) - if err_marshal != nil { - panic(err_marshal) - } - return ReturnBytes(return_) -} - -//export GetGroupInfoFromLink -func GetGroupInfoFromLink(id *C.char, code *C.char) C.struct_BytesReturn { - return_proto := neonize.GetGroupInfoReturnFunction{} - info, err := clients[C.GoString(id)].GetGroupInfoFromLink(C.GoString(code)) - if err != nil { - return_proto.Error = proto.String(err.Error()) - } - if info != nil { - return_proto.GroupInfo = utils.EncodeGroupInfo(info) - } - return_, err_marshal := proto.Marshal(&return_proto) - if err_marshal != nil { - panic(err) - } - return ReturnBytes(return_) -} - -//export GetGroupRequestParticipants -func GetGroupRequestParticipants(id *C.char, JIDByte *C.uchar, JIDSize C.int) C.struct_BytesReturn { - var JID neonize.JID - err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) - if err != nil { - panic(err) - } - request_participants, err_request := clients[C.GoString(id)].GetGroupRequestParticipants(utils.DecodeJidProto(&JID)) - participants := []*neonize.JID{} - for _, participant := range request_participants { - participants = append(participants, utils.EncodeJidProto(participant)) - } - return_ := neonize.GetGroupRequestParticipantsReturnFunction{ - Participants: participants, - } - if err_request != nil { - return_.Error = proto.String(err_request.Error()) - } - return_buf, err_marshal := proto.Marshal(&return_) - if err_marshal != nil { - panic(err) - } - return ReturnBytes(return_buf) -} - -//export GetLinkedGroupsParticipants -func GetLinkedGroupsParticipants(id *C.char, JIDByte *C.uchar, JIDSize C.int) C.struct_BytesReturn { - var JID neonize.JID - return_ := neonize.GetGroupRequestParticipantsReturnFunction{} - err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) - if err != nil { - panic(err) - } - JIDS, err_get := clients[C.GoString(id)].GetLinkedGroupsParticipants(utils.DecodeJidProto(&JID)) - if err_get != nil { - return_.Error = proto.String(err_get.Error()) - } - neonizeJID := []*neonize.JID{} - for _, jid := range JIDS { - neonizeJID = append(neonizeJID, utils.EncodeJidProto(jid)) - } - return_.Participants = neonizeJID - return_buf, err_marshal := proto.Marshal(&return_) - if err_marshal != nil { - panic(err) - } - return ReturnBytes(return_buf) -} - -//export SetGroupName -func SetGroupName(id *C.char, JIDByte *C.uchar, JIDSize C.int, name *C.char) *C.char { - jidbyte := getByteByAddr(JIDByte, JIDSize) - var neoJIDProto neonize.JID - err := proto.Unmarshal(jidbyte, &neoJIDProto) - if err != nil { - panic(err) - } - status_err := clients[C.GoString(id)].SetGroupName(utils.DecodeJidProto(&neoJIDProto), C.GoString(name)) - if status_err != nil { - return C.CString(status_err.Error()) - - } - return C.CString("") - -} - -//export SetGroupPhoto -func SetGroupPhoto(id *C.char, JIDByte *C.uchar, JIDSize C.int, Photo *C.uchar, PhotoSize C.int) C.struct_BytesReturn { - var neoJIDProto neonize.JID - JIDbyte := getByteByAddr(JIDByte, JIDSize) - err := proto.Unmarshal(JIDbyte, &neoJIDProto) - if err != nil { - panic(err) - } - photo_buf := getByteByAddr(Photo, PhotoSize) - response, err_status := clients[C.GoString(id)].SetGroupPhoto(utils.DecodeJidProto(&neoJIDProto), photo_buf) - return_ := neonize.SetGroupPhotoReturnFunction{ - PictureID: &response, - } - if err_status != nil { - return_.Error = proto.String(err_status.Error()) - } - return_buf, err_marshal := proto.Marshal(&return_) - if err != nil { - panic(err_marshal) - } - return ReturnBytes(return_buf) -} - -//export LeaveGroup -func LeaveGroup(id *C.char, JIDByte *C.uchar, JIDSize C.int) *C.char { - var neoJIDProto neonize.JID - JIDbyte := getByteByAddr(JIDByte, JIDSize) - err := proto.Unmarshal(JIDbyte, &neoJIDProto) - if err != nil { - panic(err) - } - err_status := clients[C.GoString(id)].LeaveGroup(utils.DecodeJidProto(&neoJIDProto)) - if err_status != nil { - return C.CString(err_status.Error()) - } - return C.CString("") -} - -//export GetGroupInviteLink -func GetGroupInviteLink(id *C.char, JIDByte *C.uchar, JIDSize C.int, revoke C.bool) C.struct_BytesReturn { - var neoJIDProto neonize.JID - JIDbyte := getByteByAddr(JIDByte, JIDSize) - err := proto.Unmarshal(JIDbyte, &neoJIDProto) - if err != nil { - panic(err) - } - url, err := clients[C.GoString(id)].GetGroupInviteLink(utils.DecodeJidProto(&neoJIDProto), bool(revoke)) - return_ := neonize.GetGroupInviteLinkReturnFunction{ - InviteLink: &url, - } - if err != nil { - return_.Error = proto.String(err.Error()) - } - return_buf, err_marshal := proto.Marshal(&return_) - if err_marshal != nil { - panic(err_marshal) - } - return ReturnBytes(return_buf) -} - -//export JoinGroupWithLink -func JoinGroupWithLink(id *C.char, code *C.char) C.struct_BytesReturn { - jid, err := clients[C.GoString(id)].JoinGroupWithLink(C.GoString(code)) - - neojid := utils.EncodeJidProto(jid) - - return_ := neonize.JoinGroupWithLinkReturnFunction{ - Jid: neojid, - } - if err != nil { - return_.Error = proto.String(err.Error()) - } - - jidBuf, err_ := proto.Marshal(&return_) - - if err_ != nil { - panic(err_) - } - return ReturnBytes(jidBuf) -} - -//export SendChatPresence -func SendChatPresence(id *C.char, JIDByte *C.uchar, JIDSize C.int, state C.int, media C.int) *C.char { - jidbyte := getByteByAddr(JIDByte, JIDSize) - var neonize_jid neonize.JID - err := proto.Unmarshal(jidbyte, &neonize_jid) - if err != nil { - panic(err) - } - err_status := clients[C.GoString(id)].SendChatPresence( - utils.DecodeJidProto(&neonize_jid), - utils.ChatPresence[int(state)], - utils.ChatPresenceMedia[int(media)], - ) - if err != nil { - return C.CString(err_status.Error()) - } - return C.CString("") -} - -//export BuildRevoke -func BuildRevoke(id *C.char, ChatByte *C.uchar, ChatSize C.int, SenderByte *C.uchar, SenderSize C.int, messageID *C.char) C.struct_BytesReturn { - chatByte := getByteByAddr(ChatByte, ChatSize) - senderByte := getByteByAddr(SenderByte, SenderSize) - var Chat neonize.JID - var Sender neonize.JID - err := proto.Unmarshal(chatByte, &Chat) - - if err != nil { - panic(err) - } - err_ := proto.Unmarshal(senderByte, &Sender) - if err_ != nil { - panic(err_) - } - message := clients[C.GoString(id)].BuildRevoke( - utils.DecodeJidProto(&Chat), - utils.DecodeJidProto(&Sender), - C.GoString(messageID), - ) - messageByte, err_marshal := proto.Marshal(message) - if err_marshal != nil { - panic(err_marshal) - } - return ReturnBytes(messageByte) -} - -//export BuildPollVoteCreation -func BuildPollVoteCreation(id *C.char, name *C.char, options *C.uchar, optionsSize C.int, selectableOptionCount C.int) C.struct_BytesReturn { - var options_proto neonize.ArrayString - options_array := []string{} - option_byte := getByteByAddr(options, optionsSize) - err := proto.Unmarshal(option_byte, &options_proto) - if err != nil { - panic(err) - } - for _, option := range options_proto.Data { - options_array = append(options_array, option) - } - msg := clients[C.GoString(id)].BuildPollCreation(C.GoString(name), options_array, int(selectableOptionCount)) - return_, err_marshal := proto.Marshal(msg) - if err_marshal != nil { - panic(err_marshal) - } - return ReturnBytes(return_) -} - -//export CreateNewsletter -func CreateNewsletter(id *C.char, createNewsletterParams *C.uchar, size C.int) C.struct_BytesReturn { - var neonizeParams neonize.CreateNewsletterParams - params_byte := getByteByAddr(createNewsletterParams, size) - err := proto.Unmarshal(params_byte, &neonizeParams) - if err != nil { - panic(err) - } - return_ := neonize.CreateNewsLetterReturnFunction{} - metadata, err_metadata := clients[C.GoString(id)].CreateNewsletter(utils.DecodeCreateNewsletterParams(&neonizeParams)) - if err_metadata != nil { - return_.Error = proto.String(err_metadata.Error()) - } - if metadata != nil { - return_.NewsletterMetadata = utils.EncodeNewsLetterMessageMetadata(*metadata) - } - retrun_buf, err_marshal := proto.Marshal(&return_) - if err_marshal != nil { - panic(err_marshal) - } - return ReturnBytes(retrun_buf) -} - -//export FollowNewsletter -func FollowNewsletter(id *C.char, jid *C.uchar, size C.int) *C.char { - var JID neonize.JID - jid_byte := getByteByAddr(jid, size) - unmarshal_err := proto.Unmarshal(jid_byte, &JID) - if unmarshal_err != nil { - panic(unmarshal_err) - } - err := clients[C.GoString(id)].FollowNewsletter(utils.DecodeJidProto(&JID)) - if err != nil { - return C.CString(err.Error()) - } - return C.CString(err.Error()) -} - -//export GetNewsletterInfo -func GetNewsletterInfo(id *C.char, JIDByte *C.uchar, JIDSize C.int) C.struct_BytesReturn { - var JID neonize.JID - err := proto.Unmarshal(getByteByAddr(JIDByte, JIDSize), &JID) - if err != nil { - panic(err) - } - metadata_proto := neonize.CreateNewsLetterReturnFunction{} - metadata, err_metadata := clients[C.GoString(id)].GetNewsletterInfo(utils.DecodeJidProto(&JID)) - if metadata != nil { - metadata_proto.NewsletterMetadata = utils.EncodeNewsLetterMessageMetadata(*metadata) - } - if err_metadata != nil { - metadata_proto.Error = proto.String(err_metadata.Error()) - } - return_, err_marshal := proto.Marshal(&metadata_proto) - if err_marshal != nil { - panic(err) - } - return ReturnBytes(return_) -} - -//export GetNewsletterInfoWithInvite -func GetNewsletterInfoWithInvite(id *C.char, key *C.char) C.struct_BytesReturn { - return_ := neonize.CreateNewsLetterReturnFunction{} - metadata, err := clients[C.GoString(id)].GetNewsletterInfoWithInvite(C.GoString(key)) - if metadata != nil { - return_.NewsletterMetadata = utils.EncodeNewsLetterMessageMetadata(*metadata) - } - if err != nil { - return_.Error = proto.String(err.Error()) - } - return_buf, err := proto.Marshal(&return_) - return ReturnBytes(return_buf) -} - -//export GetBlocklist -func GetBlocklist(id *C.char) C.struct_BytesReturn { - blocklist, err := clients[C.GoString(id)].GetBlocklist() - return_ := neonize.GetBlocklistReturnFunction{} - if err != nil { - return_.Error = proto.String(err.Error()) - } - if blocklist != nil { - return_.Blocklist = utils.EncodeBlocklist(blocklist) - } - return_buf, err_marshal := proto.Marshal(&return_) - if err_marshal != nil { - panic(err_marshal) - } - return ReturnBytes(return_buf) -} - -//export BuildPollVote -func BuildPollVote(id *C.char, pollInfo *C.uchar, pollInfoSize C.int, optionName *C.uchar, optionNameSize C.int) C.struct_BytesReturn { - var msgInfo neonize.MessageInfo - var optionNames neonize.ArrayString - err := proto.Unmarshal(getByteByAddr(pollInfo, pollInfoSize), &msgInfo) - if err != nil { - panic(err) - } - err_2 := proto.Unmarshal(getByteByAddr(optionName, optionNameSize), &optionNames) - if err_2 != nil { - panic(err_2) - } - optionsname := []string{} - for _, option := range optionNames.Data { - optionsname = append(optionsname, option) - } - pollInfo_, err_poll := clients[C.GoString(id)].BuildPollVote(utils.DecodeMessageInfo(&msgInfo), optionsname) - return_ := neonize.BuildPollVoteReturnFunction{} - if err != nil { - return_.Error = proto.String(err_poll.Error()) - } - if pollInfo_ != nil { - return_.PollVote = utils.EncodeMessage(pollInfo_) - } - return_buf, err_decode := proto.Marshal(&return_) - if err_decode != nil { - panic(err_decode) - } - return ReturnBytes(return_buf) -} - -//export BuildReaction -func BuildReaction(id *C.char, chat *C.uchar, chatSize C.int, sender *C.uchar, senderSize C.int, messageID *C.char, reaction *C.char) C.struct_BytesReturn { - var Chat neonize.JID - var Sender neonize.JID - chat_err := proto.Unmarshal(getByteByAddr(chat, chatSize), &Chat) - if chat_err != nil { - panic(chat_err) - } - sender_err := proto.Unmarshal(getByteByAddr(sender, senderSize), &Sender) - if sender_err != nil { - panic(sender_err) - } - msg := clients[C.GoString(id)].BuildReaction( - utils.DecodeJidProto(&Chat), - utils.DecodeJidProto(&Sender), - C.GoString(messageID), - C.GoString(reaction), - ) - return_, err := proto.Marshal(msg) - if err != nil { - panic(err) - } - return ReturnBytes(return_) -} - -//export CreateGroup -func CreateGroup(id *C.char, createGroupByte *C.uchar, createGroupSize C.int) C.struct_BytesReturn { - creategrupbyte := getByteByAddr(createGroupByte, createGroupSize) - var reqCreateGroup neonize.ReqCreateGroup - err := proto.Unmarshal(creategrupbyte, &reqCreateGroup) - if err != nil { - panic(err) - } - group_info, err_ := clients[C.GoString(id)].CreateGroup(utils.DecodeReqCreateGroup(&reqCreateGroup)) - return_ := neonize.GetGroupInfoReturnFunction{} - if group_info != nil { - return_.GroupInfo = utils.EncodeGroupInfo(group_info) - } - if err_ != nil { - return_.Error = proto.String(err.Error()) - } - return_buf, err_marshal := proto.Marshal(&return_) - if err_marshal != nil { - panic(err_marshal) - } - return ReturnBytes(return_buf) -} - -//export GetJoinedGroups -func GetJoinedGroups(id *C.char) C.struct_BytesReturn { - neonize_groups_info := []*neonize.GroupInfo{} - joined_groups, err := clients[C.GoString(id)].GetJoinedGroups() - return_ := neonize.GetJoinedGroupsReturnFunction{} - if err != nil { - return_.Error = proto.String(err.Error()) - } - for _, group_info := range joined_groups { - neonize_groups_info = append(neonize_groups_info, utils.EncodeGroupInfo(group_info)) - } - return_.Group = neonize_groups_info - return_buf, err_marshal := proto.Marshal(&return_) - if err_marshal != nil { - panic(err_marshal) - } - return ReturnBytes(return_buf) - -} - -//export GetMe -func GetMe(id *C.char) C.struct_BytesReturn { - cli := clients[C.GoString(id)].Store - device := neonize.Device{ - PushName: &cli.PushName, - Platform: &cli.Platform, - BussinessName: &cli.BusinessName, - Initialized: &cli.Initialized, - } - if cli.ID != nil { - device.JID = utils.EncodeJidProto(*cli.ID) - } - DeviceBuf, err := proto.Marshal(&device) - if err != nil { - panic(DeviceBuf) - } - return ReturnBytes(DeviceBuf) -} - -//export GetContactQRLink -func GetContactQRLink(id *C.char, revoke C.bool) C.struct_BytesReturn { - link, err := clients[C.GoString(id)].GetContactQRLink(bool(revoke)) - QRLinkReturn := neonize.GetContactQRLinkReturnFunction{ - Link: &link, - } - if err != nil { - QRLinkReturn.Error = proto.String(err.Error()) - } - return_, err_masrhal := proto.Marshal(&QRLinkReturn) - if err_masrhal != nil { - panic(err_masrhal) - } - return ReturnBytes(return_) - -} - -/// - -func main() { - -} diff --git a/neonize/gocode/neonize/Neonize.pb.go b/neonize/gocode/neonize/Neonize.pb.go deleted file mode 100644 index c135f547..00000000 --- a/neonize/gocode/neonize/Neonize.pb.go +++ /dev/null @@ -1,5317 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v4.25.1 -// source: Neonize.proto - -package neonize - -import ( - defproto "github.com/krypton-byte/neonize/defproto" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type GroupInfo_GroupMemberAddMode int32 - -const ( - GroupInfo_GroupMemberAddModeAdmin GroupInfo_GroupMemberAddMode = 1 -) - -// Enum value maps for GroupInfo_GroupMemberAddMode. -var ( - GroupInfo_GroupMemberAddMode_name = map[int32]string{ - 1: "GroupMemberAddModeAdmin", - } - GroupInfo_GroupMemberAddMode_value = map[string]int32{ - "GroupMemberAddModeAdmin": 1, - } -) - -func (x GroupInfo_GroupMemberAddMode) Enum() *GroupInfo_GroupMemberAddMode { - p := new(GroupInfo_GroupMemberAddMode) - *p = x - return p -} - -func (x GroupInfo_GroupMemberAddMode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (GroupInfo_GroupMemberAddMode) Descriptor() protoreflect.EnumDescriptor { - return file_Neonize_proto_enumTypes[0].Descriptor() -} - -func (GroupInfo_GroupMemberAddMode) Type() protoreflect.EnumType { - return &file_Neonize_proto_enumTypes[0] -} - -func (x GroupInfo_GroupMemberAddMode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *GroupInfo_GroupMemberAddMode) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = GroupInfo_GroupMemberAddMode(num) - return nil -} - -// Deprecated: Use GroupInfo_GroupMemberAddMode.Descriptor instead. -func (GroupInfo_GroupMemberAddMode) EnumDescriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{20, 0} -} - -type WrappedNewsletterState_NewsletterState int32 - -const ( - WrappedNewsletterState_ACTIVE WrappedNewsletterState_NewsletterState = 1 - WrappedNewsletterState_SUSPENDED WrappedNewsletterState_NewsletterState = 2 - WrappedNewsletterState_GEOSUSPENDED WrappedNewsletterState_NewsletterState = 3 -) - -// Enum value maps for WrappedNewsletterState_NewsletterState. -var ( - WrappedNewsletterState_NewsletterState_name = map[int32]string{ - 1: "ACTIVE", - 2: "SUSPENDED", - 3: "GEOSUSPENDED", - } - WrappedNewsletterState_NewsletterState_value = map[string]int32{ - "ACTIVE": 1, - "SUSPENDED": 2, - "GEOSUSPENDED": 3, - } -) - -func (x WrappedNewsletterState_NewsletterState) Enum() *WrappedNewsletterState_NewsletterState { - p := new(WrappedNewsletterState_NewsletterState) - *p = x - return p -} - -func (x WrappedNewsletterState_NewsletterState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WrappedNewsletterState_NewsletterState) Descriptor() protoreflect.EnumDescriptor { - return file_Neonize_proto_enumTypes[1].Descriptor() -} - -func (WrappedNewsletterState_NewsletterState) Type() protoreflect.EnumType { - return &file_Neonize_proto_enumTypes[1] -} - -func (x WrappedNewsletterState_NewsletterState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *WrappedNewsletterState_NewsletterState) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = WrappedNewsletterState_NewsletterState(num) - return nil -} - -// Deprecated: Use WrappedNewsletterState_NewsletterState.Descriptor instead. -func (WrappedNewsletterState_NewsletterState) EnumDescriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{45, 0} -} - -type NewsletterReactionSettings_NewsletterReactionsMode int32 - -const ( - NewsletterReactionSettings_ALL NewsletterReactionSettings_NewsletterReactionsMode = 1 - NewsletterReactionSettings_BASIC NewsletterReactionSettings_NewsletterReactionsMode = 2 - NewsletterReactionSettings_NONE NewsletterReactionSettings_NewsletterReactionsMode = 3 - NewsletterReactionSettings_BLOCKLIST NewsletterReactionSettings_NewsletterReactionsMode = 4 -) - -// Enum value maps for NewsletterReactionSettings_NewsletterReactionsMode. -var ( - NewsletterReactionSettings_NewsletterReactionsMode_name = map[int32]string{ - 1: "ALL", - 2: "BASIC", - 3: "NONE", - 4: "BLOCKLIST", - } - NewsletterReactionSettings_NewsletterReactionsMode_value = map[string]int32{ - "ALL": 1, - "BASIC": 2, - "NONE": 3, - "BLOCKLIST": 4, - } -) - -func (x NewsletterReactionSettings_NewsletterReactionsMode) Enum() *NewsletterReactionSettings_NewsletterReactionsMode { - p := new(NewsletterReactionSettings_NewsletterReactionsMode) - *p = x - return p -} - -func (x NewsletterReactionSettings_NewsletterReactionsMode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NewsletterReactionSettings_NewsletterReactionsMode) Descriptor() protoreflect.EnumDescriptor { - return file_Neonize_proto_enumTypes[2].Descriptor() -} - -func (NewsletterReactionSettings_NewsletterReactionsMode) Type() protoreflect.EnumType { - return &file_Neonize_proto_enumTypes[2] -} - -func (x NewsletterReactionSettings_NewsletterReactionsMode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *NewsletterReactionSettings_NewsletterReactionsMode) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = NewsletterReactionSettings_NewsletterReactionsMode(num) - return nil -} - -// Deprecated: Use NewsletterReactionSettings_NewsletterReactionsMode.Descriptor instead. -func (NewsletterReactionSettings_NewsletterReactionsMode) EnumDescriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{48, 0} -} - -type NewsletterThreadMetadata_NewsletterVerificationState int32 - -const ( - NewsletterThreadMetadata_VERIFIED NewsletterThreadMetadata_NewsletterVerificationState = 1 - NewsletterThreadMetadata_UNVERIFIED NewsletterThreadMetadata_NewsletterVerificationState = 2 -) - -// Enum value maps for NewsletterThreadMetadata_NewsletterVerificationState. -var ( - NewsletterThreadMetadata_NewsletterVerificationState_name = map[int32]string{ - 1: "VERIFIED", - 2: "UNVERIFIED", - } - NewsletterThreadMetadata_NewsletterVerificationState_value = map[string]int32{ - "VERIFIED": 1, - "UNVERIFIED": 2, - } -) - -func (x NewsletterThreadMetadata_NewsletterVerificationState) Enum() *NewsletterThreadMetadata_NewsletterVerificationState { - p := new(NewsletterThreadMetadata_NewsletterVerificationState) - *p = x - return p -} - -func (x NewsletterThreadMetadata_NewsletterVerificationState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NewsletterThreadMetadata_NewsletterVerificationState) Descriptor() protoreflect.EnumDescriptor { - return file_Neonize_proto_enumTypes[3].Descriptor() -} - -func (NewsletterThreadMetadata_NewsletterVerificationState) Type() protoreflect.EnumType { - return &file_Neonize_proto_enumTypes[3] -} - -func (x NewsletterThreadMetadata_NewsletterVerificationState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *NewsletterThreadMetadata_NewsletterVerificationState) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = NewsletterThreadMetadata_NewsletterVerificationState(num) - return nil -} - -// Deprecated: Use NewsletterThreadMetadata_NewsletterVerificationState.Descriptor instead. -func (NewsletterThreadMetadata_NewsletterVerificationState) EnumDescriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{50, 0} -} - -type NewsletterViewerMetadata_NewsletterMuteState int32 - -const ( - NewsletterViewerMetadata_ON NewsletterViewerMetadata_NewsletterMuteState = 1 - NewsletterViewerMetadata_OFF NewsletterViewerMetadata_NewsletterMuteState = 2 -) - -// Enum value maps for NewsletterViewerMetadata_NewsletterMuteState. -var ( - NewsletterViewerMetadata_NewsletterMuteState_name = map[int32]string{ - 1: "ON", - 2: "OFF", - } - NewsletterViewerMetadata_NewsletterMuteState_value = map[string]int32{ - "ON": 1, - "OFF": 2, - } -) - -func (x NewsletterViewerMetadata_NewsletterMuteState) Enum() *NewsletterViewerMetadata_NewsletterMuteState { - p := new(NewsletterViewerMetadata_NewsletterMuteState) - *p = x - return p -} - -func (x NewsletterViewerMetadata_NewsletterMuteState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NewsletterViewerMetadata_NewsletterMuteState) Descriptor() protoreflect.EnumDescriptor { - return file_Neonize_proto_enumTypes[4].Descriptor() -} - -func (NewsletterViewerMetadata_NewsletterMuteState) Type() protoreflect.EnumType { - return &file_Neonize_proto_enumTypes[4] -} - -func (x NewsletterViewerMetadata_NewsletterMuteState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *NewsletterViewerMetadata_NewsletterMuteState) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = NewsletterViewerMetadata_NewsletterMuteState(num) - return nil -} - -// Deprecated: Use NewsletterViewerMetadata_NewsletterMuteState.Descriptor instead. -func (NewsletterViewerMetadata_NewsletterMuteState) EnumDescriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{51, 0} -} - -type NewsletterViewerMetadata_NewsletterRole int32 - -const ( - NewsletterViewerMetadata_SUBSCRIBER NewsletterViewerMetadata_NewsletterRole = 1 - NewsletterViewerMetadata_GUEST NewsletterViewerMetadata_NewsletterRole = 2 - NewsletterViewerMetadata_ADMIN NewsletterViewerMetadata_NewsletterRole = 3 - NewsletterViewerMetadata_OWNER NewsletterViewerMetadata_NewsletterRole = 4 -) - -// Enum value maps for NewsletterViewerMetadata_NewsletterRole. -var ( - NewsletterViewerMetadata_NewsletterRole_name = map[int32]string{ - 1: "SUBSCRIBER", - 2: "GUEST", - 3: "ADMIN", - 4: "OWNER", - } - NewsletterViewerMetadata_NewsletterRole_value = map[string]int32{ - "SUBSCRIBER": 1, - "GUEST": 2, - "ADMIN": 3, - "OWNER": 4, - } -) - -func (x NewsletterViewerMetadata_NewsletterRole) Enum() *NewsletterViewerMetadata_NewsletterRole { - p := new(NewsletterViewerMetadata_NewsletterRole) - *p = x - return p -} - -func (x NewsletterViewerMetadata_NewsletterRole) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NewsletterViewerMetadata_NewsletterRole) Descriptor() protoreflect.EnumDescriptor { - return file_Neonize_proto_enumTypes[5].Descriptor() -} - -func (NewsletterViewerMetadata_NewsletterRole) Type() protoreflect.EnumType { - return &file_Neonize_proto_enumTypes[5] -} - -func (x NewsletterViewerMetadata_NewsletterRole) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Do not use. -func (x *NewsletterViewerMetadata_NewsletterRole) UnmarshalJSON(b []byte) error { - num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) - if err != nil { - return err - } - *x = NewsletterViewerMetadata_NewsletterRole(num) - return nil -} - -// Deprecated: Use NewsletterViewerMetadata_NewsletterRole.Descriptor instead. -func (NewsletterViewerMetadata_NewsletterRole) EnumDescriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{51, 1} -} - -// types -type JID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - User *string `protobuf:"bytes,1,req,name=User" json:"User,omitempty"` - RawAgent *uint32 `protobuf:"varint,2,req,name=RawAgent" json:"RawAgent,omitempty"` - Device *uint32 `protobuf:"varint,3,req,name=Device" json:"Device,omitempty"` - Integrator *uint32 `protobuf:"varint,4,req,name=Integrator" json:"Integrator,omitempty"` - Server *string `protobuf:"bytes,5,req,name=Server" json:"Server,omitempty"` - IsEmpty *bool `protobuf:"varint,6,req,name=IsEmpty" json:"IsEmpty,omitempty"` -} - -func (x *JID) Reset() { - *x = JID{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *JID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JID) ProtoMessage() {} - -func (x *JID) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JID.ProtoReflect.Descriptor instead. -func (*JID) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{0} -} - -func (x *JID) GetUser() string { - if x != nil && x.User != nil { - return *x.User - } - return "" -} - -func (x *JID) GetRawAgent() uint32 { - if x != nil && x.RawAgent != nil { - return *x.RawAgent - } - return 0 -} - -func (x *JID) GetDevice() uint32 { - if x != nil && x.Device != nil { - return *x.Device - } - return 0 -} - -func (x *JID) GetIntegrator() uint32 { - if x != nil && x.Integrator != nil { - return *x.Integrator - } - return 0 -} - -func (x *JID) GetServer() string { - if x != nil && x.Server != nil { - return *x.Server - } - return "" -} - -func (x *JID) GetIsEmpty() bool { - if x != nil && x.IsEmpty != nil { - return *x.IsEmpty - } - return false -} - -type MessageInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MessageSource *MessageSource `protobuf:"bytes,1,req,name=MessageSource" json:"MessageSource,omitempty"` - ID *string `protobuf:"bytes,2,req,name=ID" json:"ID,omitempty"` - ServerID *int64 `protobuf:"varint,3,req,name=ServerID" json:"ServerID,omitempty"` - Type *string `protobuf:"bytes,4,req,name=Type" json:"Type,omitempty"` - Pushname *string `protobuf:"bytes,5,req,name=Pushname" json:"Pushname,omitempty"` - Timestamp *int64 `protobuf:"varint,6,req,name=Timestamp" json:"Timestamp,omitempty"` - Category *string `protobuf:"bytes,7,req,name=Category" json:"Category,omitempty"` - Multicast *bool `protobuf:"varint,8,req,name=Multicast" json:"Multicast,omitempty"` - MediaType *string `protobuf:"bytes,9,req,name=MediaType" json:"MediaType,omitempty"` - Edit *string `protobuf:"bytes,10,req,name=Edit" json:"Edit,omitempty"` //enum - VerifiedName *VerifiedName `protobuf:"bytes,11,opt,name=VerifiedName" json:"VerifiedName,omitempty"` - DeviceSentMeta *DeviceSentMeta `protobuf:"bytes,12,opt,name=DeviceSentMeta" json:"DeviceSentMeta,omitempty"` -} - -func (x *MessageInfo) Reset() { - *x = MessageInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MessageInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MessageInfo) ProtoMessage() {} - -func (x *MessageInfo) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MessageInfo.ProtoReflect.Descriptor instead. -func (*MessageInfo) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{1} -} - -func (x *MessageInfo) GetMessageSource() *MessageSource { - if x != nil { - return x.MessageSource - } - return nil -} - -func (x *MessageInfo) GetID() string { - if x != nil && x.ID != nil { - return *x.ID - } - return "" -} - -func (x *MessageInfo) GetServerID() int64 { - if x != nil && x.ServerID != nil { - return *x.ServerID - } - return 0 -} - -func (x *MessageInfo) GetType() string { - if x != nil && x.Type != nil { - return *x.Type - } - return "" -} - -func (x *MessageInfo) GetPushname() string { - if x != nil && x.Pushname != nil { - return *x.Pushname - } - return "" -} - -func (x *MessageInfo) GetTimestamp() int64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -func (x *MessageInfo) GetCategory() string { - if x != nil && x.Category != nil { - return *x.Category - } - return "" -} - -func (x *MessageInfo) GetMulticast() bool { - if x != nil && x.Multicast != nil { - return *x.Multicast - } - return false -} - -func (x *MessageInfo) GetMediaType() string { - if x != nil && x.MediaType != nil { - return *x.MediaType - } - return "" -} - -func (x *MessageInfo) GetEdit() string { - if x != nil && x.Edit != nil { - return *x.Edit - } - return "" -} - -func (x *MessageInfo) GetVerifiedName() *VerifiedName { - if x != nil { - return x.VerifiedName - } - return nil -} - -func (x *MessageInfo) GetDeviceSentMeta() *DeviceSentMeta { - if x != nil { - return x.DeviceSentMeta - } - return nil -} - -type UploadResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url *string `protobuf:"bytes,1,req,name=url" json:"url,omitempty"` - DirectPath *string `protobuf:"bytes,2,req,name=DirectPath" json:"DirectPath,omitempty"` - Handle *string `protobuf:"bytes,3,req,name=Handle" json:"Handle,omitempty"` - MediaKey []byte `protobuf:"bytes,4,req,name=MediaKey" json:"MediaKey,omitempty"` - FileEncSHA256 []byte `protobuf:"bytes,5,req,name=FileEncSHA256" json:"FileEncSHA256,omitempty"` - FileSHA256 []byte `protobuf:"bytes,6,req,name=FileSHA256" json:"FileSHA256,omitempty"` - FileLength *uint32 `protobuf:"varint,7,req,name=FileLength" json:"FileLength,omitempty"` -} - -func (x *UploadResponse) Reset() { - *x = UploadResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UploadResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UploadResponse) ProtoMessage() {} - -func (x *UploadResponse) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UploadResponse.ProtoReflect.Descriptor instead. -func (*UploadResponse) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{2} -} - -func (x *UploadResponse) GetUrl() string { - if x != nil && x.Url != nil { - return *x.Url - } - return "" -} - -func (x *UploadResponse) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -func (x *UploadResponse) GetHandle() string { - if x != nil && x.Handle != nil { - return *x.Handle - } - return "" -} - -func (x *UploadResponse) GetMediaKey() []byte { - if x != nil { - return x.MediaKey - } - return nil -} - -func (x *UploadResponse) GetFileEncSHA256() []byte { - if x != nil { - return x.FileEncSHA256 - } - return nil -} - -func (x *UploadResponse) GetFileSHA256() []byte { - if x != nil { - return x.FileSHA256 - } - return nil -} - -func (x *UploadResponse) GetFileLength() uint32 { - if x != nil && x.FileLength != nil { - return *x.FileLength - } - return 0 -} - -type MessageSource struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Chat *JID `protobuf:"bytes,1,req,name=Chat" json:"Chat,omitempty"` - Sender *JID `protobuf:"bytes,2,req,name=Sender" json:"Sender,omitempty"` - IsFromMe *bool `protobuf:"varint,3,req,name=IsFromMe" json:"IsFromMe,omitempty"` - IsGroup *bool `protobuf:"varint,4,req,name=IsGroup" json:"IsGroup,omitempty"` - BroadcastListOwner *JID `protobuf:"bytes,5,req,name=BroadcastListOwner" json:"BroadcastListOwner,omitempty"` -} - -func (x *MessageSource) Reset() { - *x = MessageSource{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MessageSource) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MessageSource) ProtoMessage() {} - -func (x *MessageSource) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MessageSource.ProtoReflect.Descriptor instead. -func (*MessageSource) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{3} -} - -func (x *MessageSource) GetChat() *JID { - if x != nil { - return x.Chat - } - return nil -} - -func (x *MessageSource) GetSender() *JID { - if x != nil { - return x.Sender - } - return nil -} - -func (x *MessageSource) GetIsFromMe() bool { - if x != nil && x.IsFromMe != nil { - return *x.IsFromMe - } - return false -} - -func (x *MessageSource) GetIsGroup() bool { - if x != nil && x.IsGroup != nil { - return *x.IsGroup - } - return false -} - -func (x *MessageSource) GetBroadcastListOwner() *JID { - if x != nil { - return x.BroadcastListOwner - } - return nil -} - -type DeviceSentMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DestinationJID *string `protobuf:"bytes,1,req,name=DestinationJID" json:"DestinationJID,omitempty"` - Phash *string `protobuf:"bytes,2,req,name=Phash" json:"Phash,omitempty"` -} - -func (x *DeviceSentMeta) Reset() { - *x = DeviceSentMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeviceSentMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeviceSentMeta) ProtoMessage() {} - -func (x *DeviceSentMeta) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeviceSentMeta.ProtoReflect.Descriptor instead. -func (*DeviceSentMeta) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{4} -} - -func (x *DeviceSentMeta) GetDestinationJID() string { - if x != nil && x.DestinationJID != nil { - return *x.DestinationJID - } - return "" -} - -func (x *DeviceSentMeta) GetPhash() string { - if x != nil && x.Phash != nil { - return *x.Phash - } - return "" -} - -// } -type VerifiedName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Certificate *defproto.VerifiedNameCertificate `protobuf:"bytes,1,opt,name=Certificate" json:"Certificate,omitempty"` - Details *defproto.VerifiedNameCertificate_Details `protobuf:"bytes,2,opt,name=Details" json:"Details,omitempty"` -} - -func (x *VerifiedName) Reset() { - *x = VerifiedName{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VerifiedName) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VerifiedName) ProtoMessage() {} - -func (x *VerifiedName) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VerifiedName.ProtoReflect.Descriptor instead. -func (*VerifiedName) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{5} -} - -func (x *VerifiedName) GetCertificate() *defproto.VerifiedNameCertificate { - if x != nil { - return x.Certificate - } - return nil -} - -func (x *VerifiedName) GetDetails() *defproto.VerifiedNameCertificate_Details { - if x != nil { - return x.Details - } - return nil -} - -type IsOnWhatsAppResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Query *string `protobuf:"bytes,1,req,name=Query" json:"Query,omitempty"` - JID *JID `protobuf:"bytes,2,req,name=JID" json:"JID,omitempty"` - IsIn *bool `protobuf:"varint,3,req,name=IsIn" json:"IsIn,omitempty"` - VerifiedName *VerifiedName `protobuf:"bytes,4,opt,name=VerifiedName" json:"VerifiedName,omitempty"` -} - -func (x *IsOnWhatsAppResponse) Reset() { - *x = IsOnWhatsAppResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IsOnWhatsAppResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IsOnWhatsAppResponse) ProtoMessage() {} - -func (x *IsOnWhatsAppResponse) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IsOnWhatsAppResponse.ProtoReflect.Descriptor instead. -func (*IsOnWhatsAppResponse) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{6} -} - -func (x *IsOnWhatsAppResponse) GetQuery() string { - if x != nil && x.Query != nil { - return *x.Query - } - return "" -} - -func (x *IsOnWhatsAppResponse) GetJID() *JID { - if x != nil { - return x.JID - } - return nil -} - -func (x *IsOnWhatsAppResponse) GetIsIn() bool { - if x != nil && x.IsIn != nil { - return *x.IsIn - } - return false -} - -func (x *IsOnWhatsAppResponse) GetVerifiedName() *VerifiedName { - if x != nil { - return x.VerifiedName - } - return nil -} - -type UserInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - VerifiedName *VerifiedName `protobuf:"bytes,1,opt,name=VerifiedName" json:"VerifiedName,omitempty"` - Status *string `protobuf:"bytes,2,req,name=Status" json:"Status,omitempty"` - PictureID *string `protobuf:"bytes,3,req,name=PictureID" json:"PictureID,omitempty"` - Devices []*JID `protobuf:"bytes,4,rep,name=Devices" json:"Devices,omitempty"` -} - -func (x *UserInfo) Reset() { - *x = UserInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserInfo) ProtoMessage() {} - -func (x *UserInfo) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. -func (*UserInfo) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{7} -} - -func (x *UserInfo) GetVerifiedName() *VerifiedName { - if x != nil { - return x.VerifiedName - } - return nil -} - -func (x *UserInfo) GetStatus() string { - if x != nil && x.Status != nil { - return *x.Status - } - return "" -} - -func (x *UserInfo) GetPictureID() string { - if x != nil && x.PictureID != nil { - return *x.PictureID - } - return "" -} - -func (x *UserInfo) GetDevices() []*JID { - if x != nil { - return x.Devices - } - return nil -} - -type Device struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - JID *JID `protobuf:"bytes,1,opt,name=JID" json:"JID,omitempty"` - Platform *string `protobuf:"bytes,2,req,name=Platform" json:"Platform,omitempty"` - BussinessName *string `protobuf:"bytes,3,req,name=BussinessName" json:"BussinessName,omitempty"` - PushName *string `protobuf:"bytes,4,req,name=PushName" json:"PushName,omitempty"` - Initialized *bool `protobuf:"varint,5,req,name=Initialized" json:"Initialized,omitempty"` -} - -func (x *Device) Reset() { - *x = Device{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Device) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Device) ProtoMessage() {} - -func (x *Device) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Device.ProtoReflect.Descriptor instead. -func (*Device) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{8} -} - -func (x *Device) GetJID() *JID { - if x != nil { - return x.JID - } - return nil -} - -func (x *Device) GetPlatform() string { - if x != nil && x.Platform != nil { - return *x.Platform - } - return "" -} - -func (x *Device) GetBussinessName() string { - if x != nil && x.BussinessName != nil { - return *x.BussinessName - } - return "" -} - -func (x *Device) GetPushName() string { - if x != nil && x.PushName != nil { - return *x.PushName - } - return "" -} - -func (x *Device) GetInitialized() bool { - if x != nil && x.Initialized != nil { - return *x.Initialized - } - return false -} - -// GROUP -type GroupName struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,req,name=Name" json:"Name,omitempty"` - NameSetAt *int64 `protobuf:"varint,2,req,name=NameSetAt" json:"NameSetAt,omitempty"` - NameSetBy *JID `protobuf:"bytes,3,req,name=NameSetBy" json:"NameSetBy,omitempty"` -} - -func (x *GroupName) Reset() { - *x = GroupName{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupName) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupName) ProtoMessage() {} - -func (x *GroupName) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupName.ProtoReflect.Descriptor instead. -func (*GroupName) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{9} -} - -func (x *GroupName) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *GroupName) GetNameSetAt() int64 { - if x != nil && x.NameSetAt != nil { - return *x.NameSetAt - } - return 0 -} - -func (x *GroupName) GetNameSetBy() *JID { - if x != nil { - return x.NameSetBy - } - return nil -} - -type GroupTopic struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Topic *string `protobuf:"bytes,1,req,name=Topic" json:"Topic,omitempty"` - TopicID *string `protobuf:"bytes,2,req,name=TopicID" json:"TopicID,omitempty"` - TopicSetAt *int64 `protobuf:"varint,3,req,name=TopicSetAt" json:"TopicSetAt,omitempty"` - TopicSetBy *JID `protobuf:"bytes,4,req,name=TopicSetBy" json:"TopicSetBy,omitempty"` - TopicDeleted *bool `protobuf:"varint,5,req,name=TopicDeleted" json:"TopicDeleted,omitempty"` -} - -func (x *GroupTopic) Reset() { - *x = GroupTopic{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupTopic) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupTopic) ProtoMessage() {} - -func (x *GroupTopic) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupTopic.ProtoReflect.Descriptor instead. -func (*GroupTopic) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{10} -} - -func (x *GroupTopic) GetTopic() string { - if x != nil && x.Topic != nil { - return *x.Topic - } - return "" -} - -func (x *GroupTopic) GetTopicID() string { - if x != nil && x.TopicID != nil { - return *x.TopicID - } - return "" -} - -func (x *GroupTopic) GetTopicSetAt() int64 { - if x != nil && x.TopicSetAt != nil { - return *x.TopicSetAt - } - return 0 -} - -func (x *GroupTopic) GetTopicSetBy() *JID { - if x != nil { - return x.TopicSetBy - } - return nil -} - -func (x *GroupTopic) GetTopicDeleted() bool { - if x != nil && x.TopicDeleted != nil { - return *x.TopicDeleted - } - return false -} - -type GroupLocked struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsLocked *bool `protobuf:"varint,1,req,name=isLocked" json:"isLocked,omitempty"` -} - -func (x *GroupLocked) Reset() { - *x = GroupLocked{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupLocked) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupLocked) ProtoMessage() {} - -func (x *GroupLocked) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupLocked.ProtoReflect.Descriptor instead. -func (*GroupLocked) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{11} -} - -func (x *GroupLocked) GetIsLocked() bool { - if x != nil && x.IsLocked != nil { - return *x.IsLocked - } - return false -} - -type GroupAnnounce struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsAnnounce *bool `protobuf:"varint,1,req,name=IsAnnounce" json:"IsAnnounce,omitempty"` - AnnounceVersionID *string `protobuf:"bytes,2,req,name=AnnounceVersionID" json:"AnnounceVersionID,omitempty"` -} - -func (x *GroupAnnounce) Reset() { - *x = GroupAnnounce{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupAnnounce) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupAnnounce) ProtoMessage() {} - -func (x *GroupAnnounce) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupAnnounce.ProtoReflect.Descriptor instead. -func (*GroupAnnounce) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{12} -} - -func (x *GroupAnnounce) GetIsAnnounce() bool { - if x != nil && x.IsAnnounce != nil { - return *x.IsAnnounce - } - return false -} - -func (x *GroupAnnounce) GetAnnounceVersionID() string { - if x != nil && x.AnnounceVersionID != nil { - return *x.AnnounceVersionID - } - return "" -} - -type GroupEphemeral struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsEphemeral *bool `protobuf:"varint,1,req,name=IsEphemeral" json:"IsEphemeral,omitempty"` - DisappearingTimer *uint32 `protobuf:"varint,2,req,name=DisappearingTimer" json:"DisappearingTimer,omitempty"` -} - -func (x *GroupEphemeral) Reset() { - *x = GroupEphemeral{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupEphemeral) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupEphemeral) ProtoMessage() {} - -func (x *GroupEphemeral) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupEphemeral.ProtoReflect.Descriptor instead. -func (*GroupEphemeral) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{13} -} - -func (x *GroupEphemeral) GetIsEphemeral() bool { - if x != nil && x.IsEphemeral != nil { - return *x.IsEphemeral - } - return false -} - -func (x *GroupEphemeral) GetDisappearingTimer() uint32 { - if x != nil && x.DisappearingTimer != nil { - return *x.DisappearingTimer - } - return 0 -} - -type GroupIncognito struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsIncognito *bool `protobuf:"varint,1,req,name=IsIncognito" json:"IsIncognito,omitempty"` -} - -func (x *GroupIncognito) Reset() { - *x = GroupIncognito{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupIncognito) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupIncognito) ProtoMessage() {} - -func (x *GroupIncognito) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupIncognito.ProtoReflect.Descriptor instead. -func (*GroupIncognito) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{14} -} - -func (x *GroupIncognito) GetIsIncognito() bool { - if x != nil && x.IsIncognito != nil { - return *x.IsIncognito - } - return false -} - -type GroupParent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsParent *bool `protobuf:"varint,1,req,name=IsParent" json:"IsParent,omitempty"` - DefaultMembershipApprovalMode *string `protobuf:"bytes,2,req,name=DefaultMembershipApprovalMode" json:"DefaultMembershipApprovalMode,omitempty"` -} - -func (x *GroupParent) Reset() { - *x = GroupParent{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupParent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupParent) ProtoMessage() {} - -func (x *GroupParent) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupParent.ProtoReflect.Descriptor instead. -func (*GroupParent) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{15} -} - -func (x *GroupParent) GetIsParent() bool { - if x != nil && x.IsParent != nil { - return *x.IsParent - } - return false -} - -func (x *GroupParent) GetDefaultMembershipApprovalMode() string { - if x != nil && x.DefaultMembershipApprovalMode != nil { - return *x.DefaultMembershipApprovalMode - } - return "" -} - -type GroupLinkedParent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LinkedParentJID *JID `protobuf:"bytes,1,req,name=LinkedParentJID" json:"LinkedParentJID,omitempty"` -} - -func (x *GroupLinkedParent) Reset() { - *x = GroupLinkedParent{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupLinkedParent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupLinkedParent) ProtoMessage() {} - -func (x *GroupLinkedParent) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupLinkedParent.ProtoReflect.Descriptor instead. -func (*GroupLinkedParent) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{16} -} - -func (x *GroupLinkedParent) GetLinkedParentJID() *JID { - if x != nil { - return x.LinkedParentJID - } - return nil -} - -type GroupIsDefaultSub struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsDefaultSubGroup *bool `protobuf:"varint,1,req,name=IsDefaultSubGroup" json:"IsDefaultSubGroup,omitempty"` -} - -func (x *GroupIsDefaultSub) Reset() { - *x = GroupIsDefaultSub{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupIsDefaultSub) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupIsDefaultSub) ProtoMessage() {} - -func (x *GroupIsDefaultSub) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupIsDefaultSub.ProtoReflect.Descriptor instead. -func (*GroupIsDefaultSub) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{17} -} - -func (x *GroupIsDefaultSub) GetIsDefaultSubGroup() bool { - if x != nil && x.IsDefaultSubGroup != nil { - return *x.IsDefaultSubGroup - } - return false -} - -type GroupParticipantAddRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Code *string `protobuf:"bytes,1,req,name=Code" json:"Code,omitempty"` - Expiration *float32 `protobuf:"fixed32,2,req,name=Expiration" json:"Expiration,omitempty"` -} - -func (x *GroupParticipantAddRequest) Reset() { - *x = GroupParticipantAddRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupParticipantAddRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupParticipantAddRequest) ProtoMessage() {} - -func (x *GroupParticipantAddRequest) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupParticipantAddRequest.ProtoReflect.Descriptor instead. -func (*GroupParticipantAddRequest) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{18} -} - -func (x *GroupParticipantAddRequest) GetCode() string { - if x != nil && x.Code != nil { - return *x.Code - } - return "" -} - -func (x *GroupParticipantAddRequest) GetExpiration() float32 { - if x != nil && x.Expiration != nil { - return *x.Expiration - } - return 0 -} - -type GroupParticipant struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - JID *JID `protobuf:"bytes,1,opt,name=JID" json:"JID,omitempty"` - LID *JID `protobuf:"bytes,2,req,name=LID" json:"LID,omitempty"` - IsAdmin *bool `protobuf:"varint,3,req,name=IsAdmin" json:"IsAdmin,omitempty"` - IsSuperAdmin *bool `protobuf:"varint,4,req,name=IsSuperAdmin" json:"IsSuperAdmin,omitempty"` - DisplayName *string `protobuf:"bytes,5,req,name=DisplayName" json:"DisplayName,omitempty"` - Error *int32 `protobuf:"varint,6,req,name=Error" json:"Error,omitempty"` - AddRequest *GroupParticipantAddRequest `protobuf:"bytes,7,opt,name=AddRequest" json:"AddRequest,omitempty"` -} - -func (x *GroupParticipant) Reset() { - *x = GroupParticipant{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupParticipant) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupParticipant) ProtoMessage() {} - -func (x *GroupParticipant) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupParticipant.ProtoReflect.Descriptor instead. -func (*GroupParticipant) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{19} -} - -func (x *GroupParticipant) GetJID() *JID { - if x != nil { - return x.JID - } - return nil -} - -func (x *GroupParticipant) GetLID() *JID { - if x != nil { - return x.LID - } - return nil -} - -func (x *GroupParticipant) GetIsAdmin() bool { - if x != nil && x.IsAdmin != nil { - return *x.IsAdmin - } - return false -} - -func (x *GroupParticipant) GetIsSuperAdmin() bool { - if x != nil && x.IsSuperAdmin != nil { - return *x.IsSuperAdmin - } - return false -} - -func (x *GroupParticipant) GetDisplayName() string { - if x != nil && x.DisplayName != nil { - return *x.DisplayName - } - return "" -} - -func (x *GroupParticipant) GetError() int32 { - if x != nil && x.Error != nil { - return *x.Error - } - return 0 -} - -func (x *GroupParticipant) GetAddRequest() *GroupParticipantAddRequest { - if x != nil { - return x.AddRequest - } - return nil -} - -type GroupInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OwnerJID *JID `protobuf:"bytes,2,req,name=OwnerJID" json:"OwnerJID,omitempty"` - JID *JID `protobuf:"bytes,1,req,name=JID" json:"JID,omitempty"` - GroupName *GroupName `protobuf:"bytes,3,req,name=GroupName" json:"GroupName,omitempty"` - GroupTopic *GroupTopic `protobuf:"bytes,4,req,name=GroupTopic" json:"GroupTopic,omitempty"` - GroupLocked *GroupLocked `protobuf:"bytes,5,req,name=GroupLocked" json:"GroupLocked,omitempty"` - GroupAnnounce *GroupAnnounce `protobuf:"bytes,6,req,name=GroupAnnounce" json:"GroupAnnounce,omitempty"` - GroupEphemeral *GroupEphemeral `protobuf:"bytes,7,req,name=GroupEphemeral" json:"GroupEphemeral,omitempty"` - GroupIncognito *GroupIncognito `protobuf:"bytes,8,req,name=GroupIncognito" json:"GroupIncognito,omitempty"` - GroupParent *GroupParent `protobuf:"bytes,9,req,name=GroupParent" json:"GroupParent,omitempty"` - GroupLinkedParent *GroupLinkedParent `protobuf:"bytes,10,req,name=GroupLinkedParent" json:"GroupLinkedParent,omitempty"` - GroupIsDefaultSub *GroupIsDefaultSub `protobuf:"bytes,11,req,name=GroupIsDefaultSub" json:"GroupIsDefaultSub,omitempty"` - GroupCreated *float32 `protobuf:"fixed32,12,req,name=GroupCreated" json:"GroupCreated,omitempty"` - ParticipantVersionID *string `protobuf:"bytes,13,req,name=ParticipantVersionID" json:"ParticipantVersionID,omitempty"` - Participants []*GroupParticipant `protobuf:"bytes,14,rep,name=Participants" json:"Participants,omitempty"` -} - -func (x *GroupInfo) Reset() { - *x = GroupInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupInfo) ProtoMessage() {} - -func (x *GroupInfo) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupInfo.ProtoReflect.Descriptor instead. -func (*GroupInfo) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{20} -} - -func (x *GroupInfo) GetOwnerJID() *JID { - if x != nil { - return x.OwnerJID - } - return nil -} - -func (x *GroupInfo) GetJID() *JID { - if x != nil { - return x.JID - } - return nil -} - -func (x *GroupInfo) GetGroupName() *GroupName { - if x != nil { - return x.GroupName - } - return nil -} - -func (x *GroupInfo) GetGroupTopic() *GroupTopic { - if x != nil { - return x.GroupTopic - } - return nil -} - -func (x *GroupInfo) GetGroupLocked() *GroupLocked { - if x != nil { - return x.GroupLocked - } - return nil -} - -func (x *GroupInfo) GetGroupAnnounce() *GroupAnnounce { - if x != nil { - return x.GroupAnnounce - } - return nil -} - -func (x *GroupInfo) GetGroupEphemeral() *GroupEphemeral { - if x != nil { - return x.GroupEphemeral - } - return nil -} - -func (x *GroupInfo) GetGroupIncognito() *GroupIncognito { - if x != nil { - return x.GroupIncognito - } - return nil -} - -func (x *GroupInfo) GetGroupParent() *GroupParent { - if x != nil { - return x.GroupParent - } - return nil -} - -func (x *GroupInfo) GetGroupLinkedParent() *GroupLinkedParent { - if x != nil { - return x.GroupLinkedParent - } - return nil -} - -func (x *GroupInfo) GetGroupIsDefaultSub() *GroupIsDefaultSub { - if x != nil { - return x.GroupIsDefaultSub - } - return nil -} - -func (x *GroupInfo) GetGroupCreated() float32 { - if x != nil && x.GroupCreated != nil { - return *x.GroupCreated - } - return 0 -} - -func (x *GroupInfo) GetParticipantVersionID() string { - if x != nil && x.ParticipantVersionID != nil { - return *x.ParticipantVersionID - } - return "" -} - -func (x *GroupInfo) GetParticipants() []*GroupParticipant { - if x != nil { - return x.Participants - } - return nil -} - -type MessageDebugTimings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Queue *int64 `protobuf:"varint,1,req,name=Queue" json:"Queue,omitempty"` - Marshal_ *int64 `protobuf:"varint,2,req,name=Marshal" json:"Marshal,omitempty"` - GetParticipants *int64 `protobuf:"varint,3,req,name=GetParticipants" json:"GetParticipants,omitempty"` - GetDevices *int64 `protobuf:"varint,4,req,name=GetDevices" json:"GetDevices,omitempty"` - GroupEncrypt *int64 `protobuf:"varint,5,req,name=GroupEncrypt" json:"GroupEncrypt,omitempty"` - PeerEncrypt *int64 `protobuf:"varint,6,req,name=PeerEncrypt" json:"PeerEncrypt,omitempty"` - Send *int64 `protobuf:"varint,7,req,name=Send" json:"Send,omitempty"` - Resp *int64 `protobuf:"varint,8,req,name=Resp" json:"Resp,omitempty"` - Retry *int64 `protobuf:"varint,9,req,name=Retry" json:"Retry,omitempty"` -} - -func (x *MessageDebugTimings) Reset() { - *x = MessageDebugTimings{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MessageDebugTimings) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MessageDebugTimings) ProtoMessage() {} - -func (x *MessageDebugTimings) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MessageDebugTimings.ProtoReflect.Descriptor instead. -func (*MessageDebugTimings) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{21} -} - -func (x *MessageDebugTimings) GetQueue() int64 { - if x != nil && x.Queue != nil { - return *x.Queue - } - return 0 -} - -func (x *MessageDebugTimings) GetMarshal_() int64 { - if x != nil && x.Marshal_ != nil { - return *x.Marshal_ - } - return 0 -} - -func (x *MessageDebugTimings) GetGetParticipants() int64 { - if x != nil && x.GetParticipants != nil { - return *x.GetParticipants - } - return 0 -} - -func (x *MessageDebugTimings) GetGetDevices() int64 { - if x != nil && x.GetDevices != nil { - return *x.GetDevices - } - return 0 -} - -func (x *MessageDebugTimings) GetGroupEncrypt() int64 { - if x != nil && x.GroupEncrypt != nil { - return *x.GroupEncrypt - } - return 0 -} - -func (x *MessageDebugTimings) GetPeerEncrypt() int64 { - if x != nil && x.PeerEncrypt != nil { - return *x.PeerEncrypt - } - return 0 -} - -func (x *MessageDebugTimings) GetSend() int64 { - if x != nil && x.Send != nil { - return *x.Send - } - return 0 -} - -func (x *MessageDebugTimings) GetResp() int64 { - if x != nil && x.Resp != nil { - return *x.Resp - } - return 0 -} - -func (x *MessageDebugTimings) GetRetry() int64 { - if x != nil && x.Retry != nil { - return *x.Retry - } - return 0 -} - -type SendResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Timestamp *int64 `protobuf:"varint,1,req,name=Timestamp" json:"Timestamp,omitempty"` - ID *string `protobuf:"bytes,2,req,name=ID" json:"ID,omitempty"` - ServerID *int64 `protobuf:"varint,3,req,name=ServerID" json:"ServerID,omitempty"` - DebugTimings *MessageDebugTimings `protobuf:"bytes,4,req,name=DebugTimings" json:"DebugTimings,omitempty"` -} - -func (x *SendResponse) Reset() { - *x = SendResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendResponse) ProtoMessage() {} - -func (x *SendResponse) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendResponse.ProtoReflect.Descriptor instead. -func (*SendResponse) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{22} -} - -func (x *SendResponse) GetTimestamp() int64 { - if x != nil && x.Timestamp != nil { - return *x.Timestamp - } - return 0 -} - -func (x *SendResponse) GetID() string { - if x != nil && x.ID != nil { - return *x.ID - } - return "" -} - -func (x *SendResponse) GetServerID() int64 { - if x != nil && x.ServerID != nil { - return *x.ServerID - } - return 0 -} - -func (x *SendResponse) GetDebugTimings() *MessageDebugTimings { - if x != nil { - return x.DebugTimings - } - return nil -} - -type SendMessageReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Error *string `protobuf:"bytes,1,opt,name=Error" json:"Error,omitempty"` - SendResponse *SendResponse `protobuf:"bytes,2,opt,name=SendResponse" json:"SendResponse,omitempty"` -} - -func (x *SendMessageReturnFunction) Reset() { - *x = SendMessageReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendMessageReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendMessageReturnFunction) ProtoMessage() {} - -func (x *SendMessageReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendMessageReturnFunction.ProtoReflect.Descriptor instead. -func (*SendMessageReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{23} -} - -func (x *SendMessageReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -func (x *SendMessageReturnFunction) GetSendResponse() *SendResponse { - if x != nil { - return x.SendResponse - } - return nil -} - -// Function -type GetGroupInfoReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupInfo *GroupInfo `protobuf:"bytes,1,opt,name=GroupInfo" json:"GroupInfo,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *GetGroupInfoReturnFunction) Reset() { - *x = GetGroupInfoReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupInfoReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupInfoReturnFunction) ProtoMessage() {} - -func (x *GetGroupInfoReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupInfoReturnFunction.ProtoReflect.Descriptor instead. -func (*GetGroupInfoReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{24} -} - -func (x *GetGroupInfoReturnFunction) GetGroupInfo() *GroupInfo { - if x != nil { - return x.GroupInfo - } - return nil -} - -func (x *GetGroupInfoReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type JoinGroupWithLinkReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Error *string `protobuf:"bytes,1,opt,name=Error" json:"Error,omitempty"` - Jid *JID `protobuf:"bytes,2,opt,name=Jid" json:"Jid,omitempty"` -} - -func (x *JoinGroupWithLinkReturnFunction) Reset() { - *x = JoinGroupWithLinkReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *JoinGroupWithLinkReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JoinGroupWithLinkReturnFunction) ProtoMessage() {} - -func (x *JoinGroupWithLinkReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JoinGroupWithLinkReturnFunction.ProtoReflect.Descriptor instead. -func (*JoinGroupWithLinkReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{25} -} - -func (x *JoinGroupWithLinkReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -func (x *JoinGroupWithLinkReturnFunction) GetJid() *JID { - if x != nil { - return x.Jid - } - return nil -} - -type GetGroupInviteLinkReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InviteLink *string `protobuf:"bytes,1,opt,name=InviteLink" json:"InviteLink,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *GetGroupInviteLinkReturnFunction) Reset() { - *x = GetGroupInviteLinkReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupInviteLinkReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupInviteLinkReturnFunction) ProtoMessage() {} - -func (x *GetGroupInviteLinkReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupInviteLinkReturnFunction.ProtoReflect.Descriptor instead. -func (*GetGroupInviteLinkReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{26} -} - -func (x *GetGroupInviteLinkReturnFunction) GetInviteLink() string { - if x != nil && x.InviteLink != nil { - return *x.InviteLink - } - return "" -} - -func (x *GetGroupInviteLinkReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type DownloadReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Binary []byte `protobuf:"bytes,1,opt,name=Binary" json:"Binary,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *DownloadReturnFunction) Reset() { - *x = DownloadReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DownloadReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DownloadReturnFunction) ProtoMessage() {} - -func (x *DownloadReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DownloadReturnFunction.ProtoReflect.Descriptor instead. -func (*DownloadReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{27} -} - -func (x *DownloadReturnFunction) GetBinary() []byte { - if x != nil { - return x.Binary - } - return nil -} - -func (x *DownloadReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type UploadReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UploadResponse *UploadResponse `protobuf:"bytes,1,opt,name=UploadResponse" json:"UploadResponse,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *UploadReturnFunction) Reset() { - *x = UploadReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UploadReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UploadReturnFunction) ProtoMessage() {} - -func (x *UploadReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UploadReturnFunction.ProtoReflect.Descriptor instead. -func (*UploadReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{28} -} - -func (x *UploadReturnFunction) GetUploadResponse() *UploadResponse { - if x != nil { - return x.UploadResponse - } - return nil -} - -func (x *UploadReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type SetGroupPhotoReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PictureID *string `protobuf:"bytes,1,req,name=PictureID" json:"PictureID,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *SetGroupPhotoReturnFunction) Reset() { - *x = SetGroupPhotoReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetGroupPhotoReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetGroupPhotoReturnFunction) ProtoMessage() {} - -func (x *SetGroupPhotoReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetGroupPhotoReturnFunction.ProtoReflect.Descriptor instead. -func (*SetGroupPhotoReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{29} -} - -func (x *SetGroupPhotoReturnFunction) GetPictureID() string { - if x != nil && x.PictureID != nil { - return *x.PictureID - } - return "" -} - -func (x *SetGroupPhotoReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type IsOnWhatsAppReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsOnWhatsAppResponse []*IsOnWhatsAppResponse `protobuf:"bytes,1,rep,name=IsOnWhatsAppResponse" json:"IsOnWhatsAppResponse,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *IsOnWhatsAppReturnFunction) Reset() { - *x = IsOnWhatsAppReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IsOnWhatsAppReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IsOnWhatsAppReturnFunction) ProtoMessage() {} - -func (x *IsOnWhatsAppReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use IsOnWhatsAppReturnFunction.ProtoReflect.Descriptor instead. -func (*IsOnWhatsAppReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{30} -} - -func (x *IsOnWhatsAppReturnFunction) GetIsOnWhatsAppResponse() []*IsOnWhatsAppResponse { - if x != nil { - return x.IsOnWhatsAppResponse - } - return nil -} - -func (x *IsOnWhatsAppReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type GetUserInfoSingleReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - JID *JID `protobuf:"bytes,1,opt,name=JID" json:"JID,omitempty"` - UserInfo *UserInfo `protobuf:"bytes,2,opt,name=UserInfo" json:"UserInfo,omitempty"` -} - -func (x *GetUserInfoSingleReturnFunction) Reset() { - *x = GetUserInfoSingleReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserInfoSingleReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserInfoSingleReturnFunction) ProtoMessage() {} - -func (x *GetUserInfoSingleReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserInfoSingleReturnFunction.ProtoReflect.Descriptor instead. -func (*GetUserInfoSingleReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{31} -} - -func (x *GetUserInfoSingleReturnFunction) GetJID() *JID { - if x != nil { - return x.JID - } - return nil -} - -func (x *GetUserInfoSingleReturnFunction) GetUserInfo() *UserInfo { - if x != nil { - return x.UserInfo - } - return nil -} - -type GetUserInfoReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UsersInfo []*GetUserInfoSingleReturnFunction `protobuf:"bytes,1,rep,name=UsersInfo" json:"UsersInfo,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *GetUserInfoReturnFunction) Reset() { - *x = GetUserInfoReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserInfoReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserInfoReturnFunction) ProtoMessage() {} - -func (x *GetUserInfoReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserInfoReturnFunction.ProtoReflect.Descriptor instead. -func (*GetUserInfoReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{32} -} - -func (x *GetUserInfoReturnFunction) GetUsersInfo() []*GetUserInfoSingleReturnFunction { - if x != nil { - return x.UsersInfo - } - return nil -} - -func (x *GetUserInfoReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type BuildPollVoteReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PollVote *defproto.Message `protobuf:"bytes,1,opt,name=PollVote" json:"PollVote,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *BuildPollVoteReturnFunction) Reset() { - *x = BuildPollVoteReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BuildPollVoteReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BuildPollVoteReturnFunction) ProtoMessage() {} - -func (x *BuildPollVoteReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BuildPollVoteReturnFunction.ProtoReflect.Descriptor instead. -func (*BuildPollVoteReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{33} -} - -func (x *BuildPollVoteReturnFunction) GetPollVote() *defproto.Message { - if x != nil { - return x.PollVote - } - return nil -} - -func (x *BuildPollVoteReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type CreateNewsLetterReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NewsletterMetadata *NewsletterMetadata `protobuf:"bytes,1,opt,name=NewsletterMetadata" json:"NewsletterMetadata,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *CreateNewsLetterReturnFunction) Reset() { - *x = CreateNewsLetterReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateNewsLetterReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateNewsLetterReturnFunction) ProtoMessage() {} - -func (x *CreateNewsLetterReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateNewsLetterReturnFunction.ProtoReflect.Descriptor instead. -func (*CreateNewsLetterReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{34} -} - -func (x *CreateNewsLetterReturnFunction) GetNewsletterMetadata() *NewsletterMetadata { - if x != nil { - return x.NewsletterMetadata - } - return nil -} - -func (x *CreateNewsLetterReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type GetBlocklistReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Blocklist *Blocklist `protobuf:"bytes,1,opt,name=Blocklist" json:"Blocklist,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *GetBlocklistReturnFunction) Reset() { - *x = GetBlocklistReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetBlocklistReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetBlocklistReturnFunction) ProtoMessage() {} - -func (x *GetBlocklistReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetBlocklistReturnFunction.ProtoReflect.Descriptor instead. -func (*GetBlocklistReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{35} -} - -func (x *GetBlocklistReturnFunction) GetBlocklist() *Blocklist { - if x != nil { - return x.Blocklist - } - return nil -} - -func (x *GetBlocklistReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type GetContactQRLinkReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Link *string `protobuf:"bytes,1,req,name=Link" json:"Link,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *GetContactQRLinkReturnFunction) Reset() { - *x = GetContactQRLinkReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetContactQRLinkReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetContactQRLinkReturnFunction) ProtoMessage() {} - -func (x *GetContactQRLinkReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetContactQRLinkReturnFunction.ProtoReflect.Descriptor instead. -func (*GetContactQRLinkReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{36} -} - -func (x *GetContactQRLinkReturnFunction) GetLink() string { - if x != nil && x.Link != nil { - return *x.Link - } - return "" -} - -func (x *GetContactQRLinkReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type GetGroupRequestParticipantsReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Participants []*JID `protobuf:"bytes,1,rep,name=Participants" json:"Participants,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *GetGroupRequestParticipantsReturnFunction) Reset() { - *x = GetGroupRequestParticipantsReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupRequestParticipantsReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupRequestParticipantsReturnFunction) ProtoMessage() {} - -func (x *GetGroupRequestParticipantsReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupRequestParticipantsReturnFunction.ProtoReflect.Descriptor instead. -func (*GetGroupRequestParticipantsReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{37} -} - -func (x *GetGroupRequestParticipantsReturnFunction) GetParticipants() []*JID { - if x != nil { - return x.Participants - } - return nil -} - -func (x *GetGroupRequestParticipantsReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type GetJoinedGroupsReturnFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Group []*GroupInfo `protobuf:"bytes,1,rep,name=Group" json:"Group,omitempty"` - Error *string `protobuf:"bytes,2,opt,name=Error" json:"Error,omitempty"` -} - -func (x *GetJoinedGroupsReturnFunction) Reset() { - *x = GetJoinedGroupsReturnFunction{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetJoinedGroupsReturnFunction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetJoinedGroupsReturnFunction) ProtoMessage() {} - -func (x *GetJoinedGroupsReturnFunction) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetJoinedGroupsReturnFunction.ProtoReflect.Descriptor instead. -func (*GetJoinedGroupsReturnFunction) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{38} -} - -func (x *GetJoinedGroupsReturnFunction) GetGroup() []*GroupInfo { - if x != nil { - return x.Group - } - return nil -} - -func (x *GetJoinedGroupsReturnFunction) GetError() string { - if x != nil && x.Error != nil { - return *x.Error - } - return "" -} - -type ReqCreateGroup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"` - Participants []*JID `protobuf:"bytes,2,rep,name=Participants" json:"Participants,omitempty"` - CreateKey *string `protobuf:"bytes,3,req,name=CreateKey" json:"CreateKey,omitempty"` - GroupParent *GroupParent `protobuf:"bytes,4,opt,name=GroupParent" json:"GroupParent,omitempty"` - GroupLinkedParent *GroupLinkedParent `protobuf:"bytes,5,opt,name=GroupLinkedParent" json:"GroupLinkedParent,omitempty"` -} - -func (x *ReqCreateGroup) Reset() { - *x = ReqCreateGroup{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReqCreateGroup) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReqCreateGroup) ProtoMessage() {} - -func (x *ReqCreateGroup) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReqCreateGroup.ProtoReflect.Descriptor instead. -func (*ReqCreateGroup) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{39} -} - -func (x *ReqCreateGroup) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *ReqCreateGroup) GetParticipants() []*JID { - if x != nil { - return x.Participants - } - return nil -} - -func (x *ReqCreateGroup) GetCreateKey() string { - if x != nil && x.CreateKey != nil { - return *x.CreateKey - } - return "" -} - -func (x *ReqCreateGroup) GetGroupParent() *GroupParent { - if x != nil { - return x.GroupParent - } - return nil -} - -func (x *ReqCreateGroup) GetGroupLinkedParent() *GroupLinkedParent { - if x != nil { - return x.GroupLinkedParent - } - return nil -} - -type JIDArray struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - JIDS []*JID `protobuf:"bytes,1,rep,name=JIDS" json:"JIDS,omitempty"` -} - -func (x *JIDArray) Reset() { - *x = JIDArray{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *JIDArray) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JIDArray) ProtoMessage() {} - -func (x *JIDArray) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JIDArray.ProtoReflect.Descriptor instead. -func (*JIDArray) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{40} -} - -func (x *JIDArray) GetJIDS() []*JID { - if x != nil { - return x.JIDS - } - return nil -} - -type ArrayString struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Data []string `protobuf:"bytes,1,rep,name=data" json:"data,omitempty"` -} - -func (x *ArrayString) Reset() { - *x = ArrayString{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArrayString) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArrayString) ProtoMessage() {} - -func (x *ArrayString) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ArrayString.ProtoReflect.Descriptor instead. -func (*ArrayString) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{41} -} - -func (x *ArrayString) GetData() []string { - if x != nil { - return x.Data - } - return nil -} - -type NewsLetterMessageMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EditTS *int64 `protobuf:"varint,1,req,name=EditTS" json:"EditTS,omitempty"` - OriginalTS *int64 `protobuf:"varint,2,req,name=OriginalTS" json:"OriginalTS,omitempty"` -} - -func (x *NewsLetterMessageMeta) Reset() { - *x = NewsLetterMessageMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewsLetterMessageMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewsLetterMessageMeta) ProtoMessage() {} - -func (x *NewsLetterMessageMeta) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewsLetterMessageMeta.ProtoReflect.Descriptor instead. -func (*NewsLetterMessageMeta) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{42} -} - -func (x *NewsLetterMessageMeta) GetEditTS() int64 { - if x != nil && x.EditTS != nil { - return *x.EditTS - } - return 0 -} - -func (x *NewsLetterMessageMeta) GetOriginalTS() int64 { - if x != nil && x.OriginalTS != nil { - return *x.OriginalTS - } - return 0 -} - -type Message struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Info *MessageInfo `protobuf:"bytes,1,req,name=Info" json:"Info,omitempty"` - Message *defproto.Message `protobuf:"bytes,2,opt,name=Message" json:"Message,omitempty"` - IsEphemeral *bool `protobuf:"varint,3,req,name=IsEphemeral" json:"IsEphemeral,omitempty"` - IsViewOnce *bool `protobuf:"varint,4,req,name=IsViewOnce" json:"IsViewOnce,omitempty"` - IsViewOnceV2 *bool `protobuf:"varint,5,req,name=IsViewOnceV2" json:"IsViewOnceV2,omitempty"` - IsEdit *bool `protobuf:"varint,6,req,name=IsEdit" json:"IsEdit,omitempty"` - SourceWebMsg *defproto.WebMessageInfo `protobuf:"bytes,7,opt,name=SourceWebMsg" json:"SourceWebMsg,omitempty"` - UnavailableRequestID *string `protobuf:"bytes,8,req,name=UnavailableRequestID" json:"UnavailableRequestID,omitempty"` - RetryCount *int64 `protobuf:"varint,9,req,name=RetryCount" json:"RetryCount,omitempty"` - NewsLetterMeta *NewsLetterMessageMeta `protobuf:"bytes,10,opt,name=NewsLetterMeta" json:"NewsLetterMeta,omitempty"` -} - -func (x *Message) Reset() { - *x = Message{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Message) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Message) ProtoMessage() {} - -func (x *Message) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Message.ProtoReflect.Descriptor instead. -func (*Message) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{43} -} - -func (x *Message) GetInfo() *MessageInfo { - if x != nil { - return x.Info - } - return nil -} - -func (x *Message) GetMessage() *defproto.Message { - if x != nil { - return x.Message - } - return nil -} - -func (x *Message) GetIsEphemeral() bool { - if x != nil && x.IsEphemeral != nil { - return *x.IsEphemeral - } - return false -} - -func (x *Message) GetIsViewOnce() bool { - if x != nil && x.IsViewOnce != nil { - return *x.IsViewOnce - } - return false -} - -func (x *Message) GetIsViewOnceV2() bool { - if x != nil && x.IsViewOnceV2 != nil { - return *x.IsViewOnceV2 - } - return false -} - -func (x *Message) GetIsEdit() bool { - if x != nil && x.IsEdit != nil { - return *x.IsEdit - } - return false -} - -func (x *Message) GetSourceWebMsg() *defproto.WebMessageInfo { - if x != nil { - return x.SourceWebMsg - } - return nil -} - -func (x *Message) GetUnavailableRequestID() string { - if x != nil && x.UnavailableRequestID != nil { - return *x.UnavailableRequestID - } - return "" -} - -func (x *Message) GetRetryCount() int64 { - if x != nil && x.RetryCount != nil { - return *x.RetryCount - } - return 0 -} - -func (x *Message) GetNewsLetterMeta() *NewsLetterMessageMeta { - if x != nil { - return x.NewsLetterMeta - } - return nil -} - -type CreateNewsletterParams struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name *string `protobuf:"bytes,1,req,name=Name" json:"Name,omitempty"` - Description *string `protobuf:"bytes,2,req,name=Description" json:"Description,omitempty"` - Picture []byte `protobuf:"bytes,3,req,name=Picture" json:"Picture,omitempty"` -} - -func (x *CreateNewsletterParams) Reset() { - *x = CreateNewsletterParams{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateNewsletterParams) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateNewsletterParams) ProtoMessage() {} - -func (x *CreateNewsletterParams) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateNewsletterParams.ProtoReflect.Descriptor instead. -func (*CreateNewsletterParams) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{44} -} - -func (x *CreateNewsletterParams) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *CreateNewsletterParams) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *CreateNewsletterParams) GetPicture() []byte { - if x != nil { - return x.Picture - } - return nil -} - -type WrappedNewsletterState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type *WrappedNewsletterState_NewsletterState `protobuf:"varint,1,req,name=Type,enum=neonize.WrappedNewsletterState_NewsletterState" json:"Type,omitempty"` -} - -func (x *WrappedNewsletterState) Reset() { - *x = WrappedNewsletterState{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WrappedNewsletterState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WrappedNewsletterState) ProtoMessage() {} - -func (x *WrappedNewsletterState) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WrappedNewsletterState.ProtoReflect.Descriptor instead. -func (*WrappedNewsletterState) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{45} -} - -func (x *WrappedNewsletterState) GetType() WrappedNewsletterState_NewsletterState { - if x != nil && x.Type != nil { - return *x.Type - } - return WrappedNewsletterState_ACTIVE -} - -type NewsletterText struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Text *string `protobuf:"bytes,1,req,name=Text" json:"Text,omitempty"` - ID *string `protobuf:"bytes,2,req,name=ID" json:"ID,omitempty"` - UpdateTime *int64 `protobuf:"varint,3,req,name=UpdateTime" json:"UpdateTime,omitempty"` -} - -func (x *NewsletterText) Reset() { - *x = NewsletterText{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewsletterText) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewsletterText) ProtoMessage() {} - -func (x *NewsletterText) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewsletterText.ProtoReflect.Descriptor instead. -func (*NewsletterText) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{46} -} - -func (x *NewsletterText) GetText() string { - if x != nil && x.Text != nil { - return *x.Text - } - return "" -} - -func (x *NewsletterText) GetID() string { - if x != nil && x.ID != nil { - return *x.ID - } - return "" -} - -func (x *NewsletterText) GetUpdateTime() int64 { - if x != nil && x.UpdateTime != nil { - return *x.UpdateTime - } - return 0 -} - -type ProfilePictureInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - URL *string `protobuf:"bytes,1,req,name=URL" json:"URL,omitempty"` - ID *string `protobuf:"bytes,2,req,name=ID" json:"ID,omitempty"` - Type *string `protobuf:"bytes,3,req,name=Type" json:"Type,omitempty"` - DirectPath *string `protobuf:"bytes,4,req,name=DirectPath" json:"DirectPath,omitempty"` -} - -func (x *ProfilePictureInfo) Reset() { - *x = ProfilePictureInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProfilePictureInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProfilePictureInfo) ProtoMessage() {} - -func (x *ProfilePictureInfo) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProfilePictureInfo.ProtoReflect.Descriptor instead. -func (*ProfilePictureInfo) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{47} -} - -func (x *ProfilePictureInfo) GetURL() string { - if x != nil && x.URL != nil { - return *x.URL - } - return "" -} - -func (x *ProfilePictureInfo) GetID() string { - if x != nil && x.ID != nil { - return *x.ID - } - return "" -} - -func (x *ProfilePictureInfo) GetType() string { - if x != nil && x.Type != nil { - return *x.Type - } - return "" -} - -func (x *ProfilePictureInfo) GetDirectPath() string { - if x != nil && x.DirectPath != nil { - return *x.DirectPath - } - return "" -} - -type NewsletterReactionSettings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Value *NewsletterReactionSettings_NewsletterReactionsMode `protobuf:"varint,1,req,name=Value,enum=neonize.NewsletterReactionSettings_NewsletterReactionsMode" json:"Value,omitempty"` -} - -func (x *NewsletterReactionSettings) Reset() { - *x = NewsletterReactionSettings{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewsletterReactionSettings) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewsletterReactionSettings) ProtoMessage() {} - -func (x *NewsletterReactionSettings) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewsletterReactionSettings.ProtoReflect.Descriptor instead. -func (*NewsletterReactionSettings) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{48} -} - -func (x *NewsletterReactionSettings) GetValue() NewsletterReactionSettings_NewsletterReactionsMode { - if x != nil && x.Value != nil { - return *x.Value - } - return NewsletterReactionSettings_ALL -} - -type NewsletterSetting struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ReactionCodes *NewsletterReactionSettings `protobuf:"bytes,1,req,name=ReactionCodes" json:"ReactionCodes,omitempty"` -} - -func (x *NewsletterSetting) Reset() { - *x = NewsletterSetting{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewsletterSetting) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewsletterSetting) ProtoMessage() {} - -func (x *NewsletterSetting) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewsletterSetting.ProtoReflect.Descriptor instead. -func (*NewsletterSetting) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{49} -} - -func (x *NewsletterSetting) GetReactionCodes() *NewsletterReactionSettings { - if x != nil { - return x.ReactionCodes - } - return nil -} - -type NewsletterThreadMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CreationTime *int64 `protobuf:"varint,1,req,name=CreationTime" json:"CreationTime,omitempty"` - InviteCode *string `protobuf:"bytes,2,req,name=InviteCode" json:"InviteCode,omitempty"` - Name *NewsletterText `protobuf:"bytes,3,req,name=Name" json:"Name,omitempty"` - Description *NewsletterText `protobuf:"bytes,4,req,name=Description" json:"Description,omitempty"` - SubscriberCount *int64 `protobuf:"varint,5,req,name=SubscriberCount" json:"SubscriberCount,omitempty"` - VerificationState *NewsletterThreadMetadata_NewsletterVerificationState `protobuf:"varint,6,req,name=VerificationState,enum=neonize.NewsletterThreadMetadata_NewsletterVerificationState" json:"VerificationState,omitempty"` - Picture *ProfilePictureInfo `protobuf:"bytes,7,opt,name=Picture" json:"Picture,omitempty"` - Preview *ProfilePictureInfo `protobuf:"bytes,8,req,name=Preview" json:"Preview,omitempty"` - Settings *NewsletterSetting `protobuf:"bytes,9,req,name=Settings" json:"Settings,omitempty"` -} - -func (x *NewsletterThreadMetadata) Reset() { - *x = NewsletterThreadMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewsletterThreadMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewsletterThreadMetadata) ProtoMessage() {} - -func (x *NewsletterThreadMetadata) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewsletterThreadMetadata.ProtoReflect.Descriptor instead. -func (*NewsletterThreadMetadata) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{50} -} - -func (x *NewsletterThreadMetadata) GetCreationTime() int64 { - if x != nil && x.CreationTime != nil { - return *x.CreationTime - } - return 0 -} - -func (x *NewsletterThreadMetadata) GetInviteCode() string { - if x != nil && x.InviteCode != nil { - return *x.InviteCode - } - return "" -} - -func (x *NewsletterThreadMetadata) GetName() *NewsletterText { - if x != nil { - return x.Name - } - return nil -} - -func (x *NewsletterThreadMetadata) GetDescription() *NewsletterText { - if x != nil { - return x.Description - } - return nil -} - -func (x *NewsletterThreadMetadata) GetSubscriberCount() int64 { - if x != nil && x.SubscriberCount != nil { - return *x.SubscriberCount - } - return 0 -} - -func (x *NewsletterThreadMetadata) GetVerificationState() NewsletterThreadMetadata_NewsletterVerificationState { - if x != nil && x.VerificationState != nil { - return *x.VerificationState - } - return NewsletterThreadMetadata_VERIFIED -} - -func (x *NewsletterThreadMetadata) GetPicture() *ProfilePictureInfo { - if x != nil { - return x.Picture - } - return nil -} - -func (x *NewsletterThreadMetadata) GetPreview() *ProfilePictureInfo { - if x != nil { - return x.Preview - } - return nil -} - -func (x *NewsletterThreadMetadata) GetSettings() *NewsletterSetting { - if x != nil { - return x.Settings - } - return nil -} - -type NewsletterViewerMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Mute *NewsletterViewerMetadata_NewsletterMuteState `protobuf:"varint,1,req,name=Mute,enum=neonize.NewsletterViewerMetadata_NewsletterMuteState" json:"Mute,omitempty"` - Role *NewsletterViewerMetadata_NewsletterRole `protobuf:"varint,2,req,name=Role,enum=neonize.NewsletterViewerMetadata_NewsletterRole" json:"Role,omitempty"` -} - -func (x *NewsletterViewerMetadata) Reset() { - *x = NewsletterViewerMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewsletterViewerMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewsletterViewerMetadata) ProtoMessage() {} - -func (x *NewsletterViewerMetadata) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewsletterViewerMetadata.ProtoReflect.Descriptor instead. -func (*NewsletterViewerMetadata) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{51} -} - -func (x *NewsletterViewerMetadata) GetMute() NewsletterViewerMetadata_NewsletterMuteState { - if x != nil && x.Mute != nil { - return *x.Mute - } - return NewsletterViewerMetadata_ON -} - -func (x *NewsletterViewerMetadata) GetRole() NewsletterViewerMetadata_NewsletterRole { - if x != nil && x.Role != nil { - return *x.Role - } - return NewsletterViewerMetadata_SUBSCRIBER -} - -type NewsletterMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ID *JID `protobuf:"bytes,1,req,name=ID" json:"ID,omitempty"` - State *WrappedNewsletterState `protobuf:"bytes,2,req,name=State" json:"State,omitempty"` - ThreadMeta *NewsletterThreadMetadata `protobuf:"bytes,3,req,name=ThreadMeta" json:"ThreadMeta,omitempty"` - ViewerMeta *NewsletterViewerMetadata `protobuf:"bytes,4,opt,name=ViewerMeta" json:"ViewerMeta,omitempty"` -} - -func (x *NewsletterMetadata) Reset() { - *x = NewsletterMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewsletterMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewsletterMetadata) ProtoMessage() {} - -func (x *NewsletterMetadata) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewsletterMetadata.ProtoReflect.Descriptor instead. -func (*NewsletterMetadata) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{52} -} - -func (x *NewsletterMetadata) GetID() *JID { - if x != nil { - return x.ID - } - return nil -} - -func (x *NewsletterMetadata) GetState() *WrappedNewsletterState { - if x != nil { - return x.State - } - return nil -} - -func (x *NewsletterMetadata) GetThreadMeta() *NewsletterThreadMetadata { - if x != nil { - return x.ThreadMeta - } - return nil -} - -func (x *NewsletterMetadata) GetViewerMeta() *NewsletterViewerMetadata { - if x != nil { - return x.ViewerMeta - } - return nil -} - -type Blocklist struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DHash *string `protobuf:"bytes,1,req,name=DHash" json:"DHash,omitempty"` - JIDs []*JID `protobuf:"bytes,2,rep,name=JIDs" json:"JIDs,omitempty"` -} - -func (x *Blocklist) Reset() { - *x = Blocklist{} - if protoimpl.UnsafeEnabled { - mi := &file_Neonize_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Blocklist) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Blocklist) ProtoMessage() {} - -func (x *Blocklist) ProtoReflect() protoreflect.Message { - mi := &file_Neonize_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Blocklist.ProtoReflect.Descriptor instead. -func (*Blocklist) Descriptor() ([]byte, []int) { - return file_Neonize_proto_rawDescGZIP(), []int{53} -} - -func (x *Blocklist) GetDHash() string { - if x != nil && x.DHash != nil { - return *x.DHash - } - return "" -} - -func (x *Blocklist) GetJIDs() []*JID { - if x != nil { - return x.JIDs - } - return nil -} - -var File_Neonize_proto protoreflect.FileDescriptor - -var file_Neonize_proto_rawDesc = []byte{ - 0x0a, 0x0d, 0x4e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x07, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x1a, 0x09, 0x64, 0x65, 0x66, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x01, 0x0a, 0x03, 0x4a, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x55, - 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x77, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x02, 0x28, - 0x0d, 0x52, 0x08, 0x52, 0x61, 0x77, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x06, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x04, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x0a, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, - 0x02, 0x28, 0x09, 0x52, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x49, - 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x06, 0x20, 0x02, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xad, 0x03, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6e, - 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, - 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x03, 0x20, 0x02, 0x28, 0x03, 0x52, 0x08, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x44, 0x12, - 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x75, 0x73, 0x68, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x05, 0x20, 0x02, 0x28, 0x09, 0x52, 0x08, 0x50, 0x75, 0x73, 0x68, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x02, - 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, 0x0a, - 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x02, 0x28, 0x09, 0x52, - 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x75, 0x6c, - 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x18, 0x08, 0x20, 0x02, 0x28, 0x08, 0x52, 0x09, 0x4d, 0x75, - 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x45, 0x64, 0x69, 0x74, 0x18, 0x0a, 0x20, - 0x02, 0x28, 0x09, 0x52, 0x04, 0x45, 0x64, 0x69, 0x74, 0x12, 0x39, 0x0a, 0x0c, 0x56, 0x65, 0x72, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, - 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, - 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x22, 0xdc, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0a, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x48, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x09, 0x52, 0x06, 0x48, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x04, - 0x20, 0x02, 0x28, 0x0c, 0x52, 0x08, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4b, 0x65, 0x79, 0x12, 0x24, - 0x0a, 0x0d, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x48, 0x41, 0x32, 0x35, 0x36, 0x18, - 0x05, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x0d, 0x46, 0x69, 0x6c, 0x65, 0x45, 0x6e, 0x63, 0x53, 0x48, - 0x41, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x48, 0x41, 0x32, - 0x35, 0x36, 0x18, 0x06, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x48, - 0x41, 0x32, 0x35, 0x36, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x18, 0x07, 0x20, 0x02, 0x28, 0x0d, 0x52, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x22, 0xcb, 0x01, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x04, 0x43, 0x68, 0x61, 0x74, 0x18, 0x01, - 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, - 0x49, 0x44, 0x52, 0x04, 0x43, 0x68, 0x61, 0x74, 0x12, 0x24, 0x0a, 0x06, 0x53, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, - 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x06, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, - 0x0a, 0x08, 0x49, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x08, - 0x52, 0x08, 0x49, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x02, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x3c, 0x0a, 0x12, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x02, 0x28, 0x0b, - 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x12, - 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x77, 0x6e, - 0x65, 0x72, 0x22, 0x4e, 0x0a, 0x0e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0e, 0x44, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, - 0x50, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x05, 0x50, 0x68, 0x61, - 0x73, 0x68, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, - 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x43, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x64, 0x65, 0x66, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, - 0x65, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x9b, 0x01, - 0x0a, 0x14, 0x49, 0x73, 0x4f, 0x6e, 0x57, 0x68, 0x61, 0x74, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x03, - 0x4a, 0x49, 0x44, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, - 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x03, 0x4a, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, - 0x49, 0x73, 0x49, 0x6e, 0x18, 0x03, 0x20, 0x02, 0x28, 0x08, 0x52, 0x04, 0x49, 0x73, 0x49, 0x6e, - 0x12, 0x39, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, - 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0c, 0x56, - 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x08, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x02, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x50, - 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x49, 0x44, 0x18, 0x03, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, - 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x07, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, - 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x07, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x03, - 0x4a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, - 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x03, 0x4a, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x75, 0x73, 0x73, - 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x09, 0x52, - 0x0d, 0x42, 0x75, 0x73, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x50, 0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x02, 0x28, 0x09, - 0x52, 0x08, 0x50, 0x75, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x05, 0x20, 0x02, 0x28, 0x08, 0x52, - 0x0b, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x22, 0x69, 0x0a, 0x09, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x41, 0x74, 0x18, 0x02, 0x20, 0x02, 0x28, 0x03, - 0x52, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x09, 0x4e, - 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x42, 0x79, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x09, 0x4e, 0x61, - 0x6d, 0x65, 0x53, 0x65, 0x74, 0x42, 0x79, 0x22, 0xae, 0x01, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x18, - 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x05, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, - 0x54, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x44, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x07, 0x54, - 0x6f, 0x70, 0x69, 0x63, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, - 0x65, 0x74, 0x41, 0x74, 0x18, 0x03, 0x20, 0x02, 0x28, 0x03, 0x52, 0x0a, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x53, 0x65, 0x74, 0x41, 0x74, 0x12, 0x2c, 0x0a, 0x0a, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, - 0x65, 0x74, 0x42, 0x79, 0x18, 0x04, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, - 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x0a, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x53, - 0x65, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0c, 0x54, 0x6f, 0x70, 0x69, - 0x63, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x29, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, - 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, - 0x6b, 0x65, 0x64, 0x22, 0x5d, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6e, 0x6e, 0x6f, - 0x75, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0a, 0x49, 0x73, 0x41, 0x6e, 0x6e, 0x6f, - 0x75, 0x6e, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, - 0x11, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x22, 0x60, 0x0a, 0x0e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x70, 0x68, 0x65, 0x6d, - 0x65, 0x72, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, - 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, 0x45, 0x70, 0x68, - 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, - 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x18, 0x02, 0x20, 0x02, 0x28, - 0x0d, 0x52, 0x11, 0x44, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x54, - 0x69, 0x6d, 0x65, 0x72, 0x22, 0x32, 0x0a, 0x0e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x63, - 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x49, 0x6e, 0x63, 0x6f, - 0x67, 0x6e, 0x69, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, 0x49, - 0x6e, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x50, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x02, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x50, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x1d, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, - 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x1d, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x41, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x4b, 0x0a, 0x11, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x36, - 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4a, 0x49, - 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, - 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x0f, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x4a, 0x49, 0x44, 0x22, 0x41, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x12, 0x2c, 0x0a, 0x11, 0x49, - 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x18, 0x01, 0x20, 0x02, 0x28, 0x08, 0x52, 0x11, 0x49, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x53, 0x75, 0x62, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x50, 0x0a, 0x1a, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x02, 0x28, 0x02, 0x52, - 0x0a, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x02, 0x0a, 0x10, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x12, 0x1e, 0x0a, 0x03, 0x4a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x03, 0x4a, 0x49, 0x44, - 0x12, 0x1e, 0x0a, 0x03, 0x4c, 0x49, 0x44, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x03, 0x4c, 0x49, 0x44, - 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x02, 0x28, - 0x08, 0x52, 0x07, 0x49, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x73, - 0x53, 0x75, 0x70, 0x65, 0x72, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x02, 0x28, 0x08, - 0x52, 0x0c, 0x49, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x20, - 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, - 0x02, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x02, 0x28, 0x05, 0x52, - 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x65, 0x6f, - 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x0a, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xca, 0x06, 0x0a, 0x09, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x08, 0x4f, 0x77, 0x6e, - 0x65, 0x72, 0x4a, 0x49, 0x44, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, - 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x08, 0x4f, 0x77, 0x6e, 0x65, 0x72, - 0x4a, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x03, 0x4a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, - 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x03, - 0x4a, 0x49, 0x44, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, - 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x6f, - 0x70, 0x69, 0x63, 0x18, 0x04, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, - 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x0a, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x36, 0x0a, 0x0b, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x05, 0x20, 0x02, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, - 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x6b, - 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6e, 0x6e, 0x6f, 0x75, - 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, - 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, - 0x65, 0x52, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, - 0x12, 0x3f, 0x0a, 0x0e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, - 0x61, 0x6c, 0x18, 0x07, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, - 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, - 0x6c, 0x52, 0x0e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, - 0x6c, 0x12, 0x3f, 0x0a, 0x0e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x63, 0x6f, 0x67, 0x6e, - 0x69, 0x74, 0x6f, 0x18, 0x08, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, - 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x63, 0x6f, 0x67, 0x6e, 0x69, - 0x74, 0x6f, 0x52, 0x0e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x63, 0x6f, 0x67, 0x6e, 0x69, - 0x74, 0x6f, 0x12, 0x36, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x18, 0x09, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, - 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, - 0x0a, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x52, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x50, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x73, 0x44, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x18, 0x0b, 0x20, 0x02, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, - 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x52, 0x11, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x49, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x75, 0x62, 0x12, 0x22, - 0x0a, 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0c, - 0x20, 0x02, 0x28, 0x02, 0x52, 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x0d, 0x20, 0x02, 0x28, 0x09, - 0x52, 0x14, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x3d, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, - 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x31, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x41, 0x64, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x64, 0x64, 0x4d, 0x6f, 0x64, - 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x10, 0x01, 0x22, 0x93, 0x02, 0x0a, 0x13, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x03, 0x52, - 0x05, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x61, 0x72, 0x73, 0x68, 0x61, - 0x6c, 0x18, 0x02, 0x20, 0x02, 0x28, 0x03, 0x52, 0x07, 0x4d, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c, - 0x12, 0x28, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, - 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x02, 0x28, 0x03, 0x52, 0x0f, 0x47, 0x65, 0x74, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x65, - 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x02, 0x28, 0x03, 0x52, 0x0a, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x18, 0x05, 0x20, 0x02, 0x28, 0x03, - 0x52, 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x12, 0x20, - 0x0a, 0x0b, 0x50, 0x65, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x18, 0x06, 0x20, - 0x02, 0x28, 0x03, 0x52, 0x0b, 0x50, 0x65, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x02, 0x28, 0x03, 0x52, 0x04, - 0x53, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x65, 0x73, 0x70, 0x18, 0x08, 0x20, 0x02, - 0x28, 0x03, 0x52, 0x04, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x65, 0x74, 0x72, - 0x79, 0x18, 0x09, 0x20, 0x02, 0x28, 0x03, 0x52, 0x05, 0x52, 0x65, 0x74, 0x72, 0x79, 0x22, 0x9a, - 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x02, - 0x28, 0x03, 0x52, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, - 0x08, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x02, 0x28, 0x03, 0x52, - 0x08, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x44, 0x12, 0x40, 0x0a, 0x0c, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x02, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x44, 0x65, 0x62, 0x75, 0x67, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0c, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x6c, 0x0a, 0x19, 0x53, - 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x39, - 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x53, - 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0c, 0x53, 0x65, 0x6e, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x1a, 0x47, 0x65, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6e, 0x65, 0x6f, - 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, - 0x57, 0x0a, 0x1f, 0x4a, 0x6f, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68, - 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x03, 0x4a, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, - 0x4a, 0x49, 0x44, 0x52, 0x03, 0x4a, 0x69, 0x64, 0x22, 0x58, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x22, 0x46, 0x0a, 0x16, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, - 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x42, 0x69, - 0x6e, 0x61, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6d, 0x0a, 0x14, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, - 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x51, 0x0a, 0x1b, 0x53, 0x65, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x69, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x50, 0x69, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x85, 0x01, 0x0a, - 0x1a, 0x49, 0x73, 0x4f, 0x6e, 0x57, 0x68, 0x61, 0x74, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x14, 0x49, - 0x73, 0x4f, 0x6e, 0x57, 0x68, 0x61, 0x74, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, - 0x69, 0x7a, 0x65, 0x2e, 0x49, 0x73, 0x4f, 0x6e, 0x57, 0x68, 0x61, 0x74, 0x73, 0x41, 0x70, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x14, 0x49, 0x73, 0x4f, 0x6e, 0x57, 0x68, - 0x61, 0x74, 0x73, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0x70, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x03, 0x4a, 0x49, 0x44, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, - 0x49, 0x44, 0x52, 0x03, 0x4a, 0x49, 0x44, 0x12, 0x2d, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, - 0x69, 0x7a, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x79, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, - 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x69, 0x6e, 0x67, - 0x6c, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x09, 0x55, 0x73, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x22, 0x62, 0x0a, 0x1b, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x6f, 0x6c, 0x6c, 0x56, 0x6f, - 0x74, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2d, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x50, 0x6f, 0x6c, 0x6c, 0x56, 0x6f, 0x74, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x83, 0x01, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x65, 0x77, 0x73, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x73, - 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4e, - 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x12, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x64, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6e, - 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, - 0x52, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x22, 0x4a, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x51, - 0x52, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x02, 0x28, - 0x09, 0x52, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x73, 0x0a, - 0x29, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x0c, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x0c, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x22, 0x5f, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, - 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x22, 0xf6, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x02, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0c, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x0c, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x02, 0x28, 0x09, 0x52, - 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x0b, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x65, - 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, - 0x6b, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x08, - 0x4a, 0x49, 0x44, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x04, 0x4a, 0x49, 0x44, 0x53, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, - 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x04, 0x4a, 0x49, 0x44, 0x53, 0x22, 0x21, 0x0a, 0x0b, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4f, 0x0a, - 0x15, 0x4e, 0x65, 0x77, 0x73, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x64, 0x69, 0x74, 0x54, 0x53, - 0x18, 0x01, 0x20, 0x02, 0x28, 0x03, 0x52, 0x06, 0x45, 0x64, 0x69, 0x74, 0x54, 0x53, 0x12, 0x1e, - 0x0a, 0x0a, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x53, 0x18, 0x02, 0x20, 0x02, - 0x28, 0x03, 0x52, 0x0a, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x53, 0x22, 0xb8, - 0x03, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, - 0x7a, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, - 0x18, 0x03, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0b, 0x49, 0x73, 0x45, 0x70, 0x68, 0x65, 0x6d, 0x65, - 0x72, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x56, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, - 0x65, 0x18, 0x04, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0a, 0x49, 0x73, 0x56, 0x69, 0x65, 0x77, 0x4f, - 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x73, 0x56, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x63, - 0x65, 0x56, 0x32, 0x18, 0x05, 0x20, 0x02, 0x28, 0x08, 0x52, 0x0c, 0x49, 0x73, 0x56, 0x69, 0x65, - 0x77, 0x4f, 0x6e, 0x63, 0x65, 0x56, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x45, 0x64, 0x69, - 0x74, 0x18, 0x06, 0x20, 0x02, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x45, 0x64, 0x69, 0x74, 0x12, - 0x3c, 0x0a, 0x0c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x57, 0x65, 0x62, 0x4d, 0x73, 0x67, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x64, 0x65, 0x66, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2e, 0x57, 0x65, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x0c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x57, 0x65, 0x62, 0x4d, 0x73, 0x67, 0x12, 0x32, 0x0a, - 0x14, 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x44, 0x18, 0x08, 0x20, 0x02, 0x28, 0x09, 0x52, 0x14, 0x55, 0x6e, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x09, 0x20, 0x02, 0x28, 0x03, 0x52, 0x0a, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x46, 0x0a, 0x0e, 0x4e, 0x65, 0x77, 0x73, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, - 0x65, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, - 0x69, 0x7a, 0x65, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0e, 0x4e, 0x65, 0x77, 0x73, 0x4c, - 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x22, 0x68, 0x0a, 0x16, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, - 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x69, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x07, 0x50, 0x69, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x22, 0x9d, 0x01, 0x0a, 0x16, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x4e, - 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x43, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6e, - 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x4e, 0x65, - 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x4e, 0x65, - 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x22, 0x3e, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, - 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x45, 0x4f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x03, 0x22, 0x54, 0x0a, 0x0e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, - 0x72, 0x54, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, - 0x02, 0x28, 0x09, 0x52, 0x04, 0x54, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x03, 0x52, 0x0a, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6a, 0x0a, 0x12, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x10, 0x0a, 0x03, 0x55, 0x52, 0x4c, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x03, 0x55, 0x52, - 0x4c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x02, 0x28, 0x09, 0x52, 0x02, 0x49, - 0x44, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x09, 0x52, - 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x50, - 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0a, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0xb7, 0x01, 0x0a, 0x1a, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, - 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x51, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x02, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4e, 0x65, - 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x6f, 0x64, 0x65, - 0x52, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x46, 0x0a, 0x17, 0x4e, 0x65, 0x77, 0x73, 0x6c, - 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x6f, - 0x64, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x42, - 0x41, 0x53, 0x49, 0x43, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x03, - 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x04, 0x22, - 0x5e, 0x0a, 0x11, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x49, 0x0a, 0x0d, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x65, - 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, - 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x52, 0x0d, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x22, - 0xc0, 0x04, 0x0a, 0x18, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x68, - 0x72, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x02, - 0x28, 0x03, 0x52, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, - 0x20, 0x02, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x2b, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, - 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, - 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x02, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4e, 0x65, 0x77, - 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x52, 0x0b, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x02, 0x28, - 0x03, 0x52, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x6b, 0x0a, 0x11, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x3d, 0x2e, - 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, - 0x65, 0x72, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x11, 0x56, 0x65, - 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x35, 0x0a, 0x07, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x50, - 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x18, 0x08, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x36, 0x0a, - 0x08, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x09, 0x20, 0x02, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, - 0x74, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x3b, 0x0a, 0x1b, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, - 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x02, 0x22, 0x96, 0x02, 0x0a, 0x18, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, - 0x72, 0x56, 0x69, 0x65, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x49, 0x0a, 0x04, 0x4d, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x35, 0x2e, - 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, - 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x75, 0x74, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4d, 0x75, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x04, 0x52, 0x6f, - 0x6c, 0x65, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, - 0x7a, 0x65, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x56, 0x69, 0x65, - 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4e, 0x65, 0x77, 0x73, - 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x52, 0x6f, 0x6c, 0x65, - 0x22, 0x26, 0x0a, 0x13, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x75, - 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0x01, 0x12, - 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x02, 0x22, 0x41, 0x0a, 0x0e, 0x4e, 0x65, 0x77, 0x73, - 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x55, - 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x55, - 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x03, - 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x04, 0x22, 0xef, 0x01, 0x0a, 0x12, - 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x02, 0x49, 0x44, - 0x12, 0x35, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, - 0x64, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x52, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x65, 0x61, - 0x64, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x65, - 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, - 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0a, - 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0a, 0x56, 0x69, - 0x65, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x6c, 0x65, 0x74, - 0x74, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x0a, 0x56, 0x69, 0x65, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x22, 0x43, 0x0a, - 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x44, 0x48, - 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x05, 0x44, 0x48, 0x61, 0x73, 0x68, - 0x12, 0x20, 0x0a, 0x04, 0x4a, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x2e, 0x4a, 0x49, 0x44, 0x52, 0x04, 0x4a, 0x49, - 0x44, 0x73, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x6e, 0x65, 0x6f, 0x6e, 0x69, 0x7a, 0x65, -} - -var ( - file_Neonize_proto_rawDescOnce sync.Once - file_Neonize_proto_rawDescData = file_Neonize_proto_rawDesc -) - -func file_Neonize_proto_rawDescGZIP() []byte { - file_Neonize_proto_rawDescOnce.Do(func() { - file_Neonize_proto_rawDescData = protoimpl.X.CompressGZIP(file_Neonize_proto_rawDescData) - }) - return file_Neonize_proto_rawDescData -} - -var file_Neonize_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_Neonize_proto_msgTypes = make([]protoimpl.MessageInfo, 54) -var file_Neonize_proto_goTypes = []interface{}{ - (GroupInfo_GroupMemberAddMode)(0), // 0: neonize.GroupInfo.GroupMemberAddMode - (WrappedNewsletterState_NewsletterState)(0), // 1: neonize.WrappedNewsletterState.NewsletterState - (NewsletterReactionSettings_NewsletterReactionsMode)(0), // 2: neonize.NewsletterReactionSettings.NewsletterReactionsMode - (NewsletterThreadMetadata_NewsletterVerificationState)(0), // 3: neonize.NewsletterThreadMetadata.NewsletterVerificationState - (NewsletterViewerMetadata_NewsletterMuteState)(0), // 4: neonize.NewsletterViewerMetadata.NewsletterMuteState - (NewsletterViewerMetadata_NewsletterRole)(0), // 5: neonize.NewsletterViewerMetadata.NewsletterRole - (*JID)(nil), // 6: neonize.JID - (*MessageInfo)(nil), // 7: neonize.MessageInfo - (*UploadResponse)(nil), // 8: neonize.UploadResponse - (*MessageSource)(nil), // 9: neonize.MessageSource - (*DeviceSentMeta)(nil), // 10: neonize.DeviceSentMeta - (*VerifiedName)(nil), // 11: neonize.VerifiedName - (*IsOnWhatsAppResponse)(nil), // 12: neonize.IsOnWhatsAppResponse - (*UserInfo)(nil), // 13: neonize.UserInfo - (*Device)(nil), // 14: neonize.Device - (*GroupName)(nil), // 15: neonize.GroupName - (*GroupTopic)(nil), // 16: neonize.GroupTopic - (*GroupLocked)(nil), // 17: neonize.GroupLocked - (*GroupAnnounce)(nil), // 18: neonize.GroupAnnounce - (*GroupEphemeral)(nil), // 19: neonize.GroupEphemeral - (*GroupIncognito)(nil), // 20: neonize.GroupIncognito - (*GroupParent)(nil), // 21: neonize.GroupParent - (*GroupLinkedParent)(nil), // 22: neonize.GroupLinkedParent - (*GroupIsDefaultSub)(nil), // 23: neonize.GroupIsDefaultSub - (*GroupParticipantAddRequest)(nil), // 24: neonize.GroupParticipantAddRequest - (*GroupParticipant)(nil), // 25: neonize.GroupParticipant - (*GroupInfo)(nil), // 26: neonize.GroupInfo - (*MessageDebugTimings)(nil), // 27: neonize.MessageDebugTimings - (*SendResponse)(nil), // 28: neonize.SendResponse - (*SendMessageReturnFunction)(nil), // 29: neonize.SendMessageReturnFunction - (*GetGroupInfoReturnFunction)(nil), // 30: neonize.GetGroupInfoReturnFunction - (*JoinGroupWithLinkReturnFunction)(nil), // 31: neonize.JoinGroupWithLinkReturnFunction - (*GetGroupInviteLinkReturnFunction)(nil), // 32: neonize.GetGroupInviteLinkReturnFunction - (*DownloadReturnFunction)(nil), // 33: neonize.DownloadReturnFunction - (*UploadReturnFunction)(nil), // 34: neonize.UploadReturnFunction - (*SetGroupPhotoReturnFunction)(nil), // 35: neonize.SetGroupPhotoReturnFunction - (*IsOnWhatsAppReturnFunction)(nil), // 36: neonize.IsOnWhatsAppReturnFunction - (*GetUserInfoSingleReturnFunction)(nil), // 37: neonize.GetUserInfoSingleReturnFunction - (*GetUserInfoReturnFunction)(nil), // 38: neonize.GetUserInfoReturnFunction - (*BuildPollVoteReturnFunction)(nil), // 39: neonize.BuildPollVoteReturnFunction - (*CreateNewsLetterReturnFunction)(nil), // 40: neonize.CreateNewsLetterReturnFunction - (*GetBlocklistReturnFunction)(nil), // 41: neonize.GetBlocklistReturnFunction - (*GetContactQRLinkReturnFunction)(nil), // 42: neonize.GetContactQRLinkReturnFunction - (*GetGroupRequestParticipantsReturnFunction)(nil), // 43: neonize.GetGroupRequestParticipantsReturnFunction - (*GetJoinedGroupsReturnFunction)(nil), // 44: neonize.GetJoinedGroupsReturnFunction - (*ReqCreateGroup)(nil), // 45: neonize.ReqCreateGroup - (*JIDArray)(nil), // 46: neonize.JIDArray - (*ArrayString)(nil), // 47: neonize.ArrayString - (*NewsLetterMessageMeta)(nil), // 48: neonize.NewsLetterMessageMeta - (*Message)(nil), // 49: neonize.Message - (*CreateNewsletterParams)(nil), // 50: neonize.CreateNewsletterParams - (*WrappedNewsletterState)(nil), // 51: neonize.WrappedNewsletterState - (*NewsletterText)(nil), // 52: neonize.NewsletterText - (*ProfilePictureInfo)(nil), // 53: neonize.ProfilePictureInfo - (*NewsletterReactionSettings)(nil), // 54: neonize.NewsletterReactionSettings - (*NewsletterSetting)(nil), // 55: neonize.NewsletterSetting - (*NewsletterThreadMetadata)(nil), // 56: neonize.NewsletterThreadMetadata - (*NewsletterViewerMetadata)(nil), // 57: neonize.NewsletterViewerMetadata - (*NewsletterMetadata)(nil), // 58: neonize.NewsletterMetadata - (*Blocklist)(nil), // 59: neonize.Blocklist - (*defproto.VerifiedNameCertificate)(nil), // 60: defproto.VerifiedNameCertificate - (*defproto.VerifiedNameCertificate_Details)(nil), // 61: defproto.VerifiedNameCertificate.Details - (*defproto.Message)(nil), // 62: defproto.Message - (*defproto.WebMessageInfo)(nil), // 63: defproto.WebMessageInfo -} -var file_Neonize_proto_depIdxs = []int32{ - 9, // 0: neonize.MessageInfo.MessageSource:type_name -> neonize.MessageSource - 11, // 1: neonize.MessageInfo.VerifiedName:type_name -> neonize.VerifiedName - 10, // 2: neonize.MessageInfo.DeviceSentMeta:type_name -> neonize.DeviceSentMeta - 6, // 3: neonize.MessageSource.Chat:type_name -> neonize.JID - 6, // 4: neonize.MessageSource.Sender:type_name -> neonize.JID - 6, // 5: neonize.MessageSource.BroadcastListOwner:type_name -> neonize.JID - 60, // 6: neonize.VerifiedName.Certificate:type_name -> defproto.VerifiedNameCertificate - 61, // 7: neonize.VerifiedName.Details:type_name -> defproto.VerifiedNameCertificate.Details - 6, // 8: neonize.IsOnWhatsAppResponse.JID:type_name -> neonize.JID - 11, // 9: neonize.IsOnWhatsAppResponse.VerifiedName:type_name -> neonize.VerifiedName - 11, // 10: neonize.UserInfo.VerifiedName:type_name -> neonize.VerifiedName - 6, // 11: neonize.UserInfo.Devices:type_name -> neonize.JID - 6, // 12: neonize.Device.JID:type_name -> neonize.JID - 6, // 13: neonize.GroupName.NameSetBy:type_name -> neonize.JID - 6, // 14: neonize.GroupTopic.TopicSetBy:type_name -> neonize.JID - 6, // 15: neonize.GroupLinkedParent.LinkedParentJID:type_name -> neonize.JID - 6, // 16: neonize.GroupParticipant.JID:type_name -> neonize.JID - 6, // 17: neonize.GroupParticipant.LID:type_name -> neonize.JID - 24, // 18: neonize.GroupParticipant.AddRequest:type_name -> neonize.GroupParticipantAddRequest - 6, // 19: neonize.GroupInfo.OwnerJID:type_name -> neonize.JID - 6, // 20: neonize.GroupInfo.JID:type_name -> neonize.JID - 15, // 21: neonize.GroupInfo.GroupName:type_name -> neonize.GroupName - 16, // 22: neonize.GroupInfo.GroupTopic:type_name -> neonize.GroupTopic - 17, // 23: neonize.GroupInfo.GroupLocked:type_name -> neonize.GroupLocked - 18, // 24: neonize.GroupInfo.GroupAnnounce:type_name -> neonize.GroupAnnounce - 19, // 25: neonize.GroupInfo.GroupEphemeral:type_name -> neonize.GroupEphemeral - 20, // 26: neonize.GroupInfo.GroupIncognito:type_name -> neonize.GroupIncognito - 21, // 27: neonize.GroupInfo.GroupParent:type_name -> neonize.GroupParent - 22, // 28: neonize.GroupInfo.GroupLinkedParent:type_name -> neonize.GroupLinkedParent - 23, // 29: neonize.GroupInfo.GroupIsDefaultSub:type_name -> neonize.GroupIsDefaultSub - 25, // 30: neonize.GroupInfo.Participants:type_name -> neonize.GroupParticipant - 27, // 31: neonize.SendResponse.DebugTimings:type_name -> neonize.MessageDebugTimings - 28, // 32: neonize.SendMessageReturnFunction.SendResponse:type_name -> neonize.SendResponse - 26, // 33: neonize.GetGroupInfoReturnFunction.GroupInfo:type_name -> neonize.GroupInfo - 6, // 34: neonize.JoinGroupWithLinkReturnFunction.Jid:type_name -> neonize.JID - 8, // 35: neonize.UploadReturnFunction.UploadResponse:type_name -> neonize.UploadResponse - 12, // 36: neonize.IsOnWhatsAppReturnFunction.IsOnWhatsAppResponse:type_name -> neonize.IsOnWhatsAppResponse - 6, // 37: neonize.GetUserInfoSingleReturnFunction.JID:type_name -> neonize.JID - 13, // 38: neonize.GetUserInfoSingleReturnFunction.UserInfo:type_name -> neonize.UserInfo - 37, // 39: neonize.GetUserInfoReturnFunction.UsersInfo:type_name -> neonize.GetUserInfoSingleReturnFunction - 62, // 40: neonize.BuildPollVoteReturnFunction.PollVote:type_name -> defproto.Message - 58, // 41: neonize.CreateNewsLetterReturnFunction.NewsletterMetadata:type_name -> neonize.NewsletterMetadata - 59, // 42: neonize.GetBlocklistReturnFunction.Blocklist:type_name -> neonize.Blocklist - 6, // 43: neonize.GetGroupRequestParticipantsReturnFunction.Participants:type_name -> neonize.JID - 26, // 44: neonize.GetJoinedGroupsReturnFunction.Group:type_name -> neonize.GroupInfo - 6, // 45: neonize.ReqCreateGroup.Participants:type_name -> neonize.JID - 21, // 46: neonize.ReqCreateGroup.GroupParent:type_name -> neonize.GroupParent - 22, // 47: neonize.ReqCreateGroup.GroupLinkedParent:type_name -> neonize.GroupLinkedParent - 6, // 48: neonize.JIDArray.JIDS:type_name -> neonize.JID - 7, // 49: neonize.Message.Info:type_name -> neonize.MessageInfo - 62, // 50: neonize.Message.Message:type_name -> defproto.Message - 63, // 51: neonize.Message.SourceWebMsg:type_name -> defproto.WebMessageInfo - 48, // 52: neonize.Message.NewsLetterMeta:type_name -> neonize.NewsLetterMessageMeta - 1, // 53: neonize.WrappedNewsletterState.Type:type_name -> neonize.WrappedNewsletterState.NewsletterState - 2, // 54: neonize.NewsletterReactionSettings.Value:type_name -> neonize.NewsletterReactionSettings.NewsletterReactionsMode - 54, // 55: neonize.NewsletterSetting.ReactionCodes:type_name -> neonize.NewsletterReactionSettings - 52, // 56: neonize.NewsletterThreadMetadata.Name:type_name -> neonize.NewsletterText - 52, // 57: neonize.NewsletterThreadMetadata.Description:type_name -> neonize.NewsletterText - 3, // 58: neonize.NewsletterThreadMetadata.VerificationState:type_name -> neonize.NewsletterThreadMetadata.NewsletterVerificationState - 53, // 59: neonize.NewsletterThreadMetadata.Picture:type_name -> neonize.ProfilePictureInfo - 53, // 60: neonize.NewsletterThreadMetadata.Preview:type_name -> neonize.ProfilePictureInfo - 55, // 61: neonize.NewsletterThreadMetadata.Settings:type_name -> neonize.NewsletterSetting - 4, // 62: neonize.NewsletterViewerMetadata.Mute:type_name -> neonize.NewsletterViewerMetadata.NewsletterMuteState - 5, // 63: neonize.NewsletterViewerMetadata.Role:type_name -> neonize.NewsletterViewerMetadata.NewsletterRole - 6, // 64: neonize.NewsletterMetadata.ID:type_name -> neonize.JID - 51, // 65: neonize.NewsletterMetadata.State:type_name -> neonize.WrappedNewsletterState - 56, // 66: neonize.NewsletterMetadata.ThreadMeta:type_name -> neonize.NewsletterThreadMetadata - 57, // 67: neonize.NewsletterMetadata.ViewerMeta:type_name -> neonize.NewsletterViewerMetadata - 6, // 68: neonize.Blocklist.JIDs:type_name -> neonize.JID - 69, // [69:69] is the sub-list for method output_type - 69, // [69:69] is the sub-list for method input_type - 69, // [69:69] is the sub-list for extension type_name - 69, // [69:69] is the sub-list for extension extendee - 0, // [0:69] is the sub-list for field type_name -} - -func init() { file_Neonize_proto_init() } -func file_Neonize_proto_init() { - if File_Neonize_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_Neonize_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageSource); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceSentMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerifiedName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IsOnWhatsAppResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Device); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupName); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupTopic); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupLocked); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupAnnounce); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupEphemeral); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupIncognito); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupParent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupLinkedParent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupIsDefaultSub); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupParticipantAddRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupParticipant); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageDebugTimings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendMessageReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupInfoReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JoinGroupWithLinkReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupInviteLinkReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DownloadReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGroupPhotoReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IsOnWhatsAppReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserInfoSingleReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserInfoReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuildPollVoteReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNewsLetterReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlocklistReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetContactQRLinkReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupRequestParticipantsReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetJoinedGroupsReturnFunction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReqCreateGroup); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JIDArray); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArrayString); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsLetterMessageMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Message); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNewsletterParams); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WrappedNewsletterState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsletterText); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProfilePictureInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsletterReactionSettings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsletterSetting); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsletterThreadMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsletterViewerMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewsletterMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_Neonize_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Blocklist); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_Neonize_proto_rawDesc, - NumEnums: 6, - NumMessages: 54, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_Neonize_proto_goTypes, - DependencyIndexes: file_Neonize_proto_depIdxs, - EnumInfos: file_Neonize_proto_enumTypes, - MessageInfos: file_Neonize_proto_msgTypes, - }.Build() - File_Neonize_proto = out.File - file_Neonize_proto_rawDesc = nil - file_Neonize_proto_goTypes = nil - file_Neonize_proto_depIdxs = nil -} diff --git a/neonize/gocode/test.py b/neonize/gocode/test.py deleted file mode 100644 index 5ba2a579..00000000 --- a/neonize/gocode/test.py +++ /dev/null @@ -1,88 +0,0 @@ -import ctypes -import time -import segno -gocode = ctypes.CDLL("./gocode.so") -func_string = ctypes.CFUNCTYPE(None, ctypes.c_void_p) -func_bytes = ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_int,ctypes.c_void_p, ctypes.c_int) -import signal, sys -from def_pb2 import Message, ImageMessage, ContextInfo -from Neonize_pb2 import MessageSource, UploadResponse, JID -signal.signal(signal.SIGINT, lambda x:sys.exit(0)) -uid = ctypes.create_string_buffer(b"mysession") - -class Bytes(ctypes.Structure): - _fields_ = [ - ('ptr', ctypes.POINTER(ctypes.c_char)), - ('size', ctypes.c_size_t) - ] - def get_bytes(self): - return ctypes.string_at(self.ptr, self.size) - -gocode.Upload.restype = Bytes -def callback_login_status(s: str): - print(ctypes.string_at(s), 'loggin') - -def callback_qr(s: str): - print(segno.make_qr(ctypes.string_at(s)).terminal()) - -def on_message(b: int, size: int, message_info_byte: int, message_info_size: int): - d=ctypes.string_at(b, size) - print(d) - msg: Message=Message.FromString(d) - message_source_bytes = ctypes.string_at(message_info_byte, message_info_size) - message_source: MessageSource=MessageSource.FromString(message_source_bytes) - new_message = Message(conversation="PONGGGGG").SerializeToString() - print(message_source.Chat, 'chat') - chat = message_source.Chat.SerializePartialToString() - if msg.extendedTextMessage and msg.extendedTextMessage.text == "ping": - gocode.SendMessage(uid, chat, len(chat), new_message, len(new_message)) - elif msg.extendedTextMessage and msg.extendedTextMessage.text == "image": - imgbuff = open('gg.jpeg','rb').read() - resp = gocode.Upload(uid, imgbuff, len(imgbuff), 1) - upresp: UploadResponse=UploadResponse.FromString(resp.get_bytes()) - msg_photo = Message( - imageMessage=ImageMessage( - url=upresp.url, - thumbnailDirectPath=upresp.DirectPath, - thumbnailSha256=upresp.FileSHA256, - thumbnailEncSha256=upresp.FileEncSHA256, - mimetype="image/jpeg", - caption="test python", - fileSha256=upresp.FileSHA256, - fileEncSha256=upresp.FileEncSHA256, - fileLength=len(imgbuff), - jpegThumbnail=imgbuff, - directPath=upresp.DirectPath, - contextInfo=ContextInfo( - stanzaId=message_source.ID, - participant=Jid2String(message_source.Sender), - quotedMessage=msg - - ), - mediaKey=upresp.MediaKey - ) - ).SerializeToString() - gocode.SendMessage( - uid, chat, len(chat),msg_photo, len(msg_photo) - ) - -def Jid2String(jid: JID) -> str: - if jid.RawAgent > 0: - return "%s.%s:%d@%s" %( - jid.User, - jid.RawAgent, - jid.Device, - jid.Server - ) - elif jid.Device > 0: - return "%s:%d@%s" % (jid.User, jid.Device, jid.Server) - elif len(jid.User) > 0: - return "%s@%s" % (jid.User, jid.Server) - return jid.Server -gocode.Neonize( - ctypes.create_string_buffer(b"krypton"), - uid, - func_string(callback_qr), - func_string(callback_login_status), - func_bytes(on_message) -) \ No newline at end of file diff --git a/neonize/gocode/utils/decoder.go b/neonize/gocode/utils/decoder.go deleted file mode 100644 index 61425920..00000000 --- a/neonize/gocode/utils/decoder.go +++ /dev/null @@ -1,136 +0,0 @@ -package utils - -import ( - "time" - - defproto "github.com/krypton-byte/neonize/defproto" - "github.com/krypton-byte/neonize/neonize" - "go.mau.fi/whatsmeow" - waProto "go.mau.fi/whatsmeow/binary/proto" - "go.mau.fi/whatsmeow/types" - "google.golang.org/protobuf/proto" -) - -func DecodeJidProto(data *neonize.JID) types.JID { - return types.JID{ - User: *data.User, - RawAgent: uint8(*data.RawAgent), - Device: uint16(*data.Device), - Integrator: uint16(*data.Integrator), - Server: *data.Server, - } -} - -func DecodeGroupParent(groupParent *neonize.GroupParent) types.GroupParent { - return types.GroupParent{ - IsParent: *groupParent.IsParent, - DefaultMembershipApprovalMode: *groupParent.DefaultMembershipApprovalMode, - } -} - -func DecodeGroupLinkedParent(groupLinkedParent *neonize.GroupLinkedParent) types.GroupLinkedParent { - return types.GroupLinkedParent{ - LinkedParentJID: DecodeJidProto(groupLinkedParent.LinkedParentJID), - } -} - -func DecodeReqCreateGroup(reqCreateGroup *neonize.ReqCreateGroup) whatsmeow.ReqCreateGroup { - participants := []types.JID{} - for _, participant := range reqCreateGroup.Participants { - participants = append(participants, DecodeJidProto(participant)) - } - new_type := whatsmeow.ReqCreateGroup{ - Name: *reqCreateGroup.Name, - Participants: participants, - CreateKey: *reqCreateGroup.CreateKey, - } - if reqCreateGroup.GroupParent != nil { - new_type.GroupParent = DecodeGroupParent(reqCreateGroup.GroupParent) - } - if reqCreateGroup.GroupLinkedParent != nil { - new_type.GroupLinkedParent = DecodeGroupLinkedParent(reqCreateGroup.GroupLinkedParent) - } - return new_type -} -func DecodeMessageSource(messageSource *neonize.MessageSource) types.MessageSource { - return types.MessageSource{ - Chat: DecodeJidProto(messageSource.Chat), - Sender: DecodeJidProto(messageSource.Sender), - IsFromMe: *messageSource.IsFromMe, - IsGroup: *messageSource.IsGroup, - BroadcastListOwner: DecodeJidProto(messageSource.BroadcastListOwner), - } -} -func DecodeVerifiedNameCertificate(verifiedNameCertificate *defproto.VerifiedNameCertificate) *waProto.VerifiedNameCertificate { - //passing types through protobuf - var Certificate waProto.VerifiedNameCertificate - encoded, err := proto.Marshal(verifiedNameCertificate) - if err != nil { - panic(err) - } - err_decode := proto.Unmarshal(encoded, &Certificate) - if err_decode != nil { - panic(err) - } - return &Certificate - -} - -func DecodeVerifiedNameDetails(verifiedNameDetails *defproto.VerifiedNameCertificate_Details) *waProto.VerifiedNameCertificate_Details { - var details waProto.VerifiedNameCertificate_Details - encoded, err := proto.Marshal(verifiedNameDetails) - if err != nil { - panic(err) - } - err_decode := proto.Unmarshal(encoded, &details) - if err_decode != nil { - panic(err_decode) - } - return &details -} -func DecodeVerifiedName(verifiedName *neonize.VerifiedName) *types.VerifiedName { - verifiednametypes := types.VerifiedName{} - if verifiedName.Certificate != nil { - verifiednametypes.Certificate = DecodeVerifiedNameCertificate(verifiedName.Certificate) - } - if verifiedName.Details != nil { - verifiednametypes.Details = DecodeVerifiedNameDetails(verifiedName.Details) - } - return &verifiednametypes -} -func DecodeDeviceSentMeta(deviceSentMeta *neonize.DeviceSentMeta) *types.DeviceSentMeta { - return &types.DeviceSentMeta{ - DestinationJID: *deviceSentMeta.DestinationJID, - Phash: *deviceSentMeta.Phash, - } -} -func DecodeMessageInfo(messageInfo *neonize.MessageInfo) *types.MessageInfo { - ts := *messageInfo.Timestamp - model := &types.MessageInfo{ - MessageSource: DecodeMessageSource(messageInfo.MessageSource), - ID: *messageInfo.ID, - ServerID: int(*messageInfo.ServerID), - Type: *messageInfo.Type, - PushName: *messageInfo.Pushname, - Timestamp: time.Unix(ts, 0), - Category: *messageInfo.Category, - Multicast: *messageInfo.Multicast, - MediaType: *messageInfo.MediaType, - Edit: types.EditAttribute(*messageInfo.Edit), - } - if messageInfo.VerifiedName != nil { - model.VerifiedName = DecodeVerifiedName(messageInfo.VerifiedName) - } - if messageInfo.DeviceSentMeta != nil { - model.DeviceSentMeta = DecodeDeviceSentMeta(messageInfo.DeviceSentMeta) - } - return model -} - -func DecodeCreateNewsletterParams(createletterNewsParams *neonize.CreateNewsletterParams) whatsmeow.CreateNewsletterParams { - return whatsmeow.CreateNewsletterParams{ - Name: *createletterNewsParams.Name, - Description: *createletterNewsParams.Description, - Picture: createletterNewsParams.Picture, - } -} diff --git a/neonize/gocode/utils/encoder.go b/neonize/gocode/utils/encoder.go deleted file mode 100644 index 65daa4cf..00000000 --- a/neonize/gocode/utils/encoder.go +++ /dev/null @@ -1,434 +0,0 @@ -package utils - -import ( - "C" - - defproto "github.com/krypton-byte/neonize/defproto" - "github.com/krypton-byte/neonize/neonize" - "go.mau.fi/whatsmeow" - waProto "go.mau.fi/whatsmeow/binary/proto" - "go.mau.fi/whatsmeow/types" - "google.golang.org/protobuf/proto" -) -import ( - "go.mau.fi/whatsmeow/types/events" -) - -// Function -func EncodeUploadResponse(response whatsmeow.UploadResponse) *neonize.UploadResponse { - return &neonize.UploadResponse{ - Url: &response.URL, - DirectPath: &response.DirectPath, - Handle: &response.Handle, - MediaKey: response.MediaKey, - FileEncSHA256: response.FileEncSHA256, - FileSHA256: response.FileSHA256, - FileLength: proto.Uint32(uint32(response.FileLength)), - } -} - -// types.go -func EncodeJidProto(data types.JID) *neonize.JID { - isempty := data.IsEmpty() - return &neonize.JID{ - User: &data.User, - RawAgent: proto.Uint32(uint32(data.RawAgent)), - Device: proto.Uint32(uint32(data.Device)), - Integrator: proto.Uint32(uint32(data.Integrator)), - Server: &data.Server, - IsEmpty: &isempty, - } -} -func EncodeGroupName(groupName types.GroupName) *neonize.GroupName { - return &neonize.GroupName{ - Name: &groupName.Name, - NameSetAt: proto.Int64(groupName.NameSetAt.Unix()), - NameSetBy: EncodeJidProto(groupName.NameSetBy), - } -} -func EncodeGroupTopic(topic types.GroupTopic) *neonize.GroupTopic { - return &neonize.GroupTopic{ - Topic: &topic.Topic, - TopicID: &topic.TopicID, - TopicSetAt: proto.Int64(topic.TopicSetAt.Unix()), - TopicSetBy: EncodeJidProto(topic.TopicSetBy), - TopicDeleted: &topic.TopicDeleted, - } -} -func EncodeGroupLocked(locked types.GroupLocked) *neonize.GroupLocked { - return &neonize.GroupLocked{ - IsLocked: &locked.IsLocked, - } -} -func EncodeGroupAnnounce(announce types.GroupAnnounce) *neonize.GroupAnnounce { - return &neonize.GroupAnnounce{ - IsAnnounce: &announce.IsAnnounce, - AnnounceVersionID: &announce.AnnounceVersionID, - } -} -func EncodeGroupEphemeral(ephemeral types.GroupEphemeral) *neonize.GroupEphemeral { - return &neonize.GroupEphemeral{ - IsEphemeral: &ephemeral.IsEphemeral, - DisappearingTimer: &ephemeral.DisappearingTimer, - } -} -func EncodeGroupIncognito(incognito types.GroupIncognito) *neonize.GroupIncognito { - return &neonize.GroupIncognito{ - IsIncognito: &incognito.IsIncognito, - } -} -func EncodeGroupParent(parent types.GroupParent) *neonize.GroupParent { - return &neonize.GroupParent{ - IsParent: &parent.IsParent, - DefaultMembershipApprovalMode: &parent.DefaultMembershipApprovalMode, - } -} -func EncodeGroupLinkedParent(linkedParent types.GroupLinkedParent) *neonize.GroupLinkedParent { - return &neonize.GroupLinkedParent{ - LinkedParentJID: EncodeJidProto(linkedParent.LinkedParentJID), - } -} -func EncodeGroupIsDefaultSub(isDefaultSub types.GroupIsDefaultSub) *neonize.GroupIsDefaultSub { - return &neonize.GroupIsDefaultSub{ - IsDefaultSubGroup: &isDefaultSub.IsDefaultSubGroup, - } -} -func EncodeGroupParticipantAddRequest(addRequest types.GroupParticipantAddRequest) *neonize.GroupParticipantAddRequest { - return &neonize.GroupParticipantAddRequest{ - Code: &addRequest.Code, - Expiration: proto.Float32(float32(addRequest.Expiration.Unix())), - } -} -func EncodeGroupParticipant(participant types.GroupParticipant) *neonize.GroupParticipant { - participant_group := neonize.GroupParticipant{ - LID: EncodeJidProto(participant.LID), - JID: EncodeJidProto(participant.JID), - IsAdmin: &participant.IsAdmin, - IsSuperAdmin: &participant.IsSuperAdmin, - DisplayName: &participant.DisplayName, - Error: proto.Int32(int32(participant.Error)), - } - if participant.AddRequest != nil { - participant_group.AddRequest = EncodeGroupParticipantAddRequest(*participant.AddRequest) - } - return &participant_group -} - -// send.go -func EncodeGroupInfo(info *types.GroupInfo) *neonize.GroupInfo { - participants := []*neonize.GroupParticipant{} - for _, participant := range info.Participants { - participants = append(participants, EncodeGroupParticipant(participant)) - } - return &neonize.GroupInfo{ - JID: EncodeJidProto(info.JID), - OwnerJID: EncodeJidProto(info.OwnerJID), - GroupName: EncodeGroupName(info.GroupName), - GroupTopic: EncodeGroupTopic(info.GroupTopic), - GroupLocked: EncodeGroupLocked(info.GroupLocked), - GroupAnnounce: EncodeGroupAnnounce(info.GroupAnnounce), - GroupEphemeral: EncodeGroupEphemeral(info.GroupEphemeral), - GroupIncognito: EncodeGroupIncognito(info.GroupIncognito), - GroupParent: EncodeGroupParent(info.GroupParent), - GroupLinkedParent: EncodeGroupLinkedParent(info.GroupLinkedParent), - GroupIsDefaultSub: EncodeGroupIsDefaultSub(info.GroupIsDefaultSub), - GroupCreated: proto.Float32(float32(info.GroupCreated.Unix())), - ParticipantVersionID: &info.ParticipantVersionID, - Participants: participants, - } -} - -func EncodeMessageDebugTimings(debugTimings whatsmeow.MessageDebugTimings) *neonize.MessageDebugTimings { - return &neonize.MessageDebugTimings{ - Queue: proto.Int64(debugTimings.Queue.Nanoseconds()), - Marshal_: proto.Int64(debugTimings.Marshal.Nanoseconds()), - GetParticipants: proto.Int64(debugTimings.GetParticipants.Nanoseconds()), - GetDevices: proto.Int64(debugTimings.GetParticipants.Nanoseconds()), - GroupEncrypt: proto.Int64(debugTimings.Queue.Nanoseconds()), - PeerEncrypt: proto.Int64(debugTimings.PeerEncrypt.Nanoseconds()), - Send: proto.Int64(debugTimings.Send.Nanoseconds()), - Resp: proto.Int64(debugTimings.Queue.Nanoseconds()), - Retry: proto.Int64(debugTimings.Retry.Nanoseconds()), - } -} -func EncodeSendResponse(sendResponse whatsmeow.SendResponse) *neonize.SendResponse { - return &neonize.SendResponse{ - Timestamp: proto.Int64(sendResponse.Timestamp.Unix()), - ID: proto.String(sendResponse.ID), - ServerID: proto.Int64(int64(sendResponse.ServerID)), - DebugTimings: EncodeMessageDebugTimings(sendResponse.DebugTimings), - } -} -func EncodeVerifiedNameCertificate(verifiedNameCertificate *waProto.VerifiedNameCertificate) *defproto.VerifiedNameCertificate { - return &defproto.VerifiedNameCertificate{ - Details: verifiedNameCertificate.Details, - Signature: verifiedNameCertificate.Signature, - ServerSignature: verifiedNameCertificate.ServerSignature, - } -} -func EncodeLocalizedName(localizedname *waProto.LocalizedName) *defproto.LocalizedName { - return &defproto.LocalizedName{ - Lg: localizedname.Lg, - Lc: localizedname.Lc, - VerifiedName: localizedname.VerifiedName, - } -} -func EncodeVerifiedNameCertificate_Details(details *waProto.VerifiedNameCertificate_Details) *defproto.VerifiedNameCertificate_Details { - localizedName := []*defproto.LocalizedName{} - for _, localized := range details.LocalizedNames { - localizedName = append(localizedName, EncodeLocalizedName(localized)) - } - return &defproto.VerifiedNameCertificate_Details{ - Serial: details.Serial, - Issuer: details.Issuer, - VerifiedName: details.VerifiedName, - LocalizedNames: localizedName, - IssueTime: details.IssueTime, - } -} -func EncodeVerifiedName(verifiedName *types.VerifiedName) *neonize.VerifiedName { - models := &neonize.VerifiedName{} - if verifiedName.Details != nil { - models.Details = EncodeVerifiedNameCertificate_Details(verifiedName.Details) - } - if verifiedName.Certificate != nil { - models.Certificate = EncodeVerifiedNameCertificate(verifiedName.Certificate) - } - return models -} -func EncodeIsOnWhatsApp(isOnWhatsApp types.IsOnWhatsAppResponse) *neonize.IsOnWhatsAppResponse { - model := &neonize.IsOnWhatsAppResponse{ - Query: &isOnWhatsApp.Query, - JID: EncodeJidProto(isOnWhatsApp.JID), - IsIn: &isOnWhatsApp.IsIn, - } - if isOnWhatsApp.VerifiedName != nil { - model.VerifiedName = EncodeVerifiedName(isOnWhatsApp.VerifiedName) - } - return model -} - -func EncodeUserInfo(userInfo types.UserInfo) *neonize.UserInfo { - devices := []*neonize.JID{} - for _, jid := range userInfo.Devices { - devices = append(devices, EncodeJidProto(jid)) - } - models := &neonize.UserInfo{ - Status: &userInfo.Status, - PictureID: &userInfo.PictureID, - Devices: devices, - } - if userInfo.VerifiedName != nil { - models.VerifiedName = EncodeVerifiedName(userInfo.VerifiedName) - } - return models -} -func EncodeMessageSource(messageSource types.MessageSource) *neonize.MessageSource { - return &neonize.MessageSource{ - Chat: EncodeJidProto(messageSource.Chat), - Sender: EncodeJidProto(messageSource.Sender), - IsFromMe: &messageSource.IsFromMe, - IsGroup: &messageSource.IsGroup, - BroadcastListOwner: EncodeJidProto(messageSource.BroadcastListOwner), - } -} -func EncodeDeviceSentMeta(deviceSentMeta *types.DeviceSentMeta) *neonize.DeviceSentMeta { - return &neonize.DeviceSentMeta{ - DestinationJID: &deviceSentMeta.DestinationJID, - Phash: &deviceSentMeta.Phash, - } -} -func EncodeMessageInfo(messageInfo types.MessageInfo) *neonize.MessageInfo { - model := &neonize.MessageInfo{ - MessageSource: EncodeMessageSource(messageInfo.MessageSource), - ID: &messageInfo.ID, - ServerID: proto.Int64(messageInfo.Timestamp.Unix()), - Type: &messageInfo.Type, - Pushname: &messageInfo.PushName, - Timestamp: proto.Int64(messageInfo.Timestamp.Unix()), - Category: &messageInfo.Category, - Multicast: &messageInfo.Multicast, - MediaType: &messageInfo.MediaType, - Edit: (*string)(&messageInfo.Edit), - } - if messageInfo.VerifiedName != nil { - model.VerifiedName = EncodeVerifiedName(messageInfo.VerifiedName) - } - if messageInfo.DeviceSentMeta != nil { - model.DeviceSentMeta = EncodeDeviceSentMeta(messageInfo.DeviceSentMeta) - } - return model -} - -func EncodeMessage(message *waProto.Message) *defproto.Message { - var neonizeMessage defproto.Message - encoded, err := proto.Marshal(message) - if err != nil { - panic(err) - } - err_decode := proto.Unmarshal(encoded, &neonizeMessage) - if err_decode != nil { - panic(err_decode) - } - return &neonizeMessage -} -func EncodeNewsLetterMessageMeta(newsLetter *events.NewsletterMessageMeta) *neonize.NewsLetterMessageMeta { - return &neonize.NewsLetterMessageMeta{ - EditTS: proto.Int64(int64(newsLetter.EditTS.Unix())), - OriginalTS: proto.Int64(int64(newsLetter.OriginalTS.Unix())), - } -} -func EncodeWebMessageInfo(sourceWebMsg *waProto.WebMessageInfo) *defproto.WebMessageInfo { - var sourcewebmsg defproto.WebMessageInfo - sourceWebBuf, err := proto.Marshal(sourceWebMsg) - if err != nil { - panic(err) - } - err_decoded := proto.Unmarshal(sourceWebBuf, &sourcewebmsg) - if err_decoded != nil { - panic(err) - } - return &sourcewebmsg - -} - -func EncodeEventTypesMessage(message *events.Message) *neonize.Message { - model := &neonize.Message{ - Info: EncodeMessageInfo(message.Info), - IsEphemeral: &message.IsEphemeral, - IsViewOnce: &message.IsViewOnce, - IsViewOnceV2: &message.IsViewOnceV2, - IsEdit: &message.IsEdit, - UnavailableRequestID: &message.UnavailableRequestID, - RetryCount: proto.Int64(int64(message.RetryCount)), - } - if message.NewsletterMeta != nil { - model.NewsLetterMeta = EncodeNewsLetterMessageMeta(message.NewsletterMeta) - } - if message.SourceWebMsg != nil { - model.SourceWebMsg = EncodeWebMessageInfo(message.SourceWebMsg) - } - if message.Message != nil { - model.Message = EncodeMessage(message.Message) - } - return model -} -func EncodeNewsletterText(newsletterText types.NewsletterText) *neonize.NewsletterText { - return &neonize.NewsletterText{ - Text: &newsletterText.Text, - ID: &newsletterText.ID, - UpdateTime: proto.Int64(newsletterText.UpdateTime.Unix()), - } -} -func EncodeWrappedNewsletterState(state types.WrappedNewsletterState) *neonize.WrappedNewsletterState { - var enum neonize.WrappedNewsletterState_NewsletterState - switch state.Type { - case types.NewsletterStateActive: - enum = neonize.WrappedNewsletterState_ACTIVE - case types.NewsletterStateSuspended: - enum = neonize.WrappedNewsletterState_SUSPENDED - case types.NewsletterStateGeoSuspended: - enum = neonize.WrappedNewsletterState_GEOSUSPENDED - } - return &neonize.WrappedNewsletterState{ - Type: &enum, - } -} -func EncodeProfilePictureInfo(profilePictureInfo types.ProfilePictureInfo) *neonize.ProfilePictureInfo { - return &neonize.ProfilePictureInfo{ - URL: &profilePictureInfo.URL, - ID: &profilePictureInfo.ID, - Type: &profilePictureInfo.Type, - DirectPath: &profilePictureInfo.DirectPath, - } -} -func EncodeNewsletterReactionSettings(reactionSettings types.NewsletterReactionSettings) *neonize.NewsletterReactionSettings { - var reactionMode neonize.NewsletterReactionSettings_NewsletterReactionsMode - switch reactionSettings.Value { - case types.NewsletterReactionsModeAll: - reactionMode = neonize.NewsletterReactionSettings_ALL - case types.NewsletterReactionsModeBasic: - reactionMode = neonize.NewsletterReactionSettings_BASIC - case types.NewsletterReactionsModeNone: - reactionMode = neonize.NewsletterReactionSettings_NONE - case types.NewsletterReactionsModeBlocklist: - reactionMode = neonize.NewsletterReactionSettings_BLOCKLIST - } - return &neonize.NewsletterReactionSettings{ - Value: &reactionMode, - } -} -func EncodeNewsletterSetting(settings types.NewsletterSettings) *neonize.NewsletterSetting { - return &neonize.NewsletterSetting{ - ReactionCodes: EncodeNewsletterReactionSettings(settings.ReactionCodes), - } -} -func EncodeNewsletterThreadMetadata(threadMetadata types.NewsletterThreadMetadata) *neonize.NewsletterThreadMetadata { - var state neonize.NewsletterThreadMetadata_NewsletterVerificationState - switch threadMetadata.VerificationState { - case types.NewsletterVerificationStateVerified: - state = neonize.NewsletterThreadMetadata_VERIFIED - case types.NewsletterVerificationStateUnverified: - state = neonize.NewsletterThreadMetadata_UNVERIFIED - } - metadata := neonize.NewsletterThreadMetadata{ - CreationTime: proto.Int64(threadMetadata.CreationTime.Unix()), - InviteCode: &threadMetadata.InviteCode, - Name: EncodeNewsletterText(threadMetadata.Name), - Description: EncodeNewsletterText(threadMetadata.Description), - SubscriberCount: proto.Int64(int64(threadMetadata.SubscriberCount)), - VerificationState: &state, - Preview: EncodeProfilePictureInfo(threadMetadata.Preview), - Settings: EncodeNewsletterSetting(threadMetadata.Settings), - } - if threadMetadata.Picture != nil { - metadata.Picture = EncodeProfilePictureInfo(*threadMetadata.Picture) - } - return &metadata -} -func EncodeNewsletterViewerMetadata(viewerMetadata *types.NewsletterViewerMetadata) *neonize.NewsletterViewerMetadata { - var mute neonize.NewsletterViewerMetadata_NewsletterMuteState - var role neonize.NewsletterViewerMetadata_NewsletterRole - switch viewerMetadata.Mute { - case types.NewsletterMuteOff: - mute = neonize.NewsletterViewerMetadata_OFF - case types.NewsletterMuteOn: - mute = neonize.NewsletterViewerMetadata_ON - } - switch viewerMetadata.Role { - case types.NewsletterRoleSubscriber: - role = neonize.NewsletterViewerMetadata_SUBSCRIBER - case types.NewsletterRoleGuest: - role = neonize.NewsletterViewerMetadata_GUEST - case types.NewsletterRoleAdmin: - role = neonize.NewsletterViewerMetadata_ADMIN - case types.NewsletterRoleOwner: - role = neonize.NewsletterViewerMetadata_OWNER - - } - return &neonize.NewsletterViewerMetadata{ - Mute: &mute, - Role: &role, - } -} -func EncodeNewsLetterMessageMetadata(metadata types.NewsletterMetadata) *neonize.NewsletterMetadata { - model := &neonize.NewsletterMetadata{ - ID: EncodeJidProto(metadata.ID), - State: EncodeWrappedNewsletterState(metadata.State), - ThreadMeta: EncodeNewsletterThreadMetadata(metadata.ThreadMeta), - } - if metadata.ViewerMeta != nil { - model.ViewerMeta = EncodeNewsletterViewerMetadata(metadata.ViewerMeta) - } - return model -} -func EncodeBlocklist(blocklist *types.Blocklist) *neonize.Blocklist { - JIDs := []*neonize.JID{} - for _, jid := range blocklist.JIDs { - JIDs = append(JIDs, EncodeJidProto(jid)) - } - return &neonize.Blocklist{ - DHash: &blocklist.DHash, - JIDs: JIDs, - } -} diff --git a/neonize/proto/Neonize_pb2.py b/neonize/proto/Neonize_pb2.py index ff395cf7..1fe965a1 100644 --- a/neonize/proto/Neonize_pb2.py +++ b/neonize/proto/Neonize_pb2.py @@ -1,146 +1,356 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: Neonize.proto -# Protobuf Python Version: 4.25.1 +# Protobuf Python Version: 6.32.1 """Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'Neonize.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import def_pb2 as def__pb2 +from waVnameCert import WAWebProtobufsVnameCert_pb2 as waVnameCert_dot_WAWebProtobufsVnameCert__pb2 +from waE2E import WAWebProtobufsE2E_pb2 as waE2E_dot_WAWebProtobufsE2E__pb2 +from waWeb import WAWebProtobufsWeb_pb2 as waWeb_dot_WAWebProtobufsWeb__pb2 +from waSyncAction import WASyncAction_pb2 as waSyncAction_dot_WASyncAction__pb2 +from waHistorySync import WAWebProtobufsHistorySync_pb2 as waHistorySync_dot_WAWebProtobufsHistorySync__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rNeonize.proto\x12\x07neonize\x1a\tdef.proto\"j\n\x03JID\x12\x0c\n\x04User\x18\x01 \x02(\t\x12\x10\n\x08RawAgent\x18\x02 \x02(\r\x12\x0e\n\x06\x44\x65vice\x18\x03 \x02(\r\x12\x12\n\nIntegrator\x18\x04 \x02(\r\x12\x0e\n\x06Server\x18\x05 \x02(\t\x12\x0f\n\x07IsEmpty\x18\x06 \x02(\x08\"\xb1\x02\n\x0bMessageInfo\x12-\n\rMessageSource\x18\x01 \x02(\x0b\x32\x16.neonize.MessageSource\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x10\n\x08ServerID\x18\x03 \x02(\x03\x12\x0c\n\x04Type\x18\x04 \x02(\t\x12\x10\n\x08Pushname\x18\x05 \x02(\t\x12\x11\n\tTimestamp\x18\x06 \x02(\x03\x12\x10\n\x08\x43\x61tegory\x18\x07 \x02(\t\x12\x11\n\tMulticast\x18\x08 \x02(\x08\x12\x11\n\tMediaType\x18\t \x02(\t\x12\x0c\n\x04\x45\x64it\x18\n \x02(\t\x12+\n\x0cVerifiedName\x18\x0b \x01(\x0b\x32\x15.neonize.VerifiedName\x12/\n\x0e\x44\x65viceSentMeta\x18\x0c \x01(\x0b\x32\x17.neonize.DeviceSentMeta\"\x92\x01\n\x0eUploadResponse\x12\x0b\n\x03url\x18\x01 \x02(\t\x12\x12\n\nDirectPath\x18\x02 \x02(\t\x12\x0e\n\x06Handle\x18\x03 \x02(\t\x12\x10\n\x08MediaKey\x18\x04 \x02(\x0c\x12\x15\n\rFileEncSHA256\x18\x05 \x02(\x0c\x12\x12\n\nFileSHA256\x18\x06 \x02(\x0c\x12\x12\n\nFileLength\x18\x07 \x02(\r\"\x96\x01\n\rMessageSource\x12\x1a\n\x04\x43hat\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x1c\n\x06Sender\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08IsFromMe\x18\x03 \x02(\x08\x12\x0f\n\x07IsGroup\x18\x04 \x02(\x08\x12(\n\x12\x42roadcastListOwner\x18\x05 \x02(\x0b\x32\x0c.neonize.JID\"7\n\x0e\x44\x65viceSentMeta\x12\x16\n\x0e\x44\x65stinationJID\x18\x01 \x02(\t\x12\r\n\x05Phash\x18\x02 \x02(\t\"\x82\x01\n\x0cVerifiedName\x12\x36\n\x0b\x43\x65rtificate\x18\x01 \x01(\x0b\x32!.defproto.VerifiedNameCertificate\x12:\n\x07\x44\x65tails\x18\x02 \x01(\x0b\x32).defproto.VerifiedNameCertificate.Details\"{\n\x14IsOnWhatsAppResponse\x12\r\n\x05Query\x18\x01 \x02(\t\x12\x19\n\x03JID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04IsIn\x18\x03 \x02(\x08\x12+\n\x0cVerifiedName\x18\x04 \x01(\x0b\x32\x15.neonize.VerifiedName\"y\n\x08UserInfo\x12+\n\x0cVerifiedName\x18\x01 \x01(\x0b\x32\x15.neonize.VerifiedName\x12\x0e\n\x06Status\x18\x02 \x02(\t\x12\x11\n\tPictureID\x18\x03 \x02(\t\x12\x1d\n\x07\x44\x65vices\x18\x04 \x03(\x0b\x32\x0c.neonize.JID\"s\n\x06\x44\x65vice\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08Platform\x18\x02 \x02(\t\x12\x15\n\rBussinessName\x18\x03 \x02(\t\x12\x10\n\x08PushName\x18\x04 \x02(\t\x12\x13\n\x0bInitialized\x18\x05 \x02(\x08\"M\n\tGroupName\x12\x0c\n\x04Name\x18\x01 \x02(\t\x12\x11\n\tNameSetAt\x18\x02 \x02(\x03\x12\x1f\n\tNameSetBy\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\"x\n\nGroupTopic\x12\r\n\x05Topic\x18\x01 \x02(\t\x12\x0f\n\x07TopicID\x18\x02 \x02(\t\x12\x12\n\nTopicSetAt\x18\x03 \x02(\x03\x12 \n\nTopicSetBy\x18\x04 \x02(\x0b\x32\x0c.neonize.JID\x12\x14\n\x0cTopicDeleted\x18\x05 \x02(\x08\"\x1f\n\x0bGroupLocked\x12\x10\n\x08isLocked\x18\x01 \x02(\x08\">\n\rGroupAnnounce\x12\x12\n\nIsAnnounce\x18\x01 \x02(\x08\x12\x19\n\x11\x41nnounceVersionID\x18\x02 \x02(\t\"@\n\x0eGroupEphemeral\x12\x13\n\x0bIsEphemeral\x18\x01 \x02(\x08\x12\x19\n\x11\x44isappearingTimer\x18\x02 \x02(\r\"%\n\x0eGroupIncognito\x12\x13\n\x0bIsIncognito\x18\x01 \x02(\x08\"F\n\x0bGroupParent\x12\x10\n\x08IsParent\x18\x01 \x02(\x08\x12%\n\x1d\x44\x65\x66\x61ultMembershipApprovalMode\x18\x02 \x02(\t\":\n\x11GroupLinkedParent\x12%\n\x0fLinkedParentJID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\".\n\x11GroupIsDefaultSub\x12\x19\n\x11IsDefaultSubGroup\x18\x01 \x02(\x08\">\n\x1aGroupParticipantAddRequest\x12\x0c\n\x04\x43ode\x18\x01 \x02(\t\x12\x12\n\nExpiration\x18\x02 \x02(\x02\"\xcc\x01\n\x10GroupParticipant\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03LID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x0f\n\x07IsAdmin\x18\x03 \x02(\x08\x12\x14\n\x0cIsSuperAdmin\x18\x04 \x02(\x08\x12\x13\n\x0b\x44isplayName\x18\x05 \x02(\t\x12\r\n\x05\x45rror\x18\x06 \x02(\x05\x12\x37\n\nAddRequest\x18\x07 \x01(\x0b\x32#.neonize.GroupParticipantAddRequest\"\x83\x05\n\tGroupInfo\x12\x1e\n\x08OwnerJID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12%\n\tGroupName\x18\x03 \x02(\x0b\x32\x12.neonize.GroupName\x12\'\n\nGroupTopic\x18\x04 \x02(\x0b\x32\x13.neonize.GroupTopic\x12)\n\x0bGroupLocked\x18\x05 \x02(\x0b\x32\x14.neonize.GroupLocked\x12-\n\rGroupAnnounce\x18\x06 \x02(\x0b\x32\x16.neonize.GroupAnnounce\x12/\n\x0eGroupEphemeral\x18\x07 \x02(\x0b\x32\x17.neonize.GroupEphemeral\x12/\n\x0eGroupIncognito\x18\x08 \x02(\x0b\x32\x17.neonize.GroupIncognito\x12)\n\x0bGroupParent\x18\t \x02(\x0b\x32\x14.neonize.GroupParent\x12\x35\n\x11GroupLinkedParent\x18\n \x02(\x0b\x32\x1a.neonize.GroupLinkedParent\x12\x35\n\x11GroupIsDefaultSub\x18\x0b \x02(\x0b\x32\x1a.neonize.GroupIsDefaultSub\x12\x14\n\x0cGroupCreated\x18\x0c \x02(\x02\x12\x1c\n\x14ParticipantVersionID\x18\r \x02(\t\x12/\n\x0cParticipants\x18\x0e \x03(\x0b\x32\x19.neonize.GroupParticipant\"1\n\x12GroupMemberAddMode\x12\x1b\n\x17GroupMemberAddModeAdmin\x10\x01\"\xb8\x01\n\x13MessageDebugTimings\x12\r\n\x05Queue\x18\x01 \x02(\x03\x12\x0f\n\x07Marshal\x18\x02 \x02(\x03\x12\x17\n\x0fGetParticipants\x18\x03 \x02(\x03\x12\x12\n\nGetDevices\x18\x04 \x02(\x03\x12\x14\n\x0cGroupEncrypt\x18\x05 \x02(\x03\x12\x13\n\x0bPeerEncrypt\x18\x06 \x02(\x03\x12\x0c\n\x04Send\x18\x07 \x02(\x03\x12\x0c\n\x04Resp\x18\x08 \x02(\x03\x12\r\n\x05Retry\x18\t \x02(\x03\"s\n\x0cSendResponse\x12\x11\n\tTimestamp\x18\x01 \x02(\x03\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x10\n\x08ServerID\x18\x03 \x02(\x03\x12\x32\n\x0c\x44\x65\x62ugTimings\x18\x04 \x02(\x0b\x32\x1c.neonize.MessageDebugTimings\"W\n\x19SendMessageReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12+\n\x0cSendResponse\x18\x02 \x01(\x0b\x32\x15.neonize.SendResponse\"R\n\x1aGetGroupInfoReturnFunction\x12%\n\tGroupInfo\x18\x01 \x01(\x0b\x32\x12.neonize.GroupInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"K\n\x1fJoinGroupWithLinkReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12\x19\n\x03Jid\x18\x02 \x01(\x0b\x32\x0c.neonize.JID\"E\n GetGroupInviteLinkReturnFunction\x12\x12\n\nInviteLink\x18\x01 \x01(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"7\n\x16\x44ownloadReturnFunction\x12\x0e\n\x06\x42inary\x18\x01 \x01(\x0c\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"V\n\x14UploadReturnFunction\x12/\n\x0eUploadResponse\x18\x01 \x01(\x0b\x32\x17.neonize.UploadResponse\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"?\n\x1bSetGroupPhotoReturnFunction\x12\x11\n\tPictureID\x18\x01 \x02(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n\x1aIsOnWhatsAppReturnFunction\x12;\n\x14IsOnWhatsAppResponse\x18\x01 \x03(\x0b\x32\x1d.neonize.IsOnWhatsAppResponse\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"a\n\x1fGetUserInfoSingleReturnFunction\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12#\n\x08UserInfo\x18\x02 \x01(\x0b\x32\x11.neonize.UserInfo\"g\n\x19GetUserInfoReturnFunction\x12;\n\tUsersInfo\x18\x01 \x03(\x0b\x32(.neonize.GetUserInfoSingleReturnFunction\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"Q\n\x1b\x42uildPollVoteReturnFunction\x12#\n\x08PollVote\x18\x01 \x01(\x0b\x32\x11.defproto.Message\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n\x1e\x43reateNewsLetterReturnFunction\x12\x37\n\x12NewsletterMetadata\x18\x01 \x01(\x0b\x32\x1b.neonize.NewsletterMetadata\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"R\n\x1aGetBlocklistReturnFunction\x12%\n\tBlocklist\x18\x01 \x01(\x0b\x32\x12.neonize.Blocklist\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"=\n\x1eGetContactQRLinkReturnFunction\x12\x0c\n\x04Link\x18\x01 \x02(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"^\n)GetGroupRequestParticipantsReturnFunction\x12\"\n\x0cParticipants\x18\x01 \x03(\x0b\x32\x0c.neonize.JID\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"Q\n\x1dGetJoinedGroupsReturnFunction\x12!\n\x05Group\x18\x01 \x03(\x0b\x32\x12.neonize.GroupInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\xb7\x01\n\x0eReqCreateGroup\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\"\n\x0cParticipants\x18\x02 \x03(\x0b\x32\x0c.neonize.JID\x12\x11\n\tCreateKey\x18\x03 \x02(\t\x12)\n\x0bGroupParent\x18\x04 \x01(\x0b\x32\x14.neonize.GroupParent\x12\x35\n\x11GroupLinkedParent\x18\x05 \x01(\x0b\x32\x1a.neonize.GroupLinkedParent\"&\n\x08JIDArray\x12\x1a\n\x04JIDS\x18\x01 \x03(\x0b\x32\x0c.neonize.JID\"\x1b\n\x0b\x41rrayString\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\t\";\n\x15NewsLetterMessageMeta\x12\x0e\n\x06\x45\x64itTS\x18\x01 \x02(\x03\x12\x12\n\nOriginalTS\x18\x02 \x02(\x03\"\xba\x02\n\x07Message\x12\"\n\x04Info\x18\x01 \x02(\x0b\x32\x14.neonize.MessageInfo\x12\"\n\x07Message\x18\x02 \x01(\x0b\x32\x11.defproto.Message\x12\x13\n\x0bIsEphemeral\x18\x03 \x02(\x08\x12\x12\n\nIsViewOnce\x18\x04 \x02(\x08\x12\x14\n\x0cIsViewOnceV2\x18\x05 \x02(\x08\x12\x0e\n\x06IsEdit\x18\x06 \x02(\x08\x12.\n\x0cSourceWebMsg\x18\x07 \x01(\x0b\x32\x18.defproto.WebMessageInfo\x12\x1c\n\x14UnavailableRequestID\x18\x08 \x02(\t\x12\x12\n\nRetryCount\x18\t \x02(\x03\x12\x36\n\x0eNewsLetterMeta\x18\n \x01(\x0b\x32\x1e.neonize.NewsLetterMessageMeta\"L\n\x16\x43reateNewsletterParams\x12\x0c\n\x04Name\x18\x01 \x02(\t\x12\x13\n\x0b\x44\x65scription\x18\x02 \x02(\t\x12\x0f\n\x07Picture\x18\x03 \x02(\x0c\"\x97\x01\n\x16WrappedNewsletterState\x12=\n\x04Type\x18\x01 \x02(\x0e\x32/.neonize.WrappedNewsletterState.NewsletterState\">\n\x0fNewsletterState\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\r\n\tSUSPENDED\x10\x02\x12\x10\n\x0cGEOSUSPENDED\x10\x03\">\n\x0eNewsletterText\x12\x0c\n\x04Text\x18\x01 \x02(\t\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x12\n\nUpdateTime\x18\x03 \x02(\x03\"O\n\x12ProfilePictureInfo\x12\x0b\n\x03URL\x18\x01 \x02(\t\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x0c\n\x04Type\x18\x03 \x02(\t\x12\x12\n\nDirectPath\x18\x04 \x02(\t\"\xb0\x01\n\x1aNewsletterReactionSettings\x12J\n\x05Value\x18\x01 \x02(\x0e\x32;.neonize.NewsletterReactionSettings.NewsletterReactionsMode\"F\n\x17NewsletterReactionsMode\x12\x07\n\x03\x41LL\x10\x01\x12\t\n\x05\x42\x41SIC\x10\x02\x12\x08\n\x04NONE\x10\x03\x12\r\n\tBLOCKLIST\x10\x04\"O\n\x11NewsletterSetting\x12:\n\rReactionCodes\x18\x01 \x02(\x0b\x32#.neonize.NewsletterReactionSettings\"\xd3\x03\n\x18NewsletterThreadMetadata\x12\x14\n\x0c\x43reationTime\x18\x01 \x02(\x03\x12\x12\n\nInviteCode\x18\x02 \x02(\t\x12%\n\x04Name\x18\x03 \x02(\x0b\x32\x17.neonize.NewsletterText\x12,\n\x0b\x44\x65scription\x18\x04 \x02(\x0b\x32\x17.neonize.NewsletterText\x12\x17\n\x0fSubscriberCount\x18\x05 \x02(\x03\x12X\n\x11VerificationState\x18\x06 \x02(\x0e\x32=.neonize.NewsletterThreadMetadata.NewsletterVerificationState\x12,\n\x07Picture\x18\x07 \x01(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12,\n\x07Preview\x18\x08 \x02(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12,\n\x08Settings\x18\t \x02(\x0b\x32\x1a.neonize.NewsletterSetting\";\n\x1bNewsletterVerificationState\x12\x0c\n\x08VERIFIED\x10\x01\x12\x0e\n\nUNVERIFIED\x10\x02\"\x8a\x02\n\x18NewsletterViewerMetadata\x12\x43\n\x04Mute\x18\x01 \x02(\x0e\x32\x35.neonize.NewsletterViewerMetadata.NewsletterMuteState\x12>\n\x04Role\x18\x02 \x02(\x0e\x32\x30.neonize.NewsletterViewerMetadata.NewsletterRole\"&\n\x13NewsletterMuteState\x12\x06\n\x02ON\x10\x01\x12\x07\n\x03OFF\x10\x02\"A\n\x0eNewsletterRole\x12\x0e\n\nSUBSCRIBER\x10\x01\x12\t\n\x05GUEST\x10\x02\x12\t\n\x05\x41\x44MIN\x10\x03\x12\t\n\x05OWNER\x10\x04\"\xcc\x01\n\x12NewsletterMetadata\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12.\n\x05State\x18\x02 \x02(\x0b\x32\x1f.neonize.WrappedNewsletterState\x12\x35\n\nThreadMeta\x18\x03 \x02(\x0b\x32!.neonize.NewsletterThreadMetadata\x12\x35\n\nViewerMeta\x18\x04 \x01(\x0b\x32!.neonize.NewsletterViewerMetadata\"6\n\tBlocklist\x12\r\n\x05\x44Hash\x18\x01 \x02(\t\x12\x1a\n\x04JIDs\x18\x02 \x03(\x0b\x32\x0c.neonize.JIDB\x0bZ\t./neonize') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rNeonize.proto\x12\x07neonize\x1a)waVnameCert/WAWebProtobufsVnameCert.proto\x1a\x1dwaE2E/WAWebProtobufsE2E.proto\x1a\x1dwaWeb/WAWebProtobufsWeb.proto\x1a\x1fwaSyncAction/WASyncAction.proto\x1a-waHistorySync/WAWebProtobufsHistorySync.proto\"q\n\x03JID\x12\x0c\n\x04User\x18\x01 \x02(\t\x12\x10\n\x08RawAgent\x18\x02 \x02(\r\x12\x0e\n\x06\x44\x65vice\x18\x03 \x02(\r\x12\x12\n\nIntegrator\x18\x04 \x02(\r\x12\x0e\n\x06Server\x18\x05 \x02(\t\x12\x16\n\x07IsEmpty\x18\x06 \x01(\x08:\x05\x66\x61lse\"\xb1\x02\n\x0bMessageInfo\x12-\n\rMessageSource\x18\x01 \x02(\x0b\x32\x16.neonize.MessageSource\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x10\n\x08ServerID\x18\x03 \x02(\x03\x12\x0c\n\x04Type\x18\x04 \x02(\t\x12\x10\n\x08Pushname\x18\x05 \x02(\t\x12\x11\n\tTimestamp\x18\x06 \x02(\x03\x12\x10\n\x08\x43\x61tegory\x18\x07 \x02(\t\x12\x11\n\tMulticast\x18\x08 \x02(\x08\x12\x11\n\tMediaType\x18\t \x02(\t\x12\x0c\n\x04\x45\x64it\x18\n \x02(\t\x12+\n\x0cVerifiedName\x18\x0b \x01(\x0b\x32\x15.neonize.VerifiedName\x12/\n\x0e\x44\x65viceSentMeta\x18\x0c \x01(\x0b\x32\x17.neonize.DeviceSentMeta\"\x92\x01\n\x0eUploadResponse\x12\x0b\n\x03url\x18\x01 \x02(\t\x12\x12\n\nDirectPath\x18\x02 \x02(\t\x12\x0e\n\x06Handle\x18\x03 \x02(\t\x12\x10\n\x08MediaKey\x18\x04 \x02(\x0c\x12\x15\n\rFileEncSHA256\x18\x05 \x02(\x0c\x12\x12\n\nFileSHA256\x18\x06 \x02(\x0c\x12\x12\n\nFileLength\x18\x07 \x02(\r\"I\n\x12\x42roadcastRecipient\x12\x19\n\x03LID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x18\n\x02PN\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\"\xc6\x02\n\rMessageSource\x12\x1a\n\x04\x43hat\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x1c\n\x06Sender\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08IsFromMe\x18\x03 \x02(\x08\x12\x0f\n\x07IsGroup\x18\x04 \x02(\x08\x12/\n\x0e\x41\x64\x64ressingMode\x18\x05 \x01(\x0e\x32\x17.neonize.AddressingMode\x12\x1f\n\tSenderAlt\x18\x06 \x02(\x0b\x32\x0c.neonize.JID\x12\"\n\x0cRecipientAlt\x18\x07 \x02(\x0b\x32\x0c.neonize.JID\x12(\n\x12\x42roadcastListOwner\x18\x08 \x02(\x0b\x32\x0c.neonize.JID\x12\x38\n\x13\x42roadcastRecipients\x18\t \x03(\x0b\x32\x1b.neonize.BroadcastRecipient\"7\n\x0e\x44\x65viceSentMeta\x12\x16\n\x0e\x44\x65stinationJID\x18\x01 \x02(\t\x12\r\n\x05Phash\x18\x02 \x02(\t\"\xa0\x01\n\x0cVerifiedName\x12\x45\n\x0b\x43\x65rtificate\x18\x01 \x01(\x0b\x32\x30.WAWebProtobufsVnameCert.VerifiedNameCertificate\x12I\n\x07\x44\x65tails\x18\x02 \x01(\x0b\x32\x38.WAWebProtobufsVnameCert.VerifiedNameCertificate.Details\"{\n\x14IsOnWhatsAppResponse\x12\r\n\x05Query\x18\x01 \x02(\t\x12\x19\n\x03JID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04IsIn\x18\x03 \x02(\x08\x12+\n\x0cVerifiedName\x18\x04 \x01(\x0b\x32\x15.neonize.VerifiedName\"y\n\x08UserInfo\x12+\n\x0cVerifiedName\x18\x01 \x01(\x0b\x32\x15.neonize.VerifiedName\x12\x0e\n\x06Status\x18\x02 \x02(\t\x12\x11\n\tPictureID\x18\x03 \x02(\t\x12\x1d\n\x07\x44\x65vices\x18\x04 \x03(\x0b\x32\x0c.neonize.JID\"\x8e\x01\n\x06\x44\x65vice\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03LID\x18\x02 \x01(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08Platform\x18\x03 \x02(\t\x12\x15\n\rBussinessName\x18\x04 \x02(\t\x12\x10\n\x08PushName\x18\x05 \x02(\t\x12\x13\n\x0bInitialized\x18\x06 \x02(\x08\"M\n\tGroupName\x12\x0c\n\x04Name\x18\x01 \x02(\t\x12\x11\n\tNameSetAt\x18\x02 \x02(\x03\x12\x1f\n\tNameSetBy\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\"x\n\nGroupTopic\x12\r\n\x05Topic\x18\x01 \x02(\t\x12\x0f\n\x07TopicID\x18\x02 \x02(\t\x12\x12\n\nTopicSetAt\x18\x03 \x02(\x03\x12 \n\nTopicSetBy\x18\x04 \x02(\x0b\x32\x0c.neonize.JID\x12\x14\n\x0cTopicDeleted\x18\x05 \x02(\x08\"\x1f\n\x0bGroupLocked\x12\x10\n\x08isLocked\x18\x01 \x02(\x08\">\n\rGroupAnnounce\x12\x12\n\nIsAnnounce\x18\x01 \x02(\x08\x12\x19\n\x11\x41nnounceVersionID\x18\x02 \x02(\t\"@\n\x0eGroupEphemeral\x12\x13\n\x0bIsEphemeral\x18\x01 \x02(\x08\x12\x19\n\x11\x44isappearingTimer\x18\x02 \x02(\r\"%\n\x0eGroupIncognito\x12\x13\n\x0bIsIncognito\x18\x01 \x02(\x08\"F\n\x0bGroupParent\x12\x10\n\x08IsParent\x18\x01 \x02(\x08\x12%\n\x1d\x44\x65\x66\x61ultMembershipApprovalMode\x18\x02 \x02(\t\":\n\x11GroupLinkedParent\x12%\n\x0fLinkedParentJID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\".\n\x11GroupIsDefaultSub\x12\x19\n\x11IsDefaultSubGroup\x18\x01 \x02(\x08\">\n\x1aGroupParticipantAddRequest\x12\x0c\n\x04\x43ode\x18\x01 \x02(\t\x12\x12\n\nExpiration\x18\x02 \x02(\x02\"\xef\x01\n\x10GroupParticipant\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03LID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12!\n\x0bPhoneNumber\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\x12\x0f\n\x07IsAdmin\x18\x04 \x02(\x08\x12\x14\n\x0cIsSuperAdmin\x18\x05 \x02(\x08\x12\x13\n\x0b\x44isplayName\x18\x06 \x02(\t\x12\r\n\x05\x45rror\x18\x07 \x02(\x05\x12\x37\n\nAddRequest\x18\x08 \x01(\x0b\x32#.neonize.GroupParticipantAddRequest\"\xa2\x05\n\tGroupInfo\x12\x1e\n\x08OwnerJID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x1d\n\x07OwnerPN\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\x12%\n\tGroupName\x18\x04 \x02(\x0b\x32\x12.neonize.GroupName\x12\'\n\nGroupTopic\x18\x05 \x02(\x0b\x32\x13.neonize.GroupTopic\x12)\n\x0bGroupLocked\x18\x06 \x02(\x0b\x32\x14.neonize.GroupLocked\x12-\n\rGroupAnnounce\x18\x07 \x02(\x0b\x32\x16.neonize.GroupAnnounce\x12/\n\x0eGroupEphemeral\x18\x08 \x02(\x0b\x32\x17.neonize.GroupEphemeral\x12/\n\x0eGroupIncognito\x18\t \x02(\x0b\x32\x17.neonize.GroupIncognito\x12)\n\x0bGroupParent\x18\n \x02(\x0b\x32\x14.neonize.GroupParent\x12\x35\n\x11GroupLinkedParent\x18\x0b \x02(\x0b\x32\x1a.neonize.GroupLinkedParent\x12\x35\n\x11GroupIsDefaultSub\x18\x0c \x02(\x0b\x32\x1a.neonize.GroupIsDefaultSub\x12\x14\n\x0cGroupCreated\x18\r \x02(\x02\x12\x1c\n\x14ParticipantVersionID\x18\x0e \x02(\t\x12/\n\x0cParticipants\x18\x0f \x03(\x0b\x32\x19.neonize.GroupParticipant\"1\n\x12GroupMemberAddMode\x12\x1b\n\x17GroupMemberAddModeAdmin\x10\x01\"\xb8\x01\n\x13MessageDebugTimings\x12\r\n\x05Queue\x18\x01 \x02(\x03\x12\x0f\n\x07Marshal\x18\x02 \x02(\x03\x12\x17\n\x0fGetParticipants\x18\x03 \x02(\x03\x12\x12\n\nGetDevices\x18\x04 \x02(\x03\x12\x14\n\x0cGroupEncrypt\x18\x05 \x02(\x03\x12\x13\n\x0bPeerEncrypt\x18\x06 \x02(\x03\x12\x0c\n\x04Send\x18\x07 \x02(\x03\x12\x0c\n\x04Resp\x18\x08 \x02(\x03\x12\r\n\x05Retry\x18\t \x02(\x03\"\xa0\x01\n\x0cSendResponse\x12\x11\n\tTimestamp\x18\x01 \x02(\x03\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x10\n\x08ServerID\x18\x03 \x02(\x03\x12\x32\n\x0c\x44\x65\x62ugTimings\x18\x04 \x02(\x0b\x32\x1c.neonize.MessageDebugTimings\x12+\n\x07Message\x18\x05 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"W\n\x19SendMessageReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12+\n\x0cSendResponse\x18\x02 \x01(\x0b\x32\x15.neonize.SendResponse\"R\n\x1aGetGroupInfoReturnFunction\x12%\n\tGroupInfo\x18\x01 \x01(\x0b\x32\x12.neonize.GroupInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"K\n\x1fJoinGroupWithLinkReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12\x19\n\x03Jid\x18\x02 \x01(\x0b\x32\x0c.neonize.JID\"I\n\x1dGetJIDFromStoreReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12\x19\n\x03Jid\x18\x02 \x01(\x0b\x32\x0c.neonize.JID\"E\n GetGroupInviteLinkReturnFunction\x12\x12\n\nInviteLink\x18\x01 \x01(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"7\n\x16\x44ownloadReturnFunction\x12\x0e\n\x06\x42inary\x18\x01 \x01(\x0c\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"V\n\x14UploadReturnFunction\x12/\n\x0eUploadResponse\x18\x01 \x01(\x0b\x32\x17.neonize.UploadResponse\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"?\n\x1bSetGroupPhotoReturnFunction\x12\x11\n\tPictureID\x18\x01 \x02(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n\x1aIsOnWhatsAppReturnFunction\x12;\n\x14IsOnWhatsAppResponse\x18\x01 \x03(\x0b\x32\x1d.neonize.IsOnWhatsAppResponse\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"a\n\x1fGetUserInfoSingleReturnFunction\x12\x19\n\x03JID\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12#\n\x08UserInfo\x18\x02 \x01(\x0b\x32\x11.neonize.UserInfo\"g\n\x19GetUserInfoReturnFunction\x12;\n\tUsersInfo\x18\x01 \x03(\x0b\x32(.neonize.GetUserInfoSingleReturnFunction\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"Z\n\x1b\x42uildPollVoteReturnFunction\x12,\n\x08PollVote\x18\x01 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n\x1e\x43reateNewsLetterReturnFunction\x12\x37\n\x12NewsletterMetadata\x18\x01 \x01(\x0b\x32\x1b.neonize.NewsletterMetadata\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"R\n\x1aGetBlocklistReturnFunction\x12%\n\tBlocklist\x18\x01 \x01(\x0b\x32\x12.neonize.Blocklist\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"=\n\x1eGetContactQRLinkReturnFunction\x12\x0c\n\x04Link\x18\x01 \x02(\t\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"L\n\x17GroupParticipantRequest\x12!\n\x0bParticipant\x18\x01 \x01(\x0b\x32\x0c.neonize.JID\x12\x0e\n\x06TimeAt\x18\x02 \x01(\x04\"r\n)GetGroupRequestParticipantsReturnFunction\x12\x36\n\x0cParticipants\x18\x01 \x03(\x0b\x32 .neonize.GroupParticipantRequest\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"Q\n\x1dGetJoinedGroupsReturnFunction\x12!\n\x05Group\x18\x01 \x03(\x0b\x32\x12.neonize.GroupInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\xb7\x01\n\x0eReqCreateGroup\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\"\n\x0cParticipants\x18\x02 \x03(\x0b\x32\x0c.neonize.JID\x12\x11\n\tCreateKey\x18\x03 \x02(\t\x12)\n\x0bGroupParent\x18\x04 \x01(\x0b\x32\x14.neonize.GroupParent\x12\x35\n\x11GroupLinkedParent\x18\x05 \x01(\x0b\x32\x1a.neonize.GroupLinkedParent\"&\n\x08JIDArray\x12\x1a\n\x04JIDS\x18\x01 \x03(\x0b\x32\x0c.neonize.JID\"\x1b\n\x0b\x41rrayString\x12\x0c\n\x04\x64\x61ta\x18\x01 \x03(\t\";\n\x15NewsLetterMessageMeta\x12\x0e\n\x06\x45\x64itTS\x18\x01 \x02(\x03\x12\x12\n\nOriginalTS\x18\x02 \x02(\x03\"5\n\x0bGroupDelete\x12\x0f\n\x07\x44\x65leted\x18\x01 \x02(\x08\x12\x15\n\rDeletedReason\x18\x02 \x02(\t\"\xcc\x03\n\x07Message\x12\"\n\x04Info\x18\x01 \x02(\x0b\x32\x14.neonize.MessageInfo\x12+\n\x07Message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x13\n\x0bIsEphemeral\x18\x03 \x02(\x08\x12\x12\n\nIsViewOnce\x18\x04 \x02(\x08\x12\x14\n\x0cIsViewOnceV2\x18\x05 \x02(\x08\x12\x1d\n\x15IsViewOnceV2Extension\x18\x06 \x02(\x08\x12\x1d\n\x15IsDocumentWithCaption\x18\x07 \x02(\x08\x12\x17\n\x0fIsLottieSticker\x18\x08 \x02(\x08\x12\x0e\n\x06IsEdit\x18\t \x02(\x08\x12\x37\n\x0cSourceWebMsg\x18\n \x01(\x0b\x32!.WAWebProtobufsWeb.WebMessageInfo\x12\x1c\n\x14UnavailableRequestID\x18\x0b \x02(\t\x12\x12\n\nRetryCount\x18\x0c \x02(\x03\x12\x36\n\x0eNewsLetterMeta\x18\r \x01(\x0b\x32\x1e.neonize.NewsLetterMessageMeta\x12\'\n\x03Raw\x18\x0e \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"L\n\x16\x43reateNewsletterParams\x12\x0c\n\x04Name\x18\x01 \x02(\t\x12\x13\n\x0b\x44\x65scription\x18\x02 \x02(\t\x12\x0f\n\x07Picture\x18\x03 \x02(\x0c\"\x97\x01\n\x16WrappedNewsletterState\x12=\n\x04Type\x18\x01 \x02(\x0e\x32/.neonize.WrappedNewsletterState.NewsletterState\">\n\x0fNewsletterState\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\r\n\tSUSPENDED\x10\x02\x12\x10\n\x0cGEOSUSPENDED\x10\x03\">\n\x0eNewsletterText\x12\x0c\n\x04Text\x18\x01 \x02(\t\x12\n\n\x02ID\x18\x02 \x02(\t\x12\x12\n\nUpdateTime\x18\x03 \x02(\x03\"]\n\x12ProfilePictureInfo\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\n\n\x02ID\x18\x02 \x01(\t\x12\x0c\n\x04Type\x18\x03 \x01(\t\x12\x12\n\nDirectPath\x18\x04 \x01(\t\x12\x0c\n\x04Hash\x18\x05 \x01(\x0c\"\xb0\x01\n\x1aNewsletterReactionSettings\x12J\n\x05Value\x18\x01 \x02(\x0e\x32;.neonize.NewsletterReactionSettings.NewsletterReactionsMode\"F\n\x17NewsletterReactionsMode\x12\x07\n\x03\x41LL\x10\x01\x12\t\n\x05\x42\x41SIC\x10\x02\x12\x08\n\x04NONE\x10\x03\x12\r\n\tBLOCKLIST\x10\x04\"O\n\x11NewsletterSetting\x12:\n\rReactionCodes\x18\x01 \x02(\x0b\x32#.neonize.NewsletterReactionSettings\"\xd3\x03\n\x18NewsletterThreadMetadata\x12\x14\n\x0c\x43reationTime\x18\x01 \x02(\x03\x12\x12\n\nInviteCode\x18\x02 \x02(\t\x12%\n\x04Name\x18\x03 \x02(\x0b\x32\x17.neonize.NewsletterText\x12,\n\x0b\x44\x65scription\x18\x04 \x02(\x0b\x32\x17.neonize.NewsletterText\x12\x17\n\x0fSubscriberCount\x18\x05 \x02(\x03\x12X\n\x11VerificationState\x18\x06 \x02(\x0e\x32=.neonize.NewsletterThreadMetadata.NewsletterVerificationState\x12,\n\x07Picture\x18\x07 \x01(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12,\n\x07Preview\x18\x08 \x02(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12,\n\x08Settings\x18\t \x02(\x0b\x32\x1a.neonize.NewsletterSetting\";\n\x1bNewsletterVerificationState\x12\x0c\n\x08VERIFIED\x10\x01\x12\x0e\n\nUNVERIFIED\x10\x02\"m\n\x18NewsletterViewerMetadata\x12*\n\x04Mute\x18\x01 \x02(\x0e\x32\x1c.neonize.NewsletterMuteState\x12%\n\x04Role\x18\x02 \x02(\x0e\x32\x17.neonize.NewsletterRole\"\xcc\x01\n\x12NewsletterMetadata\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12.\n\x05State\x18\x02 \x02(\x0b\x32\x1f.neonize.WrappedNewsletterState\x12\x35\n\nThreadMeta\x18\x03 \x02(\x0b\x32!.neonize.NewsletterThreadMetadata\x12\x35\n\nViewerMeta\x18\x04 \x01(\x0b\x32!.neonize.NewsletterViewerMetadata\"6\n\tBlocklist\x12\r\n\x05\x44Hash\x18\x01 \x02(\t\x12\x1a\n\x04JIDs\x18\x02 \x03(\x0b\x32\x0c.neonize.JID\"\'\n\x08Reaction\x12\x0c\n\x04type\x18\x01 \x02(\t\x12\r\n\x05\x63ount\x18\x02 \x02(\x03\"\x98\x01\n\x11NewsletterMessage\x12\x17\n\x0fMessageServerID\x18\x01 \x02(\x03\x12\x12\n\nViewsCount\x18\x02 \x02(\x03\x12)\n\x0eReactionCounts\x18\x03 \x03(\x0b\x32\x11.neonize.Reaction\x12+\n\x07Message\x18\x04 \x02(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"p\n(GetNewsletterMessageUpdateReturnFunction\x12\x35\n\x11NewsletterMessage\x18\x01 \x03(\x0b\x32\x1a.neonize.NewsletterMessage\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\xa5\x04\n\x0fPrivacySettings\x12\x39\n\x08GroupAdd\x18\x01 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x39\n\x08LastSeen\x18\x02 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x37\n\x06Status\x18\x03 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x38\n\x07Profile\x18\x04 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12=\n\x0cReadReceipts\x18\x05 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x38\n\x07\x43\x61llAdd\x18\x06 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\x12\x37\n\x06Online\x18\x07 \x02(\x0e\x32\'.neonize.PrivacySettings.PrivacySetting\"w\n\x0ePrivacySetting\x12\r\n\tUNDEFINED\x10\x01\x12\x07\n\x03\x41LL\x10\x02\x12\x0c\n\x08\x43ONTACTS\x10\x03\x12\x15\n\x11\x43ONTACT_BLACKLIST\x10\x04\x12\x13\n\x0fMATCH_LAST_SEEN\x10\x05\x12\t\n\x05KNOWN\x10\x06\x12\x08\n\x04NONE\x10\x07\"u\n\tNodeAttrs\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\x11\n\x07\x62oolean\x18\x02 \x01(\x08H\x00\x12\x11\n\x07integer\x18\x03 \x01(\x03H\x00\x12\x0e\n\x04text\x18\x04 \x01(\tH\x00\x12\x1b\n\x03jid\x18\x05 \x01(\x0b\x32\x0c.neonize.JIDH\x00\x42\x07\n\x05Value\"w\n\x04Node\x12\x0b\n\x03Tag\x18\x01 \x02(\t\x12!\n\x05\x41ttrs\x18\x02 \x03(\x0b\x32\x12.neonize.NodeAttrs\x12\x1c\n\x05Nodes\x18\x03 \x03(\x0b\x32\r.neonize.Node\x12\x12\n\x03Nil\x18\x04 \x01(\x08:\x05\x66\x61lse\x12\r\n\x05\x42ytes\x18\x05 \x01(\x0c\"X\n\tInfoQuery\x12\x11\n\tNamespace\x18\x01 \x02(\t\x12\x0c\n\x04Type\x18\x02 \x02(\t\x12\n\n\x02To\x18\x03 \x02(\t\x12\x1e\n\x07\x43ontent\x18\x04 \x03(\x0b\x32\r.neonize.Node\"S\n\x17GetProfilePictureParams\x12\x0f\n\x07Preview\x18\x01 \x01(\x08\x12\x12\n\nExistingID\x18\x02 \x01(\t\x12\x13\n\x0bIsCommunity\x18\x03 \x01(\x08\"^\n\x1fGetProfilePictureReturnFunction\x12,\n\x07Picture\x18\x01 \x01(\x0b\x32\x1b.neonize.ProfilePictureInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\xb7\x01\n\rStatusPrivacy\x12\x36\n\x04Type\x18\x01 \x02(\x0e\x32(.neonize.StatusPrivacy.StatusPrivacyType\x12\x1a\n\x04List\x18\x02 \x03(\x0b\x32\x0c.neonize.JID\x12\x11\n\tIsDefault\x18\x03 \x02(\x08\"?\n\x11StatusPrivacyType\x12\x0c\n\x08\x43ONTACTS\x10\x01\x12\r\n\tBLACKLIST\x10\x02\x12\r\n\tWHITELIST\x10\x03\"^\n\x1eGetStatusPrivacyReturnFunction\x12-\n\rStatusPrivacy\x18\x01 \x03(\x0b\x32\x16.neonize.StatusPrivacy\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x8a\x01\n\x0fGroupLinkTarget\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12%\n\tGroupName\x18\x02 \x02(\x0b\x32\x12.neonize.GroupName\x12\x35\n\x11GroupIsDefaultSub\x18\x03 \x02(\x0b\x32\x1a.neonize.GroupIsDefaultSub\"\xb3\x01\n\x0fGroupLinkChange\x12\x31\n\x04Type\x18\x01 \x02(\x0e\x32#.neonize.GroupLinkChange.ChangeType\x12\x14\n\x0cUnlinkReason\x18\x02 \x02(\t\x12\'\n\x05Group\x18\x03 \x02(\x0b\x32\x18.neonize.GroupLinkTarget\".\n\nChangeType\x12\n\n\x06PARENT\x10\x01\x12\x07\n\x03SUB\x10\x02\x12\x0b\n\x07SIBLING\x10\x03\"^\n\x1aGetSubGroupsReturnFunction\x12\x31\n\x0fGroupLinkTarget\x18\x01 \x03(\x0b\x32\x18.neonize.GroupLinkTarget\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"h\n&GetSubscribedNewslettersReturnFunction\x12/\n\nNewsletter\x18\x01 \x03(\x0b\x32\x1b.neonize.NewsletterMetadata\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"H\n\x1cGetUserDevicesreturnFunction\x12\x19\n\x03JID\x18\x01 \x03(\x0b\x32\x0c.neonize.JID\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"O\n,NewsletterSubscribeLiveUpdatesReturnFunction\x12\x10\n\x08\x44uration\x18\x01 \x01(\x03\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"m\n\x0fPairPhoneParams\x12\r\n\x05phone\x18\x01 \x01(\t\x12\x1c\n\x14showPushNotification\x18\x02 \x01(\x08\x12\x12\n\nclientType\x18\x03 \x01(\x05\x12\x19\n\x11\x63lientDisplayName\x18\x04 \x01(\t\"P\n\x13\x43ontactQRLinkTarget\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04Type\x18\x02 \x02(\t\x12\x10\n\x08PushName\x18\x03 \x02(\t\"h\n\"ResolveContactQRLinkReturnFunction\x12\x33\n\rContactQrLink\x18\x01 \x01(\x0b\x32\x1c.neonize.ContactQRLinkTarget\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x98\x01\n\x19\x42usinessMessageLinkTarget\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x10\n\x08PushName\x18\x02 \x02(\t\x12\x14\n\x0cVerifiedName\x18\x03 \x02(\t\x12\x10\n\x08IsSigned\x18\x04 \x02(\x08\x12\x15\n\rVerifiedLevel\x18\x05 \x02(\t\x12\x0f\n\x07Message\x18\x06 \x02(\t\"x\n(ResolveBusinessMessageLinkReturnFunction\x12=\n\x11MessageLinkTarget\x18\x01 \x01(\x0b\x32\".neonize.BusinessMessageLinkTarget\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\\\n\x0cMutationInfo\x12\r\n\x05Index\x18\x01 \x03(\t\x12\x0f\n\x07Version\x18\x02 \x02(\x05\x12,\n\x05Value\x18\x03 \x02(\x0b\x32\x1d.WASyncAction.SyncActionValue\"\xe3\x01\n\tPatchInfo\x12\x11\n\tTimestamp\x18\x01 \x02(\x03\x12,\n\x04Type\x18\x02 \x02(\x0e\x32\x1e.neonize.PatchInfo.WAPatchName\x12(\n\tMutations\x18\x03 \x03(\x0b\x32\x15.neonize.MutationInfo\"k\n\x0bWAPatchName\x12\x12\n\x0e\x43RITICAL_BLOCK\x10\x01\x12\x18\n\x14\x43RITICAL_UNBLOCK_LOW\x10\x02\x12\x0f\n\x0bREGULAR_LOW\x10\x03\x12\x10\n\x0cREGULAR_HIGH\x10\x04\x12\x0b\n\x07REGULAR\x10\x05\"X\n!ContactsPutPushNameReturnFunction\x12\x0e\n\x06Status\x18\x01 \x02(\x08\x12\x14\n\x0cPreviousName\x18\x02 \x01(\t\x12\r\n\x05\x45rror\x18\x03 \x01(\t\"N\n\x0c\x43ontactEntry\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\tFirstName\x18\x02 \x02(\t\x12\x10\n\x08\x46ullName\x18\x03 \x02(\t\"@\n\x11\x43ontactEntryArray\x12+\n\x0c\x43ontactEntry\x18\x01 \x03(\x0b\x32\x15.neonize.ContactEntry\"\\\n\x1fSetPrivacySettingReturnFunction\x12*\n\x08settings\x18\x01 \x01(\x0b\x32\x18.neonize.PrivacySettings\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\\\n ContactsGetContactReturnFunction\x12)\n\x0b\x43ontactInfo\x18\x01 \x01(\x0b\x32\x14.neonize.ContactInfo\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x80\x01\n\x0b\x43ontactInfo\x12\r\n\x05\x46ound\x18\x01 \x02(\x08\x12\x11\n\tFirstName\x18\x02 \x02(\t\x12\x10\n\x08\x46ullName\x18\x03 \x02(\t\x12\x10\n\x08PushName\x18\x04 \x02(\t\x12\x14\n\x0c\x42usinessName\x18\x05 \x02(\t\x12\x15\n\rRedactedPhone\x18\x06 \x02(\t\"H\n\x07\x43ontact\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\"\n\x04Info\x18\x02 \x02(\x0b\x32\x14.neonize.ContactInfo\"X\n$ContactsGetAllContactsReturnFunction\x12!\n\x07\x43ontact\x18\x01 \x03(\x0b\x32\x10.neonize.Contact\x12\r\n\x05\x45rror\x18\x02 \x01(\t\"\x13\n\x02QR\x12\r\n\x05\x43odes\x18\x01 \x03(\t\"\xad\x01\n\nPairStatus\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x14\n\x0c\x42usinessName\x18\x02 \x02(\t\x12\x10\n\x08Platform\x18\x03 \x02(\t\x12+\n\x06Status\x18\x04 \x02(\x0e\x32\x1b.neonize.PairStatus.PStatus\x12\r\n\x05\x45rror\x18\x05 \x01(\t\"!\n\x07PStatus\x12\t\n\x05\x45RROR\x10\x01\x12\x0b\n\x07SUCCESS\x10\x02\"\x1b\n\tConnected\x12\x0e\n\x06status\x18\x01 \x02(\x08\";\n\x10KeepAliveTimeout\x12\x12\n\nErrorCount\x18\x01 \x02(\x03\x12\x13\n\x0bLastSuccess\x18\x02 \x02(\x03\"\x13\n\x11KeepAliveRestored\"M\n\tLoggedOut\x12\x11\n\tOnConnect\x18\x01 \x02(\x08\x12-\n\x06Reason\x18\x02 \x02(\x0e\x32\x1d.neonize.ConnectFailureReason\"\x10\n\x0eStreamReplaced\"\xe7\x01\n\x0cTemporaryBan\x12\x31\n\x04\x43ode\x18\x01 \x02(\x0e\x32#.neonize.TemporaryBan.TempBanReason\x12\x0e\n\x06\x45xpire\x18\x02 \x02(\x03\"\x93\x01\n\rTempBanReason\x12\x1b\n\x17SEND_TO_TOO_MANY_PEOPLE\x10\x01\x12\x14\n\x10\x42LOCKED_BY_USERS\x10\x02\x12\x1b\n\x17\x43REATED_TOO_MANY_GROUPS\x10\x03\x12\x1e\n\x1aSENT_TOO_MANY_SAME_MESSAGE\x10\x04\x12\x12\n\x0e\x42ROADCAST_LIST\x10\x05\"l\n\x0e\x43onnectFailure\x12-\n\x06Reason\x18\x01 \x02(\x0e\x32\x1d.neonize.ConnectFailureReason\x12\x0f\n\x07Message\x18\x02 \x02(\t\x12\x1a\n\x03Raw\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x10\n\x0e\x43lientOutdated\"7\n\x0bStreamError\x12\x0c\n\x04\x43ode\x18\x01 \x02(\t\x12\x1a\n\x03Raw\x18\x04 \x02(\x0b\x32\r.neonize.Node\"\x1e\n\x0c\x44isconnected\x12\x0e\n\x06status\x18\x01 \x02(\x08\"C\n\x0bHistorySync\x12\x34\n\x04\x44\x61ta\x18\x01 \x02(\x0b\x32&.WAWebProtobufsHistorySync.HistorySync\"\xb7\x02\n\x07Receipt\x12-\n\rMessageSource\x18\x01 \x02(\x0b\x32\x16.neonize.MessageSource\x12\x12\n\nMessageIDs\x18\x02 \x03(\t\x12\x11\n\tTimestamp\x18\x03 \x02(\x03\x12*\n\x04Type\x18\x04 \x02(\x0e\x32\x1c.neonize.Receipt.ReceiptType\"\xa9\x01\n\x0bReceiptType\x12\r\n\tDELIVERED\x10\x01\x12\n\n\x06SENDER\x10\x02\x12\t\n\x05RETRY\x10\x03\x12\x08\n\x04READ\x10\x04\x12\r\n\tREAD_SELF\x10\x05\x12\n\n\x06PLAYED\x10\x06\x12\x0f\n\x0bPLAYED_SELF\x10\x07\x12\x10\n\x0cSERVER_ERROR\x10\x08\x12\x0c\n\x08INACTIVE\x10\t\x12\x0c\n\x08PEER_MSG\x10\n\x12\x10\n\x0cHISTORY_SYNC\x10\x0b\"\xfd\x01\n\x0c\x43hatPresence\x12-\n\rMessageSource\x18\x01 \x02(\x0b\x32\x16.neonize.MessageSource\x12\x31\n\x05State\x18\x02 \x02(\x0e\x32\".neonize.ChatPresence.ChatPresence\x12\x36\n\x05Media\x18\x03 \x02(\x0e\x32\'.neonize.ChatPresence.ChatPresenceMedia\")\n\x0c\x43hatPresence\x12\r\n\tCOMPOSING\x10\x01\x12\n\n\x06PAUSED\x10\x02\"(\n\x11\x43hatPresenceMedia\x12\x08\n\x04TEXT\x10\x01\x12\t\n\x05\x41UDIO\x10\x02\"M\n\x08Presence\x12\x1a\n\x04\x46rom\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x13\n\x0bUnavailable\x18\x02 \x02(\x08\x12\x10\n\x08LastSeen\x18\x03 \x02(\x03\"e\n\x0bJoinedGroup\x12\x0e\n\x06Reason\x18\x01 \x02(\t\x12\x0c\n\x04Type\x18\x02 \x02(\t\x12\x11\n\tCreateKey\x18\x03 \x02(\t\x12%\n\tGroupInfo\x18\x04 \x02(\x0b\x32\x12.neonize.GroupInfo\"\xaf\x05\n\x0eGroupInfoEvent\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x0e\n\x06Notify\x18\x02 \x02(\t\x12\x1c\n\x06Sender\x18\x03 \x01(\x0b\x32\x0c.neonize.JID\x12\x11\n\tTimestamp\x18\x04 \x02(\x03\x12 \n\x04Name\x18\x05 \x01(\x0b\x32\x12.neonize.GroupName\x12\"\n\x05Topic\x18\x06 \x01(\x0b\x32\x13.neonize.GroupTopic\x12$\n\x06Locked\x18\x07 \x01(\x0b\x32\x14.neonize.GroupLocked\x12(\n\x08\x41nnounce\x18\x08 \x01(\x0b\x32\x16.neonize.GroupAnnounce\x12*\n\tEphemeral\x18\t \x01(\x0b\x32\x17.neonize.GroupEphemeral\x12$\n\x06\x44\x65lete\x18\n \x01(\x0b\x32\x14.neonize.GroupDelete\x12&\n\x04Link\x18\x0b \x01(\x0b\x32\x18.neonize.GroupLinkChange\x12(\n\x06Unlink\x18\x0c \x01(\x0b\x32\x18.neonize.GroupLinkChange\x12\x15\n\rNewInviteLink\x18\r \x01(\t\x12!\n\x19PrevParticipantsVersionID\x18\x0e \x02(\t\x12\x1c\n\x14ParticipantVersionID\x18\x0f \x02(\t\x12\x12\n\nJoinReason\x18\x10 \x02(\t\x12\x1a\n\x04Join\x18\x11 \x03(\x0b\x32\x0c.neonize.JID\x12\x1b\n\x05Leave\x18\x12 \x03(\x0b\x32\x0c.neonize.JID\x12\x1d\n\x07Promote\x18\x13 \x03(\x0b\x32\x0c.neonize.JID\x12\x1c\n\x06\x44\x65mote\x18\x14 \x03(\x0b\x32\x0c.neonize.JID\x12%\n\x0eUnknownChanges\x18\x15 \x03(\x0b\x32\r.neonize.Node\"e\n\x07Picture\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x1c\n\x06\x41uthor\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\tTimestamp\x18\x03 \x02(\x03\x12\x0e\n\x06Remove\x18\x04 \x02(\x08\"P\n\x0eIdentityChange\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\tTimestamp\x18\x02 \x02(\x03\x12\x10\n\x08Implicit\x18\x03 \x02(\x08\"\xf2\x01\n\x14privacySettingsEvent\x12-\n\x0bNewSettings\x18\x01 \x02(\x0b\x32\x18.neonize.PrivacySettings\x12\x17\n\x0fGroupAddChanged\x18\x02 \x02(\x08\x12\x17\n\x0fLastSeenChanged\x18\x03 \x02(\x08\x12\x15\n\rStatusChanged\x18\x04 \x02(\x08\x12\x16\n\x0eProfileChanged\x18\x05 \x02(\x08\x12\x1b\n\x13ReadReceiptsChanged\x18\x06 \x02(\x08\x12\x15\n\rOnlineChanged\x18\x07 \x02(\x08\x12\x16\n\x0e\x43\x61llAddChanged\x18\x08 \x02(\x08\"u\n\x12OfflineSyncPreview\x12\r\n\x05Total\x18\x01 \x02(\x05\x12\x16\n\x0e\x41ppDataChanges\x18\x02 \x02(\x05\x12\x0f\n\x07Message\x18\x03 \x02(\x05\x12\x15\n\rNotifications\x18\x04 \x02(\x05\x12\x10\n\x08Receipts\x18\x05 \x02(\x05\"%\n\x14OfflineSyncCompleted\x12\r\n\x05\x43ount\x18\x01 \x02(\x05\"\xb2\x01\n\x0e\x42locklistEvent\x12/\n\x06\x41\x63tion\x18\x01 \x02(\x0e\x32\x1f.neonize.BlocklistEvent.Actions\x12\r\n\x05\x44HASH\x18\x02 \x02(\t\x12\x11\n\tPrevDHash\x18\x03 \x02(\t\x12)\n\x07\x43hanges\x18\x04 \x03(\x0b\x32\x18.neonize.BlocklistChange\"\"\n\x07\x41\x63tions\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06MODIFY\x10\x02\"\x84\x01\n\x0f\x42locklistChange\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x34\n\x0b\x42lockAction\x18\x02 \x02(\x0e\x32\x1f.neonize.BlocklistChange.Action\" \n\x06\x41\x63tion\x12\t\n\x05\x42LOCK\x10\x01\x12\x0b\n\x07UNBLOCK\x10\x02\"I\n\x0eNewsletterJoin\x12\x37\n\x12NewsletterMetadata\x18\x01 \x02(\x0b\x32\x1b.neonize.NewsletterMetadata\"R\n\x0fNewsletterLeave\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12%\n\x04Role\x18\x02 \x02(\x0e\x32\x17.neonize.NewsletterRole\"\\\n\x14NewsletterMuteChange\x12\x18\n\x02ID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12*\n\x04Mute\x18\x02 \x02(\x0e\x32\x1c.neonize.NewsletterMuteState\"m\n\x14NewsletterLiveUpdate\x12\x19\n\x03JID\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04TIME\x18\x02 \x02(\x03\x12,\n\x08Messages\x18\x03 \x03(\x0b\x32\x1a.neonize.NewsletterMessage\"\x97\x01\n\rBasicCallMeta\x12\x1a\n\x04\x66rom\x18\x01 \x02(\x0b\x32\x0c.neonize.JID\x12\x11\n\ttimestamp\x18\x02 \x02(\x03\x12!\n\x0b\x63\x61llCreator\x18\x03 \x02(\x0b\x32\x0c.neonize.JID\x12$\n\x0e\x63\x61llCreatorAlt\x18\x04 \x02(\x0b\x32\x0c.neonize.JID\x12\x0e\n\x06\x63\x61llID\x18\x05 \x02(\t\"?\n\x0e\x43\x61llRemoteMeta\x12\x16\n\x0eremotePlatform\x18\x01 \x02(\t\x12\x15\n\rremoteVersion\x18\x02 \x02(\t\"\x88\x01\n\tCallOffer\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x89\x01\n\nCallAccept\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x8c\x01\n\rCallPreAccept\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"\x8c\x01\n\rCallTransport\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12/\n\x0e\x63\x61llRemoteMeta\x18\x02 \x02(\x0b\x32\x17.neonize.CallRemoteMeta\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"z\n\x0f\x43\x61llOfferNotice\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12\r\n\x05media\x18\x02 \x02(\t\x12\x0c\n\x04type\x18\x03 \x02(\t\x12\x1b\n\x04\x64\x61ta\x18\x04 \x02(\x0b\x32\r.neonize.Node\"^\n\x10\x43\x61llRelayLatency\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12\x1b\n\x04\x64\x61ta\x18\x02 \x02(\x0b\x32\r.neonize.Node\"k\n\rCallTerminate\x12-\n\rbasicCallMeta\x18\x01 \x02(\x0b\x32\x16.neonize.BasicCallMeta\x12\x0e\n\x06reason\x18\x02 \x02(\t\x12\x1b\n\x04\x64\x61ta\x18\x03 \x02(\x0b\x32\r.neonize.Node\"/\n\x10UnknownCallEvent\x12\x1b\n\x04node\x18\x01 \x02(\x0b\x32\r.neonize.Node\"\xdc\x01\n\x14UndecryptableMessage\x12\"\n\x04Info\x18\x01 \x02(\x0b\x32\x14.neonize.MessageInfo\x12\x15\n\rIsUnavailable\x18\x02 \x02(\x08\x12G\n\x0f\x44\x65\x63ryptFailMode\x18\x03 \x02(\x0e\x32..neonize.UndecryptableMessage.DecryptFailModeT\"@\n\x10\x44\x65\x63ryptFailModeT\x12\x15\n\x11\x44\x45\x43RYPT_FAIL_SHOW\x10\x01\x12\x15\n\x11\x44\x45\x43RYPT_FAIL_HIDE\x10\x02\"g\n%UpdateGroupParticipantsReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12/\n\x0cparticipants\x18\x02 \x03(\x0b\x32\x19.neonize.GroupParticipant\"v\n GetMessageForRetryReturnFunction\x12\x16\n\x07isEmpty\x18\x01 \x01(\x08:\x05\x66\x61lse\x12+\n\x07Message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\r\n\x05\x45rror\x18\x03 \x01(\t\"X\n\x11LocalChatSettings\x12\r\n\x05\x46ound\x18\x01 \x02(\x08\x12\x12\n\nMutedUntil\x18\x02 \x02(\x01\x12\x0e\n\x06Pinned\x18\x03 \x02(\x08\x12\x10\n\x08\x41rchived\x18\x04 \x02(\x08\"\xe4\x01\n\x17ReturnFunctionWithError\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12\x37\n\x11LocalChatSettings\x18\x02 \x01(\x0b\x32\x1a.neonize.LocalChatSettingsH\x00\x12=\n\x0fPollVoteMessage\x18\x03 \x01(\x0b\x32\".WAWebProtobufsE2E.PollVoteMessageH\x00\x12\x38\n\x1bGetLinkedGroupsParticipants\x18\x04 \x01(\x0b\x32\x11.neonize.JIDArrayH\x00\x42\x08\n\x06Return\"v\n\x10SendRequestExtra\x12\n\n\x02ID\x18\x01 \x02(\t\x12\"\n\x0cInlineBotJID\x18\x02 \x02(\x0b\x32\x0c.neonize.JID\x12\x0c\n\x04Peer\x18\x03 \x02(\x08\x12\x0f\n\x07Timeout\x18\x04 \x02(\x03\x12\x13\n\x0bMediaHandle\x18\x05 \x02(\t\"X\n\x1a\x42uildMessageReturnFunction\x12\r\n\x05\x45rror\x18\x01 \x01(\t\x12+\n\x07Message\x18\x02 \x02(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"8\n\x08LogEntry\x12\x0f\n\x07Message\x18\x01 \x02(\t\x12\r\n\x05Level\x18\x02 \x02(\t\x12\x0c\n\x04Name\x18\x03 \x02(\t\"\x06\n\x04Stop*!\n\x0e\x41\x64\x64ressingMode\x12\x06\n\x02PN\x10\x01\x12\x07\n\x03LID\x10\x02*A\n\x0eNewsletterRole\x12\x0e\n\nSUBSCRIBER\x10\x01\x12\t\n\x05GUEST\x10\x02\x12\t\n\x05\x41\x44MIN\x10\x03\x12\t\n\x05OWNER\x10\x04*&\n\x13NewsletterMuteState\x12\x06\n\x02ON\x10\x01\x12\x07\n\x03OFF\x10\x02*\xdd\x01\n\x14\x43onnectFailureReason\x12\x0b\n\x07GENERIC\x10\x01\x12\x0e\n\nLOGGED_OUT\x10\x02\x12\x0f\n\x0bTEMP_BANNED\x10\x03\x12\x14\n\x10MAIN_DEVICE_GONE\x10\x04\x12\x12\n\x0eUNKNOWN_LOGOUT\x10\x05\x12\x13\n\x0f\x43LIENT_OUTDATED\x10\x06\x12\x12\n\x0e\x42\x41\x44_USER_AGENT\x10\x07\x12\x19\n\x15INTERNAL_SERVER_ERROR\x10\x08\x12\x10\n\x0c\x45XPERIMENTAL\x10\t\x12\x17\n\x13SERVICE_UNAVAILABLE\x10\nB\x0cZ\n./defproto') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'Neonize_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'Z\t./neonize' - _globals['_JID']._serialized_start=37 - _globals['_JID']._serialized_end=143 - _globals['_MESSAGEINFO']._serialized_start=146 - _globals['_MESSAGEINFO']._serialized_end=451 - _globals['_UPLOADRESPONSE']._serialized_start=454 - _globals['_UPLOADRESPONSE']._serialized_end=600 - _globals['_MESSAGESOURCE']._serialized_start=603 - _globals['_MESSAGESOURCE']._serialized_end=753 - _globals['_DEVICESENTMETA']._serialized_start=755 - _globals['_DEVICESENTMETA']._serialized_end=810 - _globals['_VERIFIEDNAME']._serialized_start=813 - _globals['_VERIFIEDNAME']._serialized_end=943 - _globals['_ISONWHATSAPPRESPONSE']._serialized_start=945 - _globals['_ISONWHATSAPPRESPONSE']._serialized_end=1068 - _globals['_USERINFO']._serialized_start=1070 - _globals['_USERINFO']._serialized_end=1191 - _globals['_DEVICE']._serialized_start=1193 - _globals['_DEVICE']._serialized_end=1308 - _globals['_GROUPNAME']._serialized_start=1310 - _globals['_GROUPNAME']._serialized_end=1387 - _globals['_GROUPTOPIC']._serialized_start=1389 - _globals['_GROUPTOPIC']._serialized_end=1509 - _globals['_GROUPLOCKED']._serialized_start=1511 - _globals['_GROUPLOCKED']._serialized_end=1542 - _globals['_GROUPANNOUNCE']._serialized_start=1544 - _globals['_GROUPANNOUNCE']._serialized_end=1606 - _globals['_GROUPEPHEMERAL']._serialized_start=1608 - _globals['_GROUPEPHEMERAL']._serialized_end=1672 - _globals['_GROUPINCOGNITO']._serialized_start=1674 - _globals['_GROUPINCOGNITO']._serialized_end=1711 - _globals['_GROUPPARENT']._serialized_start=1713 - _globals['_GROUPPARENT']._serialized_end=1783 - _globals['_GROUPLINKEDPARENT']._serialized_start=1785 - _globals['_GROUPLINKEDPARENT']._serialized_end=1843 - _globals['_GROUPISDEFAULTSUB']._serialized_start=1845 - _globals['_GROUPISDEFAULTSUB']._serialized_end=1891 - _globals['_GROUPPARTICIPANTADDREQUEST']._serialized_start=1893 - _globals['_GROUPPARTICIPANTADDREQUEST']._serialized_end=1955 - _globals['_GROUPPARTICIPANT']._serialized_start=1958 - _globals['_GROUPPARTICIPANT']._serialized_end=2162 - _globals['_GROUPINFO']._serialized_start=2165 - _globals['_GROUPINFO']._serialized_end=2808 - _globals['_GROUPINFO_GROUPMEMBERADDMODE']._serialized_start=2759 - _globals['_GROUPINFO_GROUPMEMBERADDMODE']._serialized_end=2808 - _globals['_MESSAGEDEBUGTIMINGS']._serialized_start=2811 - _globals['_MESSAGEDEBUGTIMINGS']._serialized_end=2995 - _globals['_SENDRESPONSE']._serialized_start=2997 - _globals['_SENDRESPONSE']._serialized_end=3112 - _globals['_SENDMESSAGERETURNFUNCTION']._serialized_start=3114 - _globals['_SENDMESSAGERETURNFUNCTION']._serialized_end=3201 - _globals['_GETGROUPINFORETURNFUNCTION']._serialized_start=3203 - _globals['_GETGROUPINFORETURNFUNCTION']._serialized_end=3285 - _globals['_JOINGROUPWITHLINKRETURNFUNCTION']._serialized_start=3287 - _globals['_JOINGROUPWITHLINKRETURNFUNCTION']._serialized_end=3362 - _globals['_GETGROUPINVITELINKRETURNFUNCTION']._serialized_start=3364 - _globals['_GETGROUPINVITELINKRETURNFUNCTION']._serialized_end=3433 - _globals['_DOWNLOADRETURNFUNCTION']._serialized_start=3435 - _globals['_DOWNLOADRETURNFUNCTION']._serialized_end=3490 - _globals['_UPLOADRETURNFUNCTION']._serialized_start=3492 - _globals['_UPLOADRETURNFUNCTION']._serialized_end=3578 - _globals['_SETGROUPPHOTORETURNFUNCTION']._serialized_start=3580 - _globals['_SETGROUPPHOTORETURNFUNCTION']._serialized_end=3643 - _globals['_ISONWHATSAPPRETURNFUNCTION']._serialized_start=3645 - _globals['_ISONWHATSAPPRETURNFUNCTION']._serialized_end=3749 - _globals['_GETUSERINFOSINGLERETURNFUNCTION']._serialized_start=3751 - _globals['_GETUSERINFOSINGLERETURNFUNCTION']._serialized_end=3848 - _globals['_GETUSERINFORETURNFUNCTION']._serialized_start=3850 - _globals['_GETUSERINFORETURNFUNCTION']._serialized_end=3953 - _globals['_BUILDPOLLVOTERETURNFUNCTION']._serialized_start=3955 - _globals['_BUILDPOLLVOTERETURNFUNCTION']._serialized_end=4036 - _globals['_CREATENEWSLETTERRETURNFUNCTION']._serialized_start=4038 - _globals['_CREATENEWSLETTERRETURNFUNCTION']._serialized_end=4142 - _globals['_GETBLOCKLISTRETURNFUNCTION']._serialized_start=4144 - _globals['_GETBLOCKLISTRETURNFUNCTION']._serialized_end=4226 - _globals['_GETCONTACTQRLINKRETURNFUNCTION']._serialized_start=4228 - _globals['_GETCONTACTQRLINKRETURNFUNCTION']._serialized_end=4289 - _globals['_GETGROUPREQUESTPARTICIPANTSRETURNFUNCTION']._serialized_start=4291 - _globals['_GETGROUPREQUESTPARTICIPANTSRETURNFUNCTION']._serialized_end=4385 - _globals['_GETJOINEDGROUPSRETURNFUNCTION']._serialized_start=4387 - _globals['_GETJOINEDGROUPSRETURNFUNCTION']._serialized_end=4468 - _globals['_REQCREATEGROUP']._serialized_start=4471 - _globals['_REQCREATEGROUP']._serialized_end=4654 - _globals['_JIDARRAY']._serialized_start=4656 - _globals['_JIDARRAY']._serialized_end=4694 - _globals['_ARRAYSTRING']._serialized_start=4696 - _globals['_ARRAYSTRING']._serialized_end=4723 - _globals['_NEWSLETTERMESSAGEMETA']._serialized_start=4725 - _globals['_NEWSLETTERMESSAGEMETA']._serialized_end=4784 - _globals['_MESSAGE']._serialized_start=4787 - _globals['_MESSAGE']._serialized_end=5101 - _globals['_CREATENEWSLETTERPARAMS']._serialized_start=5103 - _globals['_CREATENEWSLETTERPARAMS']._serialized_end=5179 - _globals['_WRAPPEDNEWSLETTERSTATE']._serialized_start=5182 - _globals['_WRAPPEDNEWSLETTERSTATE']._serialized_end=5333 - _globals['_WRAPPEDNEWSLETTERSTATE_NEWSLETTERSTATE']._serialized_start=5271 - _globals['_WRAPPEDNEWSLETTERSTATE_NEWSLETTERSTATE']._serialized_end=5333 - _globals['_NEWSLETTERTEXT']._serialized_start=5335 - _globals['_NEWSLETTERTEXT']._serialized_end=5397 - _globals['_PROFILEPICTUREINFO']._serialized_start=5399 - _globals['_PROFILEPICTUREINFO']._serialized_end=5478 - _globals['_NEWSLETTERREACTIONSETTINGS']._serialized_start=5481 - _globals['_NEWSLETTERREACTIONSETTINGS']._serialized_end=5657 - _globals['_NEWSLETTERREACTIONSETTINGS_NEWSLETTERREACTIONSMODE']._serialized_start=5587 - _globals['_NEWSLETTERREACTIONSETTINGS_NEWSLETTERREACTIONSMODE']._serialized_end=5657 - _globals['_NEWSLETTERSETTING']._serialized_start=5659 - _globals['_NEWSLETTERSETTING']._serialized_end=5738 - _globals['_NEWSLETTERTHREADMETADATA']._serialized_start=5741 - _globals['_NEWSLETTERTHREADMETADATA']._serialized_end=6208 - _globals['_NEWSLETTERTHREADMETADATA_NEWSLETTERVERIFICATIONSTATE']._serialized_start=6149 - _globals['_NEWSLETTERTHREADMETADATA_NEWSLETTERVERIFICATIONSTATE']._serialized_end=6208 - _globals['_NEWSLETTERVIEWERMETADATA']._serialized_start=6211 - _globals['_NEWSLETTERVIEWERMETADATA']._serialized_end=6477 - _globals['_NEWSLETTERVIEWERMETADATA_NEWSLETTERMUTESTATE']._serialized_start=6372 - _globals['_NEWSLETTERVIEWERMETADATA_NEWSLETTERMUTESTATE']._serialized_end=6410 - _globals['_NEWSLETTERVIEWERMETADATA_NEWSLETTERROLE']._serialized_start=6412 - _globals['_NEWSLETTERVIEWERMETADATA_NEWSLETTERROLE']._serialized_end=6477 - _globals['_NEWSLETTERMETADATA']._serialized_start=6480 - _globals['_NEWSLETTERMETADATA']._serialized_end=6684 - _globals['_BLOCKLIST']._serialized_start=6686 - _globals['_BLOCKLIST']._serialized_end=6740 +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\n./defproto' + _globals['_ADDRESSINGMODE']._serialized_start=17379 + _globals['_ADDRESSINGMODE']._serialized_end=17412 + _globals['_NEWSLETTERROLE']._serialized_start=17414 + _globals['_NEWSLETTERROLE']._serialized_end=17479 + _globals['_NEWSLETTERMUTESTATE']._serialized_start=17481 + _globals['_NEWSLETTERMUTESTATE']._serialized_end=17519 + _globals['_CONNECTFAILUREREASON']._serialized_start=17522 + _globals['_CONNECTFAILUREREASON']._serialized_end=17743 + _globals['_JID']._serialized_start=211 + _globals['_JID']._serialized_end=324 + _globals['_MESSAGEINFO']._serialized_start=327 + _globals['_MESSAGEINFO']._serialized_end=632 + _globals['_UPLOADRESPONSE']._serialized_start=635 + _globals['_UPLOADRESPONSE']._serialized_end=781 + _globals['_BROADCASTRECIPIENT']._serialized_start=783 + _globals['_BROADCASTRECIPIENT']._serialized_end=856 + _globals['_MESSAGESOURCE']._serialized_start=859 + _globals['_MESSAGESOURCE']._serialized_end=1185 + _globals['_DEVICESENTMETA']._serialized_start=1187 + _globals['_DEVICESENTMETA']._serialized_end=1242 + _globals['_VERIFIEDNAME']._serialized_start=1245 + _globals['_VERIFIEDNAME']._serialized_end=1405 + _globals['_ISONWHATSAPPRESPONSE']._serialized_start=1407 + _globals['_ISONWHATSAPPRESPONSE']._serialized_end=1530 + _globals['_USERINFO']._serialized_start=1532 + _globals['_USERINFO']._serialized_end=1653 + _globals['_DEVICE']._serialized_start=1656 + _globals['_DEVICE']._serialized_end=1798 + _globals['_GROUPNAME']._serialized_start=1800 + _globals['_GROUPNAME']._serialized_end=1877 + _globals['_GROUPTOPIC']._serialized_start=1879 + _globals['_GROUPTOPIC']._serialized_end=1999 + _globals['_GROUPLOCKED']._serialized_start=2001 + _globals['_GROUPLOCKED']._serialized_end=2032 + _globals['_GROUPANNOUNCE']._serialized_start=2034 + _globals['_GROUPANNOUNCE']._serialized_end=2096 + _globals['_GROUPEPHEMERAL']._serialized_start=2098 + _globals['_GROUPEPHEMERAL']._serialized_end=2162 + _globals['_GROUPINCOGNITO']._serialized_start=2164 + _globals['_GROUPINCOGNITO']._serialized_end=2201 + _globals['_GROUPPARENT']._serialized_start=2203 + _globals['_GROUPPARENT']._serialized_end=2273 + _globals['_GROUPLINKEDPARENT']._serialized_start=2275 + _globals['_GROUPLINKEDPARENT']._serialized_end=2333 + _globals['_GROUPISDEFAULTSUB']._serialized_start=2335 + _globals['_GROUPISDEFAULTSUB']._serialized_end=2381 + _globals['_GROUPPARTICIPANTADDREQUEST']._serialized_start=2383 + _globals['_GROUPPARTICIPANTADDREQUEST']._serialized_end=2445 + _globals['_GROUPPARTICIPANT']._serialized_start=2448 + _globals['_GROUPPARTICIPANT']._serialized_end=2687 + _globals['_GROUPINFO']._serialized_start=2690 + _globals['_GROUPINFO']._serialized_end=3364 + _globals['_GROUPINFO_GROUPMEMBERADDMODE']._serialized_start=3315 + _globals['_GROUPINFO_GROUPMEMBERADDMODE']._serialized_end=3364 + _globals['_MESSAGEDEBUGTIMINGS']._serialized_start=3367 + _globals['_MESSAGEDEBUGTIMINGS']._serialized_end=3551 + _globals['_SENDRESPONSE']._serialized_start=3554 + _globals['_SENDRESPONSE']._serialized_end=3714 + _globals['_SENDMESSAGERETURNFUNCTION']._serialized_start=3716 + _globals['_SENDMESSAGERETURNFUNCTION']._serialized_end=3803 + _globals['_GETGROUPINFORETURNFUNCTION']._serialized_start=3805 + _globals['_GETGROUPINFORETURNFUNCTION']._serialized_end=3887 + _globals['_JOINGROUPWITHLINKRETURNFUNCTION']._serialized_start=3889 + _globals['_JOINGROUPWITHLINKRETURNFUNCTION']._serialized_end=3964 + _globals['_GETJIDFROMSTORERETURNFUNCTION']._serialized_start=3966 + _globals['_GETJIDFROMSTORERETURNFUNCTION']._serialized_end=4039 + _globals['_GETGROUPINVITELINKRETURNFUNCTION']._serialized_start=4041 + _globals['_GETGROUPINVITELINKRETURNFUNCTION']._serialized_end=4110 + _globals['_DOWNLOADRETURNFUNCTION']._serialized_start=4112 + _globals['_DOWNLOADRETURNFUNCTION']._serialized_end=4167 + _globals['_UPLOADRETURNFUNCTION']._serialized_start=4169 + _globals['_UPLOADRETURNFUNCTION']._serialized_end=4255 + _globals['_SETGROUPPHOTORETURNFUNCTION']._serialized_start=4257 + _globals['_SETGROUPPHOTORETURNFUNCTION']._serialized_end=4320 + _globals['_ISONWHATSAPPRETURNFUNCTION']._serialized_start=4322 + _globals['_ISONWHATSAPPRETURNFUNCTION']._serialized_end=4426 + _globals['_GETUSERINFOSINGLERETURNFUNCTION']._serialized_start=4428 + _globals['_GETUSERINFOSINGLERETURNFUNCTION']._serialized_end=4525 + _globals['_GETUSERINFORETURNFUNCTION']._serialized_start=4527 + _globals['_GETUSERINFORETURNFUNCTION']._serialized_end=4630 + _globals['_BUILDPOLLVOTERETURNFUNCTION']._serialized_start=4632 + _globals['_BUILDPOLLVOTERETURNFUNCTION']._serialized_end=4722 + _globals['_CREATENEWSLETTERRETURNFUNCTION']._serialized_start=4724 + _globals['_CREATENEWSLETTERRETURNFUNCTION']._serialized_end=4828 + _globals['_GETBLOCKLISTRETURNFUNCTION']._serialized_start=4830 + _globals['_GETBLOCKLISTRETURNFUNCTION']._serialized_end=4912 + _globals['_GETCONTACTQRLINKRETURNFUNCTION']._serialized_start=4914 + _globals['_GETCONTACTQRLINKRETURNFUNCTION']._serialized_end=4975 + _globals['_GROUPPARTICIPANTREQUEST']._serialized_start=4977 + _globals['_GROUPPARTICIPANTREQUEST']._serialized_end=5053 + _globals['_GETGROUPREQUESTPARTICIPANTSRETURNFUNCTION']._serialized_start=5055 + _globals['_GETGROUPREQUESTPARTICIPANTSRETURNFUNCTION']._serialized_end=5169 + _globals['_GETJOINEDGROUPSRETURNFUNCTION']._serialized_start=5171 + _globals['_GETJOINEDGROUPSRETURNFUNCTION']._serialized_end=5252 + _globals['_REQCREATEGROUP']._serialized_start=5255 + _globals['_REQCREATEGROUP']._serialized_end=5438 + _globals['_JIDARRAY']._serialized_start=5440 + _globals['_JIDARRAY']._serialized_end=5478 + _globals['_ARRAYSTRING']._serialized_start=5480 + _globals['_ARRAYSTRING']._serialized_end=5507 + _globals['_NEWSLETTERMESSAGEMETA']._serialized_start=5509 + _globals['_NEWSLETTERMESSAGEMETA']._serialized_end=5568 + _globals['_GROUPDELETE']._serialized_start=5570 + _globals['_GROUPDELETE']._serialized_end=5623 + _globals['_MESSAGE']._serialized_start=5626 + _globals['_MESSAGE']._serialized_end=6086 + _globals['_CREATENEWSLETTERPARAMS']._serialized_start=6088 + _globals['_CREATENEWSLETTERPARAMS']._serialized_end=6164 + _globals['_WRAPPEDNEWSLETTERSTATE']._serialized_start=6167 + _globals['_WRAPPEDNEWSLETTERSTATE']._serialized_end=6318 + _globals['_WRAPPEDNEWSLETTERSTATE_NEWSLETTERSTATE']._serialized_start=6256 + _globals['_WRAPPEDNEWSLETTERSTATE_NEWSLETTERSTATE']._serialized_end=6318 + _globals['_NEWSLETTERTEXT']._serialized_start=6320 + _globals['_NEWSLETTERTEXT']._serialized_end=6382 + _globals['_PROFILEPICTUREINFO']._serialized_start=6384 + _globals['_PROFILEPICTUREINFO']._serialized_end=6477 + _globals['_NEWSLETTERREACTIONSETTINGS']._serialized_start=6480 + _globals['_NEWSLETTERREACTIONSETTINGS']._serialized_end=6656 + _globals['_NEWSLETTERREACTIONSETTINGS_NEWSLETTERREACTIONSMODE']._serialized_start=6586 + _globals['_NEWSLETTERREACTIONSETTINGS_NEWSLETTERREACTIONSMODE']._serialized_end=6656 + _globals['_NEWSLETTERSETTING']._serialized_start=6658 + _globals['_NEWSLETTERSETTING']._serialized_end=6737 + _globals['_NEWSLETTERTHREADMETADATA']._serialized_start=6740 + _globals['_NEWSLETTERTHREADMETADATA']._serialized_end=7207 + _globals['_NEWSLETTERTHREADMETADATA_NEWSLETTERVERIFICATIONSTATE']._serialized_start=7148 + _globals['_NEWSLETTERTHREADMETADATA_NEWSLETTERVERIFICATIONSTATE']._serialized_end=7207 + _globals['_NEWSLETTERVIEWERMETADATA']._serialized_start=7209 + _globals['_NEWSLETTERVIEWERMETADATA']._serialized_end=7318 + _globals['_NEWSLETTERMETADATA']._serialized_start=7321 + _globals['_NEWSLETTERMETADATA']._serialized_end=7525 + _globals['_BLOCKLIST']._serialized_start=7527 + _globals['_BLOCKLIST']._serialized_end=7581 + _globals['_REACTION']._serialized_start=7583 + _globals['_REACTION']._serialized_end=7622 + _globals['_NEWSLETTERMESSAGE']._serialized_start=7625 + _globals['_NEWSLETTERMESSAGE']._serialized_end=7777 + _globals['_GETNEWSLETTERMESSAGEUPDATERETURNFUNCTION']._serialized_start=7779 + _globals['_GETNEWSLETTERMESSAGEUPDATERETURNFUNCTION']._serialized_end=7891 + _globals['_PRIVACYSETTINGS']._serialized_start=7894 + _globals['_PRIVACYSETTINGS']._serialized_end=8443 + _globals['_PRIVACYSETTINGS_PRIVACYSETTING']._serialized_start=8324 + _globals['_PRIVACYSETTINGS_PRIVACYSETTING']._serialized_end=8443 + _globals['_NODEATTRS']._serialized_start=8445 + _globals['_NODEATTRS']._serialized_end=8562 + _globals['_NODE']._serialized_start=8564 + _globals['_NODE']._serialized_end=8683 + _globals['_INFOQUERY']._serialized_start=8685 + _globals['_INFOQUERY']._serialized_end=8773 + _globals['_GETPROFILEPICTUREPARAMS']._serialized_start=8775 + _globals['_GETPROFILEPICTUREPARAMS']._serialized_end=8858 + _globals['_GETPROFILEPICTURERETURNFUNCTION']._serialized_start=8860 + _globals['_GETPROFILEPICTURERETURNFUNCTION']._serialized_end=8954 + _globals['_STATUSPRIVACY']._serialized_start=8957 + _globals['_STATUSPRIVACY']._serialized_end=9140 + _globals['_STATUSPRIVACY_STATUSPRIVACYTYPE']._serialized_start=9077 + _globals['_STATUSPRIVACY_STATUSPRIVACYTYPE']._serialized_end=9140 + _globals['_GETSTATUSPRIVACYRETURNFUNCTION']._serialized_start=9142 + _globals['_GETSTATUSPRIVACYRETURNFUNCTION']._serialized_end=9236 + _globals['_GROUPLINKTARGET']._serialized_start=9239 + _globals['_GROUPLINKTARGET']._serialized_end=9377 + _globals['_GROUPLINKCHANGE']._serialized_start=9380 + _globals['_GROUPLINKCHANGE']._serialized_end=9559 + _globals['_GROUPLINKCHANGE_CHANGETYPE']._serialized_start=9513 + _globals['_GROUPLINKCHANGE_CHANGETYPE']._serialized_end=9559 + _globals['_GETSUBGROUPSRETURNFUNCTION']._serialized_start=9561 + _globals['_GETSUBGROUPSRETURNFUNCTION']._serialized_end=9655 + _globals['_GETSUBSCRIBEDNEWSLETTERSRETURNFUNCTION']._serialized_start=9657 + _globals['_GETSUBSCRIBEDNEWSLETTERSRETURNFUNCTION']._serialized_end=9761 + _globals['_GETUSERDEVICESRETURNFUNCTION']._serialized_start=9763 + _globals['_GETUSERDEVICESRETURNFUNCTION']._serialized_end=9835 + _globals['_NEWSLETTERSUBSCRIBELIVEUPDATESRETURNFUNCTION']._serialized_start=9837 + _globals['_NEWSLETTERSUBSCRIBELIVEUPDATESRETURNFUNCTION']._serialized_end=9916 + _globals['_PAIRPHONEPARAMS']._serialized_start=9918 + _globals['_PAIRPHONEPARAMS']._serialized_end=10027 + _globals['_CONTACTQRLINKTARGET']._serialized_start=10029 + _globals['_CONTACTQRLINKTARGET']._serialized_end=10109 + _globals['_RESOLVECONTACTQRLINKRETURNFUNCTION']._serialized_start=10111 + _globals['_RESOLVECONTACTQRLINKRETURNFUNCTION']._serialized_end=10215 + _globals['_BUSINESSMESSAGELINKTARGET']._serialized_start=10218 + _globals['_BUSINESSMESSAGELINKTARGET']._serialized_end=10370 + _globals['_RESOLVEBUSINESSMESSAGELINKRETURNFUNCTION']._serialized_start=10372 + _globals['_RESOLVEBUSINESSMESSAGELINKRETURNFUNCTION']._serialized_end=10492 + _globals['_MUTATIONINFO']._serialized_start=10494 + _globals['_MUTATIONINFO']._serialized_end=10586 + _globals['_PATCHINFO']._serialized_start=10589 + _globals['_PATCHINFO']._serialized_end=10816 + _globals['_PATCHINFO_WAPATCHNAME']._serialized_start=10709 + _globals['_PATCHINFO_WAPATCHNAME']._serialized_end=10816 + _globals['_CONTACTSPUTPUSHNAMERETURNFUNCTION']._serialized_start=10818 + _globals['_CONTACTSPUTPUSHNAMERETURNFUNCTION']._serialized_end=10906 + _globals['_CONTACTENTRY']._serialized_start=10908 + _globals['_CONTACTENTRY']._serialized_end=10986 + _globals['_CONTACTENTRYARRAY']._serialized_start=10988 + _globals['_CONTACTENTRYARRAY']._serialized_end=11052 + _globals['_SETPRIVACYSETTINGRETURNFUNCTION']._serialized_start=11054 + _globals['_SETPRIVACYSETTINGRETURNFUNCTION']._serialized_end=11146 + _globals['_CONTACTSGETCONTACTRETURNFUNCTION']._serialized_start=11148 + _globals['_CONTACTSGETCONTACTRETURNFUNCTION']._serialized_end=11240 + _globals['_CONTACTINFO']._serialized_start=11243 + _globals['_CONTACTINFO']._serialized_end=11371 + _globals['_CONTACT']._serialized_start=11373 + _globals['_CONTACT']._serialized_end=11445 + _globals['_CONTACTSGETALLCONTACTSRETURNFUNCTION']._serialized_start=11447 + _globals['_CONTACTSGETALLCONTACTSRETURNFUNCTION']._serialized_end=11535 + _globals['_QR']._serialized_start=11537 + _globals['_QR']._serialized_end=11556 + _globals['_PAIRSTATUS']._serialized_start=11559 + _globals['_PAIRSTATUS']._serialized_end=11732 + _globals['_PAIRSTATUS_PSTATUS']._serialized_start=11699 + _globals['_PAIRSTATUS_PSTATUS']._serialized_end=11732 + _globals['_CONNECTED']._serialized_start=11734 + _globals['_CONNECTED']._serialized_end=11761 + _globals['_KEEPALIVETIMEOUT']._serialized_start=11763 + _globals['_KEEPALIVETIMEOUT']._serialized_end=11822 + _globals['_KEEPALIVERESTORED']._serialized_start=11824 + _globals['_KEEPALIVERESTORED']._serialized_end=11843 + _globals['_LOGGEDOUT']._serialized_start=11845 + _globals['_LOGGEDOUT']._serialized_end=11922 + _globals['_STREAMREPLACED']._serialized_start=11924 + _globals['_STREAMREPLACED']._serialized_end=11940 + _globals['_TEMPORARYBAN']._serialized_start=11943 + _globals['_TEMPORARYBAN']._serialized_end=12174 + _globals['_TEMPORARYBAN_TEMPBANREASON']._serialized_start=12027 + _globals['_TEMPORARYBAN_TEMPBANREASON']._serialized_end=12174 + _globals['_CONNECTFAILURE']._serialized_start=12176 + _globals['_CONNECTFAILURE']._serialized_end=12284 + _globals['_CLIENTOUTDATED']._serialized_start=12286 + _globals['_CLIENTOUTDATED']._serialized_end=12302 + _globals['_STREAMERROR']._serialized_start=12304 + _globals['_STREAMERROR']._serialized_end=12359 + _globals['_DISCONNECTED']._serialized_start=12361 + _globals['_DISCONNECTED']._serialized_end=12391 + _globals['_HISTORYSYNC']._serialized_start=12393 + _globals['_HISTORYSYNC']._serialized_end=12460 + _globals['_RECEIPT']._serialized_start=12463 + _globals['_RECEIPT']._serialized_end=12774 + _globals['_RECEIPT_RECEIPTTYPE']._serialized_start=12605 + _globals['_RECEIPT_RECEIPTTYPE']._serialized_end=12774 + _globals['_CHATPRESENCE']._serialized_start=12777 + _globals['_CHATPRESENCE']._serialized_end=13030 + _globals['_CHATPRESENCE_CHATPRESENCE']._serialized_start=12947 + _globals['_CHATPRESENCE_CHATPRESENCE']._serialized_end=12988 + _globals['_CHATPRESENCE_CHATPRESENCEMEDIA']._serialized_start=12990 + _globals['_CHATPRESENCE_CHATPRESENCEMEDIA']._serialized_end=13030 + _globals['_PRESENCE']._serialized_start=13032 + _globals['_PRESENCE']._serialized_end=13109 + _globals['_JOINEDGROUP']._serialized_start=13111 + _globals['_JOINEDGROUP']._serialized_end=13212 + _globals['_GROUPINFOEVENT']._serialized_start=13215 + _globals['_GROUPINFOEVENT']._serialized_end=13902 + _globals['_PICTURE']._serialized_start=13904 + _globals['_PICTURE']._serialized_end=14005 + _globals['_IDENTITYCHANGE']._serialized_start=14007 + _globals['_IDENTITYCHANGE']._serialized_end=14087 + _globals['_PRIVACYSETTINGSEVENT']._serialized_start=14090 + _globals['_PRIVACYSETTINGSEVENT']._serialized_end=14332 + _globals['_OFFLINESYNCPREVIEW']._serialized_start=14334 + _globals['_OFFLINESYNCPREVIEW']._serialized_end=14451 + _globals['_OFFLINESYNCCOMPLETED']._serialized_start=14453 + _globals['_OFFLINESYNCCOMPLETED']._serialized_end=14490 + _globals['_BLOCKLISTEVENT']._serialized_start=14493 + _globals['_BLOCKLISTEVENT']._serialized_end=14671 + _globals['_BLOCKLISTEVENT_ACTIONS']._serialized_start=14637 + _globals['_BLOCKLISTEVENT_ACTIONS']._serialized_end=14671 + _globals['_BLOCKLISTCHANGE']._serialized_start=14674 + _globals['_BLOCKLISTCHANGE']._serialized_end=14806 + _globals['_BLOCKLISTCHANGE_ACTION']._serialized_start=14774 + _globals['_BLOCKLISTCHANGE_ACTION']._serialized_end=14806 + _globals['_NEWSLETTERJOIN']._serialized_start=14808 + _globals['_NEWSLETTERJOIN']._serialized_end=14881 + _globals['_NEWSLETTERLEAVE']._serialized_start=14883 + _globals['_NEWSLETTERLEAVE']._serialized_end=14965 + _globals['_NEWSLETTERMUTECHANGE']._serialized_start=14967 + _globals['_NEWSLETTERMUTECHANGE']._serialized_end=15059 + _globals['_NEWSLETTERLIVEUPDATE']._serialized_start=15061 + _globals['_NEWSLETTERLIVEUPDATE']._serialized_end=15170 + _globals['_BASICCALLMETA']._serialized_start=15173 + _globals['_BASICCALLMETA']._serialized_end=15324 + _globals['_CALLREMOTEMETA']._serialized_start=15326 + _globals['_CALLREMOTEMETA']._serialized_end=15389 + _globals['_CALLOFFER']._serialized_start=15392 + _globals['_CALLOFFER']._serialized_end=15528 + _globals['_CALLACCEPT']._serialized_start=15531 + _globals['_CALLACCEPT']._serialized_end=15668 + _globals['_CALLPREACCEPT']._serialized_start=15671 + _globals['_CALLPREACCEPT']._serialized_end=15811 + _globals['_CALLTRANSPORT']._serialized_start=15814 + _globals['_CALLTRANSPORT']._serialized_end=15954 + _globals['_CALLOFFERNOTICE']._serialized_start=15956 + _globals['_CALLOFFERNOTICE']._serialized_end=16078 + _globals['_CALLRELAYLATENCY']._serialized_start=16080 + _globals['_CALLRELAYLATENCY']._serialized_end=16174 + _globals['_CALLTERMINATE']._serialized_start=16176 + _globals['_CALLTERMINATE']._serialized_end=16283 + _globals['_UNKNOWNCALLEVENT']._serialized_start=16285 + _globals['_UNKNOWNCALLEVENT']._serialized_end=16332 + _globals['_UNDECRYPTABLEMESSAGE']._serialized_start=16335 + _globals['_UNDECRYPTABLEMESSAGE']._serialized_end=16555 + _globals['_UNDECRYPTABLEMESSAGE_DECRYPTFAILMODET']._serialized_start=16491 + _globals['_UNDECRYPTABLEMESSAGE_DECRYPTFAILMODET']._serialized_end=16555 + _globals['_UPDATEGROUPPARTICIPANTSRETURNFUNCTION']._serialized_start=16557 + _globals['_UPDATEGROUPPARTICIPANTSRETURNFUNCTION']._serialized_end=16660 + _globals['_GETMESSAGEFORRETRYRETURNFUNCTION']._serialized_start=16662 + _globals['_GETMESSAGEFORRETRYRETURNFUNCTION']._serialized_end=16780 + _globals['_LOCALCHATSETTINGS']._serialized_start=16782 + _globals['_LOCALCHATSETTINGS']._serialized_end=16870 + _globals['_RETURNFUNCTIONWITHERROR']._serialized_start=16873 + _globals['_RETURNFUNCTIONWITHERROR']._serialized_end=17101 + _globals['_SENDREQUESTEXTRA']._serialized_start=17103 + _globals['_SENDREQUESTEXTRA']._serialized_end=17221 + _globals['_BUILDMESSAGERETURNFUNCTION']._serialized_start=17223 + _globals['_BUILDMESSAGERETURNFUNCTION']._serialized_end=17311 + _globals['_LOGENTRY']._serialized_start=17313 + _globals['_LOGENTRY']._serialized_end=17369 + _globals['_STOP']._serialized_start=17371 + _globals['_STOP']._serialized_end=17377 # @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/Neonize_pb2.pyi b/neonize/proto/Neonize_pb2.pyi index 6d337d8d..349cd182 100644 --- a/neonize/proto/Neonize_pb2.pyi +++ b/neonize/proto/Neonize_pb2.pyi @@ -2,15 +2,20 @@ @generated by mypy-protobuf. Do not edit manually! isort:skip_file """ + import builtins import collections.abc -import def_pb2 import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import sys import typing +import waE2E.WAWebProtobufsE2E_pb2 +import waHistorySync.WAWebProtobufsHistorySync_pb2 +import waSyncAction.WASyncAction_pb2 +import waVnameCert.WAWebProtobufsVnameCert_pb2 +import waWeb.WAWebProtobufsWeb_pb2 if sys.version_info >= (3, 10): import typing as typing_extensions @@ -19,7 +24,87 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor -@typing_extensions.final +class _AddressingMode: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _AddressingModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AddressingMode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PN: _AddressingMode.ValueType # 1 + LID: _AddressingMode.ValueType # 2 + +class AddressingMode(_AddressingMode, metaclass=_AddressingModeEnumTypeWrapper): ... + +PN: AddressingMode.ValueType # 1 +LID: AddressingMode.ValueType # 2 +global___AddressingMode = AddressingMode + +class _NewsletterRole: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _NewsletterRoleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_NewsletterRole.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SUBSCRIBER: _NewsletterRole.ValueType # 1 + GUEST: _NewsletterRole.ValueType # 2 + ADMIN: _NewsletterRole.ValueType # 3 + OWNER: _NewsletterRole.ValueType # 4 + +class NewsletterRole(_NewsletterRole, metaclass=_NewsletterRoleEnumTypeWrapper): ... + +SUBSCRIBER: NewsletterRole.ValueType # 1 +GUEST: NewsletterRole.ValueType # 2 +ADMIN: NewsletterRole.ValueType # 3 +OWNER: NewsletterRole.ValueType # 4 +global___NewsletterRole = NewsletterRole + +class _NewsletterMuteState: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _NewsletterMuteStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_NewsletterMuteState.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ON: _NewsletterMuteState.ValueType # 1 + OFF: _NewsletterMuteState.ValueType # 2 + +class NewsletterMuteState(_NewsletterMuteState, metaclass=_NewsletterMuteStateEnumTypeWrapper): ... + +ON: NewsletterMuteState.ValueType # 1 +OFF: NewsletterMuteState.ValueType # 2 +global___NewsletterMuteState = NewsletterMuteState + +class _ConnectFailureReason: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _ConnectFailureReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ConnectFailureReason.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + GENERIC: _ConnectFailureReason.ValueType # 1 + LOGGED_OUT: _ConnectFailureReason.ValueType # 2 + TEMP_BANNED: _ConnectFailureReason.ValueType # 3 + MAIN_DEVICE_GONE: _ConnectFailureReason.ValueType # 4 + UNKNOWN_LOGOUT: _ConnectFailureReason.ValueType # 5 + CLIENT_OUTDATED: _ConnectFailureReason.ValueType # 6 + BAD_USER_AGENT: _ConnectFailureReason.ValueType # 7 + INTERNAL_SERVER_ERROR: _ConnectFailureReason.ValueType # 8 + EXPERIMENTAL: _ConnectFailureReason.ValueType # 9 + SERVICE_UNAVAILABLE: _ConnectFailureReason.ValueType # 10 + +class ConnectFailureReason(_ConnectFailureReason, metaclass=_ConnectFailureReasonEnumTypeWrapper): ... + +GENERIC: ConnectFailureReason.ValueType # 1 +LOGGED_OUT: ConnectFailureReason.ValueType # 2 +TEMP_BANNED: ConnectFailureReason.ValueType # 3 +MAIN_DEVICE_GONE: ConnectFailureReason.ValueType # 4 +UNKNOWN_LOGOUT: ConnectFailureReason.ValueType # 5 +CLIENT_OUTDATED: ConnectFailureReason.ValueType # 6 +BAD_USER_AGENT: ConnectFailureReason.ValueType # 7 +INTERNAL_SERVER_ERROR: ConnectFailureReason.ValueType # 8 +EXPERIMENTAL: ConnectFailureReason.ValueType # 9 +SERVICE_UNAVAILABLE: ConnectFailureReason.ValueType # 10 +global___ConnectFailureReason = ConnectFailureReason + +@typing.final class JID(google.protobuf.message.Message): """types""" @@ -47,12 +132,12 @@ class JID(google.protobuf.message.Message): Server: builtins.str | None = ..., IsEmpty: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Device", b"Device", "Integrator", b"Integrator", "IsEmpty", b"IsEmpty", "RawAgent", b"RawAgent", "Server", b"Server", "User", b"User"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Device", b"Device", "Integrator", b"Integrator", "IsEmpty", b"IsEmpty", "RawAgent", b"RawAgent", "Server", b"Server", "User", b"User"]) -> None: ... + def HasField(self, field_name: typing.Literal["Device", b"Device", "Integrator", b"Integrator", "IsEmpty", b"IsEmpty", "RawAgent", b"RawAgent", "Server", b"Server", "User", b"User"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Device", b"Device", "Integrator", b"Integrator", "IsEmpty", b"IsEmpty", "RawAgent", b"RawAgent", "Server", b"Server", "User", b"User"]) -> None: ... global___JID = JID -@typing_extensions.final +@typing.final class MessageInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -68,8 +153,6 @@ class MessageInfo(google.protobuf.message.Message): EDIT_FIELD_NUMBER: builtins.int VERIFIEDNAME_FIELD_NUMBER: builtins.int DEVICESENTMETA_FIELD_NUMBER: builtins.int - @property - def MessageSource(self) -> global___MessageSource: ... ID: builtins.str ServerID: builtins.int Type: builtins.str @@ -81,6 +164,8 @@ class MessageInfo(google.protobuf.message.Message): Edit: builtins.str """enum""" @property + def MessageSource(self) -> global___MessageSource: ... + @property def VerifiedName(self) -> global___VerifiedName: ... @property def DeviceSentMeta(self) -> global___DeviceSentMeta: ... @@ -100,12 +185,12 @@ class MessageInfo(google.protobuf.message.Message): VerifiedName: global___VerifiedName | None = ..., DeviceSentMeta: global___DeviceSentMeta | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Category", b"Category", "DeviceSentMeta", b"DeviceSentMeta", "Edit", b"Edit", "ID", b"ID", "MediaType", b"MediaType", "MessageSource", b"MessageSource", "Multicast", b"Multicast", "Pushname", b"Pushname", "ServerID", b"ServerID", "Timestamp", b"Timestamp", "Type", b"Type", "VerifiedName", b"VerifiedName"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Category", b"Category", "DeviceSentMeta", b"DeviceSentMeta", "Edit", b"Edit", "ID", b"ID", "MediaType", b"MediaType", "MessageSource", b"MessageSource", "Multicast", b"Multicast", "Pushname", b"Pushname", "ServerID", b"ServerID", "Timestamp", b"Timestamp", "Type", b"Type", "VerifiedName", b"VerifiedName"]) -> None: ... + def HasField(self, field_name: typing.Literal["Category", b"Category", "DeviceSentMeta", b"DeviceSentMeta", "Edit", b"Edit", "ID", b"ID", "MediaType", b"MediaType", "MessageSource", b"MessageSource", "Multicast", b"Multicast", "Pushname", b"Pushname", "ServerID", b"ServerID", "Timestamp", b"Timestamp", "Type", b"Type", "VerifiedName", b"VerifiedName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Category", b"Category", "DeviceSentMeta", b"DeviceSentMeta", "Edit", b"Edit", "ID", b"ID", "MediaType", b"MediaType", "MessageSource", b"MessageSource", "Multicast", b"Multicast", "Pushname", b"Pushname", "ServerID", b"ServerID", "Timestamp", b"Timestamp", "Type", b"Type", "VerifiedName", b"VerifiedName"]) -> None: ... global___MessageInfo = MessageInfo -@typing_extensions.final +@typing.final class UploadResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -134,12 +219,33 @@ class UploadResponse(google.protobuf.message.Message): FileSHA256: builtins.bytes | None = ..., FileLength: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["DirectPath", b"DirectPath", "FileEncSHA256", b"FileEncSHA256", "FileLength", b"FileLength", "FileSHA256", b"FileSHA256", "Handle", b"Handle", "MediaKey", b"MediaKey", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["DirectPath", b"DirectPath", "FileEncSHA256", b"FileEncSHA256", "FileLength", b"FileLength", "FileSHA256", b"FileSHA256", "Handle", b"Handle", "MediaKey", b"MediaKey", "url", b"url"]) -> None: ... + def HasField(self, field_name: typing.Literal["DirectPath", b"DirectPath", "FileEncSHA256", b"FileEncSHA256", "FileLength", b"FileLength", "FileSHA256", b"FileSHA256", "Handle", b"Handle", "MediaKey", b"MediaKey", "url", b"url"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["DirectPath", b"DirectPath", "FileEncSHA256", b"FileEncSHA256", "FileLength", b"FileLength", "FileSHA256", b"FileSHA256", "Handle", b"Handle", "MediaKey", b"MediaKey", "url", b"url"]) -> None: ... global___UploadResponse = UploadResponse -@typing_extensions.final +@typing.final +class BroadcastRecipient(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LID_FIELD_NUMBER: builtins.int + PN_FIELD_NUMBER: builtins.int + @property + def LID(self) -> global___JID: ... + @property + def PN(self) -> global___JID: ... + def __init__( + self, + *, + LID: global___JID | None = ..., + PN: global___JID | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["LID", b"LID", "PN", b"PN"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["LID", b"LID", "PN", b"PN"]) -> None: ... + +global___BroadcastRecipient = BroadcastRecipient + +@typing.final class MessageSource(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -147,15 +253,26 @@ class MessageSource(google.protobuf.message.Message): SENDER_FIELD_NUMBER: builtins.int ISFROMME_FIELD_NUMBER: builtins.int ISGROUP_FIELD_NUMBER: builtins.int + ADDRESSINGMODE_FIELD_NUMBER: builtins.int + SENDERALT_FIELD_NUMBER: builtins.int + RECIPIENTALT_FIELD_NUMBER: builtins.int BROADCASTLISTOWNER_FIELD_NUMBER: builtins.int + BROADCASTRECIPIENTS_FIELD_NUMBER: builtins.int + IsFromMe: builtins.bool + IsGroup: builtins.bool + AddressingMode: global___AddressingMode.ValueType @property def Chat(self) -> global___JID: ... @property def Sender(self) -> global___JID: ... - IsFromMe: builtins.bool - IsGroup: builtins.bool + @property + def SenderAlt(self) -> global___JID: ... + @property + def RecipientAlt(self) -> global___JID: ... @property def BroadcastListOwner(self) -> global___JID: ... + @property + def BroadcastRecipients(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BroadcastRecipient]: ... def __init__( self, *, @@ -163,14 +280,18 @@ class MessageSource(google.protobuf.message.Message): Sender: global___JID | None = ..., IsFromMe: builtins.bool | None = ..., IsGroup: builtins.bool | None = ..., + AddressingMode: global___AddressingMode.ValueType | None = ..., + SenderAlt: global___JID | None = ..., + RecipientAlt: global___JID | None = ..., BroadcastListOwner: global___JID | None = ..., + BroadcastRecipients: collections.abc.Iterable[global___BroadcastRecipient] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["BroadcastListOwner", b"BroadcastListOwner", "Chat", b"Chat", "IsFromMe", b"IsFromMe", "IsGroup", b"IsGroup", "Sender", b"Sender"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["BroadcastListOwner", b"BroadcastListOwner", "Chat", b"Chat", "IsFromMe", b"IsFromMe", "IsGroup", b"IsGroup", "Sender", b"Sender"]) -> None: ... + def HasField(self, field_name: typing.Literal["AddressingMode", b"AddressingMode", "BroadcastListOwner", b"BroadcastListOwner", "Chat", b"Chat", "IsFromMe", b"IsFromMe", "IsGroup", b"IsGroup", "RecipientAlt", b"RecipientAlt", "Sender", b"Sender", "SenderAlt", b"SenderAlt"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["AddressingMode", b"AddressingMode", "BroadcastListOwner", b"BroadcastListOwner", "BroadcastRecipients", b"BroadcastRecipients", "Chat", b"Chat", "IsFromMe", b"IsFromMe", "IsGroup", b"IsGroup", "RecipientAlt", b"RecipientAlt", "Sender", b"Sender", "SenderAlt", b"SenderAlt"]) -> None: ... global___MessageSource = MessageSource -@typing_extensions.final +@typing.final class DeviceSentMeta(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -184,12 +305,12 @@ class DeviceSentMeta(google.protobuf.message.Message): DestinationJID: builtins.str | None = ..., Phash: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["DestinationJID", b"DestinationJID", "Phash", b"Phash"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["DestinationJID", b"DestinationJID", "Phash", b"Phash"]) -> None: ... + def HasField(self, field_name: typing.Literal["DestinationJID", b"DestinationJID", "Phash", b"Phash"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["DestinationJID", b"DestinationJID", "Phash", b"Phash"]) -> None: ... global___DeviceSentMeta = DeviceSentMeta -@typing_extensions.final +@typing.final class VerifiedName(google.protobuf.message.Message): """}""" @@ -198,21 +319,21 @@ class VerifiedName(google.protobuf.message.Message): CERTIFICATE_FIELD_NUMBER: builtins.int DETAILS_FIELD_NUMBER: builtins.int @property - def Certificate(self) -> def_pb2.VerifiedNameCertificate: ... + def Certificate(self) -> waVnameCert.WAWebProtobufsVnameCert_pb2.VerifiedNameCertificate: ... @property - def Details(self) -> def_pb2.VerifiedNameCertificate.Details: ... + def Details(self) -> waVnameCert.WAWebProtobufsVnameCert_pb2.VerifiedNameCertificate.Details: ... def __init__( self, *, - Certificate: def_pb2.VerifiedNameCertificate | None = ..., - Details: def_pb2.VerifiedNameCertificate.Details | None = ..., + Certificate: waVnameCert.WAWebProtobufsVnameCert_pb2.VerifiedNameCertificate | None = ..., + Details: waVnameCert.WAWebProtobufsVnameCert_pb2.VerifiedNameCertificate.Details | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Certificate", b"Certificate", "Details", b"Details"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Certificate", b"Certificate", "Details", b"Details"]) -> None: ... + def HasField(self, field_name: typing.Literal["Certificate", b"Certificate", "Details", b"Details"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Certificate", b"Certificate", "Details", b"Details"]) -> None: ... global___VerifiedName = VerifiedName -@typing_extensions.final +@typing.final class IsOnWhatsAppResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -221,9 +342,9 @@ class IsOnWhatsAppResponse(google.protobuf.message.Message): ISIN_FIELD_NUMBER: builtins.int VERIFIEDNAME_FIELD_NUMBER: builtins.int Query: builtins.str + IsIn: builtins.bool @property def JID(self) -> global___JID: ... - IsIn: builtins.bool @property def VerifiedName(self) -> global___VerifiedName: ... def __init__( @@ -234,12 +355,12 @@ class IsOnWhatsAppResponse(google.protobuf.message.Message): IsIn: builtins.bool | None = ..., VerifiedName: global___VerifiedName | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["IsIn", b"IsIn", "JID", b"JID", "Query", b"Query", "VerifiedName", b"VerifiedName"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["IsIn", b"IsIn", "JID", b"JID", "Query", b"Query", "VerifiedName", b"VerifiedName"]) -> None: ... + def HasField(self, field_name: typing.Literal["IsIn", b"IsIn", "JID", b"JID", "Query", b"Query", "VerifiedName", b"VerifiedName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["IsIn", b"IsIn", "JID", b"JID", "Query", b"Query", "VerifiedName", b"VerifiedName"]) -> None: ... global___IsOnWhatsAppResponse = IsOnWhatsAppResponse -@typing_extensions.final +@typing.final class UserInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -247,11 +368,11 @@ class UserInfo(google.protobuf.message.Message): STATUS_FIELD_NUMBER: builtins.int PICTUREID_FIELD_NUMBER: builtins.int DEVICES_FIELD_NUMBER: builtins.int - @property - def VerifiedName(self) -> global___VerifiedName: ... Status: builtins.str PictureID: builtins.str @property + def VerifiedName(self) -> global___VerifiedName: ... + @property def Devices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___JID]: ... def __init__( self, @@ -261,41 +382,45 @@ class UserInfo(google.protobuf.message.Message): PictureID: builtins.str | None = ..., Devices: collections.abc.Iterable[global___JID] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["PictureID", b"PictureID", "Status", b"Status", "VerifiedName", b"VerifiedName"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Devices", b"Devices", "PictureID", b"PictureID", "Status", b"Status", "VerifiedName", b"VerifiedName"]) -> None: ... + def HasField(self, field_name: typing.Literal["PictureID", b"PictureID", "Status", b"Status", "VerifiedName", b"VerifiedName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Devices", b"Devices", "PictureID", b"PictureID", "Status", b"Status", "VerifiedName", b"VerifiedName"]) -> None: ... global___UserInfo = UserInfo -@typing_extensions.final +@typing.final class Device(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor JID_FIELD_NUMBER: builtins.int + LID_FIELD_NUMBER: builtins.int PLATFORM_FIELD_NUMBER: builtins.int BUSSINESSNAME_FIELD_NUMBER: builtins.int PUSHNAME_FIELD_NUMBER: builtins.int INITIALIZED_FIELD_NUMBER: builtins.int - @property - def JID(self) -> global___JID: ... Platform: builtins.str BussinessName: builtins.str PushName: builtins.str Initialized: builtins.bool + @property + def JID(self) -> global___JID: ... + @property + def LID(self) -> global___JID: ... def __init__( self, *, JID: global___JID | None = ..., + LID: global___JID | None = ..., Platform: builtins.str | None = ..., BussinessName: builtins.str | None = ..., PushName: builtins.str | None = ..., Initialized: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["BussinessName", b"BussinessName", "Initialized", b"Initialized", "JID", b"JID", "Platform", b"Platform", "PushName", b"PushName"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["BussinessName", b"BussinessName", "Initialized", b"Initialized", "JID", b"JID", "Platform", b"Platform", "PushName", b"PushName"]) -> None: ... + def HasField(self, field_name: typing.Literal["BussinessName", b"BussinessName", "Initialized", b"Initialized", "JID", b"JID", "LID", b"LID", "Platform", b"Platform", "PushName", b"PushName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["BussinessName", b"BussinessName", "Initialized", b"Initialized", "JID", b"JID", "LID", b"LID", "Platform", b"Platform", "PushName", b"PushName"]) -> None: ... global___Device = Device -@typing_extensions.final +@typing.final class GroupName(google.protobuf.message.Message): """GROUP""" @@ -315,12 +440,12 @@ class GroupName(google.protobuf.message.Message): NameSetAt: builtins.int | None = ..., NameSetBy: global___JID | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Name", b"Name", "NameSetAt", b"NameSetAt", "NameSetBy", b"NameSetBy"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Name", b"Name", "NameSetAt", b"NameSetAt", "NameSetBy", b"NameSetBy"]) -> None: ... + def HasField(self, field_name: typing.Literal["Name", b"Name", "NameSetAt", b"NameSetAt", "NameSetBy", b"NameSetBy"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Name", b"Name", "NameSetAt", b"NameSetAt", "NameSetBy", b"NameSetBy"]) -> None: ... global___GroupName = GroupName -@typing_extensions.final +@typing.final class GroupTopic(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -332,9 +457,9 @@ class GroupTopic(google.protobuf.message.Message): Topic: builtins.str TopicID: builtins.str TopicSetAt: builtins.int + TopicDeleted: builtins.bool @property def TopicSetBy(self) -> global___JID: ... - TopicDeleted: builtins.bool def __init__( self, *, @@ -344,12 +469,12 @@ class GroupTopic(google.protobuf.message.Message): TopicSetBy: global___JID | None = ..., TopicDeleted: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Topic", b"Topic", "TopicDeleted", b"TopicDeleted", "TopicID", b"TopicID", "TopicSetAt", b"TopicSetAt", "TopicSetBy", b"TopicSetBy"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Topic", b"Topic", "TopicDeleted", b"TopicDeleted", "TopicID", b"TopicID", "TopicSetAt", b"TopicSetAt", "TopicSetBy", b"TopicSetBy"]) -> None: ... + def HasField(self, field_name: typing.Literal["Topic", b"Topic", "TopicDeleted", b"TopicDeleted", "TopicID", b"TopicID", "TopicSetAt", b"TopicSetAt", "TopicSetBy", b"TopicSetBy"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Topic", b"Topic", "TopicDeleted", b"TopicDeleted", "TopicID", b"TopicID", "TopicSetAt", b"TopicSetAt", "TopicSetBy", b"TopicSetBy"]) -> None: ... global___GroupTopic = GroupTopic -@typing_extensions.final +@typing.final class GroupLocked(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -360,12 +485,12 @@ class GroupLocked(google.protobuf.message.Message): *, isLocked: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["isLocked", b"isLocked"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["isLocked", b"isLocked"]) -> None: ... + def HasField(self, field_name: typing.Literal["isLocked", b"isLocked"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isLocked", b"isLocked"]) -> None: ... global___GroupLocked = GroupLocked -@typing_extensions.final +@typing.final class GroupAnnounce(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -379,12 +504,12 @@ class GroupAnnounce(google.protobuf.message.Message): IsAnnounce: builtins.bool | None = ..., AnnounceVersionID: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["AnnounceVersionID", b"AnnounceVersionID", "IsAnnounce", b"IsAnnounce"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["AnnounceVersionID", b"AnnounceVersionID", "IsAnnounce", b"IsAnnounce"]) -> None: ... + def HasField(self, field_name: typing.Literal["AnnounceVersionID", b"AnnounceVersionID", "IsAnnounce", b"IsAnnounce"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["AnnounceVersionID", b"AnnounceVersionID", "IsAnnounce", b"IsAnnounce"]) -> None: ... global___GroupAnnounce = GroupAnnounce -@typing_extensions.final +@typing.final class GroupEphemeral(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -398,12 +523,12 @@ class GroupEphemeral(google.protobuf.message.Message): IsEphemeral: builtins.bool | None = ..., DisappearingTimer: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["DisappearingTimer", b"DisappearingTimer", "IsEphemeral", b"IsEphemeral"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["DisappearingTimer", b"DisappearingTimer", "IsEphemeral", b"IsEphemeral"]) -> None: ... + def HasField(self, field_name: typing.Literal["DisappearingTimer", b"DisappearingTimer", "IsEphemeral", b"IsEphemeral"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["DisappearingTimer", b"DisappearingTimer", "IsEphemeral", b"IsEphemeral"]) -> None: ... global___GroupEphemeral = GroupEphemeral -@typing_extensions.final +@typing.final class GroupIncognito(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -414,12 +539,12 @@ class GroupIncognito(google.protobuf.message.Message): *, IsIncognito: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["IsIncognito", b"IsIncognito"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["IsIncognito", b"IsIncognito"]) -> None: ... + def HasField(self, field_name: typing.Literal["IsIncognito", b"IsIncognito"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["IsIncognito", b"IsIncognito"]) -> None: ... global___GroupIncognito = GroupIncognito -@typing_extensions.final +@typing.final class GroupParent(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -433,12 +558,12 @@ class GroupParent(google.protobuf.message.Message): IsParent: builtins.bool | None = ..., DefaultMembershipApprovalMode: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["DefaultMembershipApprovalMode", b"DefaultMembershipApprovalMode", "IsParent", b"IsParent"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["DefaultMembershipApprovalMode", b"DefaultMembershipApprovalMode", "IsParent", b"IsParent"]) -> None: ... + def HasField(self, field_name: typing.Literal["DefaultMembershipApprovalMode", b"DefaultMembershipApprovalMode", "IsParent", b"IsParent"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["DefaultMembershipApprovalMode", b"DefaultMembershipApprovalMode", "IsParent", b"IsParent"]) -> None: ... global___GroupParent = GroupParent -@typing_extensions.final +@typing.final class GroupLinkedParent(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -450,12 +575,12 @@ class GroupLinkedParent(google.protobuf.message.Message): *, LinkedParentJID: global___JID | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["LinkedParentJID", b"LinkedParentJID"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["LinkedParentJID", b"LinkedParentJID"]) -> None: ... + def HasField(self, field_name: typing.Literal["LinkedParentJID", b"LinkedParentJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["LinkedParentJID", b"LinkedParentJID"]) -> None: ... global___GroupLinkedParent = GroupLinkedParent -@typing_extensions.final +@typing.final class GroupIsDefaultSub(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -466,12 +591,12 @@ class GroupIsDefaultSub(google.protobuf.message.Message): *, IsDefaultSubGroup: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["IsDefaultSubGroup", b"IsDefaultSubGroup"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["IsDefaultSubGroup", b"IsDefaultSubGroup"]) -> None: ... + def HasField(self, field_name: typing.Literal["IsDefaultSubGroup", b"IsDefaultSubGroup"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["IsDefaultSubGroup", b"IsDefaultSubGroup"]) -> None: ... global___GroupIsDefaultSub = GroupIsDefaultSub -@typing_extensions.final +@typing.final class GroupParticipantAddRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -485,49 +610,53 @@ class GroupParticipantAddRequest(google.protobuf.message.Message): Code: builtins.str | None = ..., Expiration: builtins.float | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Code", b"Code", "Expiration", b"Expiration"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Code", b"Code", "Expiration", b"Expiration"]) -> None: ... + def HasField(self, field_name: typing.Literal["Code", b"Code", "Expiration", b"Expiration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Code", b"Code", "Expiration", b"Expiration"]) -> None: ... global___GroupParticipantAddRequest = GroupParticipantAddRequest -@typing_extensions.final +@typing.final class GroupParticipant(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor JID_FIELD_NUMBER: builtins.int LID_FIELD_NUMBER: builtins.int + PHONENUMBER_FIELD_NUMBER: builtins.int ISADMIN_FIELD_NUMBER: builtins.int ISSUPERADMIN_FIELD_NUMBER: builtins.int DISPLAYNAME_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int ADDREQUEST_FIELD_NUMBER: builtins.int - @property - def JID(self) -> global___JID: ... - @property - def LID(self) -> global___JID: ... IsAdmin: builtins.bool IsSuperAdmin: builtins.bool DisplayName: builtins.str Error: builtins.int @property + def JID(self) -> global___JID: ... + @property + def LID(self) -> global___JID: ... + @property + def PhoneNumber(self) -> global___JID: ... + @property def AddRequest(self) -> global___GroupParticipantAddRequest: ... def __init__( self, *, JID: global___JID | None = ..., LID: global___JID | None = ..., + PhoneNumber: global___JID | None = ..., IsAdmin: builtins.bool | None = ..., IsSuperAdmin: builtins.bool | None = ..., DisplayName: builtins.str | None = ..., Error: builtins.int | None = ..., AddRequest: global___GroupParticipantAddRequest | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["AddRequest", b"AddRequest", "DisplayName", b"DisplayName", "Error", b"Error", "IsAdmin", b"IsAdmin", "IsSuperAdmin", b"IsSuperAdmin", "JID", b"JID", "LID", b"LID"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["AddRequest", b"AddRequest", "DisplayName", b"DisplayName", "Error", b"Error", "IsAdmin", b"IsAdmin", "IsSuperAdmin", b"IsSuperAdmin", "JID", b"JID", "LID", b"LID"]) -> None: ... + def HasField(self, field_name: typing.Literal["AddRequest", b"AddRequest", "DisplayName", b"DisplayName", "Error", b"Error", "IsAdmin", b"IsAdmin", "IsSuperAdmin", b"IsSuperAdmin", "JID", b"JID", "LID", b"LID", "PhoneNumber", b"PhoneNumber"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["AddRequest", b"AddRequest", "DisplayName", b"DisplayName", "Error", b"Error", "IsAdmin", b"IsAdmin", "IsSuperAdmin", b"IsSuperAdmin", "JID", b"JID", "LID", b"LID", "PhoneNumber", b"PhoneNumber"]) -> None: ... global___GroupParticipant = GroupParticipant -@typing_extensions.final +@typing.final class GroupInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -544,6 +673,7 @@ class GroupInfo(google.protobuf.message.Message): OWNERJID_FIELD_NUMBER: builtins.int JID_FIELD_NUMBER: builtins.int + OWNERPN_FIELD_NUMBER: builtins.int GROUPNAME_FIELD_NUMBER: builtins.int GROUPTOPIC_FIELD_NUMBER: builtins.int GROUPLOCKED_FIELD_NUMBER: builtins.int @@ -556,11 +686,15 @@ class GroupInfo(google.protobuf.message.Message): GROUPCREATED_FIELD_NUMBER: builtins.int PARTICIPANTVERSIONID_FIELD_NUMBER: builtins.int PARTICIPANTS_FIELD_NUMBER: builtins.int + GroupCreated: builtins.float + ParticipantVersionID: builtins.str @property def OwnerJID(self) -> global___JID: ... @property def JID(self) -> global___JID: ... @property + def OwnerPN(self) -> global___JID: ... + @property def GroupName(self) -> global___GroupName: ... @property def GroupTopic(self) -> global___GroupTopic: ... @@ -578,8 +712,6 @@ class GroupInfo(google.protobuf.message.Message): def GroupLinkedParent(self) -> global___GroupLinkedParent: ... @property def GroupIsDefaultSub(self) -> global___GroupIsDefaultSub: ... - GroupCreated: builtins.float - ParticipantVersionID: builtins.str @property def Participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GroupParticipant]: ... def __init__( @@ -587,6 +719,7 @@ class GroupInfo(google.protobuf.message.Message): *, OwnerJID: global___JID | None = ..., JID: global___JID | None = ..., + OwnerPN: global___JID | None = ..., GroupName: global___GroupName | None = ..., GroupTopic: global___GroupTopic | None = ..., GroupLocked: global___GroupLocked | None = ..., @@ -600,12 +733,12 @@ class GroupInfo(google.protobuf.message.Message): ParticipantVersionID: builtins.str | None = ..., Participants: collections.abc.Iterable[global___GroupParticipant] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["GroupAnnounce", b"GroupAnnounce", "GroupCreated", b"GroupCreated", "GroupEphemeral", b"GroupEphemeral", "GroupIncognito", b"GroupIncognito", "GroupIsDefaultSub", b"GroupIsDefaultSub", "GroupLinkedParent", b"GroupLinkedParent", "GroupLocked", b"GroupLocked", "GroupName", b"GroupName", "GroupParent", b"GroupParent", "GroupTopic", b"GroupTopic", "JID", b"JID", "OwnerJID", b"OwnerJID", "ParticipantVersionID", b"ParticipantVersionID"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["GroupAnnounce", b"GroupAnnounce", "GroupCreated", b"GroupCreated", "GroupEphemeral", b"GroupEphemeral", "GroupIncognito", b"GroupIncognito", "GroupIsDefaultSub", b"GroupIsDefaultSub", "GroupLinkedParent", b"GroupLinkedParent", "GroupLocked", b"GroupLocked", "GroupName", b"GroupName", "GroupParent", b"GroupParent", "GroupTopic", b"GroupTopic", "JID", b"JID", "OwnerJID", b"OwnerJID", "ParticipantVersionID", b"ParticipantVersionID", "Participants", b"Participants"]) -> None: ... + def HasField(self, field_name: typing.Literal["GroupAnnounce", b"GroupAnnounce", "GroupCreated", b"GroupCreated", "GroupEphemeral", b"GroupEphemeral", "GroupIncognito", b"GroupIncognito", "GroupIsDefaultSub", b"GroupIsDefaultSub", "GroupLinkedParent", b"GroupLinkedParent", "GroupLocked", b"GroupLocked", "GroupName", b"GroupName", "GroupParent", b"GroupParent", "GroupTopic", b"GroupTopic", "JID", b"JID", "OwnerJID", b"OwnerJID", "OwnerPN", b"OwnerPN", "ParticipantVersionID", b"ParticipantVersionID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["GroupAnnounce", b"GroupAnnounce", "GroupCreated", b"GroupCreated", "GroupEphemeral", b"GroupEphemeral", "GroupIncognito", b"GroupIncognito", "GroupIsDefaultSub", b"GroupIsDefaultSub", "GroupLinkedParent", b"GroupLinkedParent", "GroupLocked", b"GroupLocked", "GroupName", b"GroupName", "GroupParent", b"GroupParent", "GroupTopic", b"GroupTopic", "JID", b"JID", "OwnerJID", b"OwnerJID", "OwnerPN", b"OwnerPN", "ParticipantVersionID", b"ParticipantVersionID", "Participants", b"Participants"]) -> None: ... global___GroupInfo = GroupInfo -@typing_extensions.final +@typing.final class MessageDebugTimings(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -640,12 +773,12 @@ class MessageDebugTimings(google.protobuf.message.Message): Resp: builtins.int | None = ..., Retry: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["GetDevices", b"GetDevices", "GetParticipants", b"GetParticipants", "GroupEncrypt", b"GroupEncrypt", "Marshal", b"Marshal", "PeerEncrypt", b"PeerEncrypt", "Queue", b"Queue", "Resp", b"Resp", "Retry", b"Retry", "Send", b"Send"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["GetDevices", b"GetDevices", "GetParticipants", b"GetParticipants", "GroupEncrypt", b"GroupEncrypt", "Marshal", b"Marshal", "PeerEncrypt", b"PeerEncrypt", "Queue", b"Queue", "Resp", b"Resp", "Retry", b"Retry", "Send", b"Send"]) -> None: ... + def HasField(self, field_name: typing.Literal["GetDevices", b"GetDevices", "GetParticipants", b"GetParticipants", "GroupEncrypt", b"GroupEncrypt", "Marshal", b"Marshal", "PeerEncrypt", b"PeerEncrypt", "Queue", b"Queue", "Resp", b"Resp", "Retry", b"Retry", "Send", b"Send"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["GetDevices", b"GetDevices", "GetParticipants", b"GetParticipants", "GroupEncrypt", b"GroupEncrypt", "Marshal", b"Marshal", "PeerEncrypt", b"PeerEncrypt", "Queue", b"Queue", "Resp", b"Resp", "Retry", b"Retry", "Send", b"Send"]) -> None: ... global___MessageDebugTimings = MessageDebugTimings -@typing_extensions.final +@typing.final class SendResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -653,11 +786,14 @@ class SendResponse(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int SERVERID_FIELD_NUMBER: builtins.int DEBUGTIMINGS_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int Timestamp: builtins.int ID: builtins.str ServerID: builtins.int @property def DebugTimings(self) -> global___MessageDebugTimings: ... + @property + def Message(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... def __init__( self, *, @@ -665,13 +801,14 @@ class SendResponse(google.protobuf.message.Message): ID: builtins.str | None = ..., ServerID: builtins.int | None = ..., DebugTimings: global___MessageDebugTimings | None = ..., + Message: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["DebugTimings", b"DebugTimings", "ID", b"ID", "ServerID", b"ServerID", "Timestamp", b"Timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["DebugTimings", b"DebugTimings", "ID", b"ID", "ServerID", b"ServerID", "Timestamp", b"Timestamp"]) -> None: ... + def HasField(self, field_name: typing.Literal["DebugTimings", b"DebugTimings", "ID", b"ID", "Message", b"Message", "ServerID", b"ServerID", "Timestamp", b"Timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["DebugTimings", b"DebugTimings", "ID", b"ID", "Message", b"Message", "ServerID", b"ServerID", "Timestamp", b"Timestamp"]) -> None: ... global___SendResponse = SendResponse -@typing_extensions.final +@typing.final class SendMessageReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -686,12 +823,12 @@ class SendMessageReturnFunction(google.protobuf.message.Message): Error: builtins.str | None = ..., SendResponse: global___SendResponse | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error", "SendResponse", b"SendResponse"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "SendResponse", b"SendResponse"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "SendResponse", b"SendResponse"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "SendResponse", b"SendResponse"]) -> None: ... global___SendMessageReturnFunction = SendMessageReturnFunction -@typing_extensions.final +@typing.final class GetGroupInfoReturnFunction(google.protobuf.message.Message): """Function""" @@ -699,21 +836,21 @@ class GetGroupInfoReturnFunction(google.protobuf.message.Message): GROUPINFO_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str @property def GroupInfo(self) -> global___GroupInfo: ... - Error: builtins.str def __init__( self, *, GroupInfo: global___GroupInfo | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error", "GroupInfo", b"GroupInfo"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "GroupInfo", b"GroupInfo"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "GroupInfo", b"GroupInfo"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "GroupInfo", b"GroupInfo"]) -> None: ... global___GetGroupInfoReturnFunction = GetGroupInfoReturnFunction -@typing_extensions.final +@typing.final class JoinGroupWithLinkReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -728,12 +865,32 @@ class JoinGroupWithLinkReturnFunction(google.protobuf.message.Message): Error: builtins.str | None = ..., Jid: global___JID | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error", "Jid", b"Jid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "Jid", b"Jid"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "Jid", b"Jid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "Jid", b"Jid"]) -> None: ... global___JoinGroupWithLinkReturnFunction = JoinGroupWithLinkReturnFunction -@typing_extensions.final +@typing.final +class GetJIDFromStoreReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ERROR_FIELD_NUMBER: builtins.int + JID_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def Jid(self) -> global___JID: ... + def __init__( + self, + *, + Error: builtins.str | None = ..., + Jid: global___JID | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "Jid", b"Jid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "Jid", b"Jid"]) -> None: ... + +global___GetJIDFromStoreReturnFunction = GetJIDFromStoreReturnFunction + +@typing.final class GetGroupInviteLinkReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -747,12 +904,12 @@ class GetGroupInviteLinkReturnFunction(google.protobuf.message.Message): InviteLink: builtins.str | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error", "InviteLink", b"InviteLink"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "InviteLink", b"InviteLink"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "InviteLink", b"InviteLink"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "InviteLink", b"InviteLink"]) -> None: ... global___GetGroupInviteLinkReturnFunction = GetGroupInviteLinkReturnFunction -@typing_extensions.final +@typing.final class DownloadReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -766,32 +923,32 @@ class DownloadReturnFunction(google.protobuf.message.Message): Binary: builtins.bytes | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Binary", b"Binary", "Error", b"Error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Binary", b"Binary", "Error", b"Error"]) -> None: ... + def HasField(self, field_name: typing.Literal["Binary", b"Binary", "Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Binary", b"Binary", "Error", b"Error"]) -> None: ... global___DownloadReturnFunction = DownloadReturnFunction -@typing_extensions.final +@typing.final class UploadReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor UPLOADRESPONSE_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str @property def UploadResponse(self) -> global___UploadResponse: ... - Error: builtins.str def __init__( self, *, UploadResponse: global___UploadResponse | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error", "UploadResponse", b"UploadResponse"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "UploadResponse", b"UploadResponse"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "UploadResponse", b"UploadResponse"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "UploadResponse", b"UploadResponse"]) -> None: ... global___UploadReturnFunction = UploadReturnFunction -@typing_extensions.final +@typing.final class SetGroupPhotoReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -805,32 +962,32 @@ class SetGroupPhotoReturnFunction(google.protobuf.message.Message): PictureID: builtins.str | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error", "PictureID", b"PictureID"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "PictureID", b"PictureID"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "PictureID", b"PictureID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "PictureID", b"PictureID"]) -> None: ... global___SetGroupPhotoReturnFunction = SetGroupPhotoReturnFunction -@typing_extensions.final +@typing.final class IsOnWhatsAppReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor ISONWHATSAPPRESPONSE_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str @property def IsOnWhatsAppResponse(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IsOnWhatsAppResponse]: ... - Error: builtins.str def __init__( self, *, IsOnWhatsAppResponse: collections.abc.Iterable[global___IsOnWhatsAppResponse] | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "IsOnWhatsAppResponse", b"IsOnWhatsAppResponse"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "IsOnWhatsAppResponse", b"IsOnWhatsAppResponse"]) -> None: ... global___IsOnWhatsAppReturnFunction = IsOnWhatsAppReturnFunction -@typing_extensions.final +@typing.final class GetUserInfoSingleReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -846,92 +1003,92 @@ class GetUserInfoSingleReturnFunction(google.protobuf.message.Message): JID: global___JID | None = ..., UserInfo: global___UserInfo | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["JID", b"JID", "UserInfo", b"UserInfo"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["JID", b"JID", "UserInfo", b"UserInfo"]) -> None: ... + def HasField(self, field_name: typing.Literal["JID", b"JID", "UserInfo", b"UserInfo"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JID", b"JID", "UserInfo", b"UserInfo"]) -> None: ... global___GetUserInfoSingleReturnFunction = GetUserInfoSingleReturnFunction -@typing_extensions.final +@typing.final class GetUserInfoReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor USERSINFO_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str @property def UsersInfo(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GetUserInfoSingleReturnFunction]: ... - Error: builtins.str def __init__( self, *, UsersInfo: collections.abc.Iterable[global___GetUserInfoSingleReturnFunction] | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "UsersInfo", b"UsersInfo"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "UsersInfo", b"UsersInfo"]) -> None: ... global___GetUserInfoReturnFunction = GetUserInfoReturnFunction -@typing_extensions.final +@typing.final class BuildPollVoteReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor POLLVOTE_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int - @property - def PollVote(self) -> def_pb2.Message: ... Error: builtins.str + @property + def PollVote(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... def __init__( self, *, - PollVote: def_pb2.Message | None = ..., + PollVote: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error", "PollVote", b"PollVote"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "PollVote", b"PollVote"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "PollVote", b"PollVote"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "PollVote", b"PollVote"]) -> None: ... global___BuildPollVoteReturnFunction = BuildPollVoteReturnFunction -@typing_extensions.final +@typing.final class CreateNewsLetterReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NEWSLETTERMETADATA_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str @property def NewsletterMetadata(self) -> global___NewsletterMetadata: ... - Error: builtins.str def __init__( self, *, NewsletterMetadata: global___NewsletterMetadata | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error", "NewsletterMetadata", b"NewsletterMetadata"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "NewsletterMetadata", b"NewsletterMetadata"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "NewsletterMetadata", b"NewsletterMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "NewsletterMetadata", b"NewsletterMetadata"]) -> None: ... global___CreateNewsLetterReturnFunction = CreateNewsLetterReturnFunction -@typing_extensions.final +@typing.final class GetBlocklistReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor BLOCKLIST_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str @property def Blocklist(self) -> global___Blocklist: ... - Error: builtins.str def __init__( self, *, Blocklist: global___Blocklist | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Blocklist", b"Blocklist", "Error", b"Error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Blocklist", b"Blocklist", "Error", b"Error"]) -> None: ... + def HasField(self, field_name: typing.Literal["Blocklist", b"Blocklist", "Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Blocklist", b"Blocklist", "Error", b"Error"]) -> None: ... global___GetBlocklistReturnFunction = GetBlocklistReturnFunction -@typing_extensions.final +@typing.final class GetContactQRLinkReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -945,52 +1102,72 @@ class GetContactQRLinkReturnFunction(google.protobuf.message.Message): Link: builtins.str | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error", "Link", b"Link"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "Link", b"Link"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "Link", b"Link"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "Link", b"Link"]) -> None: ... global___GetContactQRLinkReturnFunction = GetContactQRLinkReturnFunction -@typing_extensions.final +@typing.final +class GroupParticipantRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PARTICIPANT_FIELD_NUMBER: builtins.int + TIMEAT_FIELD_NUMBER: builtins.int + TimeAt: builtins.int + @property + def Participant(self) -> global___JID: ... + def __init__( + self, + *, + Participant: global___JID | None = ..., + TimeAt: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Participant", b"Participant", "TimeAt", b"TimeAt"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Participant", b"Participant", "TimeAt", b"TimeAt"]) -> None: ... + +global___GroupParticipantRequest = GroupParticipantRequest + +@typing.final class GetGroupRequestParticipantsReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor PARTICIPANTS_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int - @property - def Participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___JID]: ... Error: builtins.str + @property + def Participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GroupParticipantRequest]: ... def __init__( self, *, - Participants: collections.abc.Iterable[global___JID] | None = ..., + Participants: collections.abc.Iterable[global___GroupParticipantRequest] | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "Participants", b"Participants"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "Participants", b"Participants"]) -> None: ... global___GetGroupRequestParticipantsReturnFunction = GetGroupRequestParticipantsReturnFunction -@typing_extensions.final +@typing.final class GetJoinedGroupsReturnFunction(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor GROUP_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str @property def Group(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GroupInfo]: ... - Error: builtins.str def __init__( self, *, Group: collections.abc.Iterable[global___GroupInfo] | None = ..., Error: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Error", b"Error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Error", b"Error", "Group", b"Group"]) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "Group", b"Group"]) -> None: ... global___GetJoinedGroupsReturnFunction = GetJoinedGroupsReturnFunction -@typing_extensions.final +@typing.final class ReqCreateGroup(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1000,9 +1177,9 @@ class ReqCreateGroup(google.protobuf.message.Message): GROUPPARENT_FIELD_NUMBER: builtins.int GROUPLINKEDPARENT_FIELD_NUMBER: builtins.int name: builtins.str + CreateKey: builtins.str @property def Participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___JID]: ... - CreateKey: builtins.str @property def GroupParent(self) -> global___GroupParent: ... @property @@ -1016,12 +1193,12 @@ class ReqCreateGroup(google.protobuf.message.Message): GroupParent: global___GroupParent | None = ..., GroupLinkedParent: global___GroupLinkedParent | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["CreateKey", b"CreateKey", "GroupLinkedParent", b"GroupLinkedParent", "GroupParent", b"GroupParent", "name", b"name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["CreateKey", b"CreateKey", "GroupLinkedParent", b"GroupLinkedParent", "GroupParent", b"GroupParent", "Participants", b"Participants", "name", b"name"]) -> None: ... + def HasField(self, field_name: typing.Literal["CreateKey", b"CreateKey", "GroupLinkedParent", b"GroupLinkedParent", "GroupParent", b"GroupParent", "name", b"name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["CreateKey", b"CreateKey", "GroupLinkedParent", b"GroupLinkedParent", "GroupParent", b"GroupParent", "Participants", b"Participants", "name", b"name"]) -> None: ... global___ReqCreateGroup = ReqCreateGroup -@typing_extensions.final +@typing.final class JIDArray(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1033,11 +1210,11 @@ class JIDArray(google.protobuf.message.Message): *, JIDS: collections.abc.Iterable[global___JID] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["JIDS", b"JIDS"]) -> None: ... + def ClearField(self, field_name: typing.Literal["JIDS", b"JIDS"]) -> None: ... global___JIDArray = JIDArray -@typing_extensions.final +@typing.final class ArrayString(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1049,11 +1226,11 @@ class ArrayString(google.protobuf.message.Message): *, data: collections.abc.Iterable[builtins.str] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["data", b"data"]) -> None: ... + def ClearField(self, field_name: typing.Literal["data", b"data"]) -> None: ... global___ArrayString = ArrayString -@typing_extensions.final +@typing.final class NewsLetterMessageMeta(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1067,12 +1244,31 @@ class NewsLetterMessageMeta(google.protobuf.message.Message): EditTS: builtins.int | None = ..., OriginalTS: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["EditTS", b"EditTS", "OriginalTS", b"OriginalTS"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["EditTS", b"EditTS", "OriginalTS", b"OriginalTS"]) -> None: ... + def HasField(self, field_name: typing.Literal["EditTS", b"EditTS", "OriginalTS", b"OriginalTS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["EditTS", b"EditTS", "OriginalTS", b"OriginalTS"]) -> None: ... global___NewsLetterMessageMeta = NewsLetterMessageMeta -@typing_extensions.final +@typing.final +class GroupDelete(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DELETED_FIELD_NUMBER: builtins.int + DELETEDREASON_FIELD_NUMBER: builtins.int + Deleted: builtins.bool + DeletedReason: builtins.str + def __init__( + self, + *, + Deleted: builtins.bool | None = ..., + DeletedReason: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Deleted", b"Deleted", "DeletedReason", b"DeletedReason"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Deleted", b"Deleted", "DeletedReason", b"DeletedReason"]) -> None: ... + +global___GroupDelete = GroupDelete + +@typing.final class Message(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1081,45 +1277,58 @@ class Message(google.protobuf.message.Message): ISEPHEMERAL_FIELD_NUMBER: builtins.int ISVIEWONCE_FIELD_NUMBER: builtins.int ISVIEWONCEV2_FIELD_NUMBER: builtins.int + ISVIEWONCEV2EXTENSION_FIELD_NUMBER: builtins.int + ISDOCUMENTWITHCAPTION_FIELD_NUMBER: builtins.int + ISLOTTIESTICKER_FIELD_NUMBER: builtins.int ISEDIT_FIELD_NUMBER: builtins.int SOURCEWEBMSG_FIELD_NUMBER: builtins.int UNAVAILABLEREQUESTID_FIELD_NUMBER: builtins.int RETRYCOUNT_FIELD_NUMBER: builtins.int NEWSLETTERMETA_FIELD_NUMBER: builtins.int - @property - def Info(self) -> global___MessageInfo: ... - @property - def Message(self) -> def_pb2.Message: ... + RAW_FIELD_NUMBER: builtins.int IsEphemeral: builtins.bool IsViewOnce: builtins.bool IsViewOnceV2: builtins.bool + IsViewOnceV2Extension: builtins.bool + IsDocumentWithCaption: builtins.bool + IsLottieSticker: builtins.bool IsEdit: builtins.bool - @property - def SourceWebMsg(self) -> def_pb2.WebMessageInfo: ... UnavailableRequestID: builtins.str RetryCount: builtins.int @property + def Info(self) -> global___MessageInfo: ... + @property + def Message(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... + @property + def SourceWebMsg(self) -> waWeb.WAWebProtobufsWeb_pb2.WebMessageInfo: ... + @property def NewsLetterMeta(self) -> global___NewsLetterMessageMeta: ... + @property + def Raw(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... def __init__( self, *, Info: global___MessageInfo | None = ..., - Message: def_pb2.Message | None = ..., + Message: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., IsEphemeral: builtins.bool | None = ..., IsViewOnce: builtins.bool | None = ..., IsViewOnceV2: builtins.bool | None = ..., + IsViewOnceV2Extension: builtins.bool | None = ..., + IsDocumentWithCaption: builtins.bool | None = ..., + IsLottieSticker: builtins.bool | None = ..., IsEdit: builtins.bool | None = ..., - SourceWebMsg: def_pb2.WebMessageInfo | None = ..., + SourceWebMsg: waWeb.WAWebProtobufsWeb_pb2.WebMessageInfo | None = ..., UnavailableRequestID: builtins.str | None = ..., RetryCount: builtins.int | None = ..., NewsLetterMeta: global___NewsLetterMessageMeta | None = ..., + Raw: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Info", b"Info", "IsEdit", b"IsEdit", "IsEphemeral", b"IsEphemeral", "IsViewOnce", b"IsViewOnce", "IsViewOnceV2", b"IsViewOnceV2", "Message", b"Message", "NewsLetterMeta", b"NewsLetterMeta", "RetryCount", b"RetryCount", "SourceWebMsg", b"SourceWebMsg", "UnavailableRequestID", b"UnavailableRequestID"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Info", b"Info", "IsEdit", b"IsEdit", "IsEphemeral", b"IsEphemeral", "IsViewOnce", b"IsViewOnce", "IsViewOnceV2", b"IsViewOnceV2", "Message", b"Message", "NewsLetterMeta", b"NewsLetterMeta", "RetryCount", b"RetryCount", "SourceWebMsg", b"SourceWebMsg", "UnavailableRequestID", b"UnavailableRequestID"]) -> None: ... + def HasField(self, field_name: typing.Literal["Info", b"Info", "IsDocumentWithCaption", b"IsDocumentWithCaption", "IsEdit", b"IsEdit", "IsEphemeral", b"IsEphemeral", "IsLottieSticker", b"IsLottieSticker", "IsViewOnce", b"IsViewOnce", "IsViewOnceV2", b"IsViewOnceV2", "IsViewOnceV2Extension", b"IsViewOnceV2Extension", "Message", b"Message", "NewsLetterMeta", b"NewsLetterMeta", "Raw", b"Raw", "RetryCount", b"RetryCount", "SourceWebMsg", b"SourceWebMsg", "UnavailableRequestID", b"UnavailableRequestID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Info", b"Info", "IsDocumentWithCaption", b"IsDocumentWithCaption", "IsEdit", b"IsEdit", "IsEphemeral", b"IsEphemeral", "IsLottieSticker", b"IsLottieSticker", "IsViewOnce", b"IsViewOnce", "IsViewOnceV2", b"IsViewOnceV2", "IsViewOnceV2Extension", b"IsViewOnceV2Extension", "Message", b"Message", "NewsLetterMeta", b"NewsLetterMeta", "Raw", b"Raw", "RetryCount", b"RetryCount", "SourceWebMsg", b"SourceWebMsg", "UnavailableRequestID", b"UnavailableRequestID"]) -> None: ... global___Message = Message -@typing_extensions.final +@typing.final class CreateNewsletterParams(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1136,12 +1345,12 @@ class CreateNewsletterParams(google.protobuf.message.Message): Description: builtins.str | None = ..., Picture: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Description", b"Description", "Name", b"Name", "Picture", b"Picture"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Description", b"Description", "Name", b"Name", "Picture", b"Picture"]) -> None: ... + def HasField(self, field_name: typing.Literal["Description", b"Description", "Name", b"Name", "Picture", b"Picture"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Description", b"Description", "Name", b"Name", "Picture", b"Picture"]) -> None: ... global___CreateNewsletterParams = CreateNewsletterParams -@typing_extensions.final +@typing.final class WrappedNewsletterState(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1167,12 +1376,12 @@ class WrappedNewsletterState(google.protobuf.message.Message): *, Type: global___WrappedNewsletterState.NewsletterState.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Type", b"Type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Type", b"Type"]) -> None: ... + def HasField(self, field_name: typing.Literal["Type", b"Type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Type", b"Type"]) -> None: ... global___WrappedNewsletterState = WrappedNewsletterState -@typing_extensions.final +@typing.final class NewsletterText(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1189,12 +1398,12 @@ class NewsletterText(google.protobuf.message.Message): ID: builtins.str | None = ..., UpdateTime: builtins.int | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["ID", b"ID", "Text", b"Text", "UpdateTime", b"UpdateTime"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["ID", b"ID", "Text", b"Text", "UpdateTime", b"UpdateTime"]) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "Text", b"Text", "UpdateTime", b"UpdateTime"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "Text", b"Text", "UpdateTime", b"UpdateTime"]) -> None: ... global___NewsletterText = NewsletterText -@typing_extensions.final +@typing.final class ProfilePictureInfo(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1202,10 +1411,12 @@ class ProfilePictureInfo(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int TYPE_FIELD_NUMBER: builtins.int DIRECTPATH_FIELD_NUMBER: builtins.int + HASH_FIELD_NUMBER: builtins.int URL: builtins.str ID: builtins.str Type: builtins.str DirectPath: builtins.str + Hash: builtins.bytes def __init__( self, *, @@ -1213,13 +1424,14 @@ class ProfilePictureInfo(google.protobuf.message.Message): ID: builtins.str | None = ..., Type: builtins.str | None = ..., DirectPath: builtins.str | None = ..., + Hash: builtins.bytes | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["DirectPath", b"DirectPath", "ID", b"ID", "Type", b"Type", "URL", b"URL"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["DirectPath", b"DirectPath", "ID", b"ID", "Type", b"Type", "URL", b"URL"]) -> None: ... + def HasField(self, field_name: typing.Literal["DirectPath", b"DirectPath", "Hash", b"Hash", "ID", b"ID", "Type", b"Type", "URL", b"URL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["DirectPath", b"DirectPath", "Hash", b"Hash", "ID", b"ID", "Type", b"Type", "URL", b"URL"]) -> None: ... global___ProfilePictureInfo = ProfilePictureInfo -@typing_extensions.final +@typing.final class NewsletterReactionSettings(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1247,12 +1459,12 @@ class NewsletterReactionSettings(google.protobuf.message.Message): *, Value: global___NewsletterReactionSettings.NewsletterReactionsMode.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Value", b"Value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Value", b"Value"]) -> None: ... + def HasField(self, field_name: typing.Literal["Value", b"Value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Value", b"Value"]) -> None: ... global___NewsletterReactionSettings = NewsletterReactionSettings -@typing_extensions.final +@typing.final class NewsletterSetting(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1264,12 +1476,12 @@ class NewsletterSetting(google.protobuf.message.Message): *, ReactionCodes: global___NewsletterReactionSettings | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["ReactionCodes", b"ReactionCodes"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["ReactionCodes", b"ReactionCodes"]) -> None: ... + def HasField(self, field_name: typing.Literal["ReactionCodes", b"ReactionCodes"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ReactionCodes", b"ReactionCodes"]) -> None: ... global___NewsletterSetting = NewsletterSetting -@typing_extensions.final +@typing.final class NewsletterThreadMetadata(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1297,12 +1509,12 @@ class NewsletterThreadMetadata(google.protobuf.message.Message): SETTINGS_FIELD_NUMBER: builtins.int CreationTime: builtins.int InviteCode: builtins.str + SubscriberCount: builtins.int + VerificationState: global___NewsletterThreadMetadata.NewsletterVerificationState.ValueType @property def Name(self) -> global___NewsletterText: ... @property def Description(self) -> global___NewsletterText: ... - SubscriberCount: builtins.int - VerificationState: global___NewsletterThreadMetadata.NewsletterVerificationState.ValueType @property def Picture(self) -> global___ProfilePictureInfo: ... @property @@ -1322,61 +1534,31 @@ class NewsletterThreadMetadata(google.protobuf.message.Message): Preview: global___ProfilePictureInfo | None = ..., Settings: global___NewsletterSetting | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["CreationTime", b"CreationTime", "Description", b"Description", "InviteCode", b"InviteCode", "Name", b"Name", "Picture", b"Picture", "Preview", b"Preview", "Settings", b"Settings", "SubscriberCount", b"SubscriberCount", "VerificationState", b"VerificationState"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["CreationTime", b"CreationTime", "Description", b"Description", "InviteCode", b"InviteCode", "Name", b"Name", "Picture", b"Picture", "Preview", b"Preview", "Settings", b"Settings", "SubscriberCount", b"SubscriberCount", "VerificationState", b"VerificationState"]) -> None: ... + def HasField(self, field_name: typing.Literal["CreationTime", b"CreationTime", "Description", b"Description", "InviteCode", b"InviteCode", "Name", b"Name", "Picture", b"Picture", "Preview", b"Preview", "Settings", b"Settings", "SubscriberCount", b"SubscriberCount", "VerificationState", b"VerificationState"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["CreationTime", b"CreationTime", "Description", b"Description", "InviteCode", b"InviteCode", "Name", b"Name", "Picture", b"Picture", "Preview", b"Preview", "Settings", b"Settings", "SubscriberCount", b"SubscriberCount", "VerificationState", b"VerificationState"]) -> None: ... global___NewsletterThreadMetadata = NewsletterThreadMetadata -@typing_extensions.final +@typing.final class NewsletterViewerMetadata(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - class _NewsletterMuteState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _NewsletterMuteStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[NewsletterViewerMetadata._NewsletterMuteState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - ON: NewsletterViewerMetadata._NewsletterMuteState.ValueType # 1 - OFF: NewsletterViewerMetadata._NewsletterMuteState.ValueType # 2 - - class NewsletterMuteState(_NewsletterMuteState, metaclass=_NewsletterMuteStateEnumTypeWrapper): ... - ON: NewsletterViewerMetadata.NewsletterMuteState.ValueType # 1 - OFF: NewsletterViewerMetadata.NewsletterMuteState.ValueType # 2 - - class _NewsletterRole: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _NewsletterRoleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[NewsletterViewerMetadata._NewsletterRole.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - SUBSCRIBER: NewsletterViewerMetadata._NewsletterRole.ValueType # 1 - GUEST: NewsletterViewerMetadata._NewsletterRole.ValueType # 2 - ADMIN: NewsletterViewerMetadata._NewsletterRole.ValueType # 3 - OWNER: NewsletterViewerMetadata._NewsletterRole.ValueType # 4 - - class NewsletterRole(_NewsletterRole, metaclass=_NewsletterRoleEnumTypeWrapper): ... - SUBSCRIBER: NewsletterViewerMetadata.NewsletterRole.ValueType # 1 - GUEST: NewsletterViewerMetadata.NewsletterRole.ValueType # 2 - ADMIN: NewsletterViewerMetadata.NewsletterRole.ValueType # 3 - OWNER: NewsletterViewerMetadata.NewsletterRole.ValueType # 4 - MUTE_FIELD_NUMBER: builtins.int ROLE_FIELD_NUMBER: builtins.int - Mute: global___NewsletterViewerMetadata.NewsletterMuteState.ValueType - Role: global___NewsletterViewerMetadata.NewsletterRole.ValueType + Mute: global___NewsletterMuteState.ValueType + Role: global___NewsletterRole.ValueType def __init__( self, *, - Mute: global___NewsletterViewerMetadata.NewsletterMuteState.ValueType | None = ..., - Role: global___NewsletterViewerMetadata.NewsletterRole.ValueType | None = ..., + Mute: global___NewsletterMuteState.ValueType | None = ..., + Role: global___NewsletterRole.ValueType | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["Mute", b"Mute", "Role", b"Role"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["Mute", b"Mute", "Role", b"Role"]) -> None: ... + def HasField(self, field_name: typing.Literal["Mute", b"Mute", "Role", b"Role"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Mute", b"Mute", "Role", b"Role"]) -> None: ... global___NewsletterViewerMetadata = NewsletterViewerMetadata -@typing_extensions.final +@typing.final class NewsletterMetadata(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1400,12 +1582,12 @@ class NewsletterMetadata(google.protobuf.message.Message): ThreadMeta: global___NewsletterThreadMetadata | None = ..., ViewerMeta: global___NewsletterViewerMetadata | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["ID", b"ID", "State", b"State", "ThreadMeta", b"ThreadMeta", "ViewerMeta", b"ViewerMeta"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["ID", b"ID", "State", b"State", "ThreadMeta", b"ThreadMeta", "ViewerMeta", b"ViewerMeta"]) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "State", b"State", "ThreadMeta", b"ThreadMeta", "ViewerMeta", b"ViewerMeta"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "State", b"State", "ThreadMeta", b"ThreadMeta", "ViewerMeta", b"ViewerMeta"]) -> None: ... global___NewsletterMetadata = NewsletterMetadata -@typing_extensions.final +@typing.final class Blocklist(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1420,7 +1602,2118 @@ class Blocklist(google.protobuf.message.Message): DHash: builtins.str | None = ..., JIDs: collections.abc.Iterable[global___JID] | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["DHash", b"DHash"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["DHash", b"DHash", "JIDs", b"JIDs"]) -> None: ... + def HasField(self, field_name: typing.Literal["DHash", b"DHash"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["DHash", b"DHash", "JIDs", b"JIDs"]) -> None: ... global___Blocklist = Blocklist + +@typing.final +class Reaction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TYPE_FIELD_NUMBER: builtins.int + COUNT_FIELD_NUMBER: builtins.int + type: builtins.str + count: builtins.int + def __init__( + self, + *, + type: builtins.str | None = ..., + count: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["count", b"count", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["count", b"count", "type", b"type"]) -> None: ... + +global___Reaction = Reaction + +@typing.final +class NewsletterMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGESERVERID_FIELD_NUMBER: builtins.int + VIEWSCOUNT_FIELD_NUMBER: builtins.int + REACTIONCOUNTS_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + MessageServerID: builtins.int + ViewsCount: builtins.int + @property + def ReactionCounts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Reaction]: ... + @property + def Message(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... + def __init__( + self, + *, + MessageServerID: builtins.int | None = ..., + ViewsCount: builtins.int | None = ..., + ReactionCounts: collections.abc.Iterable[global___Reaction] | None = ..., + Message: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Message", b"Message", "MessageServerID", b"MessageServerID", "ViewsCount", b"ViewsCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Message", b"Message", "MessageServerID", b"MessageServerID", "ReactionCounts", b"ReactionCounts", "ViewsCount", b"ViewsCount"]) -> None: ... + +global___NewsletterMessage = NewsletterMessage + +@typing.final +class GetNewsletterMessageUpdateReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NEWSLETTERMESSAGE_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def NewsletterMessage(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NewsletterMessage]: ... + def __init__( + self, + *, + NewsletterMessage: collections.abc.Iterable[global___NewsletterMessage] | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "NewsletterMessage", b"NewsletterMessage"]) -> None: ... + +global___GetNewsletterMessageUpdateReturnFunction = GetNewsletterMessageUpdateReturnFunction + +@typing.final +class PrivacySettings(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PrivacySetting: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PrivacySettingEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PrivacySettings._PrivacySetting.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNDEFINED: PrivacySettings._PrivacySetting.ValueType # 1 + ALL: PrivacySettings._PrivacySetting.ValueType # 2 + CONTACTS: PrivacySettings._PrivacySetting.ValueType # 3 + CONTACT_BLACKLIST: PrivacySettings._PrivacySetting.ValueType # 4 + MATCH_LAST_SEEN: PrivacySettings._PrivacySetting.ValueType # 5 + KNOWN: PrivacySettings._PrivacySetting.ValueType # 6 + NONE: PrivacySettings._PrivacySetting.ValueType # 7 + + class PrivacySetting(_PrivacySetting, metaclass=_PrivacySettingEnumTypeWrapper): ... + UNDEFINED: PrivacySettings.PrivacySetting.ValueType # 1 + ALL: PrivacySettings.PrivacySetting.ValueType # 2 + CONTACTS: PrivacySettings.PrivacySetting.ValueType # 3 + CONTACT_BLACKLIST: PrivacySettings.PrivacySetting.ValueType # 4 + MATCH_LAST_SEEN: PrivacySettings.PrivacySetting.ValueType # 5 + KNOWN: PrivacySettings.PrivacySetting.ValueType # 6 + NONE: PrivacySettings.PrivacySetting.ValueType # 7 + + GROUPADD_FIELD_NUMBER: builtins.int + LASTSEEN_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + PROFILE_FIELD_NUMBER: builtins.int + READRECEIPTS_FIELD_NUMBER: builtins.int + CALLADD_FIELD_NUMBER: builtins.int + ONLINE_FIELD_NUMBER: builtins.int + GroupAdd: global___PrivacySettings.PrivacySetting.ValueType + LastSeen: global___PrivacySettings.PrivacySetting.ValueType + Status: global___PrivacySettings.PrivacySetting.ValueType + Profile: global___PrivacySettings.PrivacySetting.ValueType + ReadReceipts: global___PrivacySettings.PrivacySetting.ValueType + CallAdd: global___PrivacySettings.PrivacySetting.ValueType + Online: global___PrivacySettings.PrivacySetting.ValueType + def __init__( + self, + *, + GroupAdd: global___PrivacySettings.PrivacySetting.ValueType | None = ..., + LastSeen: global___PrivacySettings.PrivacySetting.ValueType | None = ..., + Status: global___PrivacySettings.PrivacySetting.ValueType | None = ..., + Profile: global___PrivacySettings.PrivacySetting.ValueType | None = ..., + ReadReceipts: global___PrivacySettings.PrivacySetting.ValueType | None = ..., + CallAdd: global___PrivacySettings.PrivacySetting.ValueType | None = ..., + Online: global___PrivacySettings.PrivacySetting.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["CallAdd", b"CallAdd", "GroupAdd", b"GroupAdd", "LastSeen", b"LastSeen", "Online", b"Online", "Profile", b"Profile", "ReadReceipts", b"ReadReceipts", "Status", b"Status"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["CallAdd", b"CallAdd", "GroupAdd", b"GroupAdd", "LastSeen", b"LastSeen", "Online", b"Online", "Profile", b"Profile", "ReadReceipts", b"ReadReceipts", "Status", b"Status"]) -> None: ... + +global___PrivacySettings = PrivacySettings + +@typing.final +class NodeAttrs(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + BOOLEAN_FIELD_NUMBER: builtins.int + INTEGER_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + JID_FIELD_NUMBER: builtins.int + name: builtins.str + boolean: builtins.bool + integer: builtins.int + text: builtins.str + @property + def jid(self) -> global___JID: ... + def __init__( + self, + *, + name: builtins.str | None = ..., + boolean: builtins.bool | None = ..., + integer: builtins.int | None = ..., + text: builtins.str | None = ..., + jid: global___JID | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Value", b"Value", "boolean", b"boolean", "integer", b"integer", "jid", b"jid", "name", b"name", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Value", b"Value", "boolean", b"boolean", "integer", b"integer", "jid", b"jid", "name", b"name", "text", b"text"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["Value", b"Value"]) -> typing.Literal["boolean", "integer", "text", "jid"] | None: ... + +global___NodeAttrs = NodeAttrs + +@typing.final +class Node(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TAG_FIELD_NUMBER: builtins.int + ATTRS_FIELD_NUMBER: builtins.int + NODES_FIELD_NUMBER: builtins.int + NIL_FIELD_NUMBER: builtins.int + BYTES_FIELD_NUMBER: builtins.int + Tag: builtins.str + Nil: builtins.bool + Bytes: builtins.bytes + @property + def Attrs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NodeAttrs]: ... + @property + def Nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Node]: ... + def __init__( + self, + *, + Tag: builtins.str | None = ..., + Attrs: collections.abc.Iterable[global___NodeAttrs] | None = ..., + Nodes: collections.abc.Iterable[global___Node] | None = ..., + Nil: builtins.bool | None = ..., + Bytes: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Bytes", b"Bytes", "Nil", b"Nil", "Tag", b"Tag"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Attrs", b"Attrs", "Bytes", b"Bytes", "Nil", b"Nil", "Nodes", b"Nodes", "Tag", b"Tag"]) -> None: ... + +global___Node = Node + +@typing.final +class InfoQuery(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAMESPACE_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + TO_FIELD_NUMBER: builtins.int + CONTENT_FIELD_NUMBER: builtins.int + Namespace: builtins.str + Type: builtins.str + To: builtins.str + @property + def Content(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Node]: ... + def __init__( + self, + *, + Namespace: builtins.str | None = ..., + Type: builtins.str | None = ..., + To: builtins.str | None = ..., + Content: collections.abc.Iterable[global___Node] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Namespace", b"Namespace", "To", b"To", "Type", b"Type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Content", b"Content", "Namespace", b"Namespace", "To", b"To", "Type", b"Type"]) -> None: ... + +global___InfoQuery = InfoQuery + +@typing.final +class GetProfilePictureParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PREVIEW_FIELD_NUMBER: builtins.int + EXISTINGID_FIELD_NUMBER: builtins.int + ISCOMMUNITY_FIELD_NUMBER: builtins.int + Preview: builtins.bool + ExistingID: builtins.str + IsCommunity: builtins.bool + def __init__( + self, + *, + Preview: builtins.bool | None = ..., + ExistingID: builtins.str | None = ..., + IsCommunity: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ExistingID", b"ExistingID", "IsCommunity", b"IsCommunity", "Preview", b"Preview"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ExistingID", b"ExistingID", "IsCommunity", b"IsCommunity", "Preview", b"Preview"]) -> None: ... + +global___GetProfilePictureParams = GetProfilePictureParams + +@typing.final +class GetProfilePictureReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PICTURE_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def Picture(self) -> global___ProfilePictureInfo: ... + def __init__( + self, + *, + Picture: global___ProfilePictureInfo | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "Picture", b"Picture"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "Picture", b"Picture"]) -> None: ... + +global___GetProfilePictureReturnFunction = GetProfilePictureReturnFunction + +@typing.final +class StatusPrivacy(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _StatusPrivacyType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusPrivacyTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusPrivacy._StatusPrivacyType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CONTACTS: StatusPrivacy._StatusPrivacyType.ValueType # 1 + BLACKLIST: StatusPrivacy._StatusPrivacyType.ValueType # 2 + WHITELIST: StatusPrivacy._StatusPrivacyType.ValueType # 3 + + class StatusPrivacyType(_StatusPrivacyType, metaclass=_StatusPrivacyTypeEnumTypeWrapper): ... + CONTACTS: StatusPrivacy.StatusPrivacyType.ValueType # 1 + BLACKLIST: StatusPrivacy.StatusPrivacyType.ValueType # 2 + WHITELIST: StatusPrivacy.StatusPrivacyType.ValueType # 3 + + TYPE_FIELD_NUMBER: builtins.int + LIST_FIELD_NUMBER: builtins.int + ISDEFAULT_FIELD_NUMBER: builtins.int + Type: global___StatusPrivacy.StatusPrivacyType.ValueType + IsDefault: builtins.bool + @property + def List(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___JID]: ... + def __init__( + self, + *, + Type: global___StatusPrivacy.StatusPrivacyType.ValueType | None = ..., + List: collections.abc.Iterable[global___JID] | None = ..., + IsDefault: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["IsDefault", b"IsDefault", "Type", b"Type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["IsDefault", b"IsDefault", "List", b"List", "Type", b"Type"]) -> None: ... + +global___StatusPrivacy = StatusPrivacy + +@typing.final +class GetStatusPrivacyReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STATUSPRIVACY_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def StatusPrivacy(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StatusPrivacy]: ... + def __init__( + self, + *, + StatusPrivacy: collections.abc.Iterable[global___StatusPrivacy] | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "StatusPrivacy", b"StatusPrivacy"]) -> None: ... + +global___GetStatusPrivacyReturnFunction = GetStatusPrivacyReturnFunction + +@typing.final +class GroupLinkTarget(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + GROUPNAME_FIELD_NUMBER: builtins.int + GROUPISDEFAULTSUB_FIELD_NUMBER: builtins.int + @property + def JID(self) -> global___JID: ... + @property + def GroupName(self) -> global___GroupName: ... + @property + def GroupIsDefaultSub(self) -> global___GroupIsDefaultSub: ... + def __init__( + self, + *, + JID: global___JID | None = ..., + GroupName: global___GroupName | None = ..., + GroupIsDefaultSub: global___GroupIsDefaultSub | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["GroupIsDefaultSub", b"GroupIsDefaultSub", "GroupName", b"GroupName", "JID", b"JID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["GroupIsDefaultSub", b"GroupIsDefaultSub", "GroupName", b"GroupName", "JID", b"JID"]) -> None: ... + +global___GroupLinkTarget = GroupLinkTarget + +@typing.final +class GroupLinkChange(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ChangeType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ChangeTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GroupLinkChange._ChangeType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PARENT: GroupLinkChange._ChangeType.ValueType # 1 + SUB: GroupLinkChange._ChangeType.ValueType # 2 + SIBLING: GroupLinkChange._ChangeType.ValueType # 3 + + class ChangeType(_ChangeType, metaclass=_ChangeTypeEnumTypeWrapper): ... + PARENT: GroupLinkChange.ChangeType.ValueType # 1 + SUB: GroupLinkChange.ChangeType.ValueType # 2 + SIBLING: GroupLinkChange.ChangeType.ValueType # 3 + + TYPE_FIELD_NUMBER: builtins.int + UNLINKREASON_FIELD_NUMBER: builtins.int + GROUP_FIELD_NUMBER: builtins.int + Type: global___GroupLinkChange.ChangeType.ValueType + UnlinkReason: builtins.str + @property + def Group(self) -> global___GroupLinkTarget: ... + def __init__( + self, + *, + Type: global___GroupLinkChange.ChangeType.ValueType | None = ..., + UnlinkReason: builtins.str | None = ..., + Group: global___GroupLinkTarget | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Group", b"Group", "Type", b"Type", "UnlinkReason", b"UnlinkReason"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Group", b"Group", "Type", b"Type", "UnlinkReason", b"UnlinkReason"]) -> None: ... + +global___GroupLinkChange = GroupLinkChange + +@typing.final +class GetSubGroupsReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + GROUPLINKTARGET_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def GroupLinkTarget(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GroupLinkTarget]: ... + def __init__( + self, + *, + GroupLinkTarget: collections.abc.Iterable[global___GroupLinkTarget] | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "GroupLinkTarget", b"GroupLinkTarget"]) -> None: ... + +global___GetSubGroupsReturnFunction = GetSubGroupsReturnFunction + +@typing.final +class GetSubscribedNewslettersReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NEWSLETTER_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def Newsletter(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NewsletterMetadata]: ... + def __init__( + self, + *, + Newsletter: collections.abc.Iterable[global___NewsletterMetadata] | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "Newsletter", b"Newsletter"]) -> None: ... + +global___GetSubscribedNewslettersReturnFunction = GetSubscribedNewslettersReturnFunction + +@typing.final +class GetUserDevicesreturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def JID(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___JID]: ... + def __init__( + self, + *, + JID: collections.abc.Iterable[global___JID] | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "JID", b"JID"]) -> None: ... + +global___GetUserDevicesreturnFunction = GetUserDevicesreturnFunction + +@typing.final +class NewsletterSubscribeLiveUpdatesReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DURATION_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Duration: builtins.int + Error: builtins.str + def __init__( + self, + *, + Duration: builtins.int | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Duration", b"Duration", "Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Duration", b"Duration", "Error", b"Error"]) -> None: ... + +global___NewsletterSubscribeLiveUpdatesReturnFunction = NewsletterSubscribeLiveUpdatesReturnFunction + +@typing.final +class PairPhoneParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PHONE_FIELD_NUMBER: builtins.int + SHOWPUSHNOTIFICATION_FIELD_NUMBER: builtins.int + CLIENTTYPE_FIELD_NUMBER: builtins.int + CLIENTDISPLAYNAME_FIELD_NUMBER: builtins.int + phone: builtins.str + showPushNotification: builtins.bool + clientType: builtins.int + clientDisplayName: builtins.str + def __init__( + self, + *, + phone: builtins.str | None = ..., + showPushNotification: builtins.bool | None = ..., + clientType: builtins.int | None = ..., + clientDisplayName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["clientDisplayName", b"clientDisplayName", "clientType", b"clientType", "phone", b"phone", "showPushNotification", b"showPushNotification"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clientDisplayName", b"clientDisplayName", "clientType", b"clientType", "phone", b"phone", "showPushNotification", b"showPushNotification"]) -> None: ... + +global___PairPhoneParams = PairPhoneParams + +@typing.final +class ContactQRLinkTarget(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + PUSHNAME_FIELD_NUMBER: builtins.int + Type: builtins.str + PushName: builtins.str + @property + def JID(self) -> global___JID: ... + def __init__( + self, + *, + JID: global___JID | None = ..., + Type: builtins.str | None = ..., + PushName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JID", b"JID", "PushName", b"PushName", "Type", b"Type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JID", b"JID", "PushName", b"PushName", "Type", b"Type"]) -> None: ... + +global___ContactQRLinkTarget = ContactQRLinkTarget + +@typing.final +class ResolveContactQRLinkReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTACTQRLINK_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def ContactQrLink(self) -> global___ContactQRLinkTarget: ... + def __init__( + self, + *, + ContactQrLink: global___ContactQRLinkTarget | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ContactQrLink", b"ContactQrLink", "Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ContactQrLink", b"ContactQrLink", "Error", b"Error"]) -> None: ... + +global___ResolveContactQRLinkReturnFunction = ResolveContactQRLinkReturnFunction + +@typing.final +class BusinessMessageLinkTarget(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + PUSHNAME_FIELD_NUMBER: builtins.int + VERIFIEDNAME_FIELD_NUMBER: builtins.int + ISSIGNED_FIELD_NUMBER: builtins.int + VERIFIEDLEVEL_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + PushName: builtins.str + VerifiedName: builtins.str + IsSigned: builtins.bool + VerifiedLevel: builtins.str + Message: builtins.str + @property + def JID(self) -> global___JID: ... + def __init__( + self, + *, + JID: global___JID | None = ..., + PushName: builtins.str | None = ..., + VerifiedName: builtins.str | None = ..., + IsSigned: builtins.bool | None = ..., + VerifiedLevel: builtins.str | None = ..., + Message: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["IsSigned", b"IsSigned", "JID", b"JID", "Message", b"Message", "PushName", b"PushName", "VerifiedLevel", b"VerifiedLevel", "VerifiedName", b"VerifiedName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["IsSigned", b"IsSigned", "JID", b"JID", "Message", b"Message", "PushName", b"PushName", "VerifiedLevel", b"VerifiedLevel", "VerifiedName", b"VerifiedName"]) -> None: ... + +global___BusinessMessageLinkTarget = BusinessMessageLinkTarget + +@typing.final +class ResolveBusinessMessageLinkReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGELINKTARGET_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def MessageLinkTarget(self) -> global___BusinessMessageLinkTarget: ... + def __init__( + self, + *, + MessageLinkTarget: global___BusinessMessageLinkTarget | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "MessageLinkTarget", b"MessageLinkTarget"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "MessageLinkTarget", b"MessageLinkTarget"]) -> None: ... + +global___ResolveBusinessMessageLinkReturnFunction = ResolveBusinessMessageLinkReturnFunction + +@typing.final +class MutationInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + INDEX_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + Version: builtins.int + @property + def Index(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def Value(self) -> waSyncAction.WASyncAction_pb2.SyncActionValue: ... + def __init__( + self, + *, + Index: collections.abc.Iterable[builtins.str] | None = ..., + Version: builtins.int | None = ..., + Value: waSyncAction.WASyncAction_pb2.SyncActionValue | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Value", b"Value", "Version", b"Version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Index", b"Index", "Value", b"Value", "Version", b"Version"]) -> None: ... + +global___MutationInfo = MutationInfo + +@typing.final +class PatchInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _WAPatchName: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _WAPatchNameEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PatchInfo._WAPatchName.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CRITICAL_BLOCK: PatchInfo._WAPatchName.ValueType # 1 + CRITICAL_UNBLOCK_LOW: PatchInfo._WAPatchName.ValueType # 2 + REGULAR_LOW: PatchInfo._WAPatchName.ValueType # 3 + REGULAR_HIGH: PatchInfo._WAPatchName.ValueType # 4 + REGULAR: PatchInfo._WAPatchName.ValueType # 5 + + class WAPatchName(_WAPatchName, metaclass=_WAPatchNameEnumTypeWrapper): ... + CRITICAL_BLOCK: PatchInfo.WAPatchName.ValueType # 1 + CRITICAL_UNBLOCK_LOW: PatchInfo.WAPatchName.ValueType # 2 + REGULAR_LOW: PatchInfo.WAPatchName.ValueType # 3 + REGULAR_HIGH: PatchInfo.WAPatchName.ValueType # 4 + REGULAR: PatchInfo.WAPatchName.ValueType # 5 + + TIMESTAMP_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + MUTATIONS_FIELD_NUMBER: builtins.int + Timestamp: builtins.int + Type: global___PatchInfo.WAPatchName.ValueType + @property + def Mutations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MutationInfo]: ... + def __init__( + self, + *, + Timestamp: builtins.int | None = ..., + Type: global___PatchInfo.WAPatchName.ValueType | None = ..., + Mutations: collections.abc.Iterable[global___MutationInfo] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Timestamp", b"Timestamp", "Type", b"Type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Mutations", b"Mutations", "Timestamp", b"Timestamp", "Type", b"Type"]) -> None: ... + +global___PatchInfo = PatchInfo + +@typing.final +class ContactsPutPushNameReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STATUS_FIELD_NUMBER: builtins.int + PREVIOUSNAME_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Status: builtins.bool + PreviousName: builtins.str + Error: builtins.str + def __init__( + self, + *, + Status: builtins.bool | None = ..., + PreviousName: builtins.str | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "PreviousName", b"PreviousName", "Status", b"Status"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "PreviousName", b"PreviousName", "Status", b"Status"]) -> None: ... + +global___ContactsPutPushNameReturnFunction = ContactsPutPushNameReturnFunction + +@typing.final +class ContactEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + FIRSTNAME_FIELD_NUMBER: builtins.int + FULLNAME_FIELD_NUMBER: builtins.int + FirstName: builtins.str + FullName: builtins.str + @property + def JID(self) -> global___JID: ... + def __init__( + self, + *, + JID: global___JID | None = ..., + FirstName: builtins.str | None = ..., + FullName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["FirstName", b"FirstName", "FullName", b"FullName", "JID", b"JID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["FirstName", b"FirstName", "FullName", b"FullName", "JID", b"JID"]) -> None: ... + +global___ContactEntry = ContactEntry + +@typing.final +class ContactEntryArray(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTACTENTRY_FIELD_NUMBER: builtins.int + @property + def ContactEntry(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ContactEntry]: ... + def __init__( + self, + *, + ContactEntry: collections.abc.Iterable[global___ContactEntry] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["ContactEntry", b"ContactEntry"]) -> None: ... + +global___ContactEntryArray = ContactEntryArray + +@typing.final +class SetPrivacySettingReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SETTINGS_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def settings(self) -> global___PrivacySettings: ... + def __init__( + self, + *, + settings: global___PrivacySettings | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "settings", b"settings"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "settings", b"settings"]) -> None: ... + +global___SetPrivacySettingReturnFunction = SetPrivacySettingReturnFunction + +@typing.final +class ContactsGetContactReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTACTINFO_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def ContactInfo(self) -> global___ContactInfo: ... + def __init__( + self, + *, + ContactInfo: global___ContactInfo | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ContactInfo", b"ContactInfo", "Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ContactInfo", b"ContactInfo", "Error", b"Error"]) -> None: ... + +global___ContactsGetContactReturnFunction = ContactsGetContactReturnFunction + +@typing.final +class ContactInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FOUND_FIELD_NUMBER: builtins.int + FIRSTNAME_FIELD_NUMBER: builtins.int + FULLNAME_FIELD_NUMBER: builtins.int + PUSHNAME_FIELD_NUMBER: builtins.int + BUSINESSNAME_FIELD_NUMBER: builtins.int + REDACTEDPHONE_FIELD_NUMBER: builtins.int + Found: builtins.bool + FirstName: builtins.str + FullName: builtins.str + PushName: builtins.str + BusinessName: builtins.str + RedactedPhone: builtins.str + def __init__( + self, + *, + Found: builtins.bool | None = ..., + FirstName: builtins.str | None = ..., + FullName: builtins.str | None = ..., + PushName: builtins.str | None = ..., + BusinessName: builtins.str | None = ..., + RedactedPhone: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["BusinessName", b"BusinessName", "FirstName", b"FirstName", "Found", b"Found", "FullName", b"FullName", "PushName", b"PushName", "RedactedPhone", b"RedactedPhone"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["BusinessName", b"BusinessName", "FirstName", b"FirstName", "Found", b"Found", "FullName", b"FullName", "PushName", b"PushName", "RedactedPhone", b"RedactedPhone"]) -> None: ... + +global___ContactInfo = ContactInfo + +@typing.final +class Contact(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + INFO_FIELD_NUMBER: builtins.int + @property + def JID(self) -> global___JID: ... + @property + def Info(self) -> global___ContactInfo: ... + def __init__( + self, + *, + JID: global___JID | None = ..., + Info: global___ContactInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Info", b"Info", "JID", b"JID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Info", b"Info", "JID", b"JID"]) -> None: ... + +global___Contact = Contact + +@typing.final +class ContactsGetAllContactsReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTACT_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def Contact(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Contact]: ... + def __init__( + self, + *, + Contact: collections.abc.Iterable[global___Contact] | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Contact", b"Contact", "Error", b"Error"]) -> None: ... + +global___ContactsGetAllContactsReturnFunction = ContactsGetAllContactsReturnFunction + +@typing.final +class QR(google.protobuf.message.Message): + """events + 1 + """ + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CODES_FIELD_NUMBER: builtins.int + @property + def Codes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + Codes: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["Codes", b"Codes"]) -> None: ... + +global___QR = QR + +@typing.final +class PairStatus(google.protobuf.message.Message): + """2""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PairStatus._PStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ERROR: PairStatus._PStatus.ValueType # 1 + SUCCESS: PairStatus._PStatus.ValueType # 2 + + class PStatus(_PStatus, metaclass=_PStatusEnumTypeWrapper): ... + ERROR: PairStatus.PStatus.ValueType # 1 + SUCCESS: PairStatus.PStatus.ValueType # 2 + + ID_FIELD_NUMBER: builtins.int + BUSINESSNAME_FIELD_NUMBER: builtins.int + PLATFORM_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + BusinessName: builtins.str + Platform: builtins.str + Status: global___PairStatus.PStatus.ValueType + Error: builtins.str + @property + def ID(self) -> global___JID: ... + def __init__( + self, + *, + ID: global___JID | None = ..., + BusinessName: builtins.str | None = ..., + Platform: builtins.str | None = ..., + Status: global___PairStatus.PStatus.ValueType | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["BusinessName", b"BusinessName", "Error", b"Error", "ID", b"ID", "Platform", b"Platform", "Status", b"Status"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["BusinessName", b"BusinessName", "Error", b"Error", "ID", b"ID", "Platform", b"Platform", "Status", b"Status"]) -> None: ... + +global___PairStatus = PairStatus + +@typing.final +class Connected(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STATUS_FIELD_NUMBER: builtins.int + status: builtins.bool + def __init__( + self, + *, + status: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["status", b"status"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["status", b"status"]) -> None: ... + +global___Connected = Connected + +@typing.final +class KeepAliveTimeout(google.protobuf.message.Message): + """4""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ERRORCOUNT_FIELD_NUMBER: builtins.int + LASTSUCCESS_FIELD_NUMBER: builtins.int + ErrorCount: builtins.int + LastSuccess: builtins.int + def __init__( + self, + *, + ErrorCount: builtins.int | None = ..., + LastSuccess: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ErrorCount", b"ErrorCount", "LastSuccess", b"LastSuccess"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ErrorCount", b"ErrorCount", "LastSuccess", b"LastSuccess"]) -> None: ... + +global___KeepAliveTimeout = KeepAliveTimeout + +@typing.final +class KeepAliveRestored(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___KeepAliveRestored = KeepAliveRestored + +@typing.final +class LoggedOut(google.protobuf.message.Message): + """6""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ONCONNECT_FIELD_NUMBER: builtins.int + REASON_FIELD_NUMBER: builtins.int + OnConnect: builtins.bool + Reason: global___ConnectFailureReason.ValueType + def __init__( + self, + *, + OnConnect: builtins.bool | None = ..., + Reason: global___ConnectFailureReason.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["OnConnect", b"OnConnect", "Reason", b"Reason"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["OnConnect", b"OnConnect", "Reason", b"Reason"]) -> None: ... + +global___LoggedOut = LoggedOut + +@typing.final +class StreamReplaced(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___StreamReplaced = StreamReplaced + +@typing.final +class TemporaryBan(google.protobuf.message.Message): + """8""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _TempBanReason: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TempBanReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[TemporaryBan._TempBanReason.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SEND_TO_TOO_MANY_PEOPLE: TemporaryBan._TempBanReason.ValueType # 1 + BLOCKED_BY_USERS: TemporaryBan._TempBanReason.ValueType # 2 + CREATED_TOO_MANY_GROUPS: TemporaryBan._TempBanReason.ValueType # 3 + SENT_TOO_MANY_SAME_MESSAGE: TemporaryBan._TempBanReason.ValueType # 4 + BROADCAST_LIST: TemporaryBan._TempBanReason.ValueType # 5 + + class TempBanReason(_TempBanReason, metaclass=_TempBanReasonEnumTypeWrapper): ... + SEND_TO_TOO_MANY_PEOPLE: TemporaryBan.TempBanReason.ValueType # 1 + BLOCKED_BY_USERS: TemporaryBan.TempBanReason.ValueType # 2 + CREATED_TOO_MANY_GROUPS: TemporaryBan.TempBanReason.ValueType # 3 + SENT_TOO_MANY_SAME_MESSAGE: TemporaryBan.TempBanReason.ValueType # 4 + BROADCAST_LIST: TemporaryBan.TempBanReason.ValueType # 5 + + CODE_FIELD_NUMBER: builtins.int + EXPIRE_FIELD_NUMBER: builtins.int + Code: global___TemporaryBan.TempBanReason.ValueType + Expire: builtins.int + def __init__( + self, + *, + Code: global___TemporaryBan.TempBanReason.ValueType | None = ..., + Expire: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Code", b"Code", "Expire", b"Expire"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Code", b"Code", "Expire", b"Expire"]) -> None: ... + +global___TemporaryBan = TemporaryBan + +@typing.final +class ConnectFailure(google.protobuf.message.Message): + """9""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REASON_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + RAW_FIELD_NUMBER: builtins.int + Reason: global___ConnectFailureReason.ValueType + Message: builtins.str + @property + def Raw(self) -> global___Node: ... + def __init__( + self, + *, + Reason: global___ConnectFailureReason.ValueType | None = ..., + Message: builtins.str | None = ..., + Raw: global___Node | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Message", b"Message", "Raw", b"Raw", "Reason", b"Reason"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Message", b"Message", "Raw", b"Raw", "Reason", b"Reason"]) -> None: ... + +global___ConnectFailure = ConnectFailure + +@typing.final +class ClientOutdated(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___ClientOutdated = ClientOutdated + +@typing.final +class StreamError(google.protobuf.message.Message): + """11""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CODE_FIELD_NUMBER: builtins.int + RAW_FIELD_NUMBER: builtins.int + Code: builtins.str + @property + def Raw(self) -> global___Node: ... + def __init__( + self, + *, + Code: builtins.str | None = ..., + Raw: global___Node | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Code", b"Code", "Raw", b"Raw"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Code", b"Code", "Raw", b"Raw"]) -> None: ... + +global___StreamError = StreamError + +@typing.final +class Disconnected(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STATUS_FIELD_NUMBER: builtins.int + status: builtins.bool + def __init__( + self, + *, + status: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["status", b"status"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["status", b"status"]) -> None: ... + +global___Disconnected = Disconnected + +@typing.final +class HistorySync(google.protobuf.message.Message): + """13""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DATA_FIELD_NUMBER: builtins.int + @property + def Data(self) -> waHistorySync.WAWebProtobufsHistorySync_pb2.HistorySync: ... + def __init__( + self, + *, + Data: waHistorySync.WAWebProtobufsHistorySync_pb2.HistorySync | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Data", b"Data"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Data", b"Data"]) -> None: ... + +global___HistorySync = HistorySync + +@typing.final +class Receipt(google.protobuf.message.Message): + """message DecryptFailMode // 14 + message UndecryptableMessage // 15 + message NewsLetterMessageMeta (Defined) // 16 + Message (Defined) // 17 + 18 + """ + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ReceiptType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ReceiptTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Receipt._ReceiptType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DELIVERED: Receipt._ReceiptType.ValueType # 1 + SENDER: Receipt._ReceiptType.ValueType # 2 + RETRY: Receipt._ReceiptType.ValueType # 3 + READ: Receipt._ReceiptType.ValueType # 4 + READ_SELF: Receipt._ReceiptType.ValueType # 5 + PLAYED: Receipt._ReceiptType.ValueType # 6 + PLAYED_SELF: Receipt._ReceiptType.ValueType # 7 + SERVER_ERROR: Receipt._ReceiptType.ValueType # 8 + INACTIVE: Receipt._ReceiptType.ValueType # 9 + PEER_MSG: Receipt._ReceiptType.ValueType # 10 + HISTORY_SYNC: Receipt._ReceiptType.ValueType # 11 + + class ReceiptType(_ReceiptType, metaclass=_ReceiptTypeEnumTypeWrapper): ... + DELIVERED: Receipt.ReceiptType.ValueType # 1 + SENDER: Receipt.ReceiptType.ValueType # 2 + RETRY: Receipt.ReceiptType.ValueType # 3 + READ: Receipt.ReceiptType.ValueType # 4 + READ_SELF: Receipt.ReceiptType.ValueType # 5 + PLAYED: Receipt.ReceiptType.ValueType # 6 + PLAYED_SELF: Receipt.ReceiptType.ValueType # 7 + SERVER_ERROR: Receipt.ReceiptType.ValueType # 8 + INACTIVE: Receipt.ReceiptType.ValueType # 9 + PEER_MSG: Receipt.ReceiptType.ValueType # 10 + HISTORY_SYNC: Receipt.ReceiptType.ValueType # 11 + + MESSAGESOURCE_FIELD_NUMBER: builtins.int + MESSAGEIDS_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + Timestamp: builtins.int + Type: global___Receipt.ReceiptType.ValueType + @property + def MessageSource(self) -> global___MessageSource: ... + @property + def MessageIDs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + MessageSource: global___MessageSource | None = ..., + MessageIDs: collections.abc.Iterable[builtins.str] | None = ..., + Timestamp: builtins.int | None = ..., + Type: global___Receipt.ReceiptType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["MessageSource", b"MessageSource", "Timestamp", b"Timestamp", "Type", b"Type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["MessageIDs", b"MessageIDs", "MessageSource", b"MessageSource", "Timestamp", b"Timestamp", "Type", b"Type"]) -> None: ... + +global___Receipt = Receipt + +@typing.final +class ChatPresence(google.protobuf.message.Message): + """19""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ChatPresence: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ChatPresenceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ChatPresence._ChatPresence.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + COMPOSING: ChatPresence._ChatPresence.ValueType # 1 + PAUSED: ChatPresence._ChatPresence.ValueType # 2 + + class ChatPresence(_ChatPresence, metaclass=_ChatPresenceEnumTypeWrapper): ... + COMPOSING: ChatPresence.ChatPresence.ValueType # 1 + PAUSED: ChatPresence.ChatPresence.ValueType # 2 + + class _ChatPresenceMedia: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ChatPresenceMediaEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ChatPresence._ChatPresenceMedia.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + TEXT: ChatPresence._ChatPresenceMedia.ValueType # 1 + AUDIO: ChatPresence._ChatPresenceMedia.ValueType # 2 + + class ChatPresenceMedia(_ChatPresenceMedia, metaclass=_ChatPresenceMediaEnumTypeWrapper): ... + TEXT: ChatPresence.ChatPresenceMedia.ValueType # 1 + AUDIO: ChatPresence.ChatPresenceMedia.ValueType # 2 + + MESSAGESOURCE_FIELD_NUMBER: builtins.int + STATE_FIELD_NUMBER: builtins.int + MEDIA_FIELD_NUMBER: builtins.int + State: global___ChatPresence.ChatPresence.ValueType + Media: global___ChatPresence.ChatPresenceMedia.ValueType + @property + def MessageSource(self) -> global___MessageSource: ... + def __init__( + self, + *, + MessageSource: global___MessageSource | None = ..., + State: global___ChatPresence.ChatPresence.ValueType | None = ..., + Media: global___ChatPresence.ChatPresenceMedia.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Media", b"Media", "MessageSource", b"MessageSource", "State", b"State"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Media", b"Media", "MessageSource", b"MessageSource", "State", b"State"]) -> None: ... + +global___ChatPresence = ChatPresence + +@typing.final +class Presence(google.protobuf.message.Message): + """20""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FROM_FIELD_NUMBER: builtins.int + UNAVAILABLE_FIELD_NUMBER: builtins.int + LASTSEEN_FIELD_NUMBER: builtins.int + Unavailable: builtins.bool + LastSeen: builtins.int + @property + def From(self) -> global___JID: ... + def __init__( + self, + *, + From: global___JID | None = ..., + Unavailable: builtins.bool | None = ..., + LastSeen: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["From", b"From", "LastSeen", b"LastSeen", "Unavailable", b"Unavailable"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["From", b"From", "LastSeen", b"LastSeen", "Unavailable", b"Unavailable"]) -> None: ... + +global___Presence = Presence + +@typing.final +class JoinedGroup(google.protobuf.message.Message): + """21""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REASON_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + CREATEKEY_FIELD_NUMBER: builtins.int + GROUPINFO_FIELD_NUMBER: builtins.int + Reason: builtins.str + Type: builtins.str + CreateKey: builtins.str + @property + def GroupInfo(self) -> global___GroupInfo: ... + def __init__( + self, + *, + Reason: builtins.str | None = ..., + Type: builtins.str | None = ..., + CreateKey: builtins.str | None = ..., + GroupInfo: global___GroupInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["CreateKey", b"CreateKey", "GroupInfo", b"GroupInfo", "Reason", b"Reason", "Type", b"Type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["CreateKey", b"CreateKey", "GroupInfo", b"GroupInfo", "Reason", b"Reason", "Type", b"Type"]) -> None: ... + +global___JoinedGroup = JoinedGroup + +@typing.final +class GroupInfoEvent(google.protobuf.message.Message): + """22""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + NOTIFY_FIELD_NUMBER: builtins.int + SENDER_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + TOPIC_FIELD_NUMBER: builtins.int + LOCKED_FIELD_NUMBER: builtins.int + ANNOUNCE_FIELD_NUMBER: builtins.int + EPHEMERAL_FIELD_NUMBER: builtins.int + DELETE_FIELD_NUMBER: builtins.int + LINK_FIELD_NUMBER: builtins.int + UNLINK_FIELD_NUMBER: builtins.int + NEWINVITELINK_FIELD_NUMBER: builtins.int + PREVPARTICIPANTSVERSIONID_FIELD_NUMBER: builtins.int + PARTICIPANTVERSIONID_FIELD_NUMBER: builtins.int + JOINREASON_FIELD_NUMBER: builtins.int + JOIN_FIELD_NUMBER: builtins.int + LEAVE_FIELD_NUMBER: builtins.int + PROMOTE_FIELD_NUMBER: builtins.int + DEMOTE_FIELD_NUMBER: builtins.int + UNKNOWNCHANGES_FIELD_NUMBER: builtins.int + Notify: builtins.str + Timestamp: builtins.int + NewInviteLink: builtins.str + PrevParticipantsVersionID: builtins.str + ParticipantVersionID: builtins.str + JoinReason: builtins.str + @property + def JID(self) -> global___JID: ... + @property + def Sender(self) -> global___JID: ... + @property + def Name(self) -> global___GroupName: ... + @property + def Topic(self) -> global___GroupTopic: ... + @property + def Locked(self) -> global___GroupLocked: ... + @property + def Announce(self) -> global___GroupAnnounce: ... + @property + def Ephemeral(self) -> global___GroupEphemeral: ... + @property + def Delete(self) -> global___GroupDelete: ... + @property + def Link(self) -> global___GroupLinkChange: ... + @property + def Unlink(self) -> global___GroupLinkChange: ... + @property + def Join(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___JID]: ... + @property + def Leave(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___JID]: ... + @property + def Promote(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___JID]: ... + @property + def Demote(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___JID]: ... + @property + def UnknownChanges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Node]: ... + def __init__( + self, + *, + JID: global___JID | None = ..., + Notify: builtins.str | None = ..., + Sender: global___JID | None = ..., + Timestamp: builtins.int | None = ..., + Name: global___GroupName | None = ..., + Topic: global___GroupTopic | None = ..., + Locked: global___GroupLocked | None = ..., + Announce: global___GroupAnnounce | None = ..., + Ephemeral: global___GroupEphemeral | None = ..., + Delete: global___GroupDelete | None = ..., + Link: global___GroupLinkChange | None = ..., + Unlink: global___GroupLinkChange | None = ..., + NewInviteLink: builtins.str | None = ..., + PrevParticipantsVersionID: builtins.str | None = ..., + ParticipantVersionID: builtins.str | None = ..., + JoinReason: builtins.str | None = ..., + Join: collections.abc.Iterable[global___JID] | None = ..., + Leave: collections.abc.Iterable[global___JID] | None = ..., + Promote: collections.abc.Iterable[global___JID] | None = ..., + Demote: collections.abc.Iterable[global___JID] | None = ..., + UnknownChanges: collections.abc.Iterable[global___Node] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Announce", b"Announce", "Delete", b"Delete", "Ephemeral", b"Ephemeral", "JID", b"JID", "JoinReason", b"JoinReason", "Link", b"Link", "Locked", b"Locked", "Name", b"Name", "NewInviteLink", b"NewInviteLink", "Notify", b"Notify", "ParticipantVersionID", b"ParticipantVersionID", "PrevParticipantsVersionID", b"PrevParticipantsVersionID", "Sender", b"Sender", "Timestamp", b"Timestamp", "Topic", b"Topic", "Unlink", b"Unlink"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Announce", b"Announce", "Delete", b"Delete", "Demote", b"Demote", "Ephemeral", b"Ephemeral", "JID", b"JID", "Join", b"Join", "JoinReason", b"JoinReason", "Leave", b"Leave", "Link", b"Link", "Locked", b"Locked", "Name", b"Name", "NewInviteLink", b"NewInviteLink", "Notify", b"Notify", "ParticipantVersionID", b"ParticipantVersionID", "PrevParticipantsVersionID", b"PrevParticipantsVersionID", "Promote", b"Promote", "Sender", b"Sender", "Timestamp", b"Timestamp", "Topic", b"Topic", "UnknownChanges", b"UnknownChanges", "Unlink", b"Unlink"]) -> None: ... + +global___GroupInfoEvent = GroupInfoEvent + +@typing.final +class Picture(google.protobuf.message.Message): + """23""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + AUTHOR_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + REMOVE_FIELD_NUMBER: builtins.int + Timestamp: builtins.int + Remove: builtins.bool + @property + def JID(self) -> global___JID: ... + @property + def Author(self) -> global___JID: ... + def __init__( + self, + *, + JID: global___JID | None = ..., + Author: global___JID | None = ..., + Timestamp: builtins.int | None = ..., + Remove: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Author", b"Author", "JID", b"JID", "Remove", b"Remove", "Timestamp", b"Timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Author", b"Author", "JID", b"JID", "Remove", b"Remove", "Timestamp", b"Timestamp"]) -> None: ... + +global___Picture = Picture + +@typing.final +class IdentityChange(google.protobuf.message.Message): + """24""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + IMPLICIT_FIELD_NUMBER: builtins.int + Timestamp: builtins.int + Implicit: builtins.bool + @property + def JID(self) -> global___JID: ... + def __init__( + self, + *, + JID: global___JID | None = ..., + Timestamp: builtins.int | None = ..., + Implicit: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Implicit", b"Implicit", "JID", b"JID", "Timestamp", b"Timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Implicit", b"Implicit", "JID", b"JID", "Timestamp", b"Timestamp"]) -> None: ... + +global___IdentityChange = IdentityChange + +@typing.final +class privacySettingsEvent(google.protobuf.message.Message): + """25""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NEWSETTINGS_FIELD_NUMBER: builtins.int + GROUPADDCHANGED_FIELD_NUMBER: builtins.int + LASTSEENCHANGED_FIELD_NUMBER: builtins.int + STATUSCHANGED_FIELD_NUMBER: builtins.int + PROFILECHANGED_FIELD_NUMBER: builtins.int + READRECEIPTSCHANGED_FIELD_NUMBER: builtins.int + ONLINECHANGED_FIELD_NUMBER: builtins.int + CALLADDCHANGED_FIELD_NUMBER: builtins.int + GroupAddChanged: builtins.bool + LastSeenChanged: builtins.bool + StatusChanged: builtins.bool + ProfileChanged: builtins.bool + ReadReceiptsChanged: builtins.bool + OnlineChanged: builtins.bool + CallAddChanged: builtins.bool + @property + def NewSettings(self) -> global___PrivacySettings: ... + def __init__( + self, + *, + NewSettings: global___PrivacySettings | None = ..., + GroupAddChanged: builtins.bool | None = ..., + LastSeenChanged: builtins.bool | None = ..., + StatusChanged: builtins.bool | None = ..., + ProfileChanged: builtins.bool | None = ..., + ReadReceiptsChanged: builtins.bool | None = ..., + OnlineChanged: builtins.bool | None = ..., + CallAddChanged: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["CallAddChanged", b"CallAddChanged", "GroupAddChanged", b"GroupAddChanged", "LastSeenChanged", b"LastSeenChanged", "NewSettings", b"NewSettings", "OnlineChanged", b"OnlineChanged", "ProfileChanged", b"ProfileChanged", "ReadReceiptsChanged", b"ReadReceiptsChanged", "StatusChanged", b"StatusChanged"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["CallAddChanged", b"CallAddChanged", "GroupAddChanged", b"GroupAddChanged", "LastSeenChanged", b"LastSeenChanged", "NewSettings", b"NewSettings", "OnlineChanged", b"OnlineChanged", "ProfileChanged", b"ProfileChanged", "ReadReceiptsChanged", b"ReadReceiptsChanged", "StatusChanged", b"StatusChanged"]) -> None: ... + +global___privacySettingsEvent = privacySettingsEvent + +@typing.final +class OfflineSyncPreview(google.protobuf.message.Message): + """26""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TOTAL_FIELD_NUMBER: builtins.int + APPDATACHANGES_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + NOTIFICATIONS_FIELD_NUMBER: builtins.int + RECEIPTS_FIELD_NUMBER: builtins.int + Total: builtins.int + AppDataChanges: builtins.int + Message: builtins.int + Notifications: builtins.int + Receipts: builtins.int + def __init__( + self, + *, + Total: builtins.int | None = ..., + AppDataChanges: builtins.int | None = ..., + Message: builtins.int | None = ..., + Notifications: builtins.int | None = ..., + Receipts: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["AppDataChanges", b"AppDataChanges", "Message", b"Message", "Notifications", b"Notifications", "Receipts", b"Receipts", "Total", b"Total"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["AppDataChanges", b"AppDataChanges", "Message", b"Message", "Notifications", b"Notifications", "Receipts", b"Receipts", "Total", b"Total"]) -> None: ... + +global___OfflineSyncPreview = OfflineSyncPreview + +@typing.final +class OfflineSyncCompleted(google.protobuf.message.Message): + """27""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COUNT_FIELD_NUMBER: builtins.int + Count: builtins.int + def __init__( + self, + *, + Count: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Count", b"Count"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Count", b"Count"]) -> None: ... + +global___OfflineSyncCompleted = OfflineSyncCompleted + +@typing.final +class BlocklistEvent(google.protobuf.message.Message): + """30""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Actions: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ActionsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BlocklistEvent._Actions.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DEFAULT: BlocklistEvent._Actions.ValueType # 1 + MODIFY: BlocklistEvent._Actions.ValueType # 2 + + class Actions(_Actions, metaclass=_ActionsEnumTypeWrapper): ... + DEFAULT: BlocklistEvent.Actions.ValueType # 1 + MODIFY: BlocklistEvent.Actions.ValueType # 2 + + ACTION_FIELD_NUMBER: builtins.int + DHASH_FIELD_NUMBER: builtins.int + PREVDHASH_FIELD_NUMBER: builtins.int + CHANGES_FIELD_NUMBER: builtins.int + Action: global___BlocklistEvent.Actions.ValueType + DHASH: builtins.str + PrevDHash: builtins.str + @property + def Changes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BlocklistChange]: ... + def __init__( + self, + *, + Action: global___BlocklistEvent.Actions.ValueType | None = ..., + DHASH: builtins.str | None = ..., + PrevDHash: builtins.str | None = ..., + Changes: collections.abc.Iterable[global___BlocklistChange] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Action", b"Action", "DHASH", b"DHASH", "PrevDHash", b"PrevDHash"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Action", b"Action", "Changes", b"Changes", "DHASH", b"DHASH", "PrevDHash", b"PrevDHash"]) -> None: ... + +global___BlocklistEvent = BlocklistEvent + +@typing.final +class BlocklistChange(google.protobuf.message.Message): + """31""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Action: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BlocklistChange._Action.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BLOCK: BlocklistChange._Action.ValueType # 1 + UNBLOCK: BlocklistChange._Action.ValueType # 2 + + class Action(_Action, metaclass=_ActionEnumTypeWrapper): ... + BLOCK: BlocklistChange.Action.ValueType # 1 + UNBLOCK: BlocklistChange.Action.ValueType # 2 + + JID_FIELD_NUMBER: builtins.int + BLOCKACTION_FIELD_NUMBER: builtins.int + BlockAction: global___BlocklistChange.Action.ValueType + @property + def JID(self) -> global___JID: ... + def __init__( + self, + *, + JID: global___JID | None = ..., + BlockAction: global___BlocklistChange.Action.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["BlockAction", b"BlockAction", "JID", b"JID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["BlockAction", b"BlockAction", "JID", b"JID"]) -> None: ... + +global___BlocklistChange = BlocklistChange + +@typing.final +class NewsletterJoin(google.protobuf.message.Message): + """32""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NEWSLETTERMETADATA_FIELD_NUMBER: builtins.int + @property + def NewsletterMetadata(self) -> global___NewsletterMetadata: ... + def __init__( + self, + *, + NewsletterMetadata: global___NewsletterMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["NewsletterMetadata", b"NewsletterMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["NewsletterMetadata", b"NewsletterMetadata"]) -> None: ... + +global___NewsletterJoin = NewsletterJoin + +@typing.final +class NewsletterLeave(google.protobuf.message.Message): + """33""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + ROLE_FIELD_NUMBER: builtins.int + Role: global___NewsletterRole.ValueType + @property + def ID(self) -> global___JID: ... + def __init__( + self, + *, + ID: global___JID | None = ..., + Role: global___NewsletterRole.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "Role", b"Role"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "Role", b"Role"]) -> None: ... + +global___NewsletterLeave = NewsletterLeave + +@typing.final +class NewsletterMuteChange(google.protobuf.message.Message): + """34""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + MUTE_FIELD_NUMBER: builtins.int + Mute: global___NewsletterMuteState.ValueType + @property + def ID(self) -> global___JID: ... + def __init__( + self, + *, + ID: global___JID | None = ..., + Mute: global___NewsletterMuteState.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "Mute", b"Mute"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "Mute", b"Mute"]) -> None: ... + +global___NewsletterMuteChange = NewsletterMuteChange + +@typing.final +class NewsletterLiveUpdate(google.protobuf.message.Message): + """35""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + TIME_FIELD_NUMBER: builtins.int + MESSAGES_FIELD_NUMBER: builtins.int + TIME: builtins.int + @property + def JID(self) -> global___JID: ... + @property + def Messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NewsletterMessage]: ... + def __init__( + self, + *, + JID: global___JID | None = ..., + TIME: builtins.int | None = ..., + Messages: collections.abc.Iterable[global___NewsletterMessage] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JID", b"JID", "TIME", b"TIME"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JID", b"JID", "Messages", b"Messages", "TIME", b"TIME"]) -> None: ... + +global___NewsletterLiveUpdate = NewsletterLiveUpdate + +@typing.final +class BasicCallMeta(google.protobuf.message.Message): + """call events""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FROM_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + CALLCREATOR_FIELD_NUMBER: builtins.int + CALLCREATORALT_FIELD_NUMBER: builtins.int + CALLID_FIELD_NUMBER: builtins.int + timestamp: builtins.int + callID: builtins.str + @property + def callCreator(self) -> global___JID: ... + @property + def callCreatorAlt(self) -> global___JID: ... + def __init__( + self, + *, + timestamp: builtins.int | None = ..., + callCreator: global___JID | None = ..., + callCreatorAlt: global___JID | None = ..., + callID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["callCreator", b"callCreator", "callCreatorAlt", b"callCreatorAlt", "callID", b"callID", "from", b"from", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["callCreator", b"callCreator", "callCreatorAlt", b"callCreatorAlt", "callID", b"callID", "from", b"from", "timestamp", b"timestamp"]) -> None: ... + +global___BasicCallMeta = BasicCallMeta + +@typing.final +class CallRemoteMeta(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REMOTEPLATFORM_FIELD_NUMBER: builtins.int + REMOTEVERSION_FIELD_NUMBER: builtins.int + remotePlatform: builtins.str + remoteVersion: builtins.str + def __init__( + self, + *, + remotePlatform: builtins.str | None = ..., + remoteVersion: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["remotePlatform", b"remotePlatform", "remoteVersion", b"remoteVersion"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["remotePlatform", b"remotePlatform", "remoteVersion", b"remoteVersion"]) -> None: ... + +global___CallRemoteMeta = CallRemoteMeta + +@typing.final +class CallOffer(google.protobuf.message.Message): + """events""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BASICCALLMETA_FIELD_NUMBER: builtins.int + CALLREMOTEMETA_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + @property + def basicCallMeta(self) -> global___BasicCallMeta: ... + @property + def callRemoteMeta(self) -> global___CallRemoteMeta: ... + @property + def data(self) -> global___Node: ... + def __init__( + self, + *, + basicCallMeta: global___BasicCallMeta | None = ..., + callRemoteMeta: global___CallRemoteMeta | None = ..., + data: global___Node | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "callRemoteMeta", b"callRemoteMeta", "data", b"data"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "callRemoteMeta", b"callRemoteMeta", "data", b"data"]) -> None: ... + +global___CallOffer = CallOffer + +@typing.final +class CallAccept(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BASICCALLMETA_FIELD_NUMBER: builtins.int + CALLREMOTEMETA_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + @property + def basicCallMeta(self) -> global___BasicCallMeta: ... + @property + def callRemoteMeta(self) -> global___CallRemoteMeta: ... + @property + def data(self) -> global___Node: ... + def __init__( + self, + *, + basicCallMeta: global___BasicCallMeta | None = ..., + callRemoteMeta: global___CallRemoteMeta | None = ..., + data: global___Node | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "callRemoteMeta", b"callRemoteMeta", "data", b"data"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "callRemoteMeta", b"callRemoteMeta", "data", b"data"]) -> None: ... + +global___CallAccept = CallAccept + +@typing.final +class CallPreAccept(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BASICCALLMETA_FIELD_NUMBER: builtins.int + CALLREMOTEMETA_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + @property + def basicCallMeta(self) -> global___BasicCallMeta: ... + @property + def callRemoteMeta(self) -> global___CallRemoteMeta: ... + @property + def data(self) -> global___Node: ... + def __init__( + self, + *, + basicCallMeta: global___BasicCallMeta | None = ..., + callRemoteMeta: global___CallRemoteMeta | None = ..., + data: global___Node | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "callRemoteMeta", b"callRemoteMeta", "data", b"data"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "callRemoteMeta", b"callRemoteMeta", "data", b"data"]) -> None: ... + +global___CallPreAccept = CallPreAccept + +@typing.final +class CallTransport(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BASICCALLMETA_FIELD_NUMBER: builtins.int + CALLREMOTEMETA_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + @property + def basicCallMeta(self) -> global___BasicCallMeta: ... + @property + def callRemoteMeta(self) -> global___CallRemoteMeta: ... + @property + def data(self) -> global___Node: ... + def __init__( + self, + *, + basicCallMeta: global___BasicCallMeta | None = ..., + callRemoteMeta: global___CallRemoteMeta | None = ..., + data: global___Node | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "callRemoteMeta", b"callRemoteMeta", "data", b"data"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "callRemoteMeta", b"callRemoteMeta", "data", b"data"]) -> None: ... + +global___CallTransport = CallTransport + +@typing.final +class CallOfferNotice(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BASICCALLMETA_FIELD_NUMBER: builtins.int + MEDIA_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + media: builtins.str + type: builtins.str + @property + def basicCallMeta(self) -> global___BasicCallMeta: ... + @property + def data(self) -> global___Node: ... + def __init__( + self, + *, + basicCallMeta: global___BasicCallMeta | None = ..., + media: builtins.str | None = ..., + type: builtins.str | None = ..., + data: global___Node | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "data", b"data", "media", b"media", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "data", b"data", "media", b"media", "type", b"type"]) -> None: ... + +global___CallOfferNotice = CallOfferNotice + +@typing.final +class CallRelayLatency(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BASICCALLMETA_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + @property + def basicCallMeta(self) -> global___BasicCallMeta: ... + @property + def data(self) -> global___Node: ... + def __init__( + self, + *, + basicCallMeta: global___BasicCallMeta | None = ..., + data: global___Node | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "data", b"data"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "data", b"data"]) -> None: ... + +global___CallRelayLatency = CallRelayLatency + +@typing.final +class CallTerminate(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BASICCALLMETA_FIELD_NUMBER: builtins.int + REASON_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + reason: builtins.str + @property + def basicCallMeta(self) -> global___BasicCallMeta: ... + @property + def data(self) -> global___Node: ... + def __init__( + self, + *, + basicCallMeta: global___BasicCallMeta | None = ..., + reason: builtins.str | None = ..., + data: global___Node | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "data", b"data", "reason", b"reason"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["basicCallMeta", b"basicCallMeta", "data", b"data", "reason", b"reason"]) -> None: ... + +global___CallTerminate = CallTerminate + +@typing.final +class UnknownCallEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NODE_FIELD_NUMBER: builtins.int + @property + def node(self) -> global___Node: ... + def __init__( + self, + *, + node: global___Node | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["node", b"node"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["node", b"node"]) -> None: ... + +global___UnknownCallEvent = UnknownCallEvent + +@typing.final +class UndecryptableMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _DecryptFailModeT: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _DecryptFailModeTEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[UndecryptableMessage._DecryptFailModeT.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DECRYPT_FAIL_SHOW: UndecryptableMessage._DecryptFailModeT.ValueType # 1 + DECRYPT_FAIL_HIDE: UndecryptableMessage._DecryptFailModeT.ValueType # 2 + + class DecryptFailModeT(_DecryptFailModeT, metaclass=_DecryptFailModeTEnumTypeWrapper): ... + DECRYPT_FAIL_SHOW: UndecryptableMessage.DecryptFailModeT.ValueType # 1 + DECRYPT_FAIL_HIDE: UndecryptableMessage.DecryptFailModeT.ValueType # 2 + + INFO_FIELD_NUMBER: builtins.int + ISUNAVAILABLE_FIELD_NUMBER: builtins.int + DECRYPTFAILMODE_FIELD_NUMBER: builtins.int + IsUnavailable: builtins.bool + DecryptFailMode: global___UndecryptableMessage.DecryptFailModeT.ValueType + @property + def Info(self) -> global___MessageInfo: ... + def __init__( + self, + *, + Info: global___MessageInfo | None = ..., + IsUnavailable: builtins.bool | None = ..., + DecryptFailMode: global___UndecryptableMessage.DecryptFailModeT.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["DecryptFailMode", b"DecryptFailMode", "Info", b"Info", "IsUnavailable", b"IsUnavailable"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["DecryptFailMode", b"DecryptFailMode", "Info", b"Info", "IsUnavailable", b"IsUnavailable"]) -> None: ... + +global___UndecryptableMessage = UndecryptableMessage + +@typing.final +class UpdateGroupParticipantsReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ERROR_FIELD_NUMBER: builtins.int + PARTICIPANTS_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GroupParticipant]: ... + def __init__( + self, + *, + Error: builtins.str | None = ..., + participants: collections.abc.Iterable[global___GroupParticipant] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "participants", b"participants"]) -> None: ... + +global___UpdateGroupParticipantsReturnFunction = UpdateGroupParticipantsReturnFunction + +@typing.final +class GetMessageForRetryReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISEMPTY_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + ERROR_FIELD_NUMBER: builtins.int + isEmpty: builtins.bool + Error: builtins.str + @property + def Message(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... + def __init__( + self, + *, + isEmpty: builtins.bool | None = ..., + Message: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., + Error: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "Message", b"Message", "isEmpty", b"isEmpty"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "Message", b"Message", "isEmpty", b"isEmpty"]) -> None: ... + +global___GetMessageForRetryReturnFunction = GetMessageForRetryReturnFunction + +@typing.final +class LocalChatSettings(google.protobuf.message.Message): + """chat_setting_store""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FOUND_FIELD_NUMBER: builtins.int + MUTEDUNTIL_FIELD_NUMBER: builtins.int + PINNED_FIELD_NUMBER: builtins.int + ARCHIVED_FIELD_NUMBER: builtins.int + Found: builtins.bool + MutedUntil: builtins.float + Pinned: builtins.bool + Archived: builtins.bool + def __init__( + self, + *, + Found: builtins.bool | None = ..., + MutedUntil: builtins.float | None = ..., + Pinned: builtins.bool | None = ..., + Archived: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Archived", b"Archived", "Found", b"Found", "MutedUntil", b"MutedUntil", "Pinned", b"Pinned"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Archived", b"Archived", "Found", b"Found", "MutedUntil", b"MutedUntil", "Pinned", b"Pinned"]) -> None: ... + +global___LocalChatSettings = LocalChatSettings + +@typing.final +class ReturnFunctionWithError(google.protobuf.message.Message): + """New Verision for Function""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ERROR_FIELD_NUMBER: builtins.int + LOCALCHATSETTINGS_FIELD_NUMBER: builtins.int + POLLVOTEMESSAGE_FIELD_NUMBER: builtins.int + GETLINKEDGROUPSPARTICIPANTS_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def LocalChatSettings(self) -> global___LocalChatSettings: ... + @property + def PollVoteMessage(self) -> waE2E.WAWebProtobufsE2E_pb2.PollVoteMessage: ... + @property + def GetLinkedGroupsParticipants(self) -> global___JIDArray: ... + def __init__( + self, + *, + Error: builtins.str | None = ..., + LocalChatSettings: global___LocalChatSettings | None = ..., + PollVoteMessage: waE2E.WAWebProtobufsE2E_pb2.PollVoteMessage | None = ..., + GetLinkedGroupsParticipants: global___JIDArray | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "GetLinkedGroupsParticipants", b"GetLinkedGroupsParticipants", "LocalChatSettings", b"LocalChatSettings", "PollVoteMessage", b"PollVoteMessage", "Return", b"Return"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "GetLinkedGroupsParticipants", b"GetLinkedGroupsParticipants", "LocalChatSettings", b"LocalChatSettings", "PollVoteMessage", b"PollVoteMessage", "Return", b"Return"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["Return", b"Return"]) -> typing.Literal["LocalChatSettings", "PollVoteMessage", "GetLinkedGroupsParticipants"] | None: ... + +global___ReturnFunctionWithError = ReturnFunctionWithError + +@typing.final +class SendRequestExtra(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + INLINEBOTJID_FIELD_NUMBER: builtins.int + PEER_FIELD_NUMBER: builtins.int + TIMEOUT_FIELD_NUMBER: builtins.int + MEDIAHANDLE_FIELD_NUMBER: builtins.int + ID: builtins.str + Peer: builtins.bool + Timeout: builtins.int + MediaHandle: builtins.str + @property + def InlineBotJID(self) -> global___JID: ... + def __init__( + self, + *, + ID: builtins.str | None = ..., + InlineBotJID: global___JID | None = ..., + Peer: builtins.bool | None = ..., + Timeout: builtins.int | None = ..., + MediaHandle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "InlineBotJID", b"InlineBotJID", "MediaHandle", b"MediaHandle", "Peer", b"Peer", "Timeout", b"Timeout"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "InlineBotJID", b"InlineBotJID", "MediaHandle", b"MediaHandle", "Peer", b"Peer", "Timeout", b"Timeout"]) -> None: ... + +global___SendRequestExtra = SendRequestExtra + +@typing.final +class BuildMessageReturnFunction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ERROR_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + Error: builtins.str + @property + def Message(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... + def __init__( + self, + *, + Error: builtins.str | None = ..., + Message: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Error", b"Error", "Message", b"Message"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Error", b"Error", "Message", b"Message"]) -> None: ... + +global___BuildMessageReturnFunction = BuildMessageReturnFunction + +@typing.final +class LogEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGE_FIELD_NUMBER: builtins.int + LEVEL_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + Message: builtins.str + Level: builtins.str + Name: builtins.str + def __init__( + self, + *, + Message: builtins.str | None = ..., + Level: builtins.str | None = ..., + Name: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["Level", b"Level", "Message", b"Message", "Name", b"Name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["Level", b"Level", "Message", b"Message", "Name", b"Name"]) -> None: ... + +global___LogEntry = LogEntry + +@typing.final +class Stop(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___Stop = Stop diff --git a/neonize/proto/__init__.py b/neonize/proto/__init__.py index 29178e25..b173dc25 100644 --- a/neonize/proto/__init__.py +++ b/neonize/proto/__init__.py @@ -1,3 +1,4 @@ import sys from pathlib import Path + sys.path.insert(0, Path(__file__).parent.__str__()) diff --git a/neonize/proto/def_pb2.py b/neonize/proto/def_pb2.py deleted file mode 100644 index ceb699bd..00000000 --- a/neonize/proto/def_pb2.py +++ /dev/null @@ -1,743 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: def.proto -# Protobuf Python Version: 4.25.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tdef.proto\x12\x08\x64\x65\x66proto\"_\n\x15\x41\x44VSignedKeyIndexList\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x18\n\x10\x61\x63\x63ountSignature\x18\x02 \x01(\x0c\x12\x1b\n\x13\x61\x63\x63ountSignatureKey\x18\x03 \x01(\x0c\"z\n\x17\x41\x44VSignedDeviceIdentity\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x1b\n\x13\x61\x63\x63ountSignatureKey\x18\x02 \x01(\x0c\x12\x18\n\x10\x61\x63\x63ountSignature\x18\x03 \x01(\x0c\x12\x17\n\x0f\x64\x65viceSignature\x18\x04 \x01(\x0c\"n\n\x1b\x41\x44VSignedDeviceIdentityHMAC\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x0c\n\x04hmac\x18\x02 \x01(\x0c\x12\x30\n\x0b\x61\x63\x63ountType\x18\x03 \x01(\x0e\x32\x1b.defproto.ADVEncryptionType\"\x95\x01\n\x0f\x41\x44VKeyIndexList\x12\r\n\x05rawId\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrentIndex\x18\x03 \x01(\r\x12\x18\n\x0cvalidIndexes\x18\x04 \x03(\rB\x02\x10\x01\x12\x30\n\x0b\x61\x63\x63ountType\x18\x05 \x01(\x0e\x32\x1b.defproto.ADVEncryptionType\"\xaa\x01\n\x11\x41\x44VDeviceIdentity\x12\r\n\x05rawId\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x10\n\x08keyIndex\x18\x03 \x01(\r\x12\x30\n\x0b\x61\x63\x63ountType\x18\x04 \x01(\x0e\x32\x1b.defproto.ADVEncryptionType\x12/\n\ndeviceType\x18\x05 \x01(\x0e\x32\x1b.defproto.ADVEncryptionType\"\xa3\x07\n\x0b\x44\x65viceProps\x12\n\n\x02os\x18\x01 \x01(\t\x12\x31\n\x07version\x18\x02 \x01(\x0b\x32 .defproto.DeviceProps.AppVersion\x12\x38\n\x0cplatformType\x18\x03 \x01(\x0e\x32\".defproto.DeviceProps.PlatformType\x12\x17\n\x0frequireFullSync\x18\x04 \x01(\x08\x12\x42\n\x11historySyncConfig\x18\x05 \x01(\x0b\x32\'.defproto.DeviceProps.HistorySyncConfig\x1a\x93\x02\n\x11HistorySyncConfig\x12\x19\n\x11\x66ullSyncDaysLimit\x18\x01 \x01(\r\x12\x1b\n\x13\x66ullSyncSizeMbLimit\x18\x02 \x01(\r\x12\x16\n\x0estorageQuotaMb\x18\x03 \x01(\r\x12%\n\x1dinlineInitialPayloadInE2EeMsg\x18\x04 \x01(\x08\x12\x1b\n\x13recentSyncDaysLimit\x18\x05 \x01(\r\x12\x1d\n\x15supportCallLogHistory\x18\x06 \x01(\x08\x12&\n\x1esupportBotUserAgentChatHistory\x18\x07 \x01(\x08\x12#\n\x1bsupportCagReactionsAndPolls\x18\x08 \x01(\x08\x1ag\n\nAppVersion\x12\x0f\n\x07primary\x18\x01 \x01(\r\x12\x11\n\tsecondary\x18\x02 \x01(\r\x12\x10\n\x08tertiary\x18\x03 \x01(\r\x12\x12\n\nquaternary\x18\x04 \x01(\r\x12\x0f\n\x07quinary\x18\x05 \x01(\r\"\xbe\x02\n\x0cPlatformType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43HROME\x10\x01\x12\x0b\n\x07\x46IREFOX\x10\x02\x12\x06\n\x02IE\x10\x03\x12\t\n\x05OPERA\x10\x04\x12\n\n\x06SAFARI\x10\x05\x12\x08\n\x04\x45\x44GE\x10\x06\x12\x0b\n\x07\x44\x45SKTOP\x10\x07\x12\x08\n\x04IPAD\x10\x08\x12\x12\n\x0e\x41NDROID_TABLET\x10\t\x12\t\n\x05OHANA\x10\n\x12\t\n\x05\x41LOHA\x10\x0b\x12\x0c\n\x08\x43\x41TALINA\x10\x0c\x12\n\n\x06TCL_TV\x10\r\x12\r\n\tIOS_PHONE\x10\x0e\x12\x10\n\x0cIOS_CATALYST\x10\x0f\x12\x11\n\rANDROID_PHONE\x10\x10\x12\x15\n\x11\x41NDROID_AMBIGUOUS\x10\x11\x12\x0b\n\x07WEAR_OS\x10\x12\x12\x0c\n\x08\x41R_WRIST\x10\x13\x12\r\n\tAR_DEVICE\x10\x14\x12\x07\n\x03UWP\x10\x15\x12\x06\n\x02VR\x10\x16\"\xaa\x0b\n\x12InteractiveMessage\x12\x33\n\x06header\x18\x01 \x01(\x0b\x32#.defproto.InteractiveMessage.Header\x12/\n\x04\x62ody\x18\x02 \x01(\x0b\x32!.defproto.InteractiveMessage.Body\x12\x33\n\x06\x66ooter\x18\x03 \x01(\x0b\x32#.defproto.InteractiveMessage.Footer\x12*\n\x0b\x63ontextInfo\x18\x0f \x01(\x0b\x32\x15.defproto.ContextInfo\x12I\n\x15shopStorefrontMessage\x18\x04 \x01(\x0b\x32(.defproto.InteractiveMessage.ShopMessageH\x00\x12K\n\x11\x63ollectionMessage\x18\x05 \x01(\x0b\x32..defproto.InteractiveMessage.CollectionMessageH\x00\x12K\n\x11nativeFlowMessage\x18\x06 \x01(\x0b\x32..defproto.InteractiveMessage.NativeFlowMessageH\x00\x12G\n\x0f\x63\x61rouselMessage\x18\x07 \x01(\x0b\x32,.defproto.InteractiveMessage.CarouselMessageH\x00\x1a\xac\x01\n\x0bShopMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\x41\n\x07surface\x18\x02 \x01(\x0e\x32\x30.defproto.InteractiveMessage.ShopMessage.Surface\x12\x16\n\x0emessageVersion\x18\x03 \x01(\x05\"6\n\x07Surface\x12\x13\n\x0fUNKNOWN_SURFACE\x10\x00\x12\x06\n\x02\x46\x42\x10\x01\x12\x06\n\x02IG\x10\x02\x12\x06\n\x02WA\x10\x03\x1a\xd4\x01\n\x11NativeFlowMessage\x12P\n\x07\x62uttons\x18\x01 \x03(\x0b\x32?.defproto.InteractiveMessage.NativeFlowMessage.NativeFlowButton\x12\x19\n\x11messageParamsJson\x18\x02 \x01(\t\x12\x16\n\x0emessageVersion\x18\x03 \x01(\x05\x1a:\n\x10NativeFlowButton\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x62uttonParamsJson\x18\x02 \x01(\t\x1a\xb3\x02\n\x06Header\x12\r\n\x05title\x18\x01 \x01(\t\x12\x10\n\x08subtitle\x18\x02 \x01(\t\x12\x1a\n\x12hasMediaAttachment\x18\x05 \x01(\x08\x12\x34\n\x0f\x64ocumentMessage\x18\x03 \x01(\x0b\x32\x19.defproto.DocumentMessageH\x00\x12.\n\x0cimageMessage\x18\x04 \x01(\x0b\x32\x16.defproto.ImageMessageH\x00\x12\x17\n\rjpegThumbnail\x18\x06 \x01(\x0cH\x00\x12.\n\x0cvideoMessage\x18\x07 \x01(\x0b\x32\x16.defproto.VideoMessageH\x00\x12\x34\n\x0flocationMessage\x18\x08 \x01(\x0b\x32\x19.defproto.LocationMessageH\x00\x42\x07\n\x05media\x1a\x16\n\x06\x46ooter\x12\x0c\n\x04text\x18\x01 \x01(\t\x1aG\n\x11\x43ollectionMessage\x12\x0e\n\x06\x62izJid\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x12\x16\n\x0emessageVersion\x18\x03 \x01(\x05\x1aV\n\x0f\x43\x61rouselMessage\x12+\n\x05\x63\x61rds\x18\x01 \x03(\x0b\x32\x1c.defproto.InteractiveMessage\x12\x16\n\x0emessageVersion\x18\x02 \x01(\x05\x1a\x14\n\x04\x42ody\x12\x0c\n\x04text\x18\x01 \x01(\tB\x14\n\x12interactiveMessage\"M\n&InitialSecurityNotificationSettingSync\x12#\n\x1bsecurityNotificationEnabled\x18\x01 \x01(\x08\"\xc6\x05\n\x0cImageMessage\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08mimetype\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61ption\x18\x03 \x01(\t\x12\x12\n\nfileSha256\x18\x04 \x01(\x0c\x12\x12\n\nfileLength\x18\x05 \x01(\x04\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\r\n\x05width\x18\x07 \x01(\r\x12\x10\n\x08mediaKey\x18\x08 \x01(\x0c\x12\x15\n\rfileEncSha256\x18\t \x01(\x0c\x12?\n\x16interactiveAnnotations\x18\n \x03(\x0b\x32\x1f.defproto.InteractiveAnnotation\x12\x12\n\ndirectPath\x18\x0b \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x0c \x01(\x03\x12\x15\n\rjpegThumbnail\x18\x10 \x01(\x0c\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x18\n\x10\x66irstScanSidecar\x18\x12 \x01(\x0c\x12\x17\n\x0f\x66irstScanLength\x18\x13 \x01(\r\x12\x19\n\x11\x65xperimentGroupId\x18\x14 \x01(\r\x12\x14\n\x0cscansSidecar\x18\x15 \x01(\x0c\x12\x13\n\x0bscanLengths\x18\x16 \x03(\r\x12\x1c\n\x14midQualityFileSha256\x18\x17 \x01(\x0c\x12\x1f\n\x17midQualityFileEncSha256\x18\x18 \x01(\x0c\x12\x10\n\x08viewOnce\x18\x19 \x01(\x08\x12\x1b\n\x13thumbnailDirectPath\x18\x1a \x01(\t\x12\x17\n\x0fthumbnailSha256\x18\x1b \x01(\x0c\x12\x1a\n\x12thumbnailEncSha256\x18\x1c \x01(\x0c\x12\x11\n\tstaticUrl\x18\x1d \x01(\t\x12\x34\n\x0b\x61nnotations\x18\x1e \x03(\x0b\x32\x1f.defproto.InteractiveAnnotation\"\x84\x04\n\x17HistorySyncNotification\x12\x12\n\nfileSha256\x18\x01 \x01(\x0c\x12\x12\n\nfileLength\x18\x02 \x01(\x04\x12\x10\n\x08mediaKey\x18\x03 \x01(\x0c\x12\x15\n\rfileEncSha256\x18\x04 \x01(\x0c\x12\x12\n\ndirectPath\x18\x05 \x01(\t\x12\x43\n\x08syncType\x18\x06 \x01(\x0e\x32\x31.defproto.HistorySyncNotification.HistorySyncType\x12\x12\n\nchunkOrder\x18\x07 \x01(\r\x12\x19\n\x11originalMessageId\x18\x08 \x01(\t\x12\x10\n\x08progress\x18\t \x01(\r\x12$\n\x1coldestMsgInChunkTimestampSec\x18\n \x01(\x03\x12)\n!initialHistBootstrapInlinePayload\x18\x0b \x01(\x0c\x12 \n\x18peerDataRequestSessionId\x18\x0c \x01(\t\"\x8a\x01\n\x0fHistorySyncType\x12\x15\n\x11INITIAL_BOOTSTRAP\x10\x00\x12\x15\n\x11INITIAL_STATUS_V3\x10\x01\x12\x08\n\x04\x46ULL\x10\x02\x12\n\n\x06RECENT\x10\x03\x12\r\n\tPUSH_NAME\x10\x04\x12\x15\n\x11NON_BLOCKING_DATA\x10\x05\x12\r\n\tON_DEMAND\x10\x06\"\x86\x0b\n\x17HighlyStructuredMessage\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0b\x65lementName\x18\x02 \x01(\t\x12\x0e\n\x06params\x18\x03 \x03(\t\x12\x12\n\nfallbackLg\x18\x04 \x01(\t\x12\x12\n\nfallbackLc\x18\x05 \x01(\t\x12T\n\x11localizableParams\x18\x06 \x03(\x0b\x32\x39.defproto.HighlyStructuredMessage.HSMLocalizableParameter\x12\x17\n\x0f\x64\x65terministicLg\x18\x07 \x01(\t\x12\x17\n\x0f\x64\x65terministicLc\x18\x08 \x01(\t\x12.\n\x0bhydratedHsm\x18\t \x01(\x0b\x32\x19.defproto.TemplateMessage\x1a\xd2\x08\n\x17HSMLocalizableParameter\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x01 \x01(\t\x12Y\n\x08\x63urrency\x18\x02 \x01(\x0b\x32\x45.defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrencyH\x00\x12Y\n\x08\x64\x61teTime\x18\x03 \x01(\x0b\x32\x45.defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTimeH\x00\x1a\xa8\x06\n\x0bHSMDateTime\x12o\n\tcomponent\x18\x01 \x01(\x0b\x32Z.defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponentH\x00\x12o\n\tunixEpoch\x18\x02 \x01(\x0b\x32Z.defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpochH\x00\x1a)\n\x14HSMDateTimeUnixEpoch\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x1a\xfa\x03\n\x14HSMDateTimeComponent\x12{\n\tdayOfWeek\x18\x01 \x01(\x0e\x32h.defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType\x12\x0c\n\x04year\x18\x02 \x01(\r\x12\r\n\x05month\x18\x03 \x01(\r\x12\x12\n\ndayOfMonth\x18\x04 \x01(\r\x12\x0c\n\x04hour\x18\x05 \x01(\r\x12\x0e\n\x06minute\x18\x06 \x01(\r\x12y\n\x08\x63\x61lendar\x18\x07 \x01(\x0e\x32g.defproto.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType\"k\n\rDayOfWeekType\x12\n\n\x06MONDAY\x10\x01\x12\x0b\n\x07TUESDAY\x10\x02\x12\r\n\tWEDNESDAY\x10\x03\x12\x0c\n\x08THURSDAY\x10\x04\x12\n\n\x06\x46RIDAY\x10\x05\x12\x0c\n\x08SATURDAY\x10\x06\x12\n\n\x06SUNDAY\x10\x07\".\n\x0c\x43\x61lendarType\x12\r\n\tGREGORIAN\x10\x01\x12\x0f\n\x0bSOLAR_HIJRI\x10\x02\x42\x0f\n\rdatetimeOneof\x1a\x37\n\x0bHSMCurrency\x12\x14\n\x0c\x63urrencyCode\x18\x01 \x01(\t\x12\x12\n\namount1000\x18\x02 \x01(\x03\x42\x0c\n\nparamOneof\"\x9c\x02\n\x12GroupInviteMessage\x12\x10\n\x08groupJid\x18\x01 \x01(\t\x12\x12\n\ninviteCode\x18\x02 \x01(\t\x12\x18\n\x10inviteExpiration\x18\x03 \x01(\x03\x12\x11\n\tgroupName\x18\x04 \x01(\t\x12\x15\n\rjpegThumbnail\x18\x05 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x06 \x01(\t\x12*\n\x0b\x63ontextInfo\x18\x07 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x39\n\tgroupType\x18\x08 \x01(\x0e\x32&.defproto.GroupInviteMessage.GroupType\"$\n\tGroupType\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\n\n\x06PARENT\x10\x01\"8\n\x12\x46utureProofMessage\x12\"\n\x07message\x18\x01 \x01(\x0b\x32\x11.defproto.Message\"\xd5\x08\n\x13\x45xtendedTextMessage\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x13\n\x0bmatchedText\x18\x02 \x01(\t\x12\x14\n\x0c\x63\x61nonicalUrl\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\r\n\x05title\x18\x06 \x01(\t\x12\x10\n\x08textArgb\x18\x07 \x01(\x07\x12\x16\n\x0e\x62\x61\x63kgroundArgb\x18\x08 \x01(\x07\x12\x34\n\x04\x66ont\x18\t \x01(\x0e\x32&.defproto.ExtendedTextMessage.FontType\x12>\n\x0bpreviewType\x18\n \x01(\x0e\x32).defproto.ExtendedTextMessage.PreviewType\x12\x15\n\rjpegThumbnail\x18\x10 \x01(\x0c\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x17\n\x0f\x64oNotPlayInline\x18\x12 \x01(\x08\x12\x1b\n\x13thumbnailDirectPath\x18\x13 \x01(\t\x12\x17\n\x0fthumbnailSha256\x18\x14 \x01(\x0c\x12\x1a\n\x12thumbnailEncSha256\x18\x15 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x16 \x01(\x0c\x12\x19\n\x11mediaKeyTimestamp\x18\x17 \x01(\x03\x12\x17\n\x0fthumbnailHeight\x18\x18 \x01(\r\x12\x16\n\x0ethumbnailWidth\x18\x19 \x01(\r\x12N\n\x13inviteLinkGroupType\x18\x1a \x01(\x0e\x32\x31.defproto.ExtendedTextMessage.InviteLinkGroupType\x12&\n\x1einviteLinkParentGroupSubjectV2\x18\x1b \x01(\t\x12(\n inviteLinkParentGroupThumbnailV2\x18\x1c \x01(\x0c\x12P\n\x15inviteLinkGroupTypeV2\x18\x1d \x01(\x0e\x32\x31.defproto.ExtendedTextMessage.InviteLinkGroupType\x12\x10\n\x08viewOnce\x18\x1e \x01(\x08\">\n\x0bPreviewType\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x0f\n\x0bPLACEHOLDER\x10\x04\x12\t\n\x05IMAGE\x10\x05\"H\n\x13InviteLinkGroupType\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\n\n\x06PARENT\x10\x01\x12\x07\n\x03SUB\x10\x02\x12\x0f\n\x0b\x44\x45\x46\x41ULT_SUB\x10\x03\"\xa4\x01\n\x08\x46ontType\x12\n\n\x06SYSTEM\x10\x00\x12\x0f\n\x0bSYSTEM_TEXT\x10\x01\x12\r\n\tFB_SCRIPT\x10\x02\x12\x0f\n\x0bSYSTEM_BOLD\x10\x06\x12\x19\n\x15MORNINGBREEZE_REGULAR\x10\x07\x12\x15\n\x11\x43\x41LISTOGA_REGULAR\x10\x08\x12\x12\n\x0e\x45XO2_EXTRABOLD\x10\t\x12\x15\n\x11\x43OURIERPRIME_BOLD\x10\n\"\xab\x01\n\x14\x45ventResponseMessage\x12\x42\n\x08response\x18\x01 \x01(\x0e\x32\x30.defproto.EventResponseMessage.EventResponseType\x12\x13\n\x0btimestampMs\x18\x02 \x01(\x03\":\n\x11\x45ventResponseType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05GOING\x10\x01\x12\r\n\tNOT_GOING\x10\x02\"\xc3\x01\n\x0c\x45ventMessage\x12*\n\x0b\x63ontextInfo\x18\x01 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x12\n\nisCanceled\x18\x02 \x01(\x08\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12+\n\x08location\x18\x05 \x01(\x0b\x32\x19.defproto.LocationMessage\x12\x10\n\x08joinLink\x18\x06 \x01(\t\x12\x11\n\tstartTime\x18\x07 \x01(\x03\"g\n\x12\x45ncReactionMessage\x12.\n\x10targetMessageKey\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x12\n\nencPayload\x18\x02 \x01(\x0c\x12\r\n\x05\x65ncIv\x18\x03 \x01(\x0c\"s\n\x17\x45ncEventResponseMessage\x12\x35\n\x17\x65ventCreationMessageKey\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x12\n\nencPayload\x18\x02 \x01(\x0c\x12\r\n\x05\x65ncIv\x18\x03 \x01(\x0c\"f\n\x11\x45ncCommentMessage\x12.\n\x10targetMessageKey\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x12\n\nencPayload\x18\x02 \x01(\x0c\x12\r\n\x05\x65ncIv\x18\x03 \x01(\x0c\"\xd1\x03\n\x0f\x44ocumentMessage\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08mimetype\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x12\n\nfileSha256\x18\x04 \x01(\x0c\x12\x12\n\nfileLength\x18\x05 \x01(\x04\x12\x11\n\tpageCount\x18\x06 \x01(\r\x12\x10\n\x08mediaKey\x18\x07 \x01(\x0c\x12\x10\n\x08\x66ileName\x18\x08 \x01(\t\x12\x15\n\rfileEncSha256\x18\t \x01(\x0c\x12\x12\n\ndirectPath\x18\n \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x0b \x01(\x03\x12\x14\n\x0c\x63ontactVcard\x18\x0c \x01(\x08\x12\x1b\n\x13thumbnailDirectPath\x18\r \x01(\t\x12\x17\n\x0fthumbnailSha256\x18\x0e \x01(\x0c\x12\x1a\n\x12thumbnailEncSha256\x18\x0f \x01(\x0c\x12\x15\n\rjpegThumbnail\x18\x10 \x01(\x0c\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x17\n\x0fthumbnailHeight\x18\x12 \x01(\r\x12\x16\n\x0ethumbnailWidth\x18\x13 \x01(\r\x12\x0f\n\x07\x63\x61ption\x18\x14 \x01(\t\"^\n\x11\x44\x65viceSentMessage\x12\x16\n\x0e\x64\x65stinationJid\x18\x01 \x01(\t\x12\"\n\x07message\x18\x02 \x01(\x0b\x32\x11.defproto.Message\x12\r\n\x05phash\x18\x03 \x01(\t\"A\n\x1c\x44\x65\x63linePaymentRequestMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\"\x83\x01\n\x14\x43ontactsArrayMessage\x12\x13\n\x0b\x64isplayName\x18\x01 \x01(\t\x12*\n\x08\x63ontacts\x18\x02 \x03(\x0b\x32\x18.defproto.ContactMessage\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\"`\n\x0e\x43ontactMessage\x12\x13\n\x0b\x64isplayName\x18\x01 \x01(\t\x12\r\n\x05vcard\x18\x10 \x01(\t\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\"d\n\x0e\x43ommentMessage\x12\"\n\x07message\x18\x01 \x01(\x0b\x32\x11.defproto.Message\x12.\n\x10targetMessageKey\x18\x02 \x01(\x0b\x32\x14.defproto.MessageKey\"\'\n\x04\x43hat\x12\x13\n\x0b\x64isplayName\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\"@\n\x1b\x43\x61ncelPaymentRequestMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\"i\n\x04\x43\x61ll\x12\x0f\n\x07\x63\x61llKey\x18\x01 \x01(\x0c\x12\x18\n\x10\x63onversionSource\x18\x02 \x01(\t\x12\x16\n\x0e\x63onversionData\x18\x03 \x01(\x0c\x12\x1e\n\x16\x63onversionDelaySeconds\x18\x04 \x01(\r\"\x9b\x04\n\x0e\x43\x61llLogMessage\x12\x0f\n\x07isVideo\x18\x01 \x01(\x08\x12\x39\n\x0b\x63\x61llOutcome\x18\x02 \x01(\x0e\x32$.defproto.CallLogMessage.CallOutcome\x12\x14\n\x0c\x64urationSecs\x18\x03 \x01(\x03\x12\x33\n\x08\x63\x61llType\x18\x04 \x01(\x0e\x32!.defproto.CallLogMessage.CallType\x12>\n\x0cparticipants\x18\x05 \x03(\x0b\x32(.defproto.CallLogMessage.CallParticipant\x1aY\n\x0f\x43\x61llParticipant\x12\x0b\n\x03jid\x18\x01 \x01(\t\x12\x39\n\x0b\x63\x61llOutcome\x18\x02 \x01(\x0e\x32$.defproto.CallLogMessage.CallOutcome\";\n\x08\x43\x61llType\x12\x0b\n\x07REGULAR\x10\x00\x12\x12\n\x0eSCHEDULED_CALL\x10\x01\x12\x0e\n\nVOICE_CHAT\x10\x02\"\x99\x01\n\x0b\x43\x61llOutcome\x12\r\n\tCONNECTED\x10\x00\x12\n\n\x06MISSED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0c\n\x08REJECTED\x10\x03\x12\x16\n\x12\x41\x43\x43\x45PTED_ELSEWHERE\x10\x04\x12\x0b\n\x07ONGOING\x10\x05\x12\x13\n\x0fSILENCED_BY_DND\x10\x06\x12\x1b\n\x17SILENCED_UNKNOWN_CALLER\x10\x07\"\xe5\x01\n\x16\x42uttonsResponseMessage\x12\x18\n\x10selectedButtonId\x18\x01 \x01(\t\x12*\n\x0b\x63ontextInfo\x18\x03 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x33\n\x04type\x18\x04 \x01(\x0e\x32%.defproto.ButtonsResponseMessage.Type\x12\x1d\n\x13selectedDisplayText\x18\x02 \x01(\tH\x00\"%\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x10\n\x0c\x44ISPLAY_TEXT\x10\x01\x42\n\n\x08response\"\xfc\x06\n\x0e\x42uttonsMessage\x12\x13\n\x0b\x63ontentText\x18\x06 \x01(\t\x12\x12\n\nfooterText\x18\x07 \x01(\t\x12*\n\x0b\x63ontextInfo\x18\x08 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x30\n\x07\x62uttons\x18\t \x03(\x0b\x32\x1f.defproto.ButtonsMessage.Button\x12\x37\n\nheaderType\x18\n \x01(\x0e\x32#.defproto.ButtonsMessage.HeaderType\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x12\x34\n\x0f\x64ocumentMessage\x18\x02 \x01(\x0b\x32\x19.defproto.DocumentMessageH\x00\x12.\n\x0cimageMessage\x18\x03 \x01(\x0b\x32\x16.defproto.ImageMessageH\x00\x12.\n\x0cvideoMessage\x18\x04 \x01(\x0b\x32\x16.defproto.VideoMessageH\x00\x12\x34\n\x0flocationMessage\x18\x05 \x01(\x0b\x32\x19.defproto.LocationMessageH\x00\x1a\xe1\x02\n\x06\x42utton\x12\x10\n\x08\x62uttonId\x18\x01 \x01(\t\x12>\n\nbuttonText\x18\x02 \x01(\x0b\x32*.defproto.ButtonsMessage.Button.ButtonText\x12\x32\n\x04type\x18\x03 \x01(\x0e\x32$.defproto.ButtonsMessage.Button.Type\x12\x46\n\x0enativeFlowInfo\x18\x04 \x01(\x0b\x32..defproto.ButtonsMessage.Button.NativeFlowInfo\x1a\x32\n\x0eNativeFlowInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nparamsJson\x18\x02 \x01(\t\x1a!\n\nButtonText\x12\x13\n\x0b\x64isplayText\x18\x01 \x01(\t\"2\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08RESPONSE\x10\x01\x12\x0f\n\x0bNATIVE_FLOW\x10\x02\"`\n\nHeaderType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x45MPTY\x10\x01\x12\x08\n\x04TEXT\x10\x02\x12\x0c\n\x08\x44OCUMENT\x10\x03\x12\t\n\x05IMAGE\x10\x04\x12\t\n\x05VIDEO\x10\x05\x12\x0c\n\x08LOCATION\x10\x06\x42\x08\n\x06header\"\xd7\x08\n\x12\x42otFeedbackMessage\x12(\n\nmessageKey\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12:\n\x04kind\x18\x02 \x01(\x0e\x32,.defproto.BotFeedbackMessage.BotFeedbackKind\x12\x0c\n\x04text\x18\x03 \x01(\t\x12\x14\n\x0ckindNegative\x18\x04 \x01(\x04\x12\x14\n\x0ckindPositive\x18\x05 \x01(\x04\"M\n\x1f\x42otFeedbackKindMultiplePositive\x12*\n&BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC\x10\x01\"\xcb\x03\n\x1f\x42otFeedbackKindMultipleNegative\x12*\n&BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC\x10\x01\x12*\n&BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL\x10\x02\x12.\n*BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING\x10\x04\x12+\n\'BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE\x10\x08\x12\'\n#BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE\x10\x10\x12(\n$BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER\x10 \x12*\n&BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED\x10@\x12:\n5BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING\x10\x80\x01\x12\x38\n3BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT\x10\x80\x02\"\x83\x03\n\x0f\x42otFeedbackKind\x12\x19\n\x15\x42OT_FEEDBACK_POSITIVE\x10\x00\x12!\n\x1d\x42OT_FEEDBACK_NEGATIVE_GENERIC\x10\x01\x12!\n\x1d\x42OT_FEEDBACK_NEGATIVE_HELPFUL\x10\x02\x12%\n!BOT_FEEDBACK_NEGATIVE_INTERESTING\x10\x03\x12\"\n\x1e\x42OT_FEEDBACK_NEGATIVE_ACCURATE\x10\x04\x12\x1e\n\x1a\x42OT_FEEDBACK_NEGATIVE_SAFE\x10\x05\x12\x1f\n\x1b\x42OT_FEEDBACK_NEGATIVE_OTHER\x10\x06\x12!\n\x1d\x42OT_FEEDBACK_NEGATIVE_REFUSED\x10\x07\x12\x30\n,BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING\x10\x08\x12.\n*BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT\x10\t\"\xaa\x01\n\x0c\x42\x43\x61llMessage\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x33\n\tmediaType\x18\x02 \x01(\x0e\x32 .defproto.BCallMessage.MediaType\x12\x11\n\tmasterKey\x18\x03 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x04 \x01(\t\".\n\tMediaType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x41UDIO\x10\x01\x12\t\n\x05VIDEO\x10\x02\"\xcd\x02\n\x0c\x41udioMessage\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08mimetype\x18\x02 \x01(\t\x12\x12\n\nfileSha256\x18\x03 \x01(\x0c\x12\x12\n\nfileLength\x18\x04 \x01(\x04\x12\x0f\n\x07seconds\x18\x05 \x01(\r\x12\x0b\n\x03ptt\x18\x06 \x01(\x08\x12\x10\n\x08mediaKey\x18\x07 \x01(\x0c\x12\x15\n\rfileEncSha256\x18\x08 \x01(\x0c\x12\x12\n\ndirectPath\x18\t \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\n \x01(\x03\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x18\n\x10streamingSidecar\x18\x12 \x01(\x0c\x12\x10\n\x08waveform\x18\x13 \x01(\x0c\x12\x16\n\x0e\x62\x61\x63kgroundArgb\x18\x14 \x01(\x07\x12\x10\n\x08viewOnce\x18\x15 \x01(\x08\"m\n\x0f\x41ppStateSyncKey\x12*\n\x05keyId\x18\x01 \x01(\x0b\x32\x1b.defproto.AppStateSyncKeyId\x12.\n\x07keyData\x18\x02 \x01(\x0b\x32\x1d.defproto.AppStateSyncKeyData\"?\n\x14\x41ppStateSyncKeyShare\x12\'\n\x04keys\x18\x01 \x03(\x0b\x32\x19.defproto.AppStateSyncKey\"E\n\x16\x41ppStateSyncKeyRequest\x12+\n\x06keyIds\x18\x01 \x03(\x0b\x32\x1b.defproto.AppStateSyncKeyId\"\"\n\x11\x41ppStateSyncKeyId\x12\r\n\x05keyId\x18\x01 \x01(\x0c\"\\\n\x1a\x41ppStateSyncKeyFingerprint\x12\r\n\x05rawId\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrentIndex\x18\x02 \x01(\r\x12\x19\n\rdeviceIndexes\x18\x03 \x03(\rB\x02\x10\x01\"t\n\x13\x41ppStateSyncKeyData\x12\x0f\n\x07keyData\x18\x01 \x01(\x0c\x12\x39\n\x0b\x66ingerprint\x18\x02 \x01(\x0b\x32$.defproto.AppStateSyncKeyFingerprint\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"P\n\"AppStateFatalExceptionNotification\x12\x17\n\x0f\x63ollectionNames\x18\x01 \x03(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"K\n\x08Location\x12\x17\n\x0f\x64\x65greesLatitude\x18\x01 \x01(\x01\x12\x18\n\x10\x64\x65greesLongitude\x18\x02 \x01(\x01\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xd3\x01\n\x15InteractiveAnnotation\x12(\n\x0fpolygonVertices\x18\x01 \x03(\x0b\x32\x0f.defproto.Point\x12\x1e\n\x16shouldSkipConfirmation\x18\x04 \x01(\x08\x12&\n\x08location\x18\x02 \x01(\x0b\x32\x12.defproto.LocationH\x00\x12>\n\nnewsletter\x18\x03 \x01(\x0b\x32(.defproto.ForwardedNewsletterMessageInfoH\x00\x42\x08\n\x06\x61\x63tion\"\x99\x05\n\x16HydratedTemplateButton\x12\r\n\x05index\x18\x04 \x01(\r\x12U\n\x10quickReplyButton\x18\x01 \x01(\x0b\x32\x39.defproto.HydratedTemplateButton.HydratedQuickReplyButtonH\x00\x12G\n\turlButton\x18\x02 \x01(\x0b\x32\x32.defproto.HydratedTemplateButton.HydratedURLButtonH\x00\x12I\n\ncallButton\x18\x03 \x01(\x0b\x32\x33.defproto.HydratedTemplateButton.HydratedCallButtonH\x00\x1a\xf5\x01\n\x11HydratedURLButton\x12\x13\n\x0b\x64isplayText\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x19\n\x11\x63onsentedUsersUrl\x18\x03 \x01(\t\x12g\n\x13webviewPresentation\x18\x04 \x01(\x0e\x32J.defproto.HydratedTemplateButton.HydratedURLButton.WebviewPresentationType\":\n\x17WebviewPresentationType\x12\x08\n\x04\x46ULL\x10\x01\x12\x08\n\x04TALL\x10\x02\x12\x0b\n\x07\x43OMPACT\x10\x03\x1a;\n\x18HydratedQuickReplyButton\x12\x13\n\x0b\x64isplayText\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\t\x1a>\n\x12HydratedCallButton\x12\x13\n\x0b\x64isplayText\x18\x01 \x01(\t\x12\x13\n\x0bphoneNumber\x18\x02 \x01(\tB\x10\n\x0ehydratedButton\"6\n\x0cGroupMention\x12\x10\n\x08groupJid\x18\x01 \x01(\t\x12\x14\n\x0cgroupSubject\x18\x02 \x01(\t\"\xd2\x02\n\x10\x44isappearingMode\x12\x37\n\tinitiator\x18\x01 \x01(\x0e\x32$.defproto.DisappearingMode.Initiator\x12\x33\n\x07trigger\x18\x02 \x01(\x0e\x32\".defproto.DisappearingMode.Trigger\x12\x1a\n\x12initiatorDeviceJid\x18\x03 \x01(\t\x12\x15\n\rinitiatedByMe\x18\x04 \x01(\x08\"N\n\x07Trigger\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x10\n\x0c\x43HAT_SETTING\x10\x01\x12\x13\n\x0f\x41\x43\x43OUNT_SETTING\x10\x02\x12\x0f\n\x0b\x42ULK_CHANGE\x10\x03\"M\n\tInitiator\x12\x13\n\x0f\x43HANGED_IN_CHAT\x10\x00\x12\x13\n\x0fINITIATED_BY_ME\x10\x01\x12\x16\n\x12INITIATED_BY_OTHER\x10\x02\"\xab\x02\n\x12\x44\x65viceListMetadata\x12\x15\n\rsenderKeyHash\x18\x01 \x01(\x0c\x12\x17\n\x0fsenderTimestamp\x18\x02 \x01(\x04\x12\x1c\n\x10senderKeyIndexes\x18\x03 \x03(\rB\x02\x10\x01\x12\x36\n\x11senderAccountType\x18\x04 \x01(\x0e\x32\x1b.defproto.ADVEncryptionType\x12\x38\n\x13receiverAccountType\x18\x05 \x01(\x0e\x32\x1b.defproto.ADVEncryptionType\x12\x18\n\x10recipientKeyHash\x18\x08 \x01(\x0c\x12\x1a\n\x12recipientTimestamp\x18\t \x01(\x04\x12\x1f\n\x13recipientKeyIndexes\x18\n \x03(\rB\x02\x10\x01\"\xb5\x0f\n\x0b\x43ontextInfo\x12\x10\n\x08stanzaId\x18\x01 \x01(\t\x12\x13\n\x0bparticipant\x18\x02 \x01(\t\x12(\n\rquotedMessage\x18\x03 \x01(\x0b\x32\x11.defproto.Message\x12\x11\n\tremoteJid\x18\x04 \x01(\t\x12\x14\n\x0cmentionedJid\x18\x0f \x03(\t\x12\x18\n\x10\x63onversionSource\x18\x12 \x01(\t\x12\x16\n\x0e\x63onversionData\x18\x13 \x01(\x0c\x12\x1e\n\x16\x63onversionDelaySeconds\x18\x14 \x01(\r\x12\x17\n\x0f\x66orwardingScore\x18\x15 \x01(\r\x12\x13\n\x0bisForwarded\x18\x16 \x01(\x08\x12\x33\n\x08quotedAd\x18\x17 \x01(\x0b\x32!.defproto.ContextInfo.AdReplyInfo\x12,\n\x0eplaceholderKey\x18\x18 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x12\n\nexpiration\x18\x19 \x01(\r\x12!\n\x19\x65phemeralSettingTimestamp\x18\x1a \x01(\x03\x12\x1d\n\x15\x65phemeralSharedSecret\x18\x1b \x01(\x0c\x12\x42\n\x0f\x65xternalAdReply\x18\x1c \x01(\x0b\x32).defproto.ContextInfo.ExternalAdReplyInfo\x12\"\n\x1a\x65ntryPointConversionSource\x18\x1d \x01(\t\x12\x1f\n\x17\x65ntryPointConversionApp\x18\x1e \x01(\t\x12(\n entryPointConversionDelaySeconds\x18\x1f \x01(\r\x12\x34\n\x10\x64isappearingMode\x18 \x01(\x0b\x32\x1a.defproto.DisappearingMode\x12(\n\nactionLink\x18! \x01(\x0b\x32\x14.defproto.ActionLink\x12\x14\n\x0cgroupSubject\x18\" \x01(\t\x12\x16\n\x0eparentGroupJid\x18# \x01(\t\x12\x17\n\x0ftrustBannerType\x18% \x01(\t\x12\x19\n\x11trustBannerAction\x18& \x01(\r\x12\x11\n\tisSampled\x18\' \x01(\x08\x12-\n\rgroupMentions\x18( \x03(\x0b\x32\x16.defproto.GroupMention\x12*\n\x03utm\x18) \x01(\x0b\x32\x1d.defproto.ContextInfo.UTMInfo\x12P\n\x1e\x66orwardedNewsletterMessageInfo\x18+ \x01(\x0b\x32(.defproto.ForwardedNewsletterMessageInfo\x12T\n\x1a\x62usinessMessageForwardInfo\x18, \x01(\x0b\x32\x30.defproto.ContextInfo.BusinessMessageForwardInfo\x12\x1b\n\x13smbClientCampaignId\x18- \x01(\t\x12\x1b\n\x13smbServerCampaignId\x18. \x01(\t\x12\x44\n\x12\x64\x61taSharingContext\x18/ \x01(\x0b\x32(.defproto.ContextInfo.DataSharingContext\x1a\x31\n\x07UTMInfo\x12\x11\n\tutmSource\x18\x01 \x01(\t\x12\x13\n\x0butmCampaign\x18\x02 \x01(\t\x1a\x8f\x03\n\x13\x45xternalAdReplyInfo\x12\r\n\x05title\x18\x01 \x01(\t\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\x12\x46\n\tmediaType\x18\x03 \x01(\x0e\x32\x33.defproto.ContextInfo.ExternalAdReplyInfo.MediaType\x12\x14\n\x0cthumbnailUrl\x18\x04 \x01(\t\x12\x10\n\x08mediaUrl\x18\x05 \x01(\t\x12\x11\n\tthumbnail\x18\x06 \x01(\x0c\x12\x12\n\nsourceType\x18\x07 \x01(\t\x12\x10\n\x08sourceId\x18\x08 \x01(\t\x12\x11\n\tsourceUrl\x18\t \x01(\t\x12\x19\n\x11\x63ontainsAutoReply\x18\n \x01(\x08\x12\x1d\n\x15renderLargerThumbnail\x18\x0b \x01(\x08\x12\x19\n\x11showAdAttribution\x18\x0c \x01(\x08\x12\x10\n\x08\x63twaClid\x18\r \x01(\t\x12\x0b\n\x03ref\x18\x0e \x01(\t\"+\n\tMediaType\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05IMAGE\x10\x01\x12\t\n\x05VIDEO\x10\x02\x1a.\n\x12\x44\x61taSharingContext\x12\x18\n\x10showMmDisclosure\x18\x01 \x01(\x08\x1a\x36\n\x1a\x42usinessMessageForwardInfo\x12\x18\n\x10\x62usinessOwnerJid\x18\x01 \x01(\t\x1a\xba\x01\n\x0b\x41\x64ReplyInfo\x12\x16\n\x0e\x61\x64vertiserName\x18\x01 \x01(\t\x12>\n\tmediaType\x18\x02 \x01(\x0e\x32+.defproto.ContextInfo.AdReplyInfo.MediaType\x12\x15\n\rjpegThumbnail\x18\x10 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x11 \x01(\t\"+\n\tMediaType\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05IMAGE\x10\x01\x12\t\n\x05VIDEO\x10\x02\"\x89\x02\n\x1e\x46orwardedNewsletterMessageInfo\x12\x15\n\rnewsletterJid\x18\x01 \x01(\t\x12\x17\n\x0fserverMessageId\x18\x02 \x01(\x05\x12\x16\n\x0enewsletterName\x18\x03 \x01(\t\x12I\n\x0b\x63ontentType\x18\x04 \x01(\x0e\x32\x34.defproto.ForwardedNewsletterMessageInfo.ContentType\x12\x19\n\x11\x61\x63\x63\x65ssibilityText\x18\x05 \x01(\t\"9\n\x0b\x43ontentType\x12\n\n\x06UPDATE\x10\x01\x12\x0f\n\x0bUPDATE_CARD\x10\x02\x12\r\n\tLINK_CARD\x10\x03\"S\n\x1a\x42otSuggestedPromptMetadata\x12\x18\n\x10suggestedPrompts\x18\x01 \x03(\t\x12\x1b\n\x13selectedPromptIndex\x18\x02 \x01(\r\"\xc2\x02\n\x11\x42otPluginMetadata\x12<\n\x08provider\x18\x01 \x01(\x0e\x32*.defproto.BotPluginMetadata.SearchProvider\x12:\n\npluginType\x18\x02 \x01(\x0e\x32&.defproto.BotPluginMetadata.PluginType\x12\x17\n\x0fthumbnailCdnUrl\x18\x03 \x01(\t\x12\x1a\n\x12profilePhotoCdnUrl\x18\x04 \x01(\t\x12\x19\n\x11searchProviderUrl\x18\x05 \x01(\t\x12\x16\n\x0ereferenceIndex\x18\x06 \x01(\r\"&\n\x0eSearchProvider\x12\x08\n\x04\x42ING\x10\x01\x12\n\n\x06GOOGLE\x10\x02\"#\n\nPluginType\x12\t\n\x05REELS\x10\x01\x12\n\n\x06SEARCH\x10\x02\"\xd1\x01\n\x0b\x42otMetadata\x12\x33\n\x0e\x61vatarMetadata\x18\x01 \x01(\x0b\x32\x1b.defproto.BotAvatarMetadata\x12\x11\n\tpersonaId\x18\x02 \x01(\t\x12\x33\n\x0epluginMetadata\x18\x03 \x01(\x0b\x32\x1b.defproto.BotPluginMetadata\x12\x45\n\x17suggestedPromptMetadata\x18\x04 \x01(\x0b\x32$.defproto.BotSuggestedPromptMetadata\"s\n\x11\x42otAvatarMetadata\x12\x11\n\tsentiment\x18\x01 \x01(\r\x12\x15\n\rbehaviorGraph\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\r\x12\x11\n\tintensity\x18\x04 \x01(\r\x12\x11\n\twordCount\x18\x05 \x01(\r\".\n\nActionLink\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0b\x62uttonTitle\x18\x02 \x01(\t\"\xaf\x04\n\x0eTemplateButton\x12\r\n\x05index\x18\x04 \x01(\r\x12\x45\n\x10quickReplyButton\x18\x01 \x01(\x0b\x32).defproto.TemplateButton.QuickReplyButtonH\x00\x12\x37\n\turlButton\x18\x02 \x01(\x0b\x32\".defproto.TemplateButton.URLButtonH\x00\x12\x39\n\ncallButton\x18\x03 \x01(\x0b\x32#.defproto.TemplateButton.CallButtonH\x00\x1as\n\tURLButton\x12\x36\n\x0b\x64isplayText\x18\x01 \x01(\x0b\x32!.defproto.HighlyStructuredMessage\x12.\n\x03url\x18\x02 \x01(\x0b\x32!.defproto.HighlyStructuredMessage\x1aV\n\x10QuickReplyButton\x12\x36\n\x0b\x64isplayText\x18\x01 \x01(\x0b\x32!.defproto.HighlyStructuredMessage\x12\n\n\x02id\x18\x02 \x01(\t\x1a|\n\nCallButton\x12\x36\n\x0b\x64isplayText\x18\x01 \x01(\x0b\x32!.defproto.HighlyStructuredMessage\x12\x36\n\x0bphoneNumber\x18\x02 \x01(\x0b\x32!.defproto.HighlyStructuredMessageB\x08\n\x06\x62utton\"G\n\x05Point\x12\x13\n\x0bxDeprecated\x18\x01 \x01(\x05\x12\x13\n\x0byDeprecated\x18\x02 \x01(\x05\x12\t\n\x01x\x18\x03 \x01(\x01\x12\t\n\x01y\x18\x04 \x01(\x01\"\xa9\x03\n\x11PaymentBackground\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nfileLength\x18\x02 \x01(\x04\x12\r\n\x05width\x18\x03 \x01(\r\x12\x0e\n\x06height\x18\x04 \x01(\r\x12\x10\n\x08mimetype\x18\x05 \x01(\t\x12\x17\n\x0fplaceholderArgb\x18\x06 \x01(\x07\x12\x10\n\x08textArgb\x18\x07 \x01(\x07\x12\x13\n\x0bsubtextArgb\x18\x08 \x01(\x07\x12\x38\n\tmediaData\x18\t \x01(\x0b\x32%.defproto.PaymentBackground.MediaData\x12.\n\x04type\x18\n \x01(\x0e\x32 .defproto.PaymentBackground.Type\x1aw\n\tMediaData\x12\x10\n\x08mediaKey\x18\x01 \x01(\x0c\x12\x19\n\x11mediaKeyTimestamp\x18\x02 \x01(\x03\x12\x12\n\nfileSha256\x18\x03 \x01(\x0c\x12\x15\n\rfileEncSha256\x18\x04 \x01(\x0c\x12\x12\n\ndirectPath\x18\x05 \x01(\t\" \n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\"<\n\x05Money\x12\r\n\x05value\x18\x01 \x01(\x03\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x14\n\x0c\x63urrencyCode\x18\x03 \x01(\t\"\xe6\x1d\n\x07Message\x12\x14\n\x0c\x63onversation\x18\x01 \x01(\t\x12L\n\x1csenderKeyDistributionMessage\x18\x02 \x01(\x0b\x32&.defproto.SenderKeyDistributionMessage\x12,\n\x0cimageMessage\x18\x03 \x01(\x0b\x32\x16.defproto.ImageMessage\x12\x30\n\x0e\x63ontactMessage\x18\x04 \x01(\x0b\x32\x18.defproto.ContactMessage\x12\x32\n\x0flocationMessage\x18\x05 \x01(\x0b\x32\x19.defproto.LocationMessage\x12:\n\x13\x65xtendedTextMessage\x18\x06 \x01(\x0b\x32\x1d.defproto.ExtendedTextMessage\x12\x32\n\x0f\x64ocumentMessage\x18\x07 \x01(\x0b\x32\x19.defproto.DocumentMessage\x12,\n\x0c\x61udioMessage\x18\x08 \x01(\x0b\x32\x16.defproto.AudioMessage\x12,\n\x0cvideoMessage\x18\t \x01(\x0b\x32\x16.defproto.VideoMessage\x12\x1c\n\x04\x63\x61ll\x18\n \x01(\x0b\x32\x0e.defproto.Call\x12\x1c\n\x04\x63hat\x18\x0b \x01(\x0b\x32\x0e.defproto.Chat\x12\x32\n\x0fprotocolMessage\x18\x0c \x01(\x0b\x32\x19.defproto.ProtocolMessage\x12<\n\x14\x63ontactsArrayMessage\x18\r \x01(\x0b\x32\x1e.defproto.ContactsArrayMessage\x12\x42\n\x17highlyStructuredMessage\x18\x0e \x01(\x0b\x32!.defproto.HighlyStructuredMessage\x12Z\n*fastRatchetKeySenderKeyDistributionMessage\x18\x0f \x01(\x0b\x32&.defproto.SenderKeyDistributionMessage\x12\x38\n\x12sendPaymentMessage\x18\x10 \x01(\x0b\x32\x1c.defproto.SendPaymentMessage\x12:\n\x13liveLocationMessage\x18\x12 \x01(\x0b\x32\x1d.defproto.LiveLocationMessage\x12>\n\x15requestPaymentMessage\x18\x16 \x01(\x0b\x32\x1f.defproto.RequestPaymentMessage\x12L\n\x1c\x64\x65\x63linePaymentRequestMessage\x18\x17 \x01(\x0b\x32&.defproto.DeclinePaymentRequestMessage\x12J\n\x1b\x63\x61ncelPaymentRequestMessage\x18\x18 \x01(\x0b\x32%.defproto.CancelPaymentRequestMessage\x12\x32\n\x0ftemplateMessage\x18\x19 \x01(\x0b\x32\x19.defproto.TemplateMessage\x12\x30\n\x0estickerMessage\x18\x1a \x01(\x0b\x32\x18.defproto.StickerMessage\x12\x38\n\x12groupInviteMessage\x18\x1c \x01(\x0b\x32\x1c.defproto.GroupInviteMessage\x12H\n\x1atemplateButtonReplyMessage\x18\x1d \x01(\x0b\x32$.defproto.TemplateButtonReplyMessage\x12\x30\n\x0eproductMessage\x18\x1e \x01(\x0b\x32\x18.defproto.ProductMessage\x12\x36\n\x11\x64\x65viceSentMessage\x18\x1f \x01(\x0b\x32\x1b.defproto.DeviceSentMessage\x12\x38\n\x12messageContextInfo\x18# \x01(\x0b\x32\x1c.defproto.MessageContextInfo\x12*\n\x0blistMessage\x18$ \x01(\x0b\x32\x15.defproto.ListMessage\x12\x35\n\x0fviewOnceMessage\x18% \x01(\x0b\x32\x1c.defproto.FutureProofMessage\x12,\n\x0corderMessage\x18& \x01(\x0b\x32\x16.defproto.OrderMessage\x12:\n\x13listResponseMessage\x18\' \x01(\x0b\x32\x1d.defproto.ListResponseMessage\x12\x36\n\x10\x65phemeralMessage\x18( \x01(\x0b\x32\x1c.defproto.FutureProofMessage\x12\x30\n\x0einvoiceMessage\x18) \x01(\x0b\x32\x18.defproto.InvoiceMessage\x12\x30\n\x0e\x62uttonsMessage\x18* \x01(\x0b\x32\x18.defproto.ButtonsMessage\x12@\n\x16\x62uttonsResponseMessage\x18+ \x01(\x0b\x32 .defproto.ButtonsResponseMessage\x12<\n\x14paymentInviteMessage\x18, \x01(\x0b\x32\x1e.defproto.PaymentInviteMessage\x12\x38\n\x12interactiveMessage\x18- \x01(\x0b\x32\x1c.defproto.InteractiveMessage\x12\x32\n\x0freactionMessage\x18. \x01(\x0b\x32\x19.defproto.ReactionMessage\x12>\n\x15stickerSyncRmrMessage\x18/ \x01(\x0b\x32\x1f.defproto.StickerSyncRMRMessage\x12H\n\x1ainteractiveResponseMessage\x18\x30 \x01(\x0b\x32$.defproto.InteractiveResponseMessage\x12:\n\x13pollCreationMessage\x18\x31 \x01(\x0b\x32\x1d.defproto.PollCreationMessage\x12\x36\n\x11pollUpdateMessage\x18\x32 \x01(\x0b\x32\x1b.defproto.PollUpdateMessage\x12\x36\n\x11keepInChatMessage\x18\x33 \x01(\x0b\x32\x1b.defproto.KeepInChatMessage\x12@\n\x1a\x64ocumentWithCaptionMessage\x18\x35 \x01(\x0b\x32\x1c.defproto.FutureProofMessage\x12\x46\n\x19requestPhoneNumberMessage\x18\x36 \x01(\x0b\x32#.defproto.RequestPhoneNumberMessage\x12\x37\n\x11viewOnceMessageV2\x18\x37 \x01(\x0b\x32\x1c.defproto.FutureProofMessage\x12\x38\n\x12\x65ncReactionMessage\x18\x38 \x01(\x0b\x32\x1c.defproto.EncReactionMessage\x12\x33\n\reditedMessage\x18: \x01(\x0b\x32\x1c.defproto.FutureProofMessage\x12@\n\x1aviewOnceMessageV2Extension\x18; \x01(\x0b\x32\x1c.defproto.FutureProofMessage\x12<\n\x15pollCreationMessageV2\x18< \x01(\x0b\x32\x1d.defproto.PollCreationMessage\x12L\n\x1cscheduledCallCreationMessage\x18= \x01(\x0b\x32&.defproto.ScheduledCallCreationMessage\x12;\n\x15groupMentionedMessage\x18> \x01(\x0b\x32\x1c.defproto.FutureProofMessage\x12\x34\n\x10pinInChatMessage\x18? \x01(\x0b\x32\x1a.defproto.PinInChatMessage\x12<\n\x15pollCreationMessageV3\x18@ \x01(\x0b\x32\x1d.defproto.PollCreationMessage\x12\x44\n\x18scheduledCallEditMessage\x18\x41 \x01(\x0b\x32\".defproto.ScheduledCallEditMessage\x12*\n\nptvMessage\x18\x42 \x01(\x0b\x32\x16.defproto.VideoMessage\x12\x36\n\x10\x62otInvokeMessage\x18\x43 \x01(\x0b\x32\x1c.defproto.FutureProofMessage\x12\x31\n\x0f\x63\x61llLogMesssage\x18\x45 \x01(\x0b\x32\x18.defproto.CallLogMessage\x12<\n\x14messageHistoryBundle\x18\x46 \x01(\x0b\x32\x1e.defproto.MessageHistoryBundle\x12\x36\n\x11\x65ncCommentMessage\x18G \x01(\x0b\x32\x1b.defproto.EncCommentMessage\x12,\n\x0c\x62\x63\x61llMessage\x18H \x01(\x0b\x32\x16.defproto.BCallMessage\x12:\n\x14lottieStickerMessage\x18J \x01(\x0b\x32\x1c.defproto.FutureProofMessage\x12,\n\x0c\x65ventMessage\x18K \x01(\x0b\x32\x16.defproto.EventMessage\x12\x42\n\x17\x65ncEventResponseMessage\x18L \x01(\x0b\x32!.defproto.EncEventResponseMessage\x12\x30\n\x0e\x63ommentMessage\x18M \x01(\x0b\x32\x18.defproto.CommentMessage\x12L\n\x1cnewsletterAdminInviteMessage\x18N \x01(\x0b\x32&.defproto.NewsletterAdminInviteMessage\"J\n\x14MessageSecretMessage\x12\x0f\n\x07version\x18\x01 \x01(\x0f\x12\r\n\x05\x65ncIv\x18\x02 \x01(\x0c\x12\x12\n\nencPayload\x18\x03 \x01(\x0c\"\xa7\x02\n\x12MessageContextInfo\x12\x38\n\x12\x64\x65viceListMetadata\x18\x01 \x01(\x0b\x32\x1c.defproto.DeviceListMetadata\x12!\n\x19\x64\x65viceListMetadataVersion\x18\x02 \x01(\x05\x12\x15\n\rmessageSecret\x18\x03 \x01(\x0c\x12\x14\n\x0cpaddingBytes\x18\x04 \x01(\x0c\x12\"\n\x1amessageAddOnDurationInSecs\x18\x05 \x01(\r\x12\x18\n\x10\x62otMessageSecret\x18\x06 \x01(\x0c\x12*\n\x0b\x62otMetadata\x18\x07 \x01(\x0b\x32\x15.defproto.BotMetadata\x12\x1d\n\x15reportingTokenVersion\x18\x08 \x01(\x05\"\xb9\x05\n\x0cVideoMessage\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08mimetype\x18\x02 \x01(\t\x12\x12\n\nfileSha256\x18\x03 \x01(\x0c\x12\x12\n\nfileLength\x18\x04 \x01(\x04\x12\x0f\n\x07seconds\x18\x05 \x01(\r\x12\x10\n\x08mediaKey\x18\x06 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x07 \x01(\t\x12\x13\n\x0bgifPlayback\x18\x08 \x01(\x08\x12\x0e\n\x06height\x18\t \x01(\r\x12\r\n\x05width\x18\n \x01(\r\x12\x15\n\rfileEncSha256\x18\x0b \x01(\x0c\x12?\n\x16interactiveAnnotations\x18\x0c \x03(\x0b\x32\x1f.defproto.InteractiveAnnotation\x12\x12\n\ndirectPath\x18\r \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x0e \x01(\x03\x12\x15\n\rjpegThumbnail\x18\x10 \x01(\x0c\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x18\n\x10streamingSidecar\x18\x12 \x01(\x0c\x12:\n\x0egifAttribution\x18\x13 \x01(\x0e\x32\".defproto.VideoMessage.Attribution\x12\x10\n\x08viewOnce\x18\x14 \x01(\x08\x12\x1b\n\x13thumbnailDirectPath\x18\x15 \x01(\t\x12\x17\n\x0fthumbnailSha256\x18\x16 \x01(\x0c\x12\x1a\n\x12thumbnailEncSha256\x18\x17 \x01(\x0c\x12\x11\n\tstaticUrl\x18\x18 \x01(\t\x12\x34\n\x0b\x61nnotations\x18\x19 \x03(\x0b\x32\x1f.defproto.InteractiveAnnotation\"-\n\x0b\x41ttribution\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05GIPHY\x10\x01\x12\t\n\x05TENOR\x10\x02\"\xdf\t\n\x0fTemplateMessage\x12*\n\x0b\x63ontextInfo\x18\x03 \x01(\x0b\x32\x15.defproto.ContextInfo\x12K\n\x10hydratedTemplate\x18\x04 \x01(\x0b\x32\x31.defproto.TemplateMessage.HydratedFourRowTemplate\x12\x12\n\ntemplateId\x18\t \x01(\t\x12\x44\n\x0f\x66ourRowTemplate\x18\x01 \x01(\x0b\x32).defproto.TemplateMessage.FourRowTemplateH\x00\x12T\n\x17hydratedFourRowTemplate\x18\x02 \x01(\x0b\x32\x31.defproto.TemplateMessage.HydratedFourRowTemplateH\x00\x12\x42\n\x1ainteractiveMessageTemplate\x18\x05 \x01(\x0b\x32\x1c.defproto.InteractiveMessageH\x00\x1a\x93\x03\n\x17HydratedFourRowTemplate\x12\x1b\n\x13hydratedContentText\x18\x06 \x01(\t\x12\x1a\n\x12hydratedFooterText\x18\x07 \x01(\t\x12\x39\n\x0fhydratedButtons\x18\x08 \x03(\x0b\x32 .defproto.HydratedTemplateButton\x12\x12\n\ntemplateId\x18\t \x01(\t\x12\x34\n\x0f\x64ocumentMessage\x18\x01 \x01(\x0b\x32\x19.defproto.DocumentMessageH\x00\x12\x1b\n\x11hydratedTitleText\x18\x02 \x01(\tH\x00\x12.\n\x0cimageMessage\x18\x03 \x01(\x0b\x32\x16.defproto.ImageMessageH\x00\x12.\n\x0cvideoMessage\x18\x04 \x01(\x0b\x32\x16.defproto.VideoMessageH\x00\x12\x34\n\x0flocationMessage\x18\x05 \x01(\x0b\x32\x19.defproto.LocationMessageH\x00\x42\x07\n\x05title\x1a\xbe\x03\n\x0f\x46ourRowTemplate\x12\x32\n\x07\x63ontent\x18\x06 \x01(\x0b\x32!.defproto.HighlyStructuredMessage\x12\x31\n\x06\x66ooter\x18\x07 \x01(\x0b\x32!.defproto.HighlyStructuredMessage\x12)\n\x07\x62uttons\x18\x08 \x03(\x0b\x32\x18.defproto.TemplateButton\x12\x34\n\x0f\x64ocumentMessage\x18\x01 \x01(\x0b\x32\x19.defproto.DocumentMessageH\x00\x12\x44\n\x17highlyStructuredMessage\x18\x02 \x01(\x0b\x32!.defproto.HighlyStructuredMessageH\x00\x12.\n\x0cimageMessage\x18\x03 \x01(\x0b\x32\x16.defproto.ImageMessageH\x00\x12.\n\x0cvideoMessage\x18\x04 \x01(\x0b\x32\x16.defproto.VideoMessageH\x00\x12\x34\n\x0flocationMessage\x18\x05 \x01(\x0b\x32\x19.defproto.LocationMessageH\x00\x42\x07\n\x05titleB\x08\n\x06\x66ormat\"\xb3\x01\n\x1aTemplateButtonReplyMessage\x12\x12\n\nselectedId\x18\x01 \x01(\t\x12\x1b\n\x13selectedDisplayText\x18\x02 \x01(\t\x12*\n\x0b\x63ontextInfo\x18\x03 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x15\n\rselectedIndex\x18\x04 \x01(\r\x12!\n\x19selectedCarouselCardIndex\x18\x05 \x01(\r\"V\n\x15StickerSyncRMRMessage\x12\x10\n\x08\x66ilehash\x18\x01 \x03(\t\x12\x11\n\trmrSource\x18\x02 \x01(\t\x12\x18\n\x10requestTimestamp\x18\x03 \x01(\x03\"\xa9\x03\n\x0eStickerMessage\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nfileSha256\x18\x02 \x01(\x0c\x12\x15\n\rfileEncSha256\x18\x03 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x04 \x01(\x0c\x12\x10\n\x08mimetype\x18\x05 \x01(\t\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\r\n\x05width\x18\x07 \x01(\r\x12\x12\n\ndirectPath\x18\x08 \x01(\t\x12\x12\n\nfileLength\x18\t \x01(\x04\x12\x19\n\x11mediaKeyTimestamp\x18\n \x01(\x03\x12\x18\n\x10\x66irstFrameLength\x18\x0b \x01(\r\x12\x19\n\x11\x66irstFrameSidecar\x18\x0c \x01(\x0c\x12\x12\n\nisAnimated\x18\r \x01(\x08\x12\x14\n\x0cpngThumbnail\x18\x10 \x01(\x0c\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x15\n\rstickerSentTs\x18\x12 \x01(\x03\x12\x10\n\x08isAvatar\x18\x13 \x01(\x08\x12\x13\n\x0bisAiSticker\x18\x14 \x01(\x08\x12\x10\n\x08isLottie\x18\x15 \x01(\x08\"\\\n\x1cSenderKeyDistributionMessage\x12\x0f\n\x07groupId\x18\x01 \x01(\t\x12+\n#axolotlSenderKeyDistributionMessage\x18\x02 \x01(\x0c\"\x9e\x01\n\x12SendPaymentMessage\x12&\n\x0bnoteMessage\x18\x02 \x01(\x0b\x32\x11.defproto.Message\x12/\n\x11requestMessageKey\x18\x03 \x01(\x0b\x32\x14.defproto.MessageKey\x12/\n\nbackground\x18\x04 \x01(\x0b\x32\x1b.defproto.PaymentBackground\"\xa1\x01\n\x18ScheduledCallEditMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12=\n\x08\x65\x64itType\x18\x02 \x01(\x0e\x32+.defproto.ScheduledCallEditMessage.EditType\"#\n\x08\x45\x64itType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41NCEL\x10\x01\"\xbd\x01\n\x1cScheduledCallCreationMessage\x12\x1c\n\x14scheduledTimestampMs\x18\x01 \x01(\x03\x12\x41\n\x08\x63\x61llType\x18\x02 \x01(\x0e\x32/.defproto.ScheduledCallCreationMessage.CallType\x12\r\n\x05title\x18\x03 \x01(\t\"-\n\x08\x43\x61llType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05VOICE\x10\x01\x12\t\n\x05VIDEO\x10\x02\"\x9b\x01\n\x1dRequestWelcomeMessageMetadata\x12N\n\x0elocalChatState\x18\x01 \x01(\x0e\x32\x36.defproto.RequestWelcomeMessageMetadata.LocalChatState\"*\n\x0eLocalChatState\x12\t\n\x05\x45MPTY\x10\x00\x12\r\n\tNON_EMPTY\x10\x01\"G\n\x19RequestPhoneNumberMessage\x12*\n\x0b\x63ontextInfo\x18\x01 \x01(\x0b\x32\x15.defproto.ContextInfo\"\xf0\x01\n\x15RequestPaymentMessage\x12&\n\x0bnoteMessage\x18\x04 \x01(\x0b\x32\x11.defproto.Message\x12\x1b\n\x13\x63urrencyCodeIso4217\x18\x01 \x01(\t\x12\x12\n\namount1000\x18\x02 \x01(\x04\x12\x13\n\x0brequestFrom\x18\x03 \x01(\t\x12\x17\n\x0f\x65xpiryTimestamp\x18\x05 \x01(\x03\x12\x1f\n\x06\x61mount\x18\x06 \x01(\x0b\x32\x0f.defproto.Money\x12/\n\nbackground\x18\x07 \x01(\x0b\x32\x1b.defproto.PaymentBackground\"r\n\x0fReactionMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x13\n\x0bgroupingKey\x18\x03 \x01(\t\x12\x19\n\x11senderTimestampMs\x18\x04 \x01(\x03\"\xcc\x0b\n\x0fProtocolMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12,\n\x04type\x18\x02 \x01(\x0e\x32\x1e.defproto.ProtocolMessage.Type\x12\x1b\n\x13\x65phemeralExpiration\x18\x04 \x01(\r\x12!\n\x19\x65phemeralSettingTimestamp\x18\x05 \x01(\x03\x12\x42\n\x17historySyncNotification\x18\x06 \x01(\x0b\x32!.defproto.HistorySyncNotification\x12<\n\x14\x61ppStateSyncKeyShare\x18\x07 \x01(\x0b\x32\x1e.defproto.AppStateSyncKeyShare\x12@\n\x16\x61ppStateSyncKeyRequest\x18\x08 \x01(\x0b\x32 .defproto.AppStateSyncKeyRequest\x12`\n&initialSecurityNotificationSettingSync\x18\t \x01(\x0b\x32\x30.defproto.InitialSecurityNotificationSettingSync\x12X\n\"appStateFatalExceptionNotification\x18\n \x01(\x0b\x32,.defproto.AppStateFatalExceptionNotification\x12\x34\n\x10\x64isappearingMode\x18\x0b \x01(\x0b\x32\x1a.defproto.DisappearingMode\x12(\n\reditedMessage\x18\x0e \x01(\x0b\x32\x11.defproto.Message\x12\x13\n\x0btimestampMs\x18\x0f \x01(\x03\x12R\n\x1fpeerDataOperationRequestMessage\x18\x10 \x01(\x0b\x32).defproto.PeerDataOperationRequestMessage\x12\x62\n\'peerDataOperationRequestResponseMessage\x18\x11 \x01(\x0b\x32\x31.defproto.PeerDataOperationRequestResponseMessage\x12\x38\n\x12\x62otFeedbackMessage\x18\x12 \x01(\x0b\x32\x1c.defproto.BotFeedbackMessage\x12\x12\n\ninvokerJid\x18\x13 \x01(\t\x12N\n\x1drequestWelcomeMessageMetadata\x18\x14 \x01(\x0b\x32\'.defproto.RequestWelcomeMessageMetadata\"\xdc\x03\n\x04Type\x12\n\n\x06REVOKE\x10\x00\x12\x15\n\x11\x45PHEMERAL_SETTING\x10\x03\x12\x1b\n\x17\x45PHEMERAL_SYNC_RESPONSE\x10\x04\x12\x1d\n\x19HISTORY_SYNC_NOTIFICATION\x10\x05\x12\x1c\n\x18\x41PP_STATE_SYNC_KEY_SHARE\x10\x06\x12\x1e\n\x1a\x41PP_STATE_SYNC_KEY_REQUEST\x10\x07\x12\x1f\n\x1bMSG_FANOUT_BACKFILL_REQUEST\x10\x08\x12.\n*INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC\x10\t\x12*\n&APP_STATE_FATAL_EXCEPTION_NOTIFICATION\x10\n\x12\x16\n\x12SHARE_PHONE_NUMBER\x10\x0b\x12\x10\n\x0cMESSAGE_EDIT\x10\x0e\x12\'\n#PEER_DATA_OPERATION_REQUEST_MESSAGE\x10\x10\x12\x30\n,PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE\x10\x11\x12\x1b\n\x17REQUEST_WELCOME_MESSAGE\x10\x12\x12\x18\n\x14\x42OT_FEEDBACK_MESSAGE\x10\x13\"\xe6\x04\n\x0eProductMessage\x12\x39\n\x07product\x18\x01 \x01(\x0b\x32(.defproto.ProductMessage.ProductSnapshot\x12\x18\n\x10\x62usinessOwnerJid\x18\x02 \x01(\t\x12\x39\n\x07\x63\x61talog\x18\x04 \x01(\x0b\x32(.defproto.ProductMessage.CatalogSnapshot\x12\x0c\n\x04\x62ody\x18\x05 \x01(\t\x12\x0e\n\x06\x66ooter\x18\x06 \x01(\t\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\x1a\x94\x02\n\x0fProductSnapshot\x12,\n\x0cproductImage\x18\x01 \x01(\x0b\x32\x16.defproto.ImageMessage\x12\x11\n\tproductId\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0c\x63urrencyCode\x18\x05 \x01(\t\x12\x17\n\x0fpriceAmount1000\x18\x06 \x01(\x03\x12\x12\n\nretailerId\x18\x07 \x01(\t\x12\x0b\n\x03url\x18\x08 \x01(\t\x12\x19\n\x11productImageCount\x18\t \x01(\r\x12\x14\n\x0c\x66irstImageId\x18\x0b \x01(\t\x12\x1b\n\x13salePriceAmount1000\x18\x0c \x01(\x03\x1a\x63\n\x0f\x43\x61talogSnapshot\x12,\n\x0c\x63\x61talogImage\x18\x01 \x01(\x0b\x32\x16.defproto.ImageMessage\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"*\n\x0fPollVoteMessage\x12\x17\n\x0fselectedOptions\x18\x01 \x03(\x0c\"\xc1\x01\n\x11PollUpdateMessage\x12\x34\n\x16pollCreationMessageKey\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12$\n\x04vote\x18\x02 \x01(\x0b\x32\x16.defproto.PollEncValue\x12\x35\n\x08metadata\x18\x03 \x01(\x0b\x32#.defproto.PollUpdateMessageMetadata\x12\x19\n\x11senderTimestampMs\x18\x04 \x01(\x03\"\x1b\n\x19PollUpdateMessageMetadata\"1\n\x0cPollEncValue\x12\x12\n\nencPayload\x18\x01 \x01(\x0c\x12\r\n\x05\x65ncIv\x18\x02 \x01(\x0c\"\xd4\x01\n\x13PollCreationMessage\x12\x0e\n\x06\x65ncKey\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\x07options\x18\x03 \x03(\x0b\x32$.defproto.PollCreationMessage.Option\x12\x1e\n\x16selectableOptionsCount\x18\x04 \x01(\r\x12*\n\x0b\x63ontextInfo\x18\x05 \x01(\x0b\x32\x15.defproto.ContextInfo\x1a\x1c\n\x06Option\x12\x12\n\noptionName\x18\x01 \x01(\t\"\xbd\x01\n\x10PinInChatMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12-\n\x04type\x18\x02 \x01(\x0e\x32\x1f.defproto.PinInChatMessage.Type\x12\x19\n\x11senderTimestampMs\x18\x03 \x01(\x03\"<\n\x04Type\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\x0f\n\x0bPIN_FOR_ALL\x10\x01\x12\x11\n\rUNPIN_FOR_ALL\x10\x02\"\xc7\t\n\'PeerDataOperationRequestResponseMessage\x12L\n\x1cpeerDataOperationRequestType\x18\x01 \x01(\x0e\x32&.defproto.PeerDataOperationRequestType\x12\x10\n\x08stanzaId\x18\x02 \x01(\t\x12j\n\x17peerDataOperationResult\x18\x03 \x03(\x0b\x32I.defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult\x1a\xcf\x07\n\x17PeerDataOperationResult\x12\x46\n\x11mediaUploadResult\x18\x01 \x01(\x0e\x32+.defproto.MediaRetryNotification.ResultType\x12\x30\n\x0estickerMessage\x18\x02 \x01(\x0b\x32\x18.defproto.StickerMessage\x12z\n\x13linkPreviewResponse\x18\x03 \x01(\x0b\x32].defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse\x12\x94\x01\n placeholderMessageResendResponse\x18\x04 \x01(\x0b\x32j.defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse\x1a?\n PlaceholderMessageResendResponse\x12\x1b\n\x13webMessageInfoBytes\x18\x01 \x01(\x0c\x1a\xe5\x03\n\x13LinkPreviewResponse\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x11\n\tthumbData\x18\x04 \x01(\x0c\x12\x14\n\x0c\x63\x61nonicalUrl\x18\x05 \x01(\t\x12\x11\n\tmatchText\x18\x06 \x01(\t\x12\x13\n\x0bpreviewType\x18\x07 \x01(\t\x12\x92\x01\n\x0bhqThumbnail\x18\x08 \x01(\x0b\x32}.defproto.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail\x1a\xb6\x01\n\x1fLinkPreviewHighQualityThumbnail\x12\x12\n\ndirectPath\x18\x01 \x01(\t\x12\x11\n\tthumbHash\x18\x02 \x01(\t\x12\x14\n\x0c\x65ncThumbHash\x18\x03 \x01(\t\x12\x10\n\x08mediaKey\x18\x04 \x01(\x0c\x12\x1b\n\x13mediaKeyTimestampMs\x18\x05 \x01(\x03\x12\x12\n\nthumbWidth\x18\x06 \x01(\x05\x12\x13\n\x0bthumbHeight\x18\x07 \x01(\x05\"\xd6\x06\n\x1fPeerDataOperationRequestMessage\x12L\n\x1cpeerDataOperationRequestType\x18\x01 \x01(\x0e\x32&.defproto.PeerDataOperationRequestType\x12`\n\x16requestStickerReupload\x18\x02 \x03(\x0b\x32@.defproto.PeerDataOperationRequestMessage.RequestStickerReupload\x12V\n\x11requestUrlPreview\x18\x03 \x03(\x0b\x32;.defproto.PeerDataOperationRequestMessage.RequestUrlPreview\x12h\n\x1ahistorySyncOnDemandRequest\x18\x04 \x01(\x0b\x32\x44.defproto.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest\x12r\n\x1fplaceholderMessageResendRequest\x18\x05 \x03(\x0b\x32I.defproto.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest\x1a<\n\x11RequestUrlPreview\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x1a\n\x12includeHqThumbnail\x18\x02 \x01(\x08\x1a,\n\x16RequestStickerReupload\x12\x12\n\nfileSha256\x18\x01 \x01(\t\x1aK\n\x1fPlaceholderMessageResendRequest\x12(\n\nmessageKey\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x1a\x93\x01\n\x1aHistorySyncOnDemandRequest\x12\x0f\n\x07\x63hatJid\x18\x01 \x01(\t\x12\x13\n\x0boldestMsgId\x18\x02 \x01(\t\x12\x17\n\x0foldestMsgFromMe\x18\x03 \x01(\x08\x12\x18\n\x10onDemandMsgCount\x18\x04 \x01(\x05\x12\x1c\n\x14oldestMsgTimestampMs\x18\x05 \x01(\x03\"\xaa\x01\n\x14PaymentInviteMessage\x12?\n\x0bserviceType\x18\x01 \x01(\x0e\x32*.defproto.PaymentInviteMessage.ServiceType\x12\x17\n\x0f\x65xpiryTimestamp\x18\x02 \x01(\x03\"8\n\x0bServiceType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x46\x42PAY\x10\x01\x12\x08\n\x04NOVI\x10\x02\x12\x07\n\x03UPI\x10\x03\"\xf8\x03\n\x0cOrderMessage\x12\x0f\n\x07orderId\x18\x01 \x01(\t\x12\x11\n\tthumbnail\x18\x02 \x01(\x0c\x12\x11\n\titemCount\x18\x03 \x01(\x05\x12\x32\n\x06status\x18\x04 \x01(\x0e\x32\".defproto.OrderMessage.OrderStatus\x12\x34\n\x07surface\x18\x05 \x01(\x0e\x32#.defproto.OrderMessage.OrderSurface\x12\x0f\n\x07message\x18\x06 \x01(\t\x12\x12\n\norderTitle\x18\x07 \x01(\t\x12\x11\n\tsellerJid\x18\x08 \x01(\t\x12\r\n\x05token\x18\t \x01(\t\x12\x17\n\x0ftotalAmount1000\x18\n \x01(\x03\x12\x19\n\x11totalCurrencyCode\x18\x0b \x01(\t\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x16\n\x0emessageVersion\x18\x0c \x01(\x05\x12\x33\n\x15orderRequestMessageId\x18\r \x01(\x0b\x32\x14.defproto.MessageKey\"\x1b\n\x0cOrderSurface\x12\x0b\n\x07\x43\x41TALOG\x10\x01\"6\n\x0bOrderStatus\x12\x0b\n\x07INQUIRY\x10\x01\x12\x0c\n\x08\x41\x43\x43\x45PTED\x10\x02\x12\x0c\n\x08\x44\x45\x43LINED\x10\x03\"\x8f\x01\n\x1cNewsletterAdminInviteMessage\x12\x15\n\rnewsletterJid\x18\x01 \x01(\t\x12\x16\n\x0enewsletterName\x18\x02 \x01(\t\x12\x15\n\rjpegThumbnail\x18\x03 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x04 \x01(\t\x12\x18\n\x10inviteExpiration\x18\x05 \x01(\x03\"\xd6\x01\n\x14MessageHistoryBundle\x12\x10\n\x08mimetype\x18\x02 \x01(\t\x12\x12\n\nfileSha256\x18\x03 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x05 \x01(\x0c\x12\x15\n\rfileEncSha256\x18\x06 \x01(\x0c\x12\x12\n\ndirectPath\x18\x07 \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x08 \x01(\x03\x12*\n\x0b\x63ontextInfo\x18\t \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x14\n\x0cparticipants\x18\n \x03(\t\"\xad\x02\n\x0fLocationMessage\x12\x17\n\x0f\x64\x65greesLatitude\x18\x01 \x01(\x01\x12\x18\n\x10\x64\x65greesLongitude\x18\x02 \x01(\x01\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x04 \x01(\t\x12\x0b\n\x03url\x18\x05 \x01(\t\x12\x0e\n\x06isLive\x18\x06 \x01(\x08\x12\x18\n\x10\x61\x63\x63uracyInMeters\x18\x07 \x01(\r\x12\x12\n\nspeedInMps\x18\x08 \x01(\x02\x12)\n!degreesClockwiseFromMagneticNorth\x18\t \x01(\r\x12\x0f\n\x07\x63omment\x18\x0b \x01(\t\x12\x15\n\rjpegThumbnail\x18\x10 \x01(\x0c\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\"\xa1\x02\n\x13LiveLocationMessage\x12\x17\n\x0f\x64\x65greesLatitude\x18\x01 \x01(\x01\x12\x18\n\x10\x64\x65greesLongitude\x18\x02 \x01(\x01\x12\x18\n\x10\x61\x63\x63uracyInMeters\x18\x03 \x01(\r\x12\x12\n\nspeedInMps\x18\x04 \x01(\x02\x12)\n!degreesClockwiseFromMagneticNorth\x18\x05 \x01(\r\x12\x0f\n\x07\x63\x61ption\x18\x06 \x01(\t\x12\x16\n\x0esequenceNumber\x18\x07 \x01(\x03\x12\x12\n\ntimeOffset\x18\x08 \x01(\r\x12\x15\n\rjpegThumbnail\x18\x10 \x01(\x0c\x12*\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x15.defproto.ContextInfo\"\xc3\x02\n\x13ListResponseMessage\x12\r\n\x05title\x18\x01 \x01(\t\x12\x38\n\x08listType\x18\x02 \x01(\x0e\x32&.defproto.ListResponseMessage.ListType\x12J\n\x11singleSelectReply\x18\x03 \x01(\x0b\x32/.defproto.ListResponseMessage.SingleSelectReply\x12*\n\x0b\x63ontextInfo\x18\x04 \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x1a*\n\x11SingleSelectReply\x12\x15\n\rselectedRowId\x18\x01 \x01(\t\"*\n\x08ListType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rSINGLE_SELECT\x10\x01\"\xc7\x06\n\x0bListMessage\x12\r\n\x05title\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x12\n\nbuttonText\x18\x03 \x01(\t\x12\x30\n\x08listType\x18\x04 \x01(\x0e\x32\x1e.defproto.ListMessage.ListType\x12/\n\x08sections\x18\x05 \x03(\x0b\x32\x1d.defproto.ListMessage.Section\x12>\n\x0fproductListInfo\x18\x06 \x01(\x0b\x32%.defproto.ListMessage.ProductListInfo\x12\x12\n\nfooterText\x18\x07 \x01(\t\x12*\n\x0b\x63ontextInfo\x18\x08 \x01(\x0b\x32\x15.defproto.ContextInfo\x1a\x41\n\x07Section\x12\r\n\x05title\x18\x01 \x01(\t\x12\'\n\x04rows\x18\x02 \x03(\x0b\x32\x19.defproto.ListMessage.Row\x1a\x38\n\x03Row\x12\r\n\x05title\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05rowId\x18\x03 \x01(\t\x1a\x1c\n\x07Product\x12\x11\n\tproductId\x18\x01 \x01(\t\x1aP\n\x0eProductSection\x12\r\n\x05title\x18\x01 \x01(\t\x12/\n\x08products\x18\x02 \x03(\x0b\x32\x1d.defproto.ListMessage.Product\x1a\xad\x01\n\x0fProductListInfo\x12=\n\x0fproductSections\x18\x01 \x03(\x0b\x32$.defproto.ListMessage.ProductSection\x12\x41\n\x0bheaderImage\x18\x02 \x01(\x0b\x32,.defproto.ListMessage.ProductListHeaderImage\x12\x18\n\x10\x62usinessOwnerJid\x18\x03 \x01(\t\x1a\x42\n\x16ProductListHeaderImage\x12\x11\n\tproductId\x18\x01 \x01(\t\x12\x15\n\rjpegThumbnail\x18\x02 \x01(\x0c\"<\n\x08ListType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rSINGLE_SELECT\x10\x01\x12\x10\n\x0cPRODUCT_LIST\x10\x02\"q\n\x11KeepInChatMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12$\n\x08keepType\x18\x02 \x01(\x0e\x32\x12.defproto.KeepType\x12\x13\n\x0btimestampMs\x18\x03 \x01(\x03\"\xef\x02\n\x0eInvoiceMessage\x12\x0c\n\x04note\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\x12?\n\x0e\x61ttachmentType\x18\x03 \x01(\x0e\x32\'.defproto.InvoiceMessage.AttachmentType\x12\x1a\n\x12\x61ttachmentMimetype\x18\x04 \x01(\t\x12\x1a\n\x12\x61ttachmentMediaKey\x18\x05 \x01(\x0c\x12#\n\x1b\x61ttachmentMediaKeyTimestamp\x18\x06 \x01(\x03\x12\x1c\n\x14\x61ttachmentFileSha256\x18\x07 \x01(\x0c\x12\x1f\n\x17\x61ttachmentFileEncSha256\x18\x08 \x01(\x0c\x12\x1c\n\x14\x61ttachmentDirectPath\x18\t \x01(\t\x12\x1f\n\x17\x61ttachmentJpegThumbnail\x18\n \x01(\x0c\"$\n\x0e\x41ttachmentType\x12\t\n\x05IMAGE\x10\x00\x12\x07\n\x03PDF\x10\x01\"\xd5\x03\n\x1aInteractiveResponseMessage\x12\x37\n\x04\x62ody\x18\x01 \x01(\x0b\x32).defproto.InteractiveResponseMessage.Body\x12*\n\x0b\x63ontextInfo\x18\x0f \x01(\x0b\x32\x15.defproto.ContextInfo\x12\x63\n\x19nativeFlowResponseMessage\x18\x02 \x01(\x0b\x32>.defproto.InteractiveResponseMessage.NativeFlowResponseMessageH\x00\x1aN\n\x19NativeFlowResponseMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nparamsJson\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x05\x1a\x7f\n\x04\x42ody\x12\x0c\n\x04text\x18\x01 \x01(\t\x12@\n\x06\x66ormat\x18\x02 \x01(\x0e\x32\x30.defproto.InteractiveResponseMessage.Body.Format\"\'\n\x06\x46ormat\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x10\n\x0c\x45XTENSIONS_1\x10\x01\x42\x1c\n\x1ainteractiveResponseMessage\"7\n\x10\x45phemeralSetting\x12\x10\n\x08\x64uration\x18\x01 \x01(\x0f\x12\x11\n\ttimestamp\x18\x02 \x01(\x10\"6\n\x11WallpaperSettings\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0f\n\x07opacity\x18\x02 \x01(\r\"\xdf\x01\n\x0fStickerMetadata\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nfileSha256\x18\x02 \x01(\x0c\x12\x15\n\rfileEncSha256\x18\x03 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x04 \x01(\x0c\x12\x10\n\x08mimetype\x18\x05 \x01(\t\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\r\n\x05width\x18\x07 \x01(\r\x12\x12\n\ndirectPath\x18\x08 \x01(\t\x12\x12\n\nfileLength\x18\t \x01(\x04\x12\x0e\n\x06weight\x18\n \x01(\x02\x12\x19\n\x11lastStickerSentTs\x18\x0b \x01(\x03\"(\n\x08Pushname\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08pushname\x18\x02 \x01(\t\"8\n\x17PhoneNumberToLIDMapping\x12\r\n\x05pnJid\x18\x01 \x01(\t\x12\x0e\n\x06lidJid\x18\x02 \x01(\t\"Y\n\x10PastParticipants\x12\x10\n\x08groupJid\x18\x01 \x01(\t\x12\x33\n\x10pastParticipants\x18\x02 \x03(\x0b\x32\x19.defproto.PastParticipant\"\x95\x01\n\x0fPastParticipant\x12\x0f\n\x07userJid\x18\x01 \x01(\t\x12:\n\x0bleaveReason\x18\x02 \x01(\x0e\x32%.defproto.PastParticipant.LeaveReason\x12\x0f\n\x07leaveTs\x18\x03 \x01(\x04\"$\n\x0bLeaveReason\x12\x08\n\x04LEFT\x10\x00\x12\x0b\n\x07REMOVED\x10\x01\"\xa9\x01\n\x14NotificationSettings\x12\x16\n\x0emessageVibrate\x18\x01 \x01(\t\x12\x14\n\x0cmessagePopup\x18\x02 \x01(\t\x12\x14\n\x0cmessageLight\x18\x03 \x01(\t\x12 \n\x18lowPriorityNotifications\x18\x04 \x01(\x08\x12\x16\n\x0ereactionsMuted\x18\x05 \x01(\x08\x12\x13\n\x0b\x63\x61llVibrate\x18\x06 \x01(\t\"\xcd\x06\n\x0bHistorySync\x12\x37\n\x08syncType\x18\x01 \x02(\x0e\x32%.defproto.HistorySync.HistorySyncType\x12-\n\rconversations\x18\x02 \x03(\x0b\x32\x16.defproto.Conversation\x12\x32\n\x10statusV3Messages\x18\x03 \x03(\x0b\x32\x18.defproto.WebMessageInfo\x12\x12\n\nchunkOrder\x18\x05 \x01(\r\x12\x10\n\x08progress\x18\x06 \x01(\r\x12%\n\tpushnames\x18\x07 \x03(\x0b\x32\x12.defproto.Pushname\x12\x30\n\x0eglobalSettings\x18\x08 \x01(\x0b\x32\x18.defproto.GlobalSettings\x12\x1a\n\x12threadIdUserSecret\x18\t \x01(\x0c\x12\x1f\n\x17threadDsTimeframeOffset\x18\n \x01(\r\x12\x31\n\x0erecentStickers\x18\x0b \x03(\x0b\x32\x19.defproto.StickerMetadata\x12\x34\n\x10pastParticipants\x18\x0c \x03(\x0b\x32\x1a.defproto.PastParticipants\x12/\n\x0e\x63\x61llLogRecords\x18\r \x03(\x0b\x32\x17.defproto.CallLogRecord\x12\x41\n\x0f\x61iWaitListState\x18\x0e \x01(\x0e\x32(.defproto.HistorySync.BotAIWaitListState\x12\x43\n\x18phoneNumberToLidMappings\x18\x0f \x03(\x0b\x32!.defproto.PhoneNumberToLIDMapping\"\x8a\x01\n\x0fHistorySyncType\x12\x15\n\x11INITIAL_BOOTSTRAP\x10\x00\x12\x15\n\x11INITIAL_STATUS_V3\x10\x01\x12\x08\n\x04\x46ULL\x10\x02\x12\n\n\x06RECENT\x10\x03\x12\r\n\tPUSH_NAME\x10\x04\x12\x15\n\x11NON_BLOCKING_DATA\x10\x05\x12\r\n\tON_DEMAND\x10\x06\"7\n\x12\x42otAIWaitListState\x12\x0f\n\x0bIN_WAITLIST\x10\x00\x12\x10\n\x0c\x41I_AVAILABLE\x10\x01\"O\n\x0eHistorySyncMsg\x12)\n\x07message\x18\x01 \x01(\x0b\x32\x18.defproto.WebMessageInfo\x12\x12\n\nmsgOrderId\x18\x02 \x01(\x04\"\x82\x01\n\x10GroupParticipant\x12\x0f\n\x07userJid\x18\x01 \x02(\t\x12-\n\x04rank\x18\x02 \x01(\x0e\x32\x1f.defproto.GroupParticipant.Rank\".\n\x04Rank\x12\x0b\n\x07REGULAR\x10\x00\x12\t\n\x05\x41\x44MIN\x10\x01\x12\x0e\n\nSUPERADMIN\x10\x02\"\xca\x06\n\x0eGlobalSettings\x12\x38\n\x13lightThemeWallpaper\x18\x01 \x01(\x0b\x32\x1b.defproto.WallpaperSettings\x12\x32\n\x0fmediaVisibility\x18\x02 \x01(\x0e\x32\x19.defproto.MediaVisibility\x12\x37\n\x12\x64\x61rkThemeWallpaper\x18\x03 \x01(\x0b\x32\x1b.defproto.WallpaperSettings\x12\x38\n\x10\x61utoDownloadWiFi\x18\x04 \x01(\x0b\x32\x1e.defproto.AutoDownloadSettings\x12<\n\x14\x61utoDownloadCellular\x18\x05 \x01(\x0b\x32\x1e.defproto.AutoDownloadSettings\x12;\n\x13\x61utoDownloadRoaming\x18\x06 \x01(\x0b\x32\x1e.defproto.AutoDownloadSettings\x12*\n\"showIndividualNotificationsPreview\x18\x07 \x01(\x08\x12%\n\x1dshowGroupNotificationsPreview\x18\x08 \x01(\x08\x12 \n\x18\x64isappearingModeDuration\x18\t \x01(\x05\x12!\n\x19\x64isappearingModeTimestamp\x18\n \x01(\x03\x12\x38\n\x12\x61vatarUserSettings\x18\x0b \x01(\x0b\x32\x1c.defproto.AvatarUserSettings\x12\x10\n\x08\x66ontSize\x18\x0c \x01(\x05\x12\x1d\n\x15securityNotifications\x18\r \x01(\x08\x12\x1a\n\x12\x61utoUnarchiveChats\x18\x0e \x01(\x08\x12\x18\n\x10videoQualityMode\x18\x0f \x01(\x05\x12\x18\n\x10photoQualityMode\x18\x10 \x01(\x05\x12\x46\n\x1eindividualNotificationSettings\x18\x11 \x01(\x0b\x32\x1e.defproto.NotificationSettings\x12\x41\n\x19groupNotificationSettings\x18\x12 \x01(\x0b\x32\x1e.defproto.NotificationSettings\"\xeb\n\n\x0c\x43onversation\x12\n\n\x02id\x18\x01 \x02(\t\x12*\n\x08messages\x18\x02 \x03(\x0b\x32\x18.defproto.HistorySyncMsg\x12\x0e\n\x06newJid\x18\x03 \x01(\t\x12\x0e\n\x06oldJid\x18\x04 \x01(\t\x12\x18\n\x10lastMsgTimestamp\x18\x05 \x01(\x04\x12\x13\n\x0bunreadCount\x18\x06 \x01(\r\x12\x10\n\x08readOnly\x18\x07 \x01(\x08\x12\x1c\n\x14\x65ndOfHistoryTransfer\x18\x08 \x01(\x08\x12\x1b\n\x13\x65phemeralExpiration\x18\t \x01(\r\x12!\n\x19\x65phemeralSettingTimestamp\x18\n \x01(\x03\x12Q\n\x18\x65ndOfHistoryTransferType\x18\x0b \x01(\x0e\x32/.defproto.Conversation.EndOfHistoryTransferType\x12\x1d\n\x15\x63onversationTimestamp\x18\x0c \x01(\x04\x12\x0c\n\x04name\x18\r \x01(\t\x12\r\n\x05pHash\x18\x0e \x01(\t\x12\x0f\n\x07notSpam\x18\x0f \x01(\x08\x12\x10\n\x08\x61rchived\x18\x10 \x01(\x08\x12\x34\n\x10\x64isappearingMode\x18\x11 \x01(\x0b\x32\x1a.defproto.DisappearingMode\x12\x1a\n\x12unreadMentionCount\x18\x12 \x01(\r\x12\x16\n\x0emarkedAsUnread\x18\x13 \x01(\x08\x12/\n\x0bparticipant\x18\x14 \x03(\x0b\x32\x1a.defproto.GroupParticipant\x12\x0f\n\x07tcToken\x18\x15 \x01(\x0c\x12\x18\n\x10tcTokenTimestamp\x18\x16 \x01(\x04\x12!\n\x19\x63ontactPrimaryIdentityKey\x18\x17 \x01(\x0c\x12\x0e\n\x06pinned\x18\x18 \x01(\r\x12\x13\n\x0bmuteEndTime\x18\x19 \x01(\x04\x12.\n\twallpaper\x18\x1a \x01(\x0b\x32\x1b.defproto.WallpaperSettings\x12\x32\n\x0fmediaVisibility\x18\x1b \x01(\x0e\x32\x19.defproto.MediaVisibility\x12\x1e\n\x16tcTokenSenderTimestamp\x18\x1c \x01(\x04\x12\x11\n\tsuspended\x18\x1d \x01(\x08\x12\x12\n\nterminated\x18\x1e \x01(\x08\x12\x11\n\tcreatedAt\x18\x1f \x01(\x04\x12\x11\n\tcreatedBy\x18 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18! \x01(\t\x12\x0f\n\x07support\x18\" \x01(\x08\x12\x15\n\risParentGroup\x18# \x01(\x08\x12\x15\n\rparentGroupId\x18% \x01(\t\x12\x19\n\x11isDefaultSubgroup\x18$ \x01(\x08\x12\x13\n\x0b\x64isplayName\x18& \x01(\t\x12\r\n\x05pnJid\x18\' \x01(\t\x12\x12\n\nshareOwnPn\x18( \x01(\x08\x12\x1d\n\x15pnhDuplicateLidThread\x18) \x01(\x08\x12\x0e\n\x06lidJid\x18* \x01(\t\x12\x10\n\x08username\x18+ \x01(\t\x12\x15\n\rlidOriginType\x18, \x01(\t\x12\x15\n\rcommentsCount\x18- \x01(\r\"\xbc\x01\n\x18\x45ndOfHistoryTransferType\x12\x30\n,COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY\x10\x00\x12\x32\n.COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY\x10\x01\x12:\n6COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY\x10\x02\"4\n\x12\x41vatarUserSettings\x12\x0c\n\x04\x66\x62id\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\"w\n\x14\x41utoDownloadSettings\x12\x16\n\x0e\x64ownloadImages\x18\x01 \x01(\x08\x12\x15\n\rdownloadAudio\x18\x02 \x01(\x08\x12\x15\n\rdownloadVideo\x18\x03 \x01(\x08\x12\x19\n\x11\x64ownloadDocuments\x18\x04 \x01(\x08\"&\n\x12ServerErrorReceipt\x12\x10\n\x08stanzaId\x18\x01 \x01(\t\"\xce\x01\n\x16MediaRetryNotification\x12\x10\n\x08stanzaId\x18\x01 \x01(\t\x12\x12\n\ndirectPath\x18\x02 \x01(\t\x12;\n\x06result\x18\x03 \x01(\x0e\x32+.defproto.MediaRetryNotification.ResultType\"Q\n\nResultType\x12\x11\n\rGENERAL_ERROR\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\r\n\tNOT_FOUND\x10\x02\x12\x14\n\x10\x44\x45\x43RYPTION_ERROR\x10\x03\"P\n\nMessageKey\x12\x11\n\tremoteJid\x18\x01 \x01(\t\x12\x0e\n\x06\x66romMe\x18\x02 \x01(\x08\x12\n\n\x02id\x18\x03 \x01(\t\x12\x13\n\x0bparticipant\x18\x04 \x01(\t\"\x1f\n\x0cSyncdVersion\x12\x0f\n\x07version\x18\x01 \x01(\x04\"\x1a\n\nSyncdValue\x12\x0c\n\x04\x62lob\x18\x01 \x01(\x0c\"\x8d\x01\n\rSyncdSnapshot\x12\'\n\x07version\x18\x01 \x01(\x0b\x32\x16.defproto.SyncdVersion\x12&\n\x07records\x18\x02 \x03(\x0b\x32\x15.defproto.SyncdRecord\x12\x0b\n\x03mac\x18\x03 \x01(\x0c\x12\x1e\n\x05keyId\x18\x04 \x01(\x0b\x32\x0f.defproto.KeyId\"w\n\x0bSyncdRecord\x12#\n\x05index\x18\x01 \x01(\x0b\x32\x14.defproto.SyncdIndex\x12#\n\x05value\x18\x02 \x01(\x0b\x32\x14.defproto.SyncdValue\x12\x1e\n\x05keyId\x18\x03 \x01(\x0b\x32\x0f.defproto.KeyId\"\xb8\x02\n\nSyncdPatch\x12\'\n\x07version\x18\x01 \x01(\x0b\x32\x16.defproto.SyncdVersion\x12*\n\tmutations\x18\x02 \x03(\x0b\x32\x17.defproto.SyncdMutation\x12:\n\x11\x65xternalMutations\x18\x03 \x01(\x0b\x32\x1f.defproto.ExternalBlobReference\x12\x13\n\x0bsnapshotMac\x18\x04 \x01(\x0c\x12\x10\n\x08patchMac\x18\x05 \x01(\x0c\x12\x1e\n\x05keyId\x18\x06 \x01(\x0b\x32\x0f.defproto.KeyId\x12$\n\x08\x65xitCode\x18\x07 \x01(\x0b\x32\x12.defproto.ExitCode\x12\x13\n\x0b\x64\x65viceIndex\x18\x08 \x01(\r\x12\x17\n\x0f\x63lientDebugData\x18\t \x01(\x0c\"<\n\x0eSyncdMutations\x12*\n\tmutations\x18\x01 \x03(\x0b\x32\x17.defproto.SyncdMutation\"\x98\x01\n\rSyncdMutation\x12\x39\n\toperation\x18\x01 \x01(\x0e\x32&.defproto.SyncdMutation.SyncdOperation\x12%\n\x06record\x18\x02 \x01(\x0b\x32\x15.defproto.SyncdRecord\"%\n\x0eSyncdOperation\x12\x07\n\x03SET\x10\x00\x12\n\n\x06REMOVE\x10\x01\"\x1a\n\nSyncdIndex\x12\x0c\n\x04\x62lob\x18\x01 \x01(\x0c\"\x13\n\x05KeyId\x12\n\n\x02id\x18\x01 \x01(\x0c\"\x8f\x01\n\x15\x45xternalBlobReference\x12\x10\n\x08mediaKey\x18\x01 \x01(\x0c\x12\x12\n\ndirectPath\x18\x02 \x01(\t\x12\x0e\n\x06handle\x18\x03 \x01(\t\x12\x15\n\rfileSizeBytes\x18\x04 \x01(\x04\x12\x12\n\nfileSha256\x18\x05 \x01(\x0c\x12\x15\n\rfileEncSha256\x18\x06 \x01(\x0c\"&\n\x08\x45xitCode\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x04\x12\x0c\n\x04text\x18\x02 \x01(\t\"\x8a\x13\n\x0fSyncActionValue\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12(\n\nstarAction\x18\x02 \x01(\x0b\x32\x14.defproto.StarAction\x12.\n\rcontactAction\x18\x03 \x01(\x0b\x32\x17.defproto.ContactAction\x12(\n\nmuteAction\x18\x04 \x01(\x0b\x32\x14.defproto.MuteAction\x12&\n\tpinAction\x18\x05 \x01(\x0b\x32\x13.defproto.PinAction\x12J\n\x1bsecurityNotificationSetting\x18\x06 \x01(\x0b\x32%.defproto.SecurityNotificationSetting\x12\x32\n\x0fpushNameSetting\x18\x07 \x01(\x0b\x32\x19.defproto.PushNameSetting\x12\x34\n\x10quickReplyAction\x18\x08 \x01(\x0b\x32\x1a.defproto.QuickReplyAction\x12\x44\n\x18recentEmojiWeightsAction\x18\x0b \x01(\x0b\x32\".defproto.RecentEmojiWeightsAction\x12\x32\n\x0flabelEditAction\x18\x0e \x01(\x0b\x32\x19.defproto.LabelEditAction\x12@\n\x16labelAssociationAction\x18\x0f \x01(\x0b\x32 .defproto.LabelAssociationAction\x12.\n\rlocaleSetting\x18\x10 \x01(\x0b\x32\x17.defproto.LocaleSetting\x12\x36\n\x11\x61rchiveChatAction\x18\x11 \x01(\x0b\x32\x1b.defproto.ArchiveChatAction\x12\x44\n\x18\x64\x65leteMessageForMeAction\x18\x12 \x01(\x0b\x32\".defproto.DeleteMessageForMeAction\x12.\n\rkeyExpiration\x18\x13 \x01(\x0b\x32\x17.defproto.KeyExpiration\x12<\n\x14markChatAsReadAction\x18\x14 \x01(\x0b\x32\x1e.defproto.MarkChatAsReadAction\x12\x32\n\x0f\x63learChatAction\x18\x15 \x01(\x0b\x32\x19.defproto.ClearChatAction\x12\x34\n\x10\x64\x65leteChatAction\x18\x16 \x01(\x0b\x32\x1a.defproto.DeleteChatAction\x12>\n\x15unarchiveChatsSetting\x18\x17 \x01(\x0b\x32\x1f.defproto.UnarchiveChatsSetting\x12\x30\n\x0eprimaryFeature\x18\x18 \x01(\x0b\x32\x18.defproto.PrimaryFeature\x12\x46\n\x19\x61ndroidUnsupportedActions\x18\x1a \x01(\x0b\x32#.defproto.AndroidUnsupportedActions\x12*\n\x0b\x61gentAction\x18\x1b \x01(\x0b\x32\x15.defproto.AgentAction\x12\x38\n\x12subscriptionAction\x18\x1c \x01(\x0b\x32\x1c.defproto.SubscriptionAction\x12<\n\x14userStatusMuteAction\x18\x1d \x01(\x0b\x32\x1e.defproto.UserStatusMuteAction\x12\x34\n\x10timeFormatAction\x18\x1e \x01(\x0b\x32\x1a.defproto.TimeFormatAction\x12&\n\tnuxAction\x18\x1f \x01(\x0b\x32\x13.defproto.NuxAction\x12<\n\x14primaryVersionAction\x18 \x01(\x0b\x32\x1e.defproto.PrimaryVersionAction\x12.\n\rstickerAction\x18! \x01(\x0b\x32\x17.defproto.StickerAction\x12\x46\n\x19removeRecentStickerAction\x18\" \x01(\x0b\x32#.defproto.RemoveRecentStickerAction\x12\x36\n\x0e\x63hatAssignment\x18# \x01(\x0b\x32\x1e.defproto.ChatAssignmentAction\x12N\n\x1a\x63hatAssignmentOpenedStatus\x18$ \x01(\x0b\x32*.defproto.ChatAssignmentOpenedStatusAction\x12\x38\n\x12pnForLidChatAction\x18% \x01(\x0b\x32\x1c.defproto.PnForLidChatAction\x12@\n\x16marketingMessageAction\x18& \x01(\x0b\x32 .defproto.MarketingMessageAction\x12R\n\x1fmarketingMessageBroadcastAction\x18\' \x01(\x0b\x32).defproto.MarketingMessageBroadcastAction\x12>\n\x15\x65xternalWebBetaAction\x18( \x01(\x0b\x32\x1f.defproto.ExternalWebBetaAction\x12J\n\x1bprivacySettingRelayAllCalls\x18) \x01(\x0b\x32%.defproto.PrivacySettingRelayAllCalls\x12.\n\rcallLogAction\x18* \x01(\x0b\x32\x17.defproto.CallLogAction\x12\x34\n\rstatusPrivacy\x18, \x01(\x0b\x32\x1d.defproto.StatusPrivacyAction\x12\x42\n\x17\x62otWelcomeRequestAction\x18- \x01(\x0b\x32!.defproto.BotWelcomeRequestAction\x12H\n\x17\x64\x65leteIndividualCallLog\x18. \x01(\x0b\x32\'.defproto.DeleteIndividualCallLogAction\x12>\n\x15labelReorderingAction\x18/ \x01(\x0b\x32\x1f.defproto.LabelReorderingAction\x12\x36\n\x11paymentInfoAction\x18\x30 \x01(\x0b\x32\x1b.defproto.PaymentInfoAction\"%\n\x14UserStatusMuteAction\x12\r\n\x05muted\x18\x01 \x01(\x08\"/\n\x15UnarchiveChatsSetting\x12\x16\n\x0eunarchiveChats\x18\x01 \x01(\x08\"9\n\x10TimeFormatAction\x12%\n\x1disTwentyFourHourFormatEnabled\x18\x01 \x01(\x08\"I\n\x11SyncActionMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"\x89\x01\n\x16SyncActionMessageRange\x12\x1c\n\x14lastMessageTimestamp\x18\x01 \x01(\x03\x12\"\n\x1alastSystemMessageTimestamp\x18\x02 \x01(\x03\x12-\n\x08messages\x18\x03 \x03(\x0b\x32\x1b.defproto.SyncActionMessage\"[\n\x12SubscriptionAction\x12\x15\n\risDeactivated\x18\x01 \x01(\x08\x12\x16\n\x0eisAutoRenewing\x18\x02 \x01(\x08\x12\x16\n\x0e\x65xpirationDate\x18\x03 \x01(\x03\"\xc8\x01\n\rStickerAction\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x15\n\rfileEncSha256\x18\x02 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x03 \x01(\x0c\x12\x10\n\x08mimetype\x18\x04 \x01(\t\x12\x0e\n\x06height\x18\x05 \x01(\r\x12\r\n\x05width\x18\x06 \x01(\r\x12\x12\n\ndirectPath\x18\x07 \x01(\t\x12\x12\n\nfileLength\x18\x08 \x01(\x04\x12\x12\n\nisFavorite\x18\t \x01(\x08\x12\x14\n\x0c\x64\x65viceIdHint\x18\n \x01(\r\"\xb1\x01\n\x13StatusPrivacyAction\x12\x42\n\x04mode\x18\x01 \x01(\x0e\x32\x34.defproto.StatusPrivacyAction.StatusDistributionMode\x12\x0f\n\x07userJid\x18\x02 \x03(\t\"E\n\x16StatusDistributionMode\x12\x0e\n\nALLOW_LIST\x10\x00\x12\r\n\tDENY_LIST\x10\x01\x12\x0c\n\x08\x43ONTACTS\x10\x02\"\x1d\n\nStarAction\x12\x0f\n\x07starred\x18\x01 \x01(\x08\"7\n\x1bSecurityNotificationSetting\x12\x18\n\x10showNotification\x18\x01 \x01(\x08\"6\n\x19RemoveRecentStickerAction\x12\x19\n\x11lastStickerSentTs\x18\x01 \x01(\x03\"H\n\x18RecentEmojiWeightsAction\x12,\n\x07weights\x18\x01 \x03(\x0b\x32\x1b.defproto.RecentEmojiWeight\"g\n\x10QuickReplyAction\x12\x10\n\x08shortcut\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x10\n\x08keywords\x18\x03 \x03(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\x05\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\"\x1f\n\x0fPushNameSetting\x12\x0c\n\x04name\x18\x01 \x01(\t\"0\n\x1bPrivacySettingRelayAllCalls\x12\x11\n\tisEnabled\x18\x01 \x01(\x08\"\'\n\x14PrimaryVersionAction\x12\x0f\n\x07version\x18\x01 \x01(\t\"\x1f\n\x0ePrimaryFeature\x12\r\n\x05\x66lags\x18\x01 \x03(\t\"#\n\x12PnForLidChatAction\x12\r\n\x05pnJid\x18\x01 \x01(\t\"\x1b\n\tPinAction\x12\x0e\n\x06pinned\x18\x01 \x01(\x08\" \n\x11PaymentInfoAction\x12\x0b\n\x03\x63pi\x18\x01 \x01(\t\"!\n\tNuxAction\x12\x14\n\x0c\x61\x63knowledged\x18\x01 \x01(\x08\"H\n\nMuteAction\x12\r\n\x05muted\x18\x01 \x01(\x08\x12\x18\n\x10muteEndTimestamp\x18\x02 \x01(\x03\x12\x11\n\tautoMuted\x18\x03 \x01(\x08\"7\n\x1fMarketingMessageBroadcastAction\x12\x14\n\x0crepliedCount\x18\x01 \x01(\x05\"\x83\x02\n\x16MarketingMessageAction\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12L\n\x04type\x18\x03 \x01(\x0e\x32>.defproto.MarketingMessageAction.MarketingMessagePrototypeType\x12\x11\n\tcreatedAt\x18\x04 \x01(\x03\x12\x12\n\nlastSentAt\x18\x05 \x01(\x03\x12\x11\n\tisDeleted\x18\x06 \x01(\x08\x12\x0f\n\x07mediaId\x18\x07 \x01(\t\"1\n\x1dMarketingMessagePrototypeType\x12\x10\n\x0cPERSONALIZED\x10\x00\"\\\n\x14MarkChatAsReadAction\x12\x0c\n\x04read\x18\x01 \x01(\x08\x12\x36\n\x0cmessageRange\x18\x02 \x01(\x0b\x32 .defproto.SyncActionMessageRange\"\x1f\n\rLocaleSetting\x12\x0e\n\x06locale\x18\x01 \x01(\t\"/\n\x15LabelReorderingAction\x12\x16\n\x0esortedLabelIds\x18\x01 \x03(\x05\"i\n\x0fLabelEditAction\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\x12\x14\n\x0cpredefinedId\x18\x03 \x01(\x05\x12\x0f\n\x07\x64\x65leted\x18\x04 \x01(\x08\x12\x12\n\norderIndex\x18\x05 \x01(\x05\")\n\x16LabelAssociationAction\x12\x0f\n\x07labeled\x18\x01 \x01(\x08\"(\n\rKeyExpiration\x12\x17\n\x0f\x65xpiredKeyEpoch\x18\x01 \x01(\x05\"(\n\x15\x45xternalWebBetaAction\x12\x0f\n\x07isOptIn\x18\x01 \x01(\x08\"I\n\x18\x44\x65leteMessageForMeAction\x12\x13\n\x0b\x64\x65leteMedia\x18\x01 \x01(\x08\x12\x18\n\x10messageTimestamp\x18\x02 \x01(\x03\"D\n\x1d\x44\x65leteIndividualCallLogAction\x12\x0f\n\x07peerJid\x18\x01 \x01(\t\x12\x12\n\nisIncoming\x18\x02 \x01(\x08\"J\n\x10\x44\x65leteChatAction\x12\x36\n\x0cmessageRange\x18\x01 \x01(\x0b\x32 .defproto.SyncActionMessageRange\"f\n\rContactAction\x12\x10\n\x08\x66ullName\x18\x01 \x01(\t\x12\x11\n\tfirstName\x18\x02 \x01(\t\x12\x0e\n\x06lidJid\x18\x03 \x01(\t\x12 \n\x18saveOnPrimaryAddressbook\x18\x04 \x01(\x08\"I\n\x0f\x43learChatAction\x12\x36\n\x0cmessageRange\x18\x01 \x01(\x0b\x32 .defproto.SyncActionMessageRange\"6\n ChatAssignmentOpenedStatusAction\x12\x12\n\nchatOpened\x18\x01 \x01(\x08\"-\n\x14\x43hatAssignmentAction\x12\x15\n\rdeviceAgentID\x18\x01 \x01(\t\"?\n\rCallLogAction\x12.\n\rcallLogRecord\x18\x01 \x01(\x0b\x32\x17.defproto.CallLogRecord\")\n\x17\x42otWelcomeRequestAction\x12\x0e\n\x06isSent\x18\x01 \x01(\x08\"]\n\x11\x41rchiveChatAction\x12\x10\n\x08\x61rchived\x18\x01 \x01(\x08\x12\x36\n\x0cmessageRange\x18\x02 \x01(\x0b\x32 .defproto.SyncActionMessageRange\",\n\x19\x41ndroidUnsupportedActions\x12\x0f\n\x07\x61llowed\x18\x01 \x01(\x08\"@\n\x0b\x41gentAction\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x65viceID\x18\x02 \x01(\x05\x12\x11\n\tisDeleted\x18\x03 \x01(\x08\"k\n\x0eSyncActionData\x12\r\n\x05index\x18\x01 \x01(\x0c\x12(\n\x05value\x18\x02 \x01(\x0b\x32\x19.defproto.SyncActionValue\x12\x0f\n\x07padding\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\"2\n\x11RecentEmojiWeight\x12\r\n\x05\x65moji\x18\x01 \x01(\t\x12\x0e\n\x06weight\x18\x02 \x01(\x02\"\xa0\x03\n\x0ePatchDebugData\x12\x15\n\rcurrentLthash\x18\x01 \x01(\x0c\x12\x11\n\tnewLthash\x18\x02 \x01(\x0c\x12\x14\n\x0cpatchVersion\x18\x03 \x01(\x0c\x12\x16\n\x0e\x63ollectionName\x18\x04 \x01(\x0c\x12/\n\'firstFourBytesFromAHashOfSnapshotMacKey\x18\x05 \x01(\x0c\x12\x19\n\x11newLthashSubtract\x18\x06 \x01(\x0c\x12\x11\n\tnumberAdd\x18\x07 \x01(\x05\x12\x14\n\x0cnumberRemove\x18\x08 \x01(\x05\x12\x16\n\x0enumberOverride\x18\t \x01(\x05\x12\x39\n\x0esenderPlatform\x18\n \x01(\x0e\x32!.defproto.PatchDebugData.Platform\x12\x17\n\x0fisSenderPrimary\x18\x0b \x01(\x08\"U\n\x08Platform\x12\x0b\n\x07\x41NDROID\x10\x00\x12\x08\n\x04SMBA\x10\x01\x12\n\n\x06IPHONE\x10\x02\x12\x08\n\x04SMBI\x10\x03\x12\x07\n\x03WEB\x10\x04\x12\x07\n\x03UWP\x10\x05\x12\n\n\x06\x44\x41RWIN\x10\x06\"\xe6\x06\n\rCallLogRecord\x12\x36\n\ncallResult\x18\x01 \x01(\x0e\x32\".defproto.CallLogRecord.CallResult\x12\x11\n\tisDndMode\x18\x02 \x01(\x08\x12<\n\rsilenceReason\x18\x03 \x01(\x0e\x32%.defproto.CallLogRecord.SilenceReason\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12\x11\n\tstartTime\x18\x05 \x01(\x03\x12\x12\n\nisIncoming\x18\x06 \x01(\x08\x12\x0f\n\x07isVideo\x18\x07 \x01(\x08\x12\x12\n\nisCallLink\x18\x08 \x01(\x08\x12\x15\n\rcallLinkToken\x18\t \x01(\t\x12\x17\n\x0fscheduledCallId\x18\n \x01(\t\x12\x0e\n\x06\x63\x61llId\x18\x0b \x01(\t\x12\x16\n\x0e\x63\x61llCreatorJid\x18\x0c \x01(\t\x12\x10\n\x08groupJid\x18\r \x01(\t\x12=\n\x0cparticipants\x18\x0e \x03(\x0b\x32\'.defproto.CallLogRecord.ParticipantInfo\x12\x32\n\x08\x63\x61llType\x18\x0f \x01(\x0e\x32 .defproto.CallLogRecord.CallType\x1aZ\n\x0fParticipantInfo\x12\x0f\n\x07userJid\x18\x01 \x01(\t\x12\x36\n\ncallResult\x18\x02 \x01(\x0e\x32\".defproto.CallLogRecord.CallResult\"F\n\rSilenceReason\x12\x08\n\x04NONE\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\x0b\n\x07PRIVACY\x10\x02\x12\x0f\n\x0bLIGHTWEIGHT\x10\x03\";\n\x08\x43\x61llType\x12\x0b\n\x07REGULAR\x10\x00\x12\x12\n\x0eSCHEDULED_CALL\x10\x01\x12\x0e\n\nVOICE_CHAT\x10\x02\"\xaf\x01\n\nCallResult\x12\r\n\tCONNECTED\x10\x00\x12\x0c\n\x08REJECTED\x10\x01\x12\r\n\tCANCELLED\x10\x02\x12\x15\n\x11\x41\x43\x43\x45PTEDELSEWHERE\x10\x03\x12\n\n\x06MISSED\x10\x04\x12\x0b\n\x07INVALID\x10\x05\x12\x0f\n\x0bUNAVAILABLE\x10\x06\x12\x0c\n\x08UPCOMING\x10\x07\x12\n\n\x06\x46\x41ILED\x10\x08\x12\r\n\tABANDONED\x10\t\x12\x0b\n\x07ONGOING\x10\n\"\xdc\x01\n\x17VerifiedNameCertificate\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x12\x17\n\x0fserverSignature\x18\x03 \x01(\x0c\x1a\x83\x01\n\x07\x44\x65tails\x12\x0e\n\x06serial\x18\x01 \x01(\x04\x12\x0e\n\x06issuer\x18\x02 \x01(\t\x12\x14\n\x0cverifiedName\x18\x04 \x01(\t\x12/\n\x0elocalizedNames\x18\x08 \x03(\x0b\x32\x17.defproto.LocalizedName\x12\x11\n\tissueTime\x18\n \x01(\x04\"=\n\rLocalizedName\x12\n\n\x02lg\x18\x01 \x01(\t\x12\n\n\x02lc\x18\x02 \x01(\t\x12\x14\n\x0cverifiedName\x18\x03 \x01(\t\"\xe6\x03\n\x0f\x42izIdentityInfo\x12<\n\x06vlevel\x18\x01 \x01(\x0e\x32,.defproto.BizIdentityInfo.VerifiedLevelValue\x12\x34\n\tvnameCert\x18\x02 \x01(\x0b\x32!.defproto.VerifiedNameCertificate\x12\x0e\n\x06signed\x18\x03 \x01(\x08\x12\x0f\n\x07revoked\x18\x04 \x01(\x08\x12>\n\x0bhostStorage\x18\x05 \x01(\x0e\x32).defproto.BizIdentityInfo.HostStorageType\x12@\n\x0c\x61\x63tualActors\x18\x06 \x01(\x0e\x32*.defproto.BizIdentityInfo.ActualActorsType\x12\x15\n\rprivacyModeTs\x18\x07 \x01(\x04\x12\x17\n\x0f\x66\x65\x61tureControls\x18\x08 \x01(\x04\"4\n\x12VerifiedLevelValue\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03LOW\x10\x01\x12\x08\n\x04HIGH\x10\x02\"/\n\x0fHostStorageType\x12\x0e\n\nON_PREMISE\x10\x00\x12\x0c\n\x08\x46\x41\x43\x45\x42OOK\x10\x01\"%\n\x10\x41\x63tualActorsType\x12\x08\n\x04SELF\x10\x00\x12\x07\n\x03\x42SP\x10\x01\"b\n\x11\x42izAccountPayload\x12\x34\n\tvnameCert\x18\x01 \x01(\x0b\x32!.defproto.VerifiedNameCertificate\x12\x17\n\x0f\x62izAcctLinkInfo\x18\x02 \x01(\x0c\"\xb2\x02\n\x12\x42izAccountLinkInfo\x12\x1b\n\x13whatsappBizAcctFbid\x18\x01 \x01(\x04\x12\x1a\n\x12whatsappAcctNumber\x18\x02 \x01(\t\x12\x11\n\tissueTime\x18\x03 \x01(\x04\x12\x41\n\x0bhostStorage\x18\x04 \x01(\x0e\x32,.defproto.BizAccountLinkInfo.HostStorageType\x12=\n\x0b\x61\x63\x63ountType\x18\x05 \x01(\x0e\x32(.defproto.BizAccountLinkInfo.AccountType\"/\n\x0fHostStorageType\x12\x0e\n\nON_PREMISE\x10\x00\x12\x0c\n\x08\x46\x41\x43\x45\x42OOK\x10\x01\"\x1d\n\x0b\x41\x63\x63ountType\x12\x0e\n\nENTERPRISE\x10\x00\"\xb3\x01\n\x10HandshakeMessage\x12\x33\n\x0b\x63lientHello\x18\x02 \x01(\x0b\x32\x1e.defproto.HandshakeClientHello\x12\x33\n\x0bserverHello\x18\x03 \x01(\x0b\x32\x1e.defproto.HandshakeServerHello\x12\x35\n\x0c\x63lientFinish\x18\x04 \x01(\x0b\x32\x1f.defproto.HandshakeClientFinish\"J\n\x14HandshakeServerHello\x12\x11\n\tephemeral\x18\x01 \x01(\x0c\x12\x0e\n\x06static\x18\x02 \x01(\x0c\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\"J\n\x14HandshakeClientHello\x12\x11\n\tephemeral\x18\x01 \x01(\x0c\x12\x0e\n\x06static\x18\x02 \x01(\x0c\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\"8\n\x15HandshakeClientFinish\x12\x0e\n\x06static\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"\xa6\x1d\n\rClientPayload\x12\x10\n\x08username\x18\x01 \x01(\x04\x12\x0f\n\x07passive\x18\x03 \x01(\x08\x12\x34\n\tuserAgent\x18\x05 \x01(\x0b\x32!.defproto.ClientPayload.UserAgent\x12\x30\n\x07webInfo\x18\x06 \x01(\x0b\x32\x1f.defproto.ClientPayload.WebInfo\x12\x10\n\x08pushName\x18\x07 \x01(\t\x12\x11\n\tsessionId\x18\t \x01(\x0f\x12\x14\n\x0cshortConnect\x18\n \x01(\x08\x12\x38\n\x0b\x63onnectType\x18\x0c \x01(\x0e\x32#.defproto.ClientPayload.ConnectType\x12<\n\rconnectReason\x18\r \x01(\x0e\x32%.defproto.ClientPayload.ConnectReason\x12\x0e\n\x06shards\x18\x0e \x03(\x05\x12\x34\n\tdnsSource\x18\x0f \x01(\x0b\x32!.defproto.ClientPayload.DNSSource\x12\x1b\n\x13\x63onnectAttemptCount\x18\x10 \x01(\r\x12\x0e\n\x06\x64\x65vice\x18\x12 \x01(\r\x12P\n\x11\x64\x65vicePairingData\x18\x13 \x01(\x0b\x32\x35.defproto.ClientPayload.DevicePairingRegistrationData\x12\x30\n\x07product\x18\x14 \x01(\x0e\x32\x1f.defproto.ClientPayload.Product\x12\r\n\x05\x66\x62\x43\x61t\x18\x15 \x01(\x0c\x12\x13\n\x0b\x66\x62UserAgent\x18\x16 \x01(\x0c\x12\n\n\x02oc\x18\x17 \x01(\x08\x12\n\n\x02lc\x18\x18 \x01(\x05\x12@\n\x0fiosAppExtension\x18\x1e \x01(\x0e\x32\'.defproto.ClientPayload.IOSAppExtension\x12\x0f\n\x07\x66\x62\x41ppId\x18\x1f \x01(\x04\x12\x12\n\nfbDeviceId\x18 \x01(\x0c\x12\x0c\n\x04pull\x18! \x01(\x08\x12\x14\n\x0cpaddingBytes\x18\" \x01(\x0c\x12\x11\n\tyearClass\x18$ \x01(\x05\x12\x10\n\x08memClass\x18% \x01(\x05\x12\x38\n\x0binteropData\x18& \x01(\x0b\x32#.defproto.ClientPayload.InteropData\x1a\xcc\x04\n\x07WebInfo\x12\x10\n\x08refToken\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12@\n\x0bwebdPayload\x18\x03 \x01(\x0b\x32+.defproto.ClientPayload.WebInfo.WebdPayload\x12\x46\n\x0ewebSubPlatform\x18\x04 \x01(\x0e\x32..defproto.ClientPayload.WebInfo.WebSubPlatform\x1a\xbb\x02\n\x0bWebdPayload\x12\x1c\n\x14usesParticipantInKey\x18\x01 \x01(\x08\x12\x1f\n\x17supportsStarredMessages\x18\x02 \x01(\x08\x12 \n\x18supportsDocumentMessages\x18\x03 \x01(\x08\x12\x1b\n\x13supportsUrlMessages\x18\x04 \x01(\x08\x12\x1a\n\x12supportsMediaRetry\x18\x05 \x01(\x08\x12\x18\n\x10supportsE2EImage\x18\x06 \x01(\x08\x12\x18\n\x10supportsE2EVideo\x18\x07 \x01(\x08\x12\x18\n\x10supportsE2EAudio\x18\x08 \x01(\x08\x12\x1b\n\x13supportsE2EDocument\x18\t \x01(\x08\x12\x15\n\rdocumentTypes\x18\n \x01(\t\x12\x10\n\x08\x66\x65\x61tures\x18\x0b \x01(\x0c\"V\n\x0eWebSubPlatform\x12\x0f\n\x0bWEB_BROWSER\x10\x00\x12\r\n\tAPP_STORE\x10\x01\x12\r\n\tWIN_STORE\x10\x02\x12\n\n\x06\x44\x41RWIN\x10\x03\x12\t\n\x05WIN32\x10\x04\x1a\xea\t\n\tUserAgent\x12<\n\x08platform\x18\x01 \x01(\x0e\x32*.defproto.ClientPayload.UserAgent.Platform\x12@\n\nappVersion\x18\x02 \x01(\x0b\x32,.defproto.ClientPayload.UserAgent.AppVersion\x12\x0b\n\x03mcc\x18\x03 \x01(\t\x12\x0b\n\x03mnc\x18\x04 \x01(\t\x12\x11\n\tosVersion\x18\x05 \x01(\t\x12\x14\n\x0cmanufacturer\x18\x06 \x01(\t\x12\x0e\n\x06\x64\x65vice\x18\x07 \x01(\t\x12\x15\n\rosBuildNumber\x18\x08 \x01(\t\x12\x0f\n\x07phoneId\x18\t \x01(\t\x12H\n\x0ereleaseChannel\x18\n \x01(\x0e\x32\x30.defproto.ClientPayload.UserAgent.ReleaseChannel\x12\x1d\n\x15localeLanguageIso6391\x18\x0b \x01(\t\x12#\n\x1blocaleCountryIso31661Alpha2\x18\x0c \x01(\t\x12\x13\n\x0b\x64\x65viceBoard\x18\r \x01(\t\x12\x13\n\x0b\x64\x65viceExpId\x18\x0e \x01(\t\x12@\n\ndeviceType\x18\x0f \x01(\x0e\x32,.defproto.ClientPayload.UserAgent.DeviceType\x1ag\n\nAppVersion\x12\x0f\n\x07primary\x18\x01 \x01(\r\x12\x11\n\tsecondary\x18\x02 \x01(\r\x12\x10\n\x08tertiary\x18\x03 \x01(\r\x12\x12\n\nquaternary\x18\x04 \x01(\r\x12\x0f\n\x07quinary\x18\x05 \x01(\r\"=\n\x0eReleaseChannel\x12\x0b\n\x07RELEASE\x10\x00\x12\x08\n\x04\x42\x45TA\x10\x01\x12\t\n\x05\x41LPHA\x10\x02\x12\t\n\x05\x44\x45\x42UG\x10\x03\"\xf7\x03\n\x08Platform\x12\x0b\n\x07\x41NDROID\x10\x00\x12\x07\n\x03IOS\x10\x01\x12\x11\n\rWINDOWS_PHONE\x10\x02\x12\x0e\n\nBLACKBERRY\x10\x03\x12\x0f\n\x0b\x42LACKBERRYX\x10\x04\x12\x07\n\x03S40\x10\x05\x12\x07\n\x03S60\x10\x06\x12\x11\n\rPYTHON_CLIENT\x10\x07\x12\t\n\x05TIZEN\x10\x08\x12\x0e\n\nENTERPRISE\x10\t\x12\x0f\n\x0bSMB_ANDROID\x10\n\x12\t\n\x05KAIOS\x10\x0b\x12\x0b\n\x07SMB_IOS\x10\x0c\x12\x0b\n\x07WINDOWS\x10\r\x12\x07\n\x03WEB\x10\x0e\x12\n\n\x06PORTAL\x10\x0f\x12\x11\n\rGREEN_ANDROID\x10\x10\x12\x10\n\x0cGREEN_IPHONE\x10\x11\x12\x10\n\x0c\x42LUE_ANDROID\x10\x12\x12\x0f\n\x0b\x42LUE_IPHONE\x10\x13\x12\x12\n\x0e\x46\x42LITE_ANDROID\x10\x14\x12\x11\n\rMLITE_ANDROID\x10\x15\x12\x12\n\x0eIGLITE_ANDROID\x10\x16\x12\x08\n\x04PAGE\x10\x17\x12\t\n\x05MACOS\x10\x18\x12\x0e\n\nOCULUS_MSG\x10\x19\x12\x0f\n\x0bOCULUS_CALL\x10\x1a\x12\t\n\x05MILAN\x10\x1b\x12\x08\n\x04\x43\x41PI\x10\x1c\x12\n\n\x06WEAROS\x10\x1d\x12\x0c\n\x08\x41RDEVICE\x10\x1e\x12\x0c\n\x08VRDEVICE\x10\x1f\x12\x0c\n\x08\x42LUE_WEB\x10 \x12\x08\n\x04IPAD\x10!\x12\x08\n\x04TEST\x10\"\"F\n\nDeviceType\x12\t\n\x05PHONE\x10\x00\x12\n\n\x06TABLET\x10\x01\x12\x0b\n\x07\x44\x45SKTOP\x10\x02\x12\x0c\n\x08WEARABLE\x10\x03\x12\x06\n\x02VR\x10\x04\x1a/\n\x0bInteropData\x12\x11\n\taccountId\x18\x01 \x01(\x04\x12\r\n\x05token\x18\x02 \x01(\x0c\x1a\xae\x01\n\x1d\x44\x65vicePairingRegistrationData\x12\x0e\n\x06\x65Regid\x18\x01 \x01(\x0c\x12\x10\n\x08\x65Keytype\x18\x02 \x01(\x0c\x12\x0e\n\x06\x65Ident\x18\x03 \x01(\x0c\x12\x0f\n\x07\x65SkeyId\x18\x04 \x01(\x0c\x12\x10\n\x08\x65SkeyVal\x18\x05 \x01(\x0c\x12\x10\n\x08\x65SkeySig\x18\x06 \x01(\x0c\x12\x11\n\tbuildHash\x18\x07 \x01(\x0c\x12\x13\n\x0b\x64\x65viceProps\x18\x08 \x01(\x0c\x1a\xc2\x01\n\tDNSSource\x12H\n\tdnsMethod\x18\x0f \x01(\x0e\x32\x35.defproto.ClientPayload.DNSSource.DNSResolutionMethod\x12\x11\n\tappCached\x18\x10 \x01(\x08\"X\n\x13\x44NSResolutionMethod\x12\n\n\x06SYSTEM\x10\x00\x12\n\n\x06GOOGLE\x10\x01\x12\r\n\tHARDCODED\x10\x02\x12\x0c\n\x08OVERRIDE\x10\x03\x12\x0c\n\x08\x46\x41LLBACK\x10\x04\"E\n\x07Product\x12\x0c\n\x08WHATSAPP\x10\x00\x12\r\n\tMESSENGER\x10\x01\x12\x0b\n\x07INTEROP\x10\x02\x12\x10\n\x0cINTEROP_MSGR\x10\x03\"T\n\x0fIOSAppExtension\x12\x13\n\x0fSHARE_EXTENSION\x10\x00\x12\x15\n\x11SERVICE_EXTENSION\x10\x01\x12\x15\n\x11INTENTS_EXTENSION\x10\x02\"\xb0\x02\n\x0b\x43onnectType\x12\x14\n\x10\x43\x45LLULAR_UNKNOWN\x10\x00\x12\x10\n\x0cWIFI_UNKNOWN\x10\x01\x12\x11\n\rCELLULAR_EDGE\x10\x64\x12\x11\n\rCELLULAR_IDEN\x10\x65\x12\x11\n\rCELLULAR_UMTS\x10\x66\x12\x11\n\rCELLULAR_EVDO\x10g\x12\x11\n\rCELLULAR_GPRS\x10h\x12\x12\n\x0e\x43\x45LLULAR_HSDPA\x10i\x12\x12\n\x0e\x43\x45LLULAR_HSUPA\x10j\x12\x11\n\rCELLULAR_HSPA\x10k\x12\x11\n\rCELLULAR_CDMA\x10l\x12\x12\n\x0e\x43\x45LLULAR_1XRTT\x10m\x12\x12\n\x0e\x43\x45LLULAR_EHRPD\x10n\x12\x10\n\x0c\x43\x45LLULAR_LTE\x10o\x12\x12\n\x0e\x43\x45LLULAR_HSPAP\x10p\"\x86\x01\n\rConnectReason\x12\x08\n\x04PUSH\x10\x00\x12\x12\n\x0eUSER_ACTIVATED\x10\x01\x12\r\n\tSCHEDULED\x10\x02\x12\x13\n\x0f\x45RROR_RECONNECT\x10\x03\x12\x12\n\x0eNETWORK_SWITCH\x10\x04\x12\x12\n\x0ePING_RECONNECT\x10\x05\x12\x0b\n\x07UNKNOWN\x10\x06\"\x8c\x01\n\x14WebNotificationsInfo\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x13\n\x0bunreadChats\x18\x03 \x01(\r\x12\x1a\n\x12notifyMessageCount\x18\x04 \x01(\r\x12\x30\n\x0enotifyMessages\x18\x05 \x03(\x0b\x32\x18.defproto.WebMessageInfo\"\x89\x45\n\x0eWebMessageInfo\x12!\n\x03key\x18\x01 \x02(\x0b\x32\x14.defproto.MessageKey\x12\"\n\x07message\x18\x02 \x01(\x0b\x32\x11.defproto.Message\x12\x18\n\x10messageTimestamp\x18\x03 \x01(\x04\x12/\n\x06status\x18\x04 \x01(\x0e\x32\x1f.defproto.WebMessageInfo.Status\x12\x13\n\x0bparticipant\x18\x05 \x01(\t\x12\x1b\n\x13messageC2STimestamp\x18\x06 \x01(\x04\x12\x0e\n\x06ignore\x18\x10 \x01(\x08\x12\x0f\n\x07starred\x18\x11 \x01(\x08\x12\x11\n\tbroadcast\x18\x12 \x01(\x08\x12\x10\n\x08pushName\x18\x13 \x01(\t\x12\x1d\n\x15mediaCiphertextSha256\x18\x14 \x01(\x0c\x12\x11\n\tmulticast\x18\x15 \x01(\x08\x12\x0f\n\x07urlText\x18\x16 \x01(\x08\x12\x11\n\turlNumber\x18\x17 \x01(\x08\x12:\n\x0fmessageStubType\x18\x18 \x01(\x0e\x32!.defproto.WebMessageInfo.StubType\x12\x12\n\nclearMedia\x18\x19 \x01(\x08\x12\x1d\n\x15messageStubParameters\x18\x1a \x03(\t\x12\x10\n\x08\x64uration\x18\x1b \x01(\r\x12\x0e\n\x06labels\x18\x1c \x03(\t\x12*\n\x0bpaymentInfo\x18\x1d \x01(\x0b\x32\x15.defproto.PaymentInfo\x12\x38\n\x11\x66inalLiveLocation\x18\x1e \x01(\x0b\x32\x1d.defproto.LiveLocationMessage\x12\x30\n\x11quotedPaymentInfo\x18\x1f \x01(\x0b\x32\x15.defproto.PaymentInfo\x12\x1f\n\x17\x65phemeralStartTimestamp\x18 \x01(\x04\x12\x19\n\x11\x65phemeralDuration\x18! \x01(\r\x12\x18\n\x10\x65phemeralOffToOn\x18\" \x01(\x08\x12\x1a\n\x12\x65phemeralOutOfSync\x18# \x01(\x08\x12\x43\n\x10\x62izPrivacyStatus\x18$ \x01(\x0e\x32).defproto.WebMessageInfo.BizPrivacyStatus\x12\x17\n\x0fverifiedBizName\x18% \x01(\t\x12&\n\tmediaData\x18& \x01(\x0b\x32\x13.defproto.MediaData\x12*\n\x0bphotoChange\x18\' \x01(\x0b\x32\x15.defproto.PhotoChange\x12*\n\x0buserReceipt\x18( \x03(\x0b\x32\x15.defproto.UserReceipt\x12%\n\treactions\x18) \x03(\x0b\x32\x12.defproto.Reaction\x12.\n\x11quotedStickerData\x18* \x01(\x0b\x32\x13.defproto.MediaData\x12\x17\n\x0f\x66utureproofData\x18+ \x01(\x0c\x12&\n\tstatusPsa\x18, \x01(\x0b\x32\x13.defproto.StatusPSA\x12)\n\x0bpollUpdates\x18- \x03(\x0b\x32\x14.defproto.PollUpdate\x12@\n\x16pollAdditionalMetadata\x18. \x01(\x0b\x32 .defproto.PollAdditionalMetadata\x12\x0f\n\x07\x61gentId\x18/ \x01(\t\x12\x1b\n\x13statusAlreadyViewed\x18\x30 \x01(\x08\x12\x15\n\rmessageSecret\x18\x31 \x01(\x0c\x12(\n\nkeepInChat\x18\x32 \x01(\x0b\x32\x14.defproto.KeepInChat\x12\'\n\x1foriginalSelfAuthorUserJidString\x18\x33 \x01(\t\x12\x1e\n\x16revokeMessageTimestamp\x18\x34 \x01(\x04\x12&\n\tpinInChat\x18\x36 \x01(\x0b\x32\x13.defproto.PinInChat\x12\x38\n\x12premiumMessageInfo\x18\x37 \x01(\x0b\x32\x1c.defproto.PremiumMessageInfo\x12\x19\n\x11is1PBizBotMessage\x18\x38 \x01(\x08\x12\x1d\n\x15isGroupHistoryMessage\x18\x39 \x01(\x08\x12\x1c\n\x14\x62otMessageInvokerJid\x18: \x01(\t\x12\x32\n\x0f\x63ommentMetadata\x18; \x01(\x0b\x32\x19.defproto.CommentMetadata\x12/\n\x0e\x65ventResponses\x18= \x03(\x0b\x32\x17.defproto.EventResponse\x12\x38\n\x12reportingTokenInfo\x18> \x01(\x0b\x32\x1c.defproto.ReportingTokenInfo\x12\x1a\n\x12newsletterServerId\x18? \x01(\x04\"\xd2\x35\n\x08StubType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06REVOKE\x10\x01\x12\x0e\n\nCIPHERTEXT\x10\x02\x12\x0f\n\x0b\x46UTUREPROOF\x10\x03\x12\x1b\n\x17NON_VERIFIED_TRANSITION\x10\x04\x12\x19\n\x15UNVERIFIED_TRANSITION\x10\x05\x12\x17\n\x13VERIFIED_TRANSITION\x10\x06\x12\x18\n\x14VERIFIED_LOW_UNKNOWN\x10\x07\x12\x11\n\rVERIFIED_HIGH\x10\x08\x12\x1c\n\x18VERIFIED_INITIAL_UNKNOWN\x10\t\x12\x18\n\x14VERIFIED_INITIAL_LOW\x10\n\x12\x19\n\x15VERIFIED_INITIAL_HIGH\x10\x0b\x12#\n\x1fVERIFIED_TRANSITION_ANY_TO_NONE\x10\x0c\x12#\n\x1fVERIFIED_TRANSITION_ANY_TO_HIGH\x10\r\x12#\n\x1fVERIFIED_TRANSITION_HIGH_TO_LOW\x10\x0e\x12\'\n#VERIFIED_TRANSITION_HIGH_TO_UNKNOWN\x10\x0f\x12&\n\"VERIFIED_TRANSITION_UNKNOWN_TO_LOW\x10\x10\x12&\n\"VERIFIED_TRANSITION_LOW_TO_UNKNOWN\x10\x11\x12#\n\x1fVERIFIED_TRANSITION_NONE_TO_LOW\x10\x12\x12\'\n#VERIFIED_TRANSITION_NONE_TO_UNKNOWN\x10\x13\x12\x10\n\x0cGROUP_CREATE\x10\x14\x12\x18\n\x14GROUP_CHANGE_SUBJECT\x10\x15\x12\x15\n\x11GROUP_CHANGE_ICON\x10\x16\x12\x1c\n\x18GROUP_CHANGE_INVITE_LINK\x10\x17\x12\x1c\n\x18GROUP_CHANGE_DESCRIPTION\x10\x18\x12\x19\n\x15GROUP_CHANGE_RESTRICT\x10\x19\x12\x19\n\x15GROUP_CHANGE_ANNOUNCE\x10\x1a\x12\x19\n\x15GROUP_PARTICIPANT_ADD\x10\x1b\x12\x1c\n\x18GROUP_PARTICIPANT_REMOVE\x10\x1c\x12\x1d\n\x19GROUP_PARTICIPANT_PROMOTE\x10\x1d\x12\x1c\n\x18GROUP_PARTICIPANT_DEMOTE\x10\x1e\x12\x1c\n\x18GROUP_PARTICIPANT_INVITE\x10\x1f\x12\x1b\n\x17GROUP_PARTICIPANT_LEAVE\x10 \x12#\n\x1fGROUP_PARTICIPANT_CHANGE_NUMBER\x10!\x12\x14\n\x10\x42ROADCAST_CREATE\x10\"\x12\x11\n\rBROADCAST_ADD\x10#\x12\x14\n\x10\x42ROADCAST_REMOVE\x10$\x12\x18\n\x14GENERIC_NOTIFICATION\x10%\x12\x18\n\x14\x45\x32\x45_IDENTITY_CHANGED\x10&\x12\x11\n\rE2E_ENCRYPTED\x10\'\x12\x15\n\x11\x43\x41LL_MISSED_VOICE\x10(\x12\x15\n\x11\x43\x41LL_MISSED_VIDEO\x10)\x12\x1c\n\x18INDIVIDUAL_CHANGE_NUMBER\x10*\x12\x10\n\x0cGROUP_DELETE\x10+\x12&\n\"GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE\x10,\x12\x1b\n\x17\x43\x41LL_MISSED_GROUP_VOICE\x10-\x12\x1b\n\x17\x43\x41LL_MISSED_GROUP_VIDEO\x10.\x12\x16\n\x12PAYMENT_CIPHERTEXT\x10/\x12\x17\n\x13PAYMENT_FUTUREPROOF\x10\x30\x12,\n(PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED\x10\x31\x12.\n*PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED\x10\x32\x12\x33\n/PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED\x10\x33\x12\x35\n1PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP\x10\x34\x12<\n8PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP\x10\x35\x12)\n%PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER\x10\x36\x12(\n$PAYMENT_ACTION_SEND_PAYMENT_REMINDER\x10\x37\x12*\n&PAYMENT_ACTION_SEND_PAYMENT_INVITATION\x10\x38\x12#\n\x1fPAYMENT_ACTION_REQUEST_DECLINED\x10\x39\x12\"\n\x1ePAYMENT_ACTION_REQUEST_EXPIRED\x10:\x12$\n PAYMENT_ACTION_REQUEST_CANCELLED\x10;\x12)\n%BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM\x10<\x12)\n%BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP\x10=\x12\x11\n\rBIZ_INTRO_TOP\x10>\x12\x14\n\x10\x42IZ_INTRO_BOTTOM\x10?\x12\x13\n\x0f\x42IZ_NAME_CHANGE\x10@\x12\x1c\n\x18\x42IZ_MOVE_TO_CONSUMER_APP\x10\x41\x12\x1e\n\x1a\x42IZ_TWO_TIER_MIGRATION_TOP\x10\x42\x12!\n\x1d\x42IZ_TWO_TIER_MIGRATION_BOTTOM\x10\x43\x12\r\n\tOVERSIZED\x10\x44\x12(\n$GROUP_CHANGE_NO_FREQUENTLY_FORWARDED\x10\x45\x12\x1c\n\x18GROUP_V4_ADD_INVITE_SENT\x10\x46\x12&\n\"GROUP_PARTICIPANT_ADD_REQUEST_JOIN\x10G\x12\x1c\n\x18\x43HANGE_EPHEMERAL_SETTING\x10H\x12\x16\n\x12\x45\x32\x45_DEVICE_CHANGED\x10I\x12\x0f\n\x0bVIEWED_ONCE\x10J\x12\x15\n\x11\x45\x32\x45_ENCRYPTED_NOW\x10K\x12\"\n\x1e\x42LUE_MSG_BSP_FB_TO_BSP_PREMISE\x10L\x12\x1e\n\x1a\x42LUE_MSG_BSP_FB_TO_SELF_FB\x10M\x12#\n\x1f\x42LUE_MSG_BSP_FB_TO_SELF_PREMISE\x10N\x12\x1e\n\x1a\x42LUE_MSG_BSP_FB_UNVERIFIED\x10O\x12\x37\n3BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED\x10P\x12\x1c\n\x18\x42LUE_MSG_BSP_FB_VERIFIED\x10Q\x12\x37\n3BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED\x10R\x12(\n$BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE\x10S\x12#\n\x1f\x42LUE_MSG_BSP_PREMISE_UNVERIFIED\x10T\x12<\n8BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED\x10U\x12!\n\x1d\x42LUE_MSG_BSP_PREMISE_VERIFIED\x10V\x12<\n8BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED\x10W\x12*\n&BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED\x10X\x12/\n+BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED\x10Y\x12+\n\'BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED\x10Z\x12\x30\n,BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED\x10[\x12#\n\x1f\x42LUE_MSG_SELF_FB_TO_BSP_PREMISE\x10\\\x12$\n BLUE_MSG_SELF_FB_TO_SELF_PREMISE\x10]\x12\x1f\n\x1b\x42LUE_MSG_SELF_FB_UNVERIFIED\x10^\x12\x38\n4BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED\x10_\x12\x1d\n\x19\x42LUE_MSG_SELF_FB_VERIFIED\x10`\x12\x38\n4BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED\x10\x61\x12(\n$BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE\x10\x62\x12$\n BLUE_MSG_SELF_PREMISE_UNVERIFIED\x10\x63\x12\"\n\x1e\x42LUE_MSG_SELF_PREMISE_VERIFIED\x10\x64\x12\x16\n\x12\x42LUE_MSG_TO_BSP_FB\x10\x65\x12\x18\n\x14\x42LUE_MSG_TO_CONSUMER\x10\x66\x12\x17\n\x13\x42LUE_MSG_TO_SELF_FB\x10g\x12*\n&BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED\x10h\x12/\n+BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED\x10i\x12+\n\'BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED\x10j\x12#\n\x1f\x42LUE_MSG_UNVERIFIED_TO_VERIFIED\x10k\x12*\n&BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED\x10l\x12/\n+BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED\x10m\x12+\n\'BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED\x10n\x12#\n\x1f\x42LUE_MSG_VERIFIED_TO_UNVERIFIED\x10o\x12\x36\n2BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED\x10p\x12\x32\n.BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED\x10q\x12\x36\n2BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED\x10r\x12\x32\n.BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED\x10s\x12\x37\n3BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED\x10t\x12\x37\n3BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED\x10u\x12\x1c\n\x18\x45\x32\x45_IDENTITY_UNAVAILABLE\x10v\x12\x12\n\x0eGROUP_CREATING\x10w\x12\x17\n\x13GROUP_CREATE_FAILED\x10x\x12\x11\n\rGROUP_BOUNCED\x10y\x12\x11\n\rBLOCK_CONTACT\x10z\x12!\n\x1d\x45PHEMERAL_SETTING_NOT_APPLIED\x10{\x12\x0f\n\x0bSYNC_FAILED\x10|\x12\x0b\n\x07SYNCING\x10}\x12\x1c\n\x18\x42IZ_PRIVACY_MODE_INIT_FB\x10~\x12\x1d\n\x19\x42IZ_PRIVACY_MODE_INIT_BSP\x10\x7f\x12\x1b\n\x16\x42IZ_PRIVACY_MODE_TO_FB\x10\x80\x01\x12\x1c\n\x17\x42IZ_PRIVACY_MODE_TO_BSP\x10\x81\x01\x12\x16\n\x11\x44ISAPPEARING_MODE\x10\x82\x01\x12\x1c\n\x17\x45\x32\x45_DEVICE_FETCH_FAILED\x10\x83\x01\x12\x11\n\x0c\x41\x44MIN_REVOKE\x10\x84\x01\x12$\n\x1fGROUP_INVITE_LINK_GROWTH_LOCKED\x10\x85\x01\x12 \n\x1b\x43OMMUNITY_LINK_PARENT_GROUP\x10\x86\x01\x12!\n\x1c\x43OMMUNITY_LINK_SIBLING_GROUP\x10\x87\x01\x12\x1d\n\x18\x43OMMUNITY_LINK_SUB_GROUP\x10\x88\x01\x12\"\n\x1d\x43OMMUNITY_UNLINK_PARENT_GROUP\x10\x89\x01\x12#\n\x1e\x43OMMUNITY_UNLINK_SIBLING_GROUP\x10\x8a\x01\x12\x1f\n\x1a\x43OMMUNITY_UNLINK_SUB_GROUP\x10\x8b\x01\x12\x1d\n\x18GROUP_PARTICIPANT_ACCEPT\x10\x8c\x01\x12(\n#GROUP_PARTICIPANT_LINKED_GROUP_JOIN\x10\x8d\x01\x12\x15\n\x10\x43OMMUNITY_CREATE\x10\x8e\x01\x12\x1b\n\x16\x45PHEMERAL_KEEP_IN_CHAT\x10\x8f\x01\x12+\n&GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST\x10\x90\x01\x12(\n#GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE\x10\x91\x01\x12\"\n\x1dINTEGRITY_UNLINK_PARENT_GROUP\x10\x92\x01\x12\"\n\x1d\x43OMMUNITY_PARTICIPANT_PROMOTE\x10\x93\x01\x12!\n\x1c\x43OMMUNITY_PARTICIPANT_DEMOTE\x10\x94\x01\x12#\n\x1e\x43OMMUNITY_PARENT_GROUP_DELETED\x10\x95\x01\x12\x34\n/COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL\x10\x96\x01\x12\x34\n/GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP\x10\x97\x01\x12\x1a\n\x15MASKED_THREAD_CREATED\x10\x98\x01\x12\x1b\n\x16MASKED_THREAD_UNMASKED\x10\x99\x01\x12\x18\n\x13\x42IZ_CHAT_ASSIGNMENT\x10\x9a\x01\x12\r\n\x08\x43HAT_PSA\x10\x9b\x01\x12\x1f\n\x1a\x43HAT_POLL_CREATION_MESSAGE\x10\x9c\x01\x12\x1e\n\x19\x43\x41G_MASKED_THREAD_CREATED\x10\x9d\x01\x12+\n&COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED\x10\x9e\x01\x12\x18\n\x13\x43\x41G_INVITE_AUTO_ADD\x10\x9f\x01\x12!\n\x1c\x42IZ_CHAT_ASSIGNMENT_UNASSIGN\x10\xa0\x01\x12\x1b\n\x16\x43\x41G_INVITE_AUTO_JOINED\x10\xa1\x01\x12!\n\x1cSCHEDULED_CALL_START_MESSAGE\x10\xa2\x01\x12\x1a\n\x15\x43OMMUNITY_INVITE_RICH\x10\xa3\x01\x12#\n\x1e\x43OMMUNITY_INVITE_AUTO_ADD_RICH\x10\xa4\x01\x12\x1a\n\x15SUB_GROUP_INVITE_RICH\x10\xa5\x01\x12#\n\x1eSUB_GROUP_PARTICIPANT_ADD_RICH\x10\xa6\x01\x12%\n COMMUNITY_LINK_PARENT_GROUP_RICH\x10\xa7\x01\x12#\n\x1e\x43OMMUNITY_PARTICIPANT_ADD_RICH\x10\xa8\x01\x12\"\n\x1dSILENCED_UNKNOWN_CALLER_AUDIO\x10\xa9\x01\x12\"\n\x1dSILENCED_UNKNOWN_CALLER_VIDEO\x10\xaa\x01\x12\x1a\n\x15GROUP_MEMBER_ADD_MODE\x10\xab\x01\x12\x39\n4GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD\x10\xac\x01\x12!\n\x1c\x43OMMUNITY_CHANGE_DESCRIPTION\x10\xad\x01\x12\x12\n\rSENDER_INVITE\x10\xae\x01\x12\x14\n\x0fRECEIVER_INVITE\x10\xaf\x01\x12(\n#COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS\x10\xb0\x01\x12\x1b\n\x16PINNED_MESSAGE_IN_CHAT\x10\xb1\x01\x12!\n\x1cPAYMENT_INVITE_SETUP_INVITER\x10\xb2\x01\x12.\n)PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY\x10\xb3\x01\x12\x32\n-PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE\x10\xb4\x01\x12\x1c\n\x17LINKED_GROUP_CALL_START\x10\xb5\x01\x12#\n\x1eREPORT_TO_ADMIN_ENABLED_STATUS\x10\xb6\x01\x12\x1a\n\x15\x45MPTY_SUBGROUP_CREATE\x10\xb7\x01\x12\x1a\n\x15SCHEDULED_CALL_CANCEL\x10\xb8\x01\x12+\n&SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH\x10\xb9\x01\x12(\n#GROUP_CHANGE_RECENT_HISTORY_SHARING\x10\xba\x01\x12$\n\x1fPAID_MESSAGE_SERVER_CAMPAIGN_ID\x10\xbb\x01\x12\x18\n\x13GENERAL_CHAT_CREATE\x10\xbc\x01\x12\x15\n\x10GENERAL_CHAT_ADD\x10\xbd\x01\x12#\n\x1eGENERAL_CHAT_AUTO_ADD_DISABLED\x10\xbe\x01\x12 \n\x1bSUGGESTED_SUBGROUP_ANNOUNCE\x10\xbf\x01\x12!\n\x1c\x42IZ_BOT_1P_MESSAGING_ENABLED\x10\xc0\x01\x12\x14\n\x0f\x43HANGE_USERNAME\x10\xc1\x01\x12\x1f\n\x1a\x42IZ_COEX_PRIVACY_INIT_SELF\x10\xc2\x01\x12%\n BIZ_COEX_PRIVACY_TRANSITION_SELF\x10\xc3\x01\x12\x19\n\x14SUPPORT_AI_EDUCATION\x10\xc4\x01\x12!\n\x1c\x42IZ_BOT_3P_MESSAGING_ENABLED\x10\xc5\x01\x12\x1b\n\x16REMINDER_SETUP_MESSAGE\x10\xc6\x01\x12\x1a\n\x15REMINDER_SENT_MESSAGE\x10\xc7\x01\x12\x1c\n\x17REMINDER_CANCEL_MESSAGE\x10\xc8\x01\"X\n\x06Status\x12\t\n\x05\x45RROR\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0e\n\nSERVER_ACK\x10\x02\x12\x10\n\x0c\x44\x45LIVERY_ACK\x10\x03\x12\x08\n\x04READ\x10\x04\x12\n\n\x06PLAYED\x10\x05\"=\n\x10\x42izPrivacyStatus\x12\x08\n\x04\x45\x32\x45\x45\x10\x00\x12\x06\n\x02\x46\x42\x10\x02\x12\x07\n\x03\x42SP\x10\x01\x12\x0e\n\nBSP_AND_FB\x10\x03\"\xe2\x13\n\x0bWebFeatures\x12\x31\n\rlabelsDisplay\x18\x01 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12:\n\x16voipIndividualOutgoing\x18\x02 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12,\n\x08groupsV3\x18\x03 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x32\n\x0egroupsV3Create\x18\x04 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x32\n\x0e\x63hangeNumberV2\x18\x05 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12:\n\x16queryStatusV3Thumbnail\x18\x06 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x31\n\rliveLocations\x18\x07 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12.\n\nqueryVname\x18\x08 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12:\n\x16voipIndividualIncoming\x18\t \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x35\n\x11quickRepliesQuery\x18\n \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12,\n\x08payments\x18\x0b \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x34\n\x10stickerPackQuery\x18\x0c \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x36\n\x12liveLocationsFinal\x18\r \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12.\n\nlabelsEdit\x18\x0e \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12/\n\x0bmediaUpload\x18\x0f \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12?\n\x1bmediaUploadRichQuickReplies\x18\x12 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12+\n\x07vnameV2\x18\x13 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x34\n\x10videoPlaybackUrl\x18\x14 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x31\n\rstatusRanking\x18\x15 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x37\n\x13voipIndividualVideo\x18\x16 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x36\n\x12thirdPartyStickers\x18\x17 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12>\n\x1a\x66requentlyForwardedSetting\x18\x18 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12:\n\x16groupsV4JoinPermission\x18\x19 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x32\n\x0erecentStickers\x18\x1a \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12+\n\x07\x63\x61talog\x18\x1b \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x33\n\x0fstarredStickers\x18\x1c \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x31\n\rvoipGroupCall\x18\x1d \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x33\n\x0ftemplateMessage\x18\x1e \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12@\n\x1ctemplateMessageInteractivity\x18\x1f \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x35\n\x11\x65phemeralMessages\x18 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x37\n\x13\x65\x32\x45NotificationSync\x18! \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x34\n\x10recentStickersV2\x18\" \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x34\n\x10recentStickersV3\x18$ \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12.\n\nuserNotice\x18% \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12+\n\x07support\x18\' \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x33\n\x0fgroupUiiCleanup\x18( \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12?\n\x1bgroupDogfoodingInternalOnly\x18) \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x30\n\x0csettingsSync\x18* \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12-\n\tarchiveV2\x18+ \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12>\n\x1a\x65phemeralAllowGroupMembers\x18, \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x38\n\x14\x65phemeral24HDuration\x18- \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x32\n\x0emdForceUpgrade\x18. \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12\x34\n\x10\x64isappearingMode\x18/ \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12<\n\x18\x65xternalMdOptInAvailable\x18\x30 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\x12<\n\x18noDeleteMessageTimeLimit\x18\x31 \x01(\x0e\x32\x1a.defproto.WebFeatures.Flag\"K\n\x04\x46lag\x12\x0f\n\x0bNOT_STARTED\x10\x00\x12\x11\n\rFORCE_UPGRADE\x10\x01\x12\x0f\n\x0b\x44\x45VELOPMENT\x10\x02\x12\x0e\n\nPRODUCTION\x10\x03\"\x9e\x01\n\x0bUserReceipt\x12\x0f\n\x07userJid\x18\x01 \x02(\t\x12\x18\n\x10receiptTimestamp\x18\x02 \x01(\x03\x12\x15\n\rreadTimestamp\x18\x03 \x01(\x03\x12\x17\n\x0fplayedTimestamp\x18\x04 \x01(\x03\x12\x18\n\x10pendingDeviceJid\x18\x05 \x03(\t\x12\x1a\n\x12\x64\x65liveredDeviceJid\x18\x06 \x03(\t\"D\n\tStatusPSA\x12\x12\n\ncampaignId\x18, \x02(\x04\x12#\n\x1b\x63\x61mpaignExpirationTimestamp\x18- \x01(\x04\"*\n\x12ReportingTokenInfo\x12\x14\n\x0creportingTag\x18\x01 \x01(\x0c\"{\n\x08Reaction\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x13\n\x0bgroupingKey\x18\x03 \x01(\t\x12\x19\n\x11senderTimestampMs\x18\x04 \x01(\x03\x12\x0e\n\x06unread\x18\x05 \x01(\x08\".\n\x12PremiumMessageInfo\x12\x18\n\x10serverCampaignId\x18\x01 \x01(\t\"\xaf\x01\n\nPollUpdate\x12\x32\n\x14pollUpdateMessageKey\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12\'\n\x04vote\x18\x02 \x01(\x0b\x32\x19.defproto.PollVoteMessage\x12\x19\n\x11senderTimestampMs\x18\x03 \x01(\x03\x12\x19\n\x11serverTimestampMs\x18\x04 \x01(\x03\x12\x0e\n\x06unread\x18\x05 \x01(\x08\"1\n\x16PollAdditionalMetadata\x12\x17\n\x0fpollInvalidated\x18\x01 \x01(\x08\"\x8e\x02\n\tPinInChat\x12&\n\x04type\x18\x01 \x01(\x0e\x32\x18.defproto.PinInChat.Type\x12!\n\x03key\x18\x02 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x19\n\x11senderTimestampMs\x18\x03 \x01(\x03\x12\x19\n\x11serverTimestampMs\x18\x04 \x01(\x03\x12\x42\n\x17messageAddOnContextInfo\x18\x05 \x01(\x0b\x32!.defproto.MessageAddOnContextInfo\"<\n\x04Type\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\x0f\n\x0bPIN_FOR_ALL\x10\x01\x12\x11\n\rUNPIN_FOR_ALL\x10\x02\"E\n\x0bPhotoChange\x12\x10\n\x08oldPhoto\x18\x01 \x01(\x0c\x12\x10\n\x08newPhoto\x18\x02 \x01(\x0c\x12\x12\n\nnewPhotoId\x18\x03 \x01(\r\"\xe7\n\n\x0bPaymentInfo\x12:\n\x12\x63urrencyDeprecated\x18\x01 \x01(\x0e\x32\x1e.defproto.PaymentInfo.Currency\x12\x12\n\namount1000\x18\x02 \x01(\x04\x12\x13\n\x0breceiverJid\x18\x03 \x01(\t\x12,\n\x06status\x18\x04 \x01(\x0e\x32\x1c.defproto.PaymentInfo.Status\x12\x1c\n\x14transactionTimestamp\x18\x05 \x01(\x04\x12/\n\x11requestMessageKey\x18\x06 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x17\n\x0f\x65xpiryTimestamp\x18\x07 \x01(\x04\x12\x15\n\rfutureproofed\x18\x08 \x01(\x08\x12\x10\n\x08\x63urrency\x18\t \x01(\t\x12\x32\n\ttxnStatus\x18\n \x01(\x0e\x32\x1f.defproto.PaymentInfo.TxnStatus\x12\x19\n\x11useNoviFiatFormat\x18\x0b \x01(\x08\x12&\n\rprimaryAmount\x18\x0c \x01(\x0b\x32\x0f.defproto.Money\x12\'\n\x0e\x65xchangeAmount\x18\r \x01(\x0b\x32\x0f.defproto.Money\"\x99\x05\n\tTxnStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rPENDING_SETUP\x10\x01\x12\x1a\n\x16PENDING_RECEIVER_SETUP\x10\x02\x12\x08\n\x04INIT\x10\x03\x12\x0b\n\x07SUCCESS\x10\x04\x12\r\n\tCOMPLETED\x10\x05\x12\n\n\x06\x46\x41ILED\x10\x06\x12\x0f\n\x0b\x46\x41ILED_RISK\x10\x07\x12\x15\n\x11\x46\x41ILED_PROCESSING\x10\x08\x12\x1e\n\x1a\x46\x41ILED_RECEIVER_PROCESSING\x10\t\x12\r\n\tFAILED_DA\x10\n\x12\x13\n\x0f\x46\x41ILED_DA_FINAL\x10\x0b\x12\x10\n\x0cREFUNDED_TXN\x10\x0c\x12\x11\n\rREFUND_FAILED\x10\r\x12\x1c\n\x18REFUND_FAILED_PROCESSING\x10\x0e\x12\x14\n\x10REFUND_FAILED_DA\x10\x0f\x12\x0f\n\x0b\x45XPIRED_TXN\x10\x10\x12\x11\n\rAUTH_CANCELED\x10\x11\x12!\n\x1d\x41UTH_CANCEL_FAILED_PROCESSING\x10\x12\x12\x16\n\x12\x41UTH_CANCEL_FAILED\x10\x13\x12\x10\n\x0c\x43OLLECT_INIT\x10\x14\x12\x13\n\x0f\x43OLLECT_SUCCESS\x10\x15\x12\x12\n\x0e\x43OLLECT_FAILED\x10\x16\x12\x17\n\x13\x43OLLECT_FAILED_RISK\x10\x17\x12\x14\n\x10\x43OLLECT_REJECTED\x10\x18\x12\x13\n\x0f\x43OLLECT_EXPIRED\x10\x19\x12\x14\n\x10\x43OLLECT_CANCELED\x10\x1a\x12\x16\n\x12\x43OLLECT_CANCELLING\x10\x1b\x12\r\n\tIN_REVIEW\x10\x1c\x12\x14\n\x10REVERSAL_SUCCESS\x10\x1d\x12\x14\n\x10REVERSAL_PENDING\x10\x1e\x12\x12\n\x0eREFUND_PENDING\x10\x1f\"\xcc\x01\n\x06Status\x12\x12\n\x0eUNKNOWN_STATUS\x10\x00\x12\x0e\n\nPROCESSING\x10\x01\x12\x08\n\x04SENT\x10\x02\x12\x12\n\x0eNEED_TO_ACCEPT\x10\x03\x12\x0c\n\x08\x43OMPLETE\x10\x04\x12\x16\n\x12\x43OULD_NOT_COMPLETE\x10\x05\x12\x0c\n\x08REFUNDED\x10\x06\x12\x0b\n\x07\x45XPIRED\x10\x07\x12\x0c\n\x08REJECTED\x10\x08\x12\r\n\tCANCELLED\x10\t\x12\x15\n\x11WAITING_FOR_PAYER\x10\n\x12\x0b\n\x07WAITING\x10\x0b\")\n\x08\x43urrency\x12\x14\n\x10UNKNOWN_CURRENCY\x10\x00\x12\x07\n\x03INR\x10\x01\"\x8f\x01\n\x17NotificationMessageInfo\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12\"\n\x07message\x18\x02 \x01(\x0b\x32\x11.defproto.Message\x12\x18\n\x10messageTimestamp\x18\x03 \x01(\x04\x12\x13\n\x0bparticipant\x18\x04 \x01(\t\"=\n\x17MessageAddOnContextInfo\x12\"\n\x1amessageAddOnDurationInSecs\x18\x01 \x01(\r\"\x1e\n\tMediaData\x12\x11\n\tlocalPath\x18\x01 \x01(\t\"\xb7\x01\n\nKeepInChat\x12$\n\x08keepType\x18\x01 \x01(\x0e\x32\x12.defproto.KeepType\x12\x17\n\x0fserverTimestamp\x18\x02 \x01(\x03\x12!\n\x03key\x18\x03 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x11\n\tdeviceJid\x18\x04 \x01(\t\x12\x19\n\x11\x63lientTimestampMs\x18\x05 \x01(\x03\x12\x19\n\x11serverTimestampMs\x18\x06 \x01(\x03\"\xa9\x01\n\rEventResponse\x12\x35\n\x17\x65ventResponseMessageKey\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x13\n\x0btimestampMs\x18\x02 \x01(\x03\x12<\n\x14\x65ventResponseMessage\x18\x03 \x01(\x0b\x32\x1e.defproto.EventResponseMessage\x12\x0e\n\x06unread\x18\x04 \x01(\x08\"U\n\x0f\x43ommentMetadata\x12.\n\x10\x63ommentParentKey\x18\x01 \x01(\x0b\x32\x14.defproto.MessageKey\x12\x12\n\nreplyCount\x18\x02 \x01(\r\"\x90\x01\n\x10NoiseCertificate\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x1aX\n\x07\x44\x65tails\x12\x0e\n\x06serial\x18\x01 \x01(\r\x12\x0e\n\x06issuer\x18\x02 \x01(\t\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0f\n\x07subject\x18\x04 \x01(\t\x12\x0b\n\x03key\x18\x05 \x01(\x0c\"\x97\x02\n\tCertChain\x12\x32\n\x04leaf\x18\x01 \x01(\x0b\x32$.defproto.CertChain.NoiseCertificate\x12:\n\x0cintermediate\x18\x02 \x01(\x0b\x32$.defproto.CertChain.NoiseCertificate\x1a\x99\x01\n\x10NoiseCertificate\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x1a\x61\n\x07\x44\x65tails\x12\x0e\n\x06serial\x18\x01 \x01(\r\x12\x14\n\x0cissuerSerial\x18\x02 \x01(\r\x12\x0b\n\x03key\x18\x03 \x01(\x0c\x12\x11\n\tnotBefore\x18\x04 \x01(\x04\x12\x10\n\x08notAfter\x18\x05 \x01(\x04\"\xbc\x04\n\x02QP\x1a\xcf\x01\n\x06\x46ilter\x12\x12\n\nfilterName\x18\x01 \x02(\t\x12\x31\n\nparameters\x18\x02 \x03(\x0b\x32\x1d.defproto.QP.FilterParameters\x12/\n\x0c\x66ilterResult\x18\x03 \x01(\x0e\x32\x19.defproto.QP.FilterResult\x12M\n\x18\x63lientNotSupportedConfig\x18\x04 \x02(\x0e\x32+.defproto.QP.FilterClientNotSupportedConfig\x1a.\n\x10\x46ilterParameters\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x1a\x8d\x01\n\x0c\x46ilterClause\x12+\n\nclauseType\x18\x01 \x02(\x0e\x32\x17.defproto.QP.ClauseType\x12*\n\x07\x63lauses\x18\x02 \x03(\x0b\x32\x19.defproto.QP.FilterClause\x12$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.defproto.QP.Filter\"0\n\x0c\x46ilterResult\x12\x08\n\x04TRUE\x10\x01\x12\t\n\x05\x46\x41LSE\x10\x02\x12\x0b\n\x07UNKNOWN\x10\x03\"J\n\x1e\x46ilterClientNotSupportedConfig\x12\x13\n\x0fPASS_BY_DEFAULT\x10\x01\x12\x13\n\x0f\x46\x41IL_BY_DEFAULT\x10\x02\"&\n\nClauseType\x12\x07\n\x03\x41ND\x10\x01\x12\x06\n\x02OR\x10\x02\x12\x07\n\x03NOR\x10\x03*)\n\x11\x41\x44VEncryptionType\x12\x08\n\x04\x45\x32\x45\x45\x10\x00\x12\n\n\x06HOSTED\x10\x01*@\n\x08KeepType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x10\n\x0cKEEP_FOR_ALL\x10\x01\x12\x15\n\x11UNDO_KEEP_FOR_ALL\x10\x02*\xac\x01\n\x1cPeerDataOperationRequestType\x12\x12\n\x0eUPLOAD_STICKER\x10\x00\x12!\n\x1dSEND_RECENT_STICKER_BOOTSTRAP\x10\x01\x12\x19\n\x15GENERATE_LINK_PREVIEW\x10\x02\x12\x1a\n\x16HISTORY_SYNC_ON_DEMAND\x10\x03\x12\x1e\n\x1aPLACEHOLDER_MESSAGE_RESEND\x10\x04*/\n\x0fMediaVisibility\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x07\n\x03OFF\x10\x01\x12\x06\n\x02ON\x10\x02\x42\x33Z1github.com/krypton-byte/neonize/defproto;defproto') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'def_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'Z1github.com/krypton-byte/neonize/defproto;defproto' - _globals['_ADVKEYINDEXLIST'].fields_by_name['validIndexes']._options = None - _globals['_ADVKEYINDEXLIST'].fields_by_name['validIndexes']._serialized_options = b'\020\001' - _globals['_APPSTATESYNCKEYFINGERPRINT'].fields_by_name['deviceIndexes']._options = None - _globals['_APPSTATESYNCKEYFINGERPRINT'].fields_by_name['deviceIndexes']._serialized_options = b'\020\001' - _globals['_DEVICELISTMETADATA'].fields_by_name['senderKeyIndexes']._options = None - _globals['_DEVICELISTMETADATA'].fields_by_name['senderKeyIndexes']._serialized_options = b'\020\001' - _globals['_DEVICELISTMETADATA'].fields_by_name['recipientKeyIndexes']._options = None - _globals['_DEVICELISTMETADATA'].fields_by_name['recipientKeyIndexes']._serialized_options = b'\020\001' - _globals['_ADVENCRYPTIONTYPE']._serialized_start=69199 - _globals['_ADVENCRYPTIONTYPE']._serialized_end=69240 - _globals['_KEEPTYPE']._serialized_start=69242 - _globals['_KEEPTYPE']._serialized_end=69306 - _globals['_PEERDATAOPERATIONREQUESTTYPE']._serialized_start=69309 - _globals['_PEERDATAOPERATIONREQUESTTYPE']._serialized_end=69481 - _globals['_MEDIAVISIBILITY']._serialized_start=69483 - _globals['_MEDIAVISIBILITY']._serialized_end=69530 - _globals['_ADVSIGNEDKEYINDEXLIST']._serialized_start=23 - _globals['_ADVSIGNEDKEYINDEXLIST']._serialized_end=118 - _globals['_ADVSIGNEDDEVICEIDENTITY']._serialized_start=120 - _globals['_ADVSIGNEDDEVICEIDENTITY']._serialized_end=242 - _globals['_ADVSIGNEDDEVICEIDENTITYHMAC']._serialized_start=244 - _globals['_ADVSIGNEDDEVICEIDENTITYHMAC']._serialized_end=354 - _globals['_ADVKEYINDEXLIST']._serialized_start=357 - _globals['_ADVKEYINDEXLIST']._serialized_end=506 - _globals['_ADVDEVICEIDENTITY']._serialized_start=509 - _globals['_ADVDEVICEIDENTITY']._serialized_end=679 - _globals['_DEVICEPROPS']._serialized_start=682 - _globals['_DEVICEPROPS']._serialized_end=1613 - _globals['_DEVICEPROPS_HISTORYSYNCCONFIG']._serialized_start=912 - _globals['_DEVICEPROPS_HISTORYSYNCCONFIG']._serialized_end=1187 - _globals['_DEVICEPROPS_APPVERSION']._serialized_start=1189 - _globals['_DEVICEPROPS_APPVERSION']._serialized_end=1292 - _globals['_DEVICEPROPS_PLATFORMTYPE']._serialized_start=1295 - _globals['_DEVICEPROPS_PLATFORMTYPE']._serialized_end=1613 - _globals['_INTERACTIVEMESSAGE']._serialized_start=1616 - _globals['_INTERACTIVEMESSAGE']._serialized_end=3066 - _globals['_INTERACTIVEMESSAGE_SHOPMESSAGE']._serialized_start=2140 - _globals['_INTERACTIVEMESSAGE_SHOPMESSAGE']._serialized_end=2312 - _globals['_INTERACTIVEMESSAGE_SHOPMESSAGE_SURFACE']._serialized_start=2258 - _globals['_INTERACTIVEMESSAGE_SHOPMESSAGE_SURFACE']._serialized_end=2312 - _globals['_INTERACTIVEMESSAGE_NATIVEFLOWMESSAGE']._serialized_start=2315 - _globals['_INTERACTIVEMESSAGE_NATIVEFLOWMESSAGE']._serialized_end=2527 - _globals['_INTERACTIVEMESSAGE_NATIVEFLOWMESSAGE_NATIVEFLOWBUTTON']._serialized_start=2469 - _globals['_INTERACTIVEMESSAGE_NATIVEFLOWMESSAGE_NATIVEFLOWBUTTON']._serialized_end=2527 - _globals['_INTERACTIVEMESSAGE_HEADER']._serialized_start=2530 - _globals['_INTERACTIVEMESSAGE_HEADER']._serialized_end=2837 - _globals['_INTERACTIVEMESSAGE_FOOTER']._serialized_start=2839 - _globals['_INTERACTIVEMESSAGE_FOOTER']._serialized_end=2861 - _globals['_INTERACTIVEMESSAGE_COLLECTIONMESSAGE']._serialized_start=2863 - _globals['_INTERACTIVEMESSAGE_COLLECTIONMESSAGE']._serialized_end=2934 - _globals['_INTERACTIVEMESSAGE_CAROUSELMESSAGE']._serialized_start=2936 - _globals['_INTERACTIVEMESSAGE_CAROUSELMESSAGE']._serialized_end=3022 - _globals['_INTERACTIVEMESSAGE_BODY']._serialized_start=3024 - _globals['_INTERACTIVEMESSAGE_BODY']._serialized_end=3044 - _globals['_INITIALSECURITYNOTIFICATIONSETTINGSYNC']._serialized_start=3068 - _globals['_INITIALSECURITYNOTIFICATIONSETTINGSYNC']._serialized_end=3145 - _globals['_IMAGEMESSAGE']._serialized_start=3148 - _globals['_IMAGEMESSAGE']._serialized_end=3858 - _globals['_HISTORYSYNCNOTIFICATION']._serialized_start=3861 - _globals['_HISTORYSYNCNOTIFICATION']._serialized_end=4377 - _globals['_HISTORYSYNCNOTIFICATION_HISTORYSYNCTYPE']._serialized_start=4239 - _globals['_HISTORYSYNCNOTIFICATION_HISTORYSYNCTYPE']._serialized_end=4377 - _globals['_HIGHLYSTRUCTUREDMESSAGE']._serialized_start=4380 - _globals['_HIGHLYSTRUCTUREDMESSAGE']._serialized_end=5794 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER']._serialized_start=4688 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER']._serialized_end=5794 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME']._serialized_start=4915 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME']._serialized_end=5723 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMEUNIXEPOCH']._serialized_start=5156 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMEUNIXEPOCH']._serialized_end=5197 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT']._serialized_start=5200 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT']._serialized_end=5706 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT_DAYOFWEEKTYPE']._serialized_start=5551 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT_DAYOFWEEKTYPE']._serialized_end=5658 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT_CALENDARTYPE']._serialized_start=5660 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT_CALENDARTYPE']._serialized_end=5706 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMCURRENCY']._serialized_start=5725 - _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMCURRENCY']._serialized_end=5780 - _globals['_GROUPINVITEMESSAGE']._serialized_start=5797 - _globals['_GROUPINVITEMESSAGE']._serialized_end=6081 - _globals['_GROUPINVITEMESSAGE_GROUPTYPE']._serialized_start=6045 - _globals['_GROUPINVITEMESSAGE_GROUPTYPE']._serialized_end=6081 - _globals['_FUTUREPROOFMESSAGE']._serialized_start=6083 - _globals['_FUTUREPROOFMESSAGE']._serialized_end=6139 - _globals['_EXTENDEDTEXTMESSAGE']._serialized_start=6142 - _globals['_EXTENDEDTEXTMESSAGE']._serialized_end=7251 - _globals['_EXTENDEDTEXTMESSAGE_PREVIEWTYPE']._serialized_start=6948 - _globals['_EXTENDEDTEXTMESSAGE_PREVIEWTYPE']._serialized_end=7010 - _globals['_EXTENDEDTEXTMESSAGE_INVITELINKGROUPTYPE']._serialized_start=7012 - _globals['_EXTENDEDTEXTMESSAGE_INVITELINKGROUPTYPE']._serialized_end=7084 - _globals['_EXTENDEDTEXTMESSAGE_FONTTYPE']._serialized_start=7087 - _globals['_EXTENDEDTEXTMESSAGE_FONTTYPE']._serialized_end=7251 - _globals['_EVENTRESPONSEMESSAGE']._serialized_start=7254 - _globals['_EVENTRESPONSEMESSAGE']._serialized_end=7425 - _globals['_EVENTRESPONSEMESSAGE_EVENTRESPONSETYPE']._serialized_start=7367 - _globals['_EVENTRESPONSEMESSAGE_EVENTRESPONSETYPE']._serialized_end=7425 - _globals['_EVENTMESSAGE']._serialized_start=7428 - _globals['_EVENTMESSAGE']._serialized_end=7623 - _globals['_ENCREACTIONMESSAGE']._serialized_start=7625 - _globals['_ENCREACTIONMESSAGE']._serialized_end=7728 - _globals['_ENCEVENTRESPONSEMESSAGE']._serialized_start=7730 - _globals['_ENCEVENTRESPONSEMESSAGE']._serialized_end=7845 - _globals['_ENCCOMMENTMESSAGE']._serialized_start=7847 - _globals['_ENCCOMMENTMESSAGE']._serialized_end=7949 - _globals['_DOCUMENTMESSAGE']._serialized_start=7952 - _globals['_DOCUMENTMESSAGE']._serialized_end=8417 - _globals['_DEVICESENTMESSAGE']._serialized_start=8419 - _globals['_DEVICESENTMESSAGE']._serialized_end=8513 - _globals['_DECLINEPAYMENTREQUESTMESSAGE']._serialized_start=8515 - _globals['_DECLINEPAYMENTREQUESTMESSAGE']._serialized_end=8580 - _globals['_CONTACTSARRAYMESSAGE']._serialized_start=8583 - _globals['_CONTACTSARRAYMESSAGE']._serialized_end=8714 - _globals['_CONTACTMESSAGE']._serialized_start=8716 - _globals['_CONTACTMESSAGE']._serialized_end=8812 - _globals['_COMMENTMESSAGE']._serialized_start=8814 - _globals['_COMMENTMESSAGE']._serialized_end=8914 - _globals['_CHAT']._serialized_start=8916 - _globals['_CHAT']._serialized_end=8955 - _globals['_CANCELPAYMENTREQUESTMESSAGE']._serialized_start=8957 - _globals['_CANCELPAYMENTREQUESTMESSAGE']._serialized_end=9021 - _globals['_CALL']._serialized_start=9023 - _globals['_CALL']._serialized_end=9128 - _globals['_CALLLOGMESSAGE']._serialized_start=9131 - _globals['_CALLLOGMESSAGE']._serialized_end=9670 - _globals['_CALLLOGMESSAGE_CALLPARTICIPANT']._serialized_start=9364 - _globals['_CALLLOGMESSAGE_CALLPARTICIPANT']._serialized_end=9453 - _globals['_CALLLOGMESSAGE_CALLTYPE']._serialized_start=9455 - _globals['_CALLLOGMESSAGE_CALLTYPE']._serialized_end=9514 - _globals['_CALLLOGMESSAGE_CALLOUTCOME']._serialized_start=9517 - _globals['_CALLLOGMESSAGE_CALLOUTCOME']._serialized_end=9670 - _globals['_BUTTONSRESPONSEMESSAGE']._serialized_start=9673 - _globals['_BUTTONSRESPONSEMESSAGE']._serialized_end=9902 - _globals['_BUTTONSRESPONSEMESSAGE_TYPE']._serialized_start=9853 - _globals['_BUTTONSRESPONSEMESSAGE_TYPE']._serialized_end=9890 - _globals['_BUTTONSMESSAGE']._serialized_start=9905 - _globals['_BUTTONSMESSAGE']._serialized_end=10797 - _globals['_BUTTONSMESSAGE_BUTTON']._serialized_start=10336 - _globals['_BUTTONSMESSAGE_BUTTON']._serialized_end=10689 - _globals['_BUTTONSMESSAGE_BUTTON_NATIVEFLOWINFO']._serialized_start=10552 - _globals['_BUTTONSMESSAGE_BUTTON_NATIVEFLOWINFO']._serialized_end=10602 - _globals['_BUTTONSMESSAGE_BUTTON_BUTTONTEXT']._serialized_start=10604 - _globals['_BUTTONSMESSAGE_BUTTON_BUTTONTEXT']._serialized_end=10637 - _globals['_BUTTONSMESSAGE_BUTTON_TYPE']._serialized_start=10639 - _globals['_BUTTONSMESSAGE_BUTTON_TYPE']._serialized_end=10689 - _globals['_BUTTONSMESSAGE_HEADERTYPE']._serialized_start=10691 - _globals['_BUTTONSMESSAGE_HEADERTYPE']._serialized_end=10787 - _globals['_BOTFEEDBACKMESSAGE']._serialized_start=10800 - _globals['_BOTFEEDBACKMESSAGE']._serialized_end=11911 - _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKINDMULTIPLEPOSITIVE']._serialized_start=10982 - _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKINDMULTIPLEPOSITIVE']._serialized_end=11059 - _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKINDMULTIPLENEGATIVE']._serialized_start=11062 - _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKINDMULTIPLENEGATIVE']._serialized_end=11521 - _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKIND']._serialized_start=11524 - _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKIND']._serialized_end=11911 - _globals['_BCALLMESSAGE']._serialized_start=11914 - _globals['_BCALLMESSAGE']._serialized_end=12084 - _globals['_BCALLMESSAGE_MEDIATYPE']._serialized_start=12038 - _globals['_BCALLMESSAGE_MEDIATYPE']._serialized_end=12084 - _globals['_AUDIOMESSAGE']._serialized_start=12087 - _globals['_AUDIOMESSAGE']._serialized_end=12420 - _globals['_APPSTATESYNCKEY']._serialized_start=12422 - _globals['_APPSTATESYNCKEY']._serialized_end=12531 - _globals['_APPSTATESYNCKEYSHARE']._serialized_start=12533 - _globals['_APPSTATESYNCKEYSHARE']._serialized_end=12596 - _globals['_APPSTATESYNCKEYREQUEST']._serialized_start=12598 - _globals['_APPSTATESYNCKEYREQUEST']._serialized_end=12667 - _globals['_APPSTATESYNCKEYID']._serialized_start=12669 - _globals['_APPSTATESYNCKEYID']._serialized_end=12703 - _globals['_APPSTATESYNCKEYFINGERPRINT']._serialized_start=12705 - _globals['_APPSTATESYNCKEYFINGERPRINT']._serialized_end=12797 - _globals['_APPSTATESYNCKEYDATA']._serialized_start=12799 - _globals['_APPSTATESYNCKEYDATA']._serialized_end=12915 - _globals['_APPSTATEFATALEXCEPTIONNOTIFICATION']._serialized_start=12917 - _globals['_APPSTATEFATALEXCEPTIONNOTIFICATION']._serialized_end=12997 - _globals['_LOCATION']._serialized_start=12999 - _globals['_LOCATION']._serialized_end=13074 - _globals['_INTERACTIVEANNOTATION']._serialized_start=13077 - _globals['_INTERACTIVEANNOTATION']._serialized_end=13288 - _globals['_HYDRATEDTEMPLATEBUTTON']._serialized_start=13291 - _globals['_HYDRATEDTEMPLATEBUTTON']._serialized_end=13956 - _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDURLBUTTON']._serialized_start=13568 - _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDURLBUTTON']._serialized_end=13813 - _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDURLBUTTON_WEBVIEWPRESENTATIONTYPE']._serialized_start=13755 - _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDURLBUTTON_WEBVIEWPRESENTATIONTYPE']._serialized_end=13813 - _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDQUICKREPLYBUTTON']._serialized_start=13815 - _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDQUICKREPLYBUTTON']._serialized_end=13874 - _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDCALLBUTTON']._serialized_start=13876 - _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDCALLBUTTON']._serialized_end=13938 - _globals['_GROUPMENTION']._serialized_start=13958 - _globals['_GROUPMENTION']._serialized_end=14012 - _globals['_DISAPPEARINGMODE']._serialized_start=14015 - _globals['_DISAPPEARINGMODE']._serialized_end=14353 - _globals['_DISAPPEARINGMODE_TRIGGER']._serialized_start=14196 - _globals['_DISAPPEARINGMODE_TRIGGER']._serialized_end=14274 - _globals['_DISAPPEARINGMODE_INITIATOR']._serialized_start=14276 - _globals['_DISAPPEARINGMODE_INITIATOR']._serialized_end=14353 - _globals['_DEVICELISTMETADATA']._serialized_start=14356 - _globals['_DEVICELISTMETADATA']._serialized_end=14655 - _globals['_CONTEXTINFO']._serialized_start=14658 - _globals['_CONTEXTINFO']._serialized_end=16631 - _globals['_CONTEXTINFO_UTMINFO']._serialized_start=15887 - _globals['_CONTEXTINFO_UTMINFO']._serialized_end=15936 - _globals['_CONTEXTINFO_EXTERNALADREPLYINFO']._serialized_start=15939 - _globals['_CONTEXTINFO_EXTERNALADREPLYINFO']._serialized_end=16338 - _globals['_CONTEXTINFO_EXTERNALADREPLYINFO_MEDIATYPE']._serialized_start=16295 - _globals['_CONTEXTINFO_EXTERNALADREPLYINFO_MEDIATYPE']._serialized_end=16338 - _globals['_CONTEXTINFO_DATASHARINGCONTEXT']._serialized_start=16340 - _globals['_CONTEXTINFO_DATASHARINGCONTEXT']._serialized_end=16386 - _globals['_CONTEXTINFO_BUSINESSMESSAGEFORWARDINFO']._serialized_start=16388 - _globals['_CONTEXTINFO_BUSINESSMESSAGEFORWARDINFO']._serialized_end=16442 - _globals['_CONTEXTINFO_ADREPLYINFO']._serialized_start=16445 - _globals['_CONTEXTINFO_ADREPLYINFO']._serialized_end=16631 - _globals['_CONTEXTINFO_ADREPLYINFO_MEDIATYPE']._serialized_start=16295 - _globals['_CONTEXTINFO_ADREPLYINFO_MEDIATYPE']._serialized_end=16338 - _globals['_FORWARDEDNEWSLETTERMESSAGEINFO']._serialized_start=16634 - _globals['_FORWARDEDNEWSLETTERMESSAGEINFO']._serialized_end=16899 - _globals['_FORWARDEDNEWSLETTERMESSAGEINFO_CONTENTTYPE']._serialized_start=16842 - _globals['_FORWARDEDNEWSLETTERMESSAGEINFO_CONTENTTYPE']._serialized_end=16899 - _globals['_BOTSUGGESTEDPROMPTMETADATA']._serialized_start=16901 - _globals['_BOTSUGGESTEDPROMPTMETADATA']._serialized_end=16984 - _globals['_BOTPLUGINMETADATA']._serialized_start=16987 - _globals['_BOTPLUGINMETADATA']._serialized_end=17309 - _globals['_BOTPLUGINMETADATA_SEARCHPROVIDER']._serialized_start=17234 - _globals['_BOTPLUGINMETADATA_SEARCHPROVIDER']._serialized_end=17272 - _globals['_BOTPLUGINMETADATA_PLUGINTYPE']._serialized_start=17274 - _globals['_BOTPLUGINMETADATA_PLUGINTYPE']._serialized_end=17309 - _globals['_BOTMETADATA']._serialized_start=17312 - _globals['_BOTMETADATA']._serialized_end=17521 - _globals['_BOTAVATARMETADATA']._serialized_start=17523 - _globals['_BOTAVATARMETADATA']._serialized_end=17638 - _globals['_ACTIONLINK']._serialized_start=17640 - _globals['_ACTIONLINK']._serialized_end=17686 - _globals['_TEMPLATEBUTTON']._serialized_start=17689 - _globals['_TEMPLATEBUTTON']._serialized_end=18248 - _globals['_TEMPLATEBUTTON_URLBUTTON']._serialized_start=17909 - _globals['_TEMPLATEBUTTON_URLBUTTON']._serialized_end=18024 - _globals['_TEMPLATEBUTTON_QUICKREPLYBUTTON']._serialized_start=18026 - _globals['_TEMPLATEBUTTON_QUICKREPLYBUTTON']._serialized_end=18112 - _globals['_TEMPLATEBUTTON_CALLBUTTON']._serialized_start=18114 - _globals['_TEMPLATEBUTTON_CALLBUTTON']._serialized_end=18238 - _globals['_POINT']._serialized_start=18250 - _globals['_POINT']._serialized_end=18321 - _globals['_PAYMENTBACKGROUND']._serialized_start=18324 - _globals['_PAYMENTBACKGROUND']._serialized_end=18749 - _globals['_PAYMENTBACKGROUND_MEDIADATA']._serialized_start=18596 - _globals['_PAYMENTBACKGROUND_MEDIADATA']._serialized_end=18715 - _globals['_PAYMENTBACKGROUND_TYPE']._serialized_start=18717 - _globals['_PAYMENTBACKGROUND_TYPE']._serialized_end=18749 - _globals['_MONEY']._serialized_start=18751 - _globals['_MONEY']._serialized_end=18811 - _globals['_MESSAGE']._serialized_start=18814 - _globals['_MESSAGE']._serialized_end=22628 - _globals['_MESSAGESECRETMESSAGE']._serialized_start=22630 - _globals['_MESSAGESECRETMESSAGE']._serialized_end=22704 - _globals['_MESSAGECONTEXTINFO']._serialized_start=22707 - _globals['_MESSAGECONTEXTINFO']._serialized_end=23002 - _globals['_VIDEOMESSAGE']._serialized_start=23005 - _globals['_VIDEOMESSAGE']._serialized_end=23702 - _globals['_VIDEOMESSAGE_ATTRIBUTION']._serialized_start=23657 - _globals['_VIDEOMESSAGE_ATTRIBUTION']._serialized_end=23702 - _globals['_TEMPLATEMESSAGE']._serialized_start=23705 - _globals['_TEMPLATEMESSAGE']._serialized_end=24952 - _globals['_TEMPLATEMESSAGE_HYDRATEDFOURROWTEMPLATE']._serialized_start=24090 - _globals['_TEMPLATEMESSAGE_HYDRATEDFOURROWTEMPLATE']._serialized_end=24493 - _globals['_TEMPLATEMESSAGE_FOURROWTEMPLATE']._serialized_start=24496 - _globals['_TEMPLATEMESSAGE_FOURROWTEMPLATE']._serialized_end=24942 - _globals['_TEMPLATEBUTTONREPLYMESSAGE']._serialized_start=24955 - _globals['_TEMPLATEBUTTONREPLYMESSAGE']._serialized_end=25134 - _globals['_STICKERSYNCRMRMESSAGE']._serialized_start=25136 - _globals['_STICKERSYNCRMRMESSAGE']._serialized_end=25222 - _globals['_STICKERMESSAGE']._serialized_start=25225 - _globals['_STICKERMESSAGE']._serialized_end=25650 - _globals['_SENDERKEYDISTRIBUTIONMESSAGE']._serialized_start=25652 - _globals['_SENDERKEYDISTRIBUTIONMESSAGE']._serialized_end=25744 - _globals['_SENDPAYMENTMESSAGE']._serialized_start=25747 - _globals['_SENDPAYMENTMESSAGE']._serialized_end=25905 - _globals['_SCHEDULEDCALLEDITMESSAGE']._serialized_start=25908 - _globals['_SCHEDULEDCALLEDITMESSAGE']._serialized_end=26069 - _globals['_SCHEDULEDCALLEDITMESSAGE_EDITTYPE']._serialized_start=26034 - _globals['_SCHEDULEDCALLEDITMESSAGE_EDITTYPE']._serialized_end=26069 - _globals['_SCHEDULEDCALLCREATIONMESSAGE']._serialized_start=26072 - _globals['_SCHEDULEDCALLCREATIONMESSAGE']._serialized_end=26261 - _globals['_SCHEDULEDCALLCREATIONMESSAGE_CALLTYPE']._serialized_start=26216 - _globals['_SCHEDULEDCALLCREATIONMESSAGE_CALLTYPE']._serialized_end=26261 - _globals['_REQUESTWELCOMEMESSAGEMETADATA']._serialized_start=26264 - _globals['_REQUESTWELCOMEMESSAGEMETADATA']._serialized_end=26419 - _globals['_REQUESTWELCOMEMESSAGEMETADATA_LOCALCHATSTATE']._serialized_start=26377 - _globals['_REQUESTWELCOMEMESSAGEMETADATA_LOCALCHATSTATE']._serialized_end=26419 - _globals['_REQUESTPHONENUMBERMESSAGE']._serialized_start=26421 - _globals['_REQUESTPHONENUMBERMESSAGE']._serialized_end=26492 - _globals['_REQUESTPAYMENTMESSAGE']._serialized_start=26495 - _globals['_REQUESTPAYMENTMESSAGE']._serialized_end=26735 - _globals['_REACTIONMESSAGE']._serialized_start=26737 - _globals['_REACTIONMESSAGE']._serialized_end=26851 - _globals['_PROTOCOLMESSAGE']._serialized_start=26854 - _globals['_PROTOCOLMESSAGE']._serialized_end=28338 - _globals['_PROTOCOLMESSAGE_TYPE']._serialized_start=27862 - _globals['_PROTOCOLMESSAGE_TYPE']._serialized_end=28338 - _globals['_PRODUCTMESSAGE']._serialized_start=28341 - _globals['_PRODUCTMESSAGE']._serialized_end=28955 - _globals['_PRODUCTMESSAGE_PRODUCTSNAPSHOT']._serialized_start=28578 - _globals['_PRODUCTMESSAGE_PRODUCTSNAPSHOT']._serialized_end=28854 - _globals['_PRODUCTMESSAGE_CATALOGSNAPSHOT']._serialized_start=28856 - _globals['_PRODUCTMESSAGE_CATALOGSNAPSHOT']._serialized_end=28955 - _globals['_POLLVOTEMESSAGE']._serialized_start=28957 - _globals['_POLLVOTEMESSAGE']._serialized_end=28999 - _globals['_POLLUPDATEMESSAGE']._serialized_start=29002 - _globals['_POLLUPDATEMESSAGE']._serialized_end=29195 - _globals['_POLLUPDATEMESSAGEMETADATA']._serialized_start=29197 - _globals['_POLLUPDATEMESSAGEMETADATA']._serialized_end=29224 - _globals['_POLLENCVALUE']._serialized_start=29226 - _globals['_POLLENCVALUE']._serialized_end=29275 - _globals['_POLLCREATIONMESSAGE']._serialized_start=29278 - _globals['_POLLCREATIONMESSAGE']._serialized_end=29490 - _globals['_POLLCREATIONMESSAGE_OPTION']._serialized_start=29462 - _globals['_POLLCREATIONMESSAGE_OPTION']._serialized_end=29490 - _globals['_PININCHATMESSAGE']._serialized_start=29493 - _globals['_PININCHATMESSAGE']._serialized_end=29682 - _globals['_PININCHATMESSAGE_TYPE']._serialized_start=29622 - _globals['_PININCHATMESSAGE_TYPE']._serialized_end=29682 - _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE']._serialized_start=29685 - _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE']._serialized_end=30908 - _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT']._serialized_start=29933 - _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT']._serialized_end=30908 - _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_PLACEHOLDERMESSAGERESENDRESPONSE']._serialized_start=30357 - _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_PLACEHOLDERMESSAGERESENDRESPONSE']._serialized_end=30420 - _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_LINKPREVIEWRESPONSE']._serialized_start=30423 - _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_LINKPREVIEWRESPONSE']._serialized_end=30908 - _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_LINKPREVIEWRESPONSE_LINKPREVIEWHIGHQUALITYTHUMBNAIL']._serialized_start=30726 - _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_LINKPREVIEWRESPONSE_LINKPREVIEWHIGHQUALITYTHUMBNAIL']._serialized_end=30908 - _globals['_PEERDATAOPERATIONREQUESTMESSAGE']._serialized_start=30911 - _globals['_PEERDATAOPERATIONREQUESTMESSAGE']._serialized_end=31765 - _globals['_PEERDATAOPERATIONREQUESTMESSAGE_REQUESTURLPREVIEW']._serialized_start=31432 - _globals['_PEERDATAOPERATIONREQUESTMESSAGE_REQUESTURLPREVIEW']._serialized_end=31492 - _globals['_PEERDATAOPERATIONREQUESTMESSAGE_REQUESTSTICKERREUPLOAD']._serialized_start=31494 - _globals['_PEERDATAOPERATIONREQUESTMESSAGE_REQUESTSTICKERREUPLOAD']._serialized_end=31538 - _globals['_PEERDATAOPERATIONREQUESTMESSAGE_PLACEHOLDERMESSAGERESENDREQUEST']._serialized_start=31540 - _globals['_PEERDATAOPERATIONREQUESTMESSAGE_PLACEHOLDERMESSAGERESENDREQUEST']._serialized_end=31615 - _globals['_PEERDATAOPERATIONREQUESTMESSAGE_HISTORYSYNCONDEMANDREQUEST']._serialized_start=31618 - _globals['_PEERDATAOPERATIONREQUESTMESSAGE_HISTORYSYNCONDEMANDREQUEST']._serialized_end=31765 - _globals['_PAYMENTINVITEMESSAGE']._serialized_start=31768 - _globals['_PAYMENTINVITEMESSAGE']._serialized_end=31938 - _globals['_PAYMENTINVITEMESSAGE_SERVICETYPE']._serialized_start=31882 - _globals['_PAYMENTINVITEMESSAGE_SERVICETYPE']._serialized_end=31938 - _globals['_ORDERMESSAGE']._serialized_start=31941 - _globals['_ORDERMESSAGE']._serialized_end=32445 - _globals['_ORDERMESSAGE_ORDERSURFACE']._serialized_start=32362 - _globals['_ORDERMESSAGE_ORDERSURFACE']._serialized_end=32389 - _globals['_ORDERMESSAGE_ORDERSTATUS']._serialized_start=32391 - _globals['_ORDERMESSAGE_ORDERSTATUS']._serialized_end=32445 - _globals['_NEWSLETTERADMININVITEMESSAGE']._serialized_start=32448 - _globals['_NEWSLETTERADMININVITEMESSAGE']._serialized_end=32591 - _globals['_MESSAGEHISTORYBUNDLE']._serialized_start=32594 - _globals['_MESSAGEHISTORYBUNDLE']._serialized_end=32808 - _globals['_LOCATIONMESSAGE']._serialized_start=32811 - _globals['_LOCATIONMESSAGE']._serialized_end=33112 - _globals['_LIVELOCATIONMESSAGE']._serialized_start=33115 - _globals['_LIVELOCATIONMESSAGE']._serialized_end=33404 - _globals['_LISTRESPONSEMESSAGE']._serialized_start=33407 - _globals['_LISTRESPONSEMESSAGE']._serialized_end=33730 - _globals['_LISTRESPONSEMESSAGE_SINGLESELECTREPLY']._serialized_start=33644 - _globals['_LISTRESPONSEMESSAGE_SINGLESELECTREPLY']._serialized_end=33686 - _globals['_LISTRESPONSEMESSAGE_LISTTYPE']._serialized_start=33688 - _globals['_LISTRESPONSEMESSAGE_LISTTYPE']._serialized_end=33730 - _globals['_LISTMESSAGE']._serialized_start=33733 - _globals['_LISTMESSAGE']._serialized_end=34572 - _globals['_LISTMESSAGE_SECTION']._serialized_start=34031 - _globals['_LISTMESSAGE_SECTION']._serialized_end=34096 - _globals['_LISTMESSAGE_ROW']._serialized_start=34098 - _globals['_LISTMESSAGE_ROW']._serialized_end=34154 - _globals['_LISTMESSAGE_PRODUCT']._serialized_start=34156 - _globals['_LISTMESSAGE_PRODUCT']._serialized_end=34184 - _globals['_LISTMESSAGE_PRODUCTSECTION']._serialized_start=34186 - _globals['_LISTMESSAGE_PRODUCTSECTION']._serialized_end=34266 - _globals['_LISTMESSAGE_PRODUCTLISTINFO']._serialized_start=34269 - _globals['_LISTMESSAGE_PRODUCTLISTINFO']._serialized_end=34442 - _globals['_LISTMESSAGE_PRODUCTLISTHEADERIMAGE']._serialized_start=34444 - _globals['_LISTMESSAGE_PRODUCTLISTHEADERIMAGE']._serialized_end=34510 - _globals['_LISTMESSAGE_LISTTYPE']._serialized_start=34512 - _globals['_LISTMESSAGE_LISTTYPE']._serialized_end=34572 - _globals['_KEEPINCHATMESSAGE']._serialized_start=34574 - _globals['_KEEPINCHATMESSAGE']._serialized_end=34687 - _globals['_INVOICEMESSAGE']._serialized_start=34690 - _globals['_INVOICEMESSAGE']._serialized_end=35057 - _globals['_INVOICEMESSAGE_ATTACHMENTTYPE']._serialized_start=35021 - _globals['_INVOICEMESSAGE_ATTACHMENTTYPE']._serialized_end=35057 - _globals['_INTERACTIVERESPONSEMESSAGE']._serialized_start=35060 - _globals['_INTERACTIVERESPONSEMESSAGE']._serialized_end=35529 - _globals['_INTERACTIVERESPONSEMESSAGE_NATIVEFLOWRESPONSEMESSAGE']._serialized_start=35292 - _globals['_INTERACTIVERESPONSEMESSAGE_NATIVEFLOWRESPONSEMESSAGE']._serialized_end=35370 - _globals['_INTERACTIVERESPONSEMESSAGE_BODY']._serialized_start=35372 - _globals['_INTERACTIVERESPONSEMESSAGE_BODY']._serialized_end=35499 - _globals['_INTERACTIVERESPONSEMESSAGE_BODY_FORMAT']._serialized_start=35460 - _globals['_INTERACTIVERESPONSEMESSAGE_BODY_FORMAT']._serialized_end=35499 - _globals['_EPHEMERALSETTING']._serialized_start=35531 - _globals['_EPHEMERALSETTING']._serialized_end=35586 - _globals['_WALLPAPERSETTINGS']._serialized_start=35588 - _globals['_WALLPAPERSETTINGS']._serialized_end=35642 - _globals['_STICKERMETADATA']._serialized_start=35645 - _globals['_STICKERMETADATA']._serialized_end=35868 - _globals['_PUSHNAME']._serialized_start=35870 - _globals['_PUSHNAME']._serialized_end=35910 - _globals['_PHONENUMBERTOLIDMAPPING']._serialized_start=35912 - _globals['_PHONENUMBERTOLIDMAPPING']._serialized_end=35968 - _globals['_PASTPARTICIPANTS']._serialized_start=35970 - _globals['_PASTPARTICIPANTS']._serialized_end=36059 - _globals['_PASTPARTICIPANT']._serialized_start=36062 - _globals['_PASTPARTICIPANT']._serialized_end=36211 - _globals['_PASTPARTICIPANT_LEAVEREASON']._serialized_start=36175 - _globals['_PASTPARTICIPANT_LEAVEREASON']._serialized_end=36211 - _globals['_NOTIFICATIONSETTINGS']._serialized_start=36214 - _globals['_NOTIFICATIONSETTINGS']._serialized_end=36383 - _globals['_HISTORYSYNC']._serialized_start=36386 - _globals['_HISTORYSYNC']._serialized_end=37231 - _globals['_HISTORYSYNC_HISTORYSYNCTYPE']._serialized_start=4239 - _globals['_HISTORYSYNC_HISTORYSYNCTYPE']._serialized_end=4377 - _globals['_HISTORYSYNC_BOTAIWAITLISTSTATE']._serialized_start=37176 - _globals['_HISTORYSYNC_BOTAIWAITLISTSTATE']._serialized_end=37231 - _globals['_HISTORYSYNCMSG']._serialized_start=37233 - _globals['_HISTORYSYNCMSG']._serialized_end=37312 - _globals['_GROUPPARTICIPANT']._serialized_start=37315 - _globals['_GROUPPARTICIPANT']._serialized_end=37445 - _globals['_GROUPPARTICIPANT_RANK']._serialized_start=37399 - _globals['_GROUPPARTICIPANT_RANK']._serialized_end=37445 - _globals['_GLOBALSETTINGS']._serialized_start=37448 - _globals['_GLOBALSETTINGS']._serialized_end=38290 - _globals['_CONVERSATION']._serialized_start=38293 - _globals['_CONVERSATION']._serialized_end=39680 - _globals['_CONVERSATION_ENDOFHISTORYTRANSFERTYPE']._serialized_start=39492 - _globals['_CONVERSATION_ENDOFHISTORYTRANSFERTYPE']._serialized_end=39680 - _globals['_AVATARUSERSETTINGS']._serialized_start=39682 - _globals['_AVATARUSERSETTINGS']._serialized_end=39734 - _globals['_AUTODOWNLOADSETTINGS']._serialized_start=39736 - _globals['_AUTODOWNLOADSETTINGS']._serialized_end=39855 - _globals['_SERVERERRORRECEIPT']._serialized_start=39857 - _globals['_SERVERERRORRECEIPT']._serialized_end=39895 - _globals['_MEDIARETRYNOTIFICATION']._serialized_start=39898 - _globals['_MEDIARETRYNOTIFICATION']._serialized_end=40104 - _globals['_MEDIARETRYNOTIFICATION_RESULTTYPE']._serialized_start=40023 - _globals['_MEDIARETRYNOTIFICATION_RESULTTYPE']._serialized_end=40104 - _globals['_MESSAGEKEY']._serialized_start=40106 - _globals['_MESSAGEKEY']._serialized_end=40186 - _globals['_SYNCDVERSION']._serialized_start=40188 - _globals['_SYNCDVERSION']._serialized_end=40219 - _globals['_SYNCDVALUE']._serialized_start=40221 - _globals['_SYNCDVALUE']._serialized_end=40247 - _globals['_SYNCDSNAPSHOT']._serialized_start=40250 - _globals['_SYNCDSNAPSHOT']._serialized_end=40391 - _globals['_SYNCDRECORD']._serialized_start=40393 - _globals['_SYNCDRECORD']._serialized_end=40512 - _globals['_SYNCDPATCH']._serialized_start=40515 - _globals['_SYNCDPATCH']._serialized_end=40827 - _globals['_SYNCDMUTATIONS']._serialized_start=40829 - _globals['_SYNCDMUTATIONS']._serialized_end=40889 - _globals['_SYNCDMUTATION']._serialized_start=40892 - _globals['_SYNCDMUTATION']._serialized_end=41044 - _globals['_SYNCDMUTATION_SYNCDOPERATION']._serialized_start=41007 - _globals['_SYNCDMUTATION_SYNCDOPERATION']._serialized_end=41044 - _globals['_SYNCDINDEX']._serialized_start=41046 - _globals['_SYNCDINDEX']._serialized_end=41072 - _globals['_KEYID']._serialized_start=41074 - _globals['_KEYID']._serialized_end=41093 - _globals['_EXTERNALBLOBREFERENCE']._serialized_start=41096 - _globals['_EXTERNALBLOBREFERENCE']._serialized_end=41239 - _globals['_EXITCODE']._serialized_start=41241 - _globals['_EXITCODE']._serialized_end=41279 - _globals['_SYNCACTIONVALUE']._serialized_start=41282 - _globals['_SYNCACTIONVALUE']._serialized_end=43724 - _globals['_USERSTATUSMUTEACTION']._serialized_start=43726 - _globals['_USERSTATUSMUTEACTION']._serialized_end=43763 - _globals['_UNARCHIVECHATSSETTING']._serialized_start=43765 - _globals['_UNARCHIVECHATSSETTING']._serialized_end=43812 - _globals['_TIMEFORMATACTION']._serialized_start=43814 - _globals['_TIMEFORMATACTION']._serialized_end=43871 - _globals['_SYNCACTIONMESSAGE']._serialized_start=43873 - _globals['_SYNCACTIONMESSAGE']._serialized_end=43946 - _globals['_SYNCACTIONMESSAGERANGE']._serialized_start=43949 - _globals['_SYNCACTIONMESSAGERANGE']._serialized_end=44086 - _globals['_SUBSCRIPTIONACTION']._serialized_start=44088 - _globals['_SUBSCRIPTIONACTION']._serialized_end=44179 - _globals['_STICKERACTION']._serialized_start=44182 - _globals['_STICKERACTION']._serialized_end=44382 - _globals['_STATUSPRIVACYACTION']._serialized_start=44385 - _globals['_STATUSPRIVACYACTION']._serialized_end=44562 - _globals['_STATUSPRIVACYACTION_STATUSDISTRIBUTIONMODE']._serialized_start=44493 - _globals['_STATUSPRIVACYACTION_STATUSDISTRIBUTIONMODE']._serialized_end=44562 - _globals['_STARACTION']._serialized_start=44564 - _globals['_STARACTION']._serialized_end=44593 - _globals['_SECURITYNOTIFICATIONSETTING']._serialized_start=44595 - _globals['_SECURITYNOTIFICATIONSETTING']._serialized_end=44650 - _globals['_REMOVERECENTSTICKERACTION']._serialized_start=44652 - _globals['_REMOVERECENTSTICKERACTION']._serialized_end=44706 - _globals['_RECENTEMOJIWEIGHTSACTION']._serialized_start=44708 - _globals['_RECENTEMOJIWEIGHTSACTION']._serialized_end=44780 - _globals['_QUICKREPLYACTION']._serialized_start=44782 - _globals['_QUICKREPLYACTION']._serialized_end=44885 - _globals['_PUSHNAMESETTING']._serialized_start=44887 - _globals['_PUSHNAMESETTING']._serialized_end=44918 - _globals['_PRIVACYSETTINGRELAYALLCALLS']._serialized_start=44920 - _globals['_PRIVACYSETTINGRELAYALLCALLS']._serialized_end=44968 - _globals['_PRIMARYVERSIONACTION']._serialized_start=44970 - _globals['_PRIMARYVERSIONACTION']._serialized_end=45009 - _globals['_PRIMARYFEATURE']._serialized_start=45011 - _globals['_PRIMARYFEATURE']._serialized_end=45042 - _globals['_PNFORLIDCHATACTION']._serialized_start=45044 - _globals['_PNFORLIDCHATACTION']._serialized_end=45079 - _globals['_PINACTION']._serialized_start=45081 - _globals['_PINACTION']._serialized_end=45108 - _globals['_PAYMENTINFOACTION']._serialized_start=45110 - _globals['_PAYMENTINFOACTION']._serialized_end=45142 - _globals['_NUXACTION']._serialized_start=45144 - _globals['_NUXACTION']._serialized_end=45177 - _globals['_MUTEACTION']._serialized_start=45179 - _globals['_MUTEACTION']._serialized_end=45251 - _globals['_MARKETINGMESSAGEBROADCASTACTION']._serialized_start=45253 - _globals['_MARKETINGMESSAGEBROADCASTACTION']._serialized_end=45308 - _globals['_MARKETINGMESSAGEACTION']._serialized_start=45311 - _globals['_MARKETINGMESSAGEACTION']._serialized_end=45570 - _globals['_MARKETINGMESSAGEACTION_MARKETINGMESSAGEPROTOTYPETYPE']._serialized_start=45521 - _globals['_MARKETINGMESSAGEACTION_MARKETINGMESSAGEPROTOTYPETYPE']._serialized_end=45570 - _globals['_MARKCHATASREADACTION']._serialized_start=45572 - _globals['_MARKCHATASREADACTION']._serialized_end=45664 - _globals['_LOCALESETTING']._serialized_start=45666 - _globals['_LOCALESETTING']._serialized_end=45697 - _globals['_LABELREORDERINGACTION']._serialized_start=45699 - _globals['_LABELREORDERINGACTION']._serialized_end=45746 - _globals['_LABELEDITACTION']._serialized_start=45748 - _globals['_LABELEDITACTION']._serialized_end=45853 - _globals['_LABELASSOCIATIONACTION']._serialized_start=45855 - _globals['_LABELASSOCIATIONACTION']._serialized_end=45896 - _globals['_KEYEXPIRATION']._serialized_start=45898 - _globals['_KEYEXPIRATION']._serialized_end=45938 - _globals['_EXTERNALWEBBETAACTION']._serialized_start=45940 - _globals['_EXTERNALWEBBETAACTION']._serialized_end=45980 - _globals['_DELETEMESSAGEFORMEACTION']._serialized_start=45982 - _globals['_DELETEMESSAGEFORMEACTION']._serialized_end=46055 - _globals['_DELETEINDIVIDUALCALLLOGACTION']._serialized_start=46057 - _globals['_DELETEINDIVIDUALCALLLOGACTION']._serialized_end=46125 - _globals['_DELETECHATACTION']._serialized_start=46127 - _globals['_DELETECHATACTION']._serialized_end=46201 - _globals['_CONTACTACTION']._serialized_start=46203 - _globals['_CONTACTACTION']._serialized_end=46305 - _globals['_CLEARCHATACTION']._serialized_start=46307 - _globals['_CLEARCHATACTION']._serialized_end=46380 - _globals['_CHATASSIGNMENTOPENEDSTATUSACTION']._serialized_start=46382 - _globals['_CHATASSIGNMENTOPENEDSTATUSACTION']._serialized_end=46436 - _globals['_CHATASSIGNMENTACTION']._serialized_start=46438 - _globals['_CHATASSIGNMENTACTION']._serialized_end=46483 - _globals['_CALLLOGACTION']._serialized_start=46485 - _globals['_CALLLOGACTION']._serialized_end=46548 - _globals['_BOTWELCOMEREQUESTACTION']._serialized_start=46550 - _globals['_BOTWELCOMEREQUESTACTION']._serialized_end=46591 - _globals['_ARCHIVECHATACTION']._serialized_start=46593 - _globals['_ARCHIVECHATACTION']._serialized_end=46686 - _globals['_ANDROIDUNSUPPORTEDACTIONS']._serialized_start=46688 - _globals['_ANDROIDUNSUPPORTEDACTIONS']._serialized_end=46732 - _globals['_AGENTACTION']._serialized_start=46734 - _globals['_AGENTACTION']._serialized_end=46798 - _globals['_SYNCACTIONDATA']._serialized_start=46800 - _globals['_SYNCACTIONDATA']._serialized_end=46907 - _globals['_RECENTEMOJIWEIGHT']._serialized_start=46909 - _globals['_RECENTEMOJIWEIGHT']._serialized_end=46959 - _globals['_PATCHDEBUGDATA']._serialized_start=46962 - _globals['_PATCHDEBUGDATA']._serialized_end=47378 - _globals['_PATCHDEBUGDATA_PLATFORM']._serialized_start=47293 - _globals['_PATCHDEBUGDATA_PLATFORM']._serialized_end=47378 - _globals['_CALLLOGRECORD']._serialized_start=47381 - _globals['_CALLLOGRECORD']._serialized_end=48251 - _globals['_CALLLOGRECORD_PARTICIPANTINFO']._serialized_start=47850 - _globals['_CALLLOGRECORD_PARTICIPANTINFO']._serialized_end=47940 - _globals['_CALLLOGRECORD_SILENCEREASON']._serialized_start=47942 - _globals['_CALLLOGRECORD_SILENCEREASON']._serialized_end=48012 - _globals['_CALLLOGRECORD_CALLTYPE']._serialized_start=9455 - _globals['_CALLLOGRECORD_CALLTYPE']._serialized_end=9514 - _globals['_CALLLOGRECORD_CALLRESULT']._serialized_start=48076 - _globals['_CALLLOGRECORD_CALLRESULT']._serialized_end=48251 - _globals['_VERIFIEDNAMECERTIFICATE']._serialized_start=48254 - _globals['_VERIFIEDNAMECERTIFICATE']._serialized_end=48474 - _globals['_VERIFIEDNAMECERTIFICATE_DETAILS']._serialized_start=48343 - _globals['_VERIFIEDNAMECERTIFICATE_DETAILS']._serialized_end=48474 - _globals['_LOCALIZEDNAME']._serialized_start=48476 - _globals['_LOCALIZEDNAME']._serialized_end=48537 - _globals['_BIZIDENTITYINFO']._serialized_start=48540 - _globals['_BIZIDENTITYINFO']._serialized_end=49026 - _globals['_BIZIDENTITYINFO_VERIFIEDLEVELVALUE']._serialized_start=48886 - _globals['_BIZIDENTITYINFO_VERIFIEDLEVELVALUE']._serialized_end=48938 - _globals['_BIZIDENTITYINFO_HOSTSTORAGETYPE']._serialized_start=48940 - _globals['_BIZIDENTITYINFO_HOSTSTORAGETYPE']._serialized_end=48987 - _globals['_BIZIDENTITYINFO_ACTUALACTORSTYPE']._serialized_start=48989 - _globals['_BIZIDENTITYINFO_ACTUALACTORSTYPE']._serialized_end=49026 - _globals['_BIZACCOUNTPAYLOAD']._serialized_start=49028 - _globals['_BIZACCOUNTPAYLOAD']._serialized_end=49126 - _globals['_BIZACCOUNTLINKINFO']._serialized_start=49129 - _globals['_BIZACCOUNTLINKINFO']._serialized_end=49435 - _globals['_BIZACCOUNTLINKINFO_HOSTSTORAGETYPE']._serialized_start=48940 - _globals['_BIZACCOUNTLINKINFO_HOSTSTORAGETYPE']._serialized_end=48987 - _globals['_BIZACCOUNTLINKINFO_ACCOUNTTYPE']._serialized_start=49406 - _globals['_BIZACCOUNTLINKINFO_ACCOUNTTYPE']._serialized_end=49435 - _globals['_HANDSHAKEMESSAGE']._serialized_start=49438 - _globals['_HANDSHAKEMESSAGE']._serialized_end=49617 - _globals['_HANDSHAKESERVERHELLO']._serialized_start=49619 - _globals['_HANDSHAKESERVERHELLO']._serialized_end=49693 - _globals['_HANDSHAKECLIENTHELLO']._serialized_start=49695 - _globals['_HANDSHAKECLIENTHELLO']._serialized_end=49769 - _globals['_HANDSHAKECLIENTFINISH']._serialized_start=49771 - _globals['_HANDSHAKECLIENTFINISH']._serialized_end=49827 - _globals['_CLIENTPAYLOAD']._serialized_start=49830 - _globals['_CLIENTPAYLOAD']._serialized_end=53580 - _globals['_CLIENTPAYLOAD_WEBINFO']._serialized_start=50707 - _globals['_CLIENTPAYLOAD_WEBINFO']._serialized_end=51295 - _globals['_CLIENTPAYLOAD_WEBINFO_WEBDPAYLOAD']._serialized_start=50892 - _globals['_CLIENTPAYLOAD_WEBINFO_WEBDPAYLOAD']._serialized_end=51207 - _globals['_CLIENTPAYLOAD_WEBINFO_WEBSUBPLATFORM']._serialized_start=51209 - _globals['_CLIENTPAYLOAD_WEBINFO_WEBSUBPLATFORM']._serialized_end=51295 - _globals['_CLIENTPAYLOAD_USERAGENT']._serialized_start=51298 - _globals['_CLIENTPAYLOAD_USERAGENT']._serialized_end=52556 - _globals['_CLIENTPAYLOAD_USERAGENT_APPVERSION']._serialized_start=1189 - _globals['_CLIENTPAYLOAD_USERAGENT_APPVERSION']._serialized_end=1292 - _globals['_CLIENTPAYLOAD_USERAGENT_RELEASECHANNEL']._serialized_start=51917 - _globals['_CLIENTPAYLOAD_USERAGENT_RELEASECHANNEL']._serialized_end=51978 - _globals['_CLIENTPAYLOAD_USERAGENT_PLATFORM']._serialized_start=51981 - _globals['_CLIENTPAYLOAD_USERAGENT_PLATFORM']._serialized_end=52484 - _globals['_CLIENTPAYLOAD_USERAGENT_DEVICETYPE']._serialized_start=52486 - _globals['_CLIENTPAYLOAD_USERAGENT_DEVICETYPE']._serialized_end=52556 - _globals['_CLIENTPAYLOAD_INTEROPDATA']._serialized_start=52558 - _globals['_CLIENTPAYLOAD_INTEROPDATA']._serialized_end=52605 - _globals['_CLIENTPAYLOAD_DEVICEPAIRINGREGISTRATIONDATA']._serialized_start=52608 - _globals['_CLIENTPAYLOAD_DEVICEPAIRINGREGISTRATIONDATA']._serialized_end=52782 - _globals['_CLIENTPAYLOAD_DNSSOURCE']._serialized_start=52785 - _globals['_CLIENTPAYLOAD_DNSSOURCE']._serialized_end=52979 - _globals['_CLIENTPAYLOAD_DNSSOURCE_DNSRESOLUTIONMETHOD']._serialized_start=52891 - _globals['_CLIENTPAYLOAD_DNSSOURCE_DNSRESOLUTIONMETHOD']._serialized_end=52979 - _globals['_CLIENTPAYLOAD_PRODUCT']._serialized_start=52981 - _globals['_CLIENTPAYLOAD_PRODUCT']._serialized_end=53050 - _globals['_CLIENTPAYLOAD_IOSAPPEXTENSION']._serialized_start=53052 - _globals['_CLIENTPAYLOAD_IOSAPPEXTENSION']._serialized_end=53136 - _globals['_CLIENTPAYLOAD_CONNECTTYPE']._serialized_start=53139 - _globals['_CLIENTPAYLOAD_CONNECTTYPE']._serialized_end=53443 - _globals['_CLIENTPAYLOAD_CONNECTREASON']._serialized_start=53446 - _globals['_CLIENTPAYLOAD_CONNECTREASON']._serialized_end=53580 - _globals['_WEBNOTIFICATIONSINFO']._serialized_start=53583 - _globals['_WEBNOTIFICATIONSINFO']._serialized_end=53723 - _globals['_WEBMESSAGEINFO']._serialized_start=53726 - _globals['_WEBMESSAGEINFO']._serialized_end=62567 - _globals['_WEBMESSAGEINFO_STUBTYPE']._serialized_start=55548 - _globals['_WEBMESSAGEINFO_STUBTYPE']._serialized_end=62414 - _globals['_WEBMESSAGEINFO_STATUS']._serialized_start=62416 - _globals['_WEBMESSAGEINFO_STATUS']._serialized_end=62504 - _globals['_WEBMESSAGEINFO_BIZPRIVACYSTATUS']._serialized_start=62506 - _globals['_WEBMESSAGEINFO_BIZPRIVACYSTATUS']._serialized_end=62567 - _globals['_WEBFEATURES']._serialized_start=62570 - _globals['_WEBFEATURES']._serialized_end=65100 - _globals['_WEBFEATURES_FLAG']._serialized_start=65025 - _globals['_WEBFEATURES_FLAG']._serialized_end=65100 - _globals['_USERRECEIPT']._serialized_start=65103 - _globals['_USERRECEIPT']._serialized_end=65261 - _globals['_STATUSPSA']._serialized_start=65263 - _globals['_STATUSPSA']._serialized_end=65331 - _globals['_REPORTINGTOKENINFO']._serialized_start=65333 - _globals['_REPORTINGTOKENINFO']._serialized_end=65375 - _globals['_REACTION']._serialized_start=65377 - _globals['_REACTION']._serialized_end=65500 - _globals['_PREMIUMMESSAGEINFO']._serialized_start=65502 - _globals['_PREMIUMMESSAGEINFO']._serialized_end=65548 - _globals['_POLLUPDATE']._serialized_start=65551 - _globals['_POLLUPDATE']._serialized_end=65726 - _globals['_POLLADDITIONALMETADATA']._serialized_start=65728 - _globals['_POLLADDITIONALMETADATA']._serialized_end=65777 - _globals['_PININCHAT']._serialized_start=65780 - _globals['_PININCHAT']._serialized_end=66050 - _globals['_PININCHAT_TYPE']._serialized_start=29622 - _globals['_PININCHAT_TYPE']._serialized_end=29682 - _globals['_PHOTOCHANGE']._serialized_start=66052 - _globals['_PHOTOCHANGE']._serialized_end=66121 - _globals['_PAYMENTINFO']._serialized_start=66124 - _globals['_PAYMENTINFO']._serialized_end=67507 - _globals['_PAYMENTINFO_TXNSTATUS']._serialized_start=66592 - _globals['_PAYMENTINFO_TXNSTATUS']._serialized_end=67257 - _globals['_PAYMENTINFO_STATUS']._serialized_start=67260 - _globals['_PAYMENTINFO_STATUS']._serialized_end=67464 - _globals['_PAYMENTINFO_CURRENCY']._serialized_start=67466 - _globals['_PAYMENTINFO_CURRENCY']._serialized_end=67507 - _globals['_NOTIFICATIONMESSAGEINFO']._serialized_start=67510 - _globals['_NOTIFICATIONMESSAGEINFO']._serialized_end=67653 - _globals['_MESSAGEADDONCONTEXTINFO']._serialized_start=67655 - _globals['_MESSAGEADDONCONTEXTINFO']._serialized_end=67716 - _globals['_MEDIADATA']._serialized_start=67718 - _globals['_MEDIADATA']._serialized_end=67748 - _globals['_KEEPINCHAT']._serialized_start=67751 - _globals['_KEEPINCHAT']._serialized_end=67934 - _globals['_EVENTRESPONSE']._serialized_start=67937 - _globals['_EVENTRESPONSE']._serialized_end=68106 - _globals['_COMMENTMETADATA']._serialized_start=68108 - _globals['_COMMENTMETADATA']._serialized_end=68193 - _globals['_NOISECERTIFICATE']._serialized_start=68196 - _globals['_NOISECERTIFICATE']._serialized_end=68340 - _globals['_NOISECERTIFICATE_DETAILS']._serialized_start=68252 - _globals['_NOISECERTIFICATE_DETAILS']._serialized_end=68340 - _globals['_CERTCHAIN']._serialized_start=68343 - _globals['_CERTCHAIN']._serialized_end=68622 - _globals['_CERTCHAIN_NOISECERTIFICATE']._serialized_start=68469 - _globals['_CERTCHAIN_NOISECERTIFICATE']._serialized_end=68622 - _globals['_CERTCHAIN_NOISECERTIFICATE_DETAILS']._serialized_start=68525 - _globals['_CERTCHAIN_NOISECERTIFICATE_DETAILS']._serialized_end=68622 - _globals['_QP']._serialized_start=68625 - _globals['_QP']._serialized_end=69197 - _globals['_QP_FILTER']._serialized_start=68632 - _globals['_QP_FILTER']._serialized_end=68839 - _globals['_QP_FILTERPARAMETERS']._serialized_start=68841 - _globals['_QP_FILTERPARAMETERS']._serialized_end=68887 - _globals['_QP_FILTERCLAUSE']._serialized_start=68890 - _globals['_QP_FILTERCLAUSE']._serialized_end=69031 - _globals['_QP_FILTERRESULT']._serialized_start=69033 - _globals['_QP_FILTERRESULT']._serialized_end=69081 - _globals['_QP_FILTERCLIENTNOTSUPPORTEDCONFIG']._serialized_start=69083 - _globals['_QP_FILTERCLIENTNOTSUPPORTEDCONFIG']._serialized_end=69157 - _globals['_QP_CLAUSETYPE']._serialized_start=69159 - _globals['_QP_CLAUSETYPE']._serialized_end=69197 -# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/def_pb2.pyi b/neonize/proto/def_pb2.pyi deleted file mode 100644 index 6066be59..00000000 --- a/neonize/proto/def_pb2.pyi +++ /dev/null @@ -1,10021 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -""" -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -class _ADVEncryptionType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - -class _ADVEncryptionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ADVEncryptionType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - E2EE: _ADVEncryptionType.ValueType # 0 - HOSTED: _ADVEncryptionType.ValueType # 1 - -class ADVEncryptionType(_ADVEncryptionType, metaclass=_ADVEncryptionTypeEnumTypeWrapper): ... - -E2EE: ADVEncryptionType.ValueType # 0 -HOSTED: ADVEncryptionType.ValueType # 1 -global___ADVEncryptionType = ADVEncryptionType - -class _KeepType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - -class _KeepTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_KeepType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: _KeepType.ValueType # 0 - KEEP_FOR_ALL: _KeepType.ValueType # 1 - UNDO_KEEP_FOR_ALL: _KeepType.ValueType # 2 - -class KeepType(_KeepType, metaclass=_KeepTypeEnumTypeWrapper): ... - -UNKNOWN: KeepType.ValueType # 0 -KEEP_FOR_ALL: KeepType.ValueType # 1 -UNDO_KEEP_FOR_ALL: KeepType.ValueType # 2 -global___KeepType = KeepType - -class _PeerDataOperationRequestType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - -class _PeerDataOperationRequestTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PeerDataOperationRequestType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UPLOAD_STICKER: _PeerDataOperationRequestType.ValueType # 0 - SEND_RECENT_STICKER_BOOTSTRAP: _PeerDataOperationRequestType.ValueType # 1 - GENERATE_LINK_PREVIEW: _PeerDataOperationRequestType.ValueType # 2 - HISTORY_SYNC_ON_DEMAND: _PeerDataOperationRequestType.ValueType # 3 - PLACEHOLDER_MESSAGE_RESEND: _PeerDataOperationRequestType.ValueType # 4 - -class PeerDataOperationRequestType(_PeerDataOperationRequestType, metaclass=_PeerDataOperationRequestTypeEnumTypeWrapper): ... - -UPLOAD_STICKER: PeerDataOperationRequestType.ValueType # 0 -SEND_RECENT_STICKER_BOOTSTRAP: PeerDataOperationRequestType.ValueType # 1 -GENERATE_LINK_PREVIEW: PeerDataOperationRequestType.ValueType # 2 -HISTORY_SYNC_ON_DEMAND: PeerDataOperationRequestType.ValueType # 3 -PLACEHOLDER_MESSAGE_RESEND: PeerDataOperationRequestType.ValueType # 4 -global___PeerDataOperationRequestType = PeerDataOperationRequestType - -class _MediaVisibility: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - -class _MediaVisibilityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MediaVisibility.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - DEFAULT: _MediaVisibility.ValueType # 0 - OFF: _MediaVisibility.ValueType # 1 - ON: _MediaVisibility.ValueType # 2 - -class MediaVisibility(_MediaVisibility, metaclass=_MediaVisibilityEnumTypeWrapper): ... - -DEFAULT: MediaVisibility.ValueType # 0 -OFF: MediaVisibility.ValueType # 1 -ON: MediaVisibility.ValueType # 2 -global___MediaVisibility = MediaVisibility - -@typing_extensions.final -class ADVSignedKeyIndexList(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DETAILS_FIELD_NUMBER: builtins.int - ACCOUNTSIGNATURE_FIELD_NUMBER: builtins.int - ACCOUNTSIGNATUREKEY_FIELD_NUMBER: builtins.int - details: builtins.bytes - accountSignature: builtins.bytes - accountSignatureKey: builtins.bytes - def __init__( - self, - *, - details: builtins.bytes | None = ..., - accountSignature: builtins.bytes | None = ..., - accountSignatureKey: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["accountSignature", b"accountSignature", "accountSignatureKey", b"accountSignatureKey", "details", b"details"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["accountSignature", b"accountSignature", "accountSignatureKey", b"accountSignatureKey", "details", b"details"]) -> None: ... - -global___ADVSignedKeyIndexList = ADVSignedKeyIndexList - -@typing_extensions.final -class ADVSignedDeviceIdentity(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DETAILS_FIELD_NUMBER: builtins.int - ACCOUNTSIGNATUREKEY_FIELD_NUMBER: builtins.int - ACCOUNTSIGNATURE_FIELD_NUMBER: builtins.int - DEVICESIGNATURE_FIELD_NUMBER: builtins.int - details: builtins.bytes - accountSignatureKey: builtins.bytes - accountSignature: builtins.bytes - deviceSignature: builtins.bytes - def __init__( - self, - *, - details: builtins.bytes | None = ..., - accountSignatureKey: builtins.bytes | None = ..., - accountSignature: builtins.bytes | None = ..., - deviceSignature: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["accountSignature", b"accountSignature", "accountSignatureKey", b"accountSignatureKey", "details", b"details", "deviceSignature", b"deviceSignature"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["accountSignature", b"accountSignature", "accountSignatureKey", b"accountSignatureKey", "details", b"details", "deviceSignature", b"deviceSignature"]) -> None: ... - -global___ADVSignedDeviceIdentity = ADVSignedDeviceIdentity - -@typing_extensions.final -class ADVSignedDeviceIdentityHMAC(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DETAILS_FIELD_NUMBER: builtins.int - HMAC_FIELD_NUMBER: builtins.int - ACCOUNTTYPE_FIELD_NUMBER: builtins.int - details: builtins.bytes - hmac: builtins.bytes - accountType: global___ADVEncryptionType.ValueType - def __init__( - self, - *, - details: builtins.bytes | None = ..., - hmac: builtins.bytes | None = ..., - accountType: global___ADVEncryptionType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["accountType", b"accountType", "details", b"details", "hmac", b"hmac"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["accountType", b"accountType", "details", b"details", "hmac", b"hmac"]) -> None: ... - -global___ADVSignedDeviceIdentityHMAC = ADVSignedDeviceIdentityHMAC - -@typing_extensions.final -class ADVKeyIndexList(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RAWID_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - CURRENTINDEX_FIELD_NUMBER: builtins.int - VALIDINDEXES_FIELD_NUMBER: builtins.int - ACCOUNTTYPE_FIELD_NUMBER: builtins.int - rawId: builtins.int - timestamp: builtins.int - currentIndex: builtins.int - @property - def validIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... - accountType: global___ADVEncryptionType.ValueType - def __init__( - self, - *, - rawId: builtins.int | None = ..., - timestamp: builtins.int | None = ..., - currentIndex: builtins.int | None = ..., - validIndexes: collections.abc.Iterable[builtins.int] | None = ..., - accountType: global___ADVEncryptionType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["accountType", b"accountType", "currentIndex", b"currentIndex", "rawId", b"rawId", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["accountType", b"accountType", "currentIndex", b"currentIndex", "rawId", b"rawId", "timestamp", b"timestamp", "validIndexes", b"validIndexes"]) -> None: ... - -global___ADVKeyIndexList = ADVKeyIndexList - -@typing_extensions.final -class ADVDeviceIdentity(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RAWID_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - KEYINDEX_FIELD_NUMBER: builtins.int - ACCOUNTTYPE_FIELD_NUMBER: builtins.int - DEVICETYPE_FIELD_NUMBER: builtins.int - rawId: builtins.int - timestamp: builtins.int - keyIndex: builtins.int - accountType: global___ADVEncryptionType.ValueType - deviceType: global___ADVEncryptionType.ValueType - def __init__( - self, - *, - rawId: builtins.int | None = ..., - timestamp: builtins.int | None = ..., - keyIndex: builtins.int | None = ..., - accountType: global___ADVEncryptionType.ValueType | None = ..., - deviceType: global___ADVEncryptionType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["accountType", b"accountType", "deviceType", b"deviceType", "keyIndex", b"keyIndex", "rawId", b"rawId", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["accountType", b"accountType", "deviceType", b"deviceType", "keyIndex", b"keyIndex", "rawId", b"rawId", "timestamp", b"timestamp"]) -> None: ... - -global___ADVDeviceIdentity = ADVDeviceIdentity - -@typing_extensions.final -class DeviceProps(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _PlatformType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _PlatformTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DeviceProps._PlatformType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: DeviceProps._PlatformType.ValueType # 0 - CHROME: DeviceProps._PlatformType.ValueType # 1 - FIREFOX: DeviceProps._PlatformType.ValueType # 2 - IE: DeviceProps._PlatformType.ValueType # 3 - OPERA: DeviceProps._PlatformType.ValueType # 4 - SAFARI: DeviceProps._PlatformType.ValueType # 5 - EDGE: DeviceProps._PlatformType.ValueType # 6 - DESKTOP: DeviceProps._PlatformType.ValueType # 7 - IPAD: DeviceProps._PlatformType.ValueType # 8 - ANDROID_TABLET: DeviceProps._PlatformType.ValueType # 9 - OHANA: DeviceProps._PlatformType.ValueType # 10 - ALOHA: DeviceProps._PlatformType.ValueType # 11 - CATALINA: DeviceProps._PlatformType.ValueType # 12 - TCL_TV: DeviceProps._PlatformType.ValueType # 13 - IOS_PHONE: DeviceProps._PlatformType.ValueType # 14 - IOS_CATALYST: DeviceProps._PlatformType.ValueType # 15 - ANDROID_PHONE: DeviceProps._PlatformType.ValueType # 16 - ANDROID_AMBIGUOUS: DeviceProps._PlatformType.ValueType # 17 - WEAR_OS: DeviceProps._PlatformType.ValueType # 18 - AR_WRIST: DeviceProps._PlatformType.ValueType # 19 - AR_DEVICE: DeviceProps._PlatformType.ValueType # 20 - UWP: DeviceProps._PlatformType.ValueType # 21 - VR: DeviceProps._PlatformType.ValueType # 22 - - class PlatformType(_PlatformType, metaclass=_PlatformTypeEnumTypeWrapper): ... - UNKNOWN: DeviceProps.PlatformType.ValueType # 0 - CHROME: DeviceProps.PlatformType.ValueType # 1 - FIREFOX: DeviceProps.PlatformType.ValueType # 2 - IE: DeviceProps.PlatformType.ValueType # 3 - OPERA: DeviceProps.PlatformType.ValueType # 4 - SAFARI: DeviceProps.PlatformType.ValueType # 5 - EDGE: DeviceProps.PlatformType.ValueType # 6 - DESKTOP: DeviceProps.PlatformType.ValueType # 7 - IPAD: DeviceProps.PlatformType.ValueType # 8 - ANDROID_TABLET: DeviceProps.PlatformType.ValueType # 9 - OHANA: DeviceProps.PlatformType.ValueType # 10 - ALOHA: DeviceProps.PlatformType.ValueType # 11 - CATALINA: DeviceProps.PlatformType.ValueType # 12 - TCL_TV: DeviceProps.PlatformType.ValueType # 13 - IOS_PHONE: DeviceProps.PlatformType.ValueType # 14 - IOS_CATALYST: DeviceProps.PlatformType.ValueType # 15 - ANDROID_PHONE: DeviceProps.PlatformType.ValueType # 16 - ANDROID_AMBIGUOUS: DeviceProps.PlatformType.ValueType # 17 - WEAR_OS: DeviceProps.PlatformType.ValueType # 18 - AR_WRIST: DeviceProps.PlatformType.ValueType # 19 - AR_DEVICE: DeviceProps.PlatformType.ValueType # 20 - UWP: DeviceProps.PlatformType.ValueType # 21 - VR: DeviceProps.PlatformType.ValueType # 22 - - @typing_extensions.final - class HistorySyncConfig(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FULLSYNCDAYSLIMIT_FIELD_NUMBER: builtins.int - FULLSYNCSIZEMBLIMIT_FIELD_NUMBER: builtins.int - STORAGEQUOTAMB_FIELD_NUMBER: builtins.int - INLINEINITIALPAYLOADINE2EEMSG_FIELD_NUMBER: builtins.int - RECENTSYNCDAYSLIMIT_FIELD_NUMBER: builtins.int - SUPPORTCALLLOGHISTORY_FIELD_NUMBER: builtins.int - SUPPORTBOTUSERAGENTCHATHISTORY_FIELD_NUMBER: builtins.int - SUPPORTCAGREACTIONSANDPOLLS_FIELD_NUMBER: builtins.int - fullSyncDaysLimit: builtins.int - fullSyncSizeMbLimit: builtins.int - storageQuotaMb: builtins.int - inlineInitialPayloadInE2EeMsg: builtins.bool - recentSyncDaysLimit: builtins.int - supportCallLogHistory: builtins.bool - supportBotUserAgentChatHistory: builtins.bool - supportCagReactionsAndPolls: builtins.bool - def __init__( - self, - *, - fullSyncDaysLimit: builtins.int | None = ..., - fullSyncSizeMbLimit: builtins.int | None = ..., - storageQuotaMb: builtins.int | None = ..., - inlineInitialPayloadInE2EeMsg: builtins.bool | None = ..., - recentSyncDaysLimit: builtins.int | None = ..., - supportCallLogHistory: builtins.bool | None = ..., - supportBotUserAgentChatHistory: builtins.bool | None = ..., - supportCagReactionsAndPolls: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["fullSyncDaysLimit", b"fullSyncDaysLimit", "fullSyncSizeMbLimit", b"fullSyncSizeMbLimit", "inlineInitialPayloadInE2EeMsg", b"inlineInitialPayloadInE2EeMsg", "recentSyncDaysLimit", b"recentSyncDaysLimit", "storageQuotaMb", b"storageQuotaMb", "supportBotUserAgentChatHistory", b"supportBotUserAgentChatHistory", "supportCagReactionsAndPolls", b"supportCagReactionsAndPolls", "supportCallLogHistory", b"supportCallLogHistory"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["fullSyncDaysLimit", b"fullSyncDaysLimit", "fullSyncSizeMbLimit", b"fullSyncSizeMbLimit", "inlineInitialPayloadInE2EeMsg", b"inlineInitialPayloadInE2EeMsg", "recentSyncDaysLimit", b"recentSyncDaysLimit", "storageQuotaMb", b"storageQuotaMb", "supportBotUserAgentChatHistory", b"supportBotUserAgentChatHistory", "supportCagReactionsAndPolls", b"supportCagReactionsAndPolls", "supportCallLogHistory", b"supportCallLogHistory"]) -> None: ... - - @typing_extensions.final - class AppVersion(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRIMARY_FIELD_NUMBER: builtins.int - SECONDARY_FIELD_NUMBER: builtins.int - TERTIARY_FIELD_NUMBER: builtins.int - QUATERNARY_FIELD_NUMBER: builtins.int - QUINARY_FIELD_NUMBER: builtins.int - primary: builtins.int - secondary: builtins.int - tertiary: builtins.int - quaternary: builtins.int - quinary: builtins.int - def __init__( - self, - *, - primary: builtins.int | None = ..., - secondary: builtins.int | None = ..., - tertiary: builtins.int | None = ..., - quaternary: builtins.int | None = ..., - quinary: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]) -> None: ... - - OS_FIELD_NUMBER: builtins.int - VERSION_FIELD_NUMBER: builtins.int - PLATFORMTYPE_FIELD_NUMBER: builtins.int - REQUIREFULLSYNC_FIELD_NUMBER: builtins.int - HISTORYSYNCCONFIG_FIELD_NUMBER: builtins.int - os: builtins.str - @property - def version(self) -> global___DeviceProps.AppVersion: ... - platformType: global___DeviceProps.PlatformType.ValueType - requireFullSync: builtins.bool - @property - def historySyncConfig(self) -> global___DeviceProps.HistorySyncConfig: ... - def __init__( - self, - *, - os: builtins.str | None = ..., - version: global___DeviceProps.AppVersion | None = ..., - platformType: global___DeviceProps.PlatformType.ValueType | None = ..., - requireFullSync: builtins.bool | None = ..., - historySyncConfig: global___DeviceProps.HistorySyncConfig | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["historySyncConfig", b"historySyncConfig", "os", b"os", "platformType", b"platformType", "requireFullSync", b"requireFullSync", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["historySyncConfig", b"historySyncConfig", "os", b"os", "platformType", b"platformType", "requireFullSync", b"requireFullSync", "version", b"version"]) -> None: ... - -global___DeviceProps = DeviceProps - -@typing_extensions.final -class InteractiveMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class ShopMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Surface: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _SurfaceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InteractiveMessage.ShopMessage._Surface.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN_SURFACE: InteractiveMessage.ShopMessage._Surface.ValueType # 0 - FB: InteractiveMessage.ShopMessage._Surface.ValueType # 1 - IG: InteractiveMessage.ShopMessage._Surface.ValueType # 2 - WA: InteractiveMessage.ShopMessage._Surface.ValueType # 3 - - class Surface(_Surface, metaclass=_SurfaceEnumTypeWrapper): ... - UNKNOWN_SURFACE: InteractiveMessage.ShopMessage.Surface.ValueType # 0 - FB: InteractiveMessage.ShopMessage.Surface.ValueType # 1 - IG: InteractiveMessage.ShopMessage.Surface.ValueType # 2 - WA: InteractiveMessage.ShopMessage.Surface.ValueType # 3 - - ID_FIELD_NUMBER: builtins.int - SURFACE_FIELD_NUMBER: builtins.int - MESSAGEVERSION_FIELD_NUMBER: builtins.int - id: builtins.str - surface: global___InteractiveMessage.ShopMessage.Surface.ValueType - messageVersion: builtins.int - def __init__( - self, - *, - id: builtins.str | None = ..., - surface: global___InteractiveMessage.ShopMessage.Surface.ValueType | None = ..., - messageVersion: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["id", b"id", "messageVersion", b"messageVersion", "surface", b"surface"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "messageVersion", b"messageVersion", "surface", b"surface"]) -> None: ... - - @typing_extensions.final - class NativeFlowMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class NativeFlowButton(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - BUTTONPARAMSJSON_FIELD_NUMBER: builtins.int - name: builtins.str - buttonParamsJson: builtins.str - def __init__( - self, - *, - name: builtins.str | None = ..., - buttonParamsJson: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buttonParamsJson", b"buttonParamsJson", "name", b"name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buttonParamsJson", b"buttonParamsJson", "name", b"name"]) -> None: ... - - BUTTONS_FIELD_NUMBER: builtins.int - MESSAGEPARAMSJSON_FIELD_NUMBER: builtins.int - MESSAGEVERSION_FIELD_NUMBER: builtins.int - @property - def buttons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveMessage.NativeFlowMessage.NativeFlowButton]: ... - messageParamsJson: builtins.str - messageVersion: builtins.int - def __init__( - self, - *, - buttons: collections.abc.Iterable[global___InteractiveMessage.NativeFlowMessage.NativeFlowButton] | None = ..., - messageParamsJson: builtins.str | None = ..., - messageVersion: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["messageParamsJson", b"messageParamsJson", "messageVersion", b"messageVersion"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buttons", b"buttons", "messageParamsJson", b"messageParamsJson", "messageVersion", b"messageVersion"]) -> None: ... - - @typing_extensions.final - class Header(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TITLE_FIELD_NUMBER: builtins.int - SUBTITLE_FIELD_NUMBER: builtins.int - HASMEDIAATTACHMENT_FIELD_NUMBER: builtins.int - DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int - IMAGEMESSAGE_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - VIDEOMESSAGE_FIELD_NUMBER: builtins.int - LOCATIONMESSAGE_FIELD_NUMBER: builtins.int - title: builtins.str - subtitle: builtins.str - hasMediaAttachment: builtins.bool - @property - def documentMessage(self) -> global___DocumentMessage: ... - @property - def imageMessage(self) -> global___ImageMessage: ... - jpegThumbnail: builtins.bytes - @property - def videoMessage(self) -> global___VideoMessage: ... - @property - def locationMessage(self) -> global___LocationMessage: ... - def __init__( - self, - *, - title: builtins.str | None = ..., - subtitle: builtins.str | None = ..., - hasMediaAttachment: builtins.bool | None = ..., - documentMessage: global___DocumentMessage | None = ..., - imageMessage: global___ImageMessage | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - videoMessage: global___VideoMessage | None = ..., - locationMessage: global___LocationMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["documentMessage", b"documentMessage", "hasMediaAttachment", b"hasMediaAttachment", "imageMessage", b"imageMessage", "jpegThumbnail", b"jpegThumbnail", "locationMessage", b"locationMessage", "media", b"media", "subtitle", b"subtitle", "title", b"title", "videoMessage", b"videoMessage"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["documentMessage", b"documentMessage", "hasMediaAttachment", b"hasMediaAttachment", "imageMessage", b"imageMessage", "jpegThumbnail", b"jpegThumbnail", "locationMessage", b"locationMessage", "media", b"media", "subtitle", b"subtitle", "title", b"title", "videoMessage", b"videoMessage"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["media", b"media"]) -> typing_extensions.Literal["documentMessage", "imageMessage", "jpegThumbnail", "videoMessage", "locationMessage"] | None: ... - - @typing_extensions.final - class Footer(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TEXT_FIELD_NUMBER: builtins.int - text: builtins.str - def __init__( - self, - *, - text: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["text", b"text"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["text", b"text"]) -> None: ... - - @typing_extensions.final - class CollectionMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - BIZJID_FIELD_NUMBER: builtins.int - ID_FIELD_NUMBER: builtins.int - MESSAGEVERSION_FIELD_NUMBER: builtins.int - bizJid: builtins.str - id: builtins.str - messageVersion: builtins.int - def __init__( - self, - *, - bizJid: builtins.str | None = ..., - id: builtins.str | None = ..., - messageVersion: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["bizJid", b"bizJid", "id", b"id", "messageVersion", b"messageVersion"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["bizJid", b"bizJid", "id", b"id", "messageVersion", b"messageVersion"]) -> None: ... - - @typing_extensions.final - class CarouselMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CARDS_FIELD_NUMBER: builtins.int - MESSAGEVERSION_FIELD_NUMBER: builtins.int - @property - def cards(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveMessage]: ... - messageVersion: builtins.int - def __init__( - self, - *, - cards: collections.abc.Iterable[global___InteractiveMessage] | None = ..., - messageVersion: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["messageVersion", b"messageVersion"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["cards", b"cards", "messageVersion", b"messageVersion"]) -> None: ... - - @typing_extensions.final - class Body(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TEXT_FIELD_NUMBER: builtins.int - text: builtins.str - def __init__( - self, - *, - text: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["text", b"text"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["text", b"text"]) -> None: ... - - HEADER_FIELD_NUMBER: builtins.int - BODY_FIELD_NUMBER: builtins.int - FOOTER_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - SHOPSTOREFRONTMESSAGE_FIELD_NUMBER: builtins.int - COLLECTIONMESSAGE_FIELD_NUMBER: builtins.int - NATIVEFLOWMESSAGE_FIELD_NUMBER: builtins.int - CAROUSELMESSAGE_FIELD_NUMBER: builtins.int - @property - def header(self) -> global___InteractiveMessage.Header: ... - @property - def body(self) -> global___InteractiveMessage.Body: ... - @property - def footer(self) -> global___InteractiveMessage.Footer: ... - @property - def contextInfo(self) -> global___ContextInfo: ... - @property - def shopStorefrontMessage(self) -> global___InteractiveMessage.ShopMessage: ... - @property - def collectionMessage(self) -> global___InteractiveMessage.CollectionMessage: ... - @property - def nativeFlowMessage(self) -> global___InteractiveMessage.NativeFlowMessage: ... - @property - def carouselMessage(self) -> global___InteractiveMessage.CarouselMessage: ... - def __init__( - self, - *, - header: global___InteractiveMessage.Header | None = ..., - body: global___InteractiveMessage.Body | None = ..., - footer: global___InteractiveMessage.Footer | None = ..., - contextInfo: global___ContextInfo | None = ..., - shopStorefrontMessage: global___InteractiveMessage.ShopMessage | None = ..., - collectionMessage: global___InteractiveMessage.CollectionMessage | None = ..., - nativeFlowMessage: global___InteractiveMessage.NativeFlowMessage | None = ..., - carouselMessage: global___InteractiveMessage.CarouselMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["body", b"body", "carouselMessage", b"carouselMessage", "collectionMessage", b"collectionMessage", "contextInfo", b"contextInfo", "footer", b"footer", "header", b"header", "interactiveMessage", b"interactiveMessage", "nativeFlowMessage", b"nativeFlowMessage", "shopStorefrontMessage", b"shopStorefrontMessage"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["body", b"body", "carouselMessage", b"carouselMessage", "collectionMessage", b"collectionMessage", "contextInfo", b"contextInfo", "footer", b"footer", "header", b"header", "interactiveMessage", b"interactiveMessage", "nativeFlowMessage", b"nativeFlowMessage", "shopStorefrontMessage", b"shopStorefrontMessage"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["interactiveMessage", b"interactiveMessage"]) -> typing_extensions.Literal["shopStorefrontMessage", "collectionMessage", "nativeFlowMessage", "carouselMessage"] | None: ... - -global___InteractiveMessage = InteractiveMessage - -@typing_extensions.final -class InitialSecurityNotificationSettingSync(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SECURITYNOTIFICATIONENABLED_FIELD_NUMBER: builtins.int - securityNotificationEnabled: builtins.bool - def __init__( - self, - *, - securityNotificationEnabled: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["securityNotificationEnabled", b"securityNotificationEnabled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["securityNotificationEnabled", b"securityNotificationEnabled"]) -> None: ... - -global___InitialSecurityNotificationSettingSync = InitialSecurityNotificationSettingSync - -@typing_extensions.final -class ImageMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - URL_FIELD_NUMBER: builtins.int - MIMETYPE_FIELD_NUMBER: builtins.int - CAPTION_FIELD_NUMBER: builtins.int - FILESHA256_FIELD_NUMBER: builtins.int - FILELENGTH_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - WIDTH_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - INTERACTIVEANNOTATIONS_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - FIRSTSCANSIDECAR_FIELD_NUMBER: builtins.int - FIRSTSCANLENGTH_FIELD_NUMBER: builtins.int - EXPERIMENTGROUPID_FIELD_NUMBER: builtins.int - SCANSSIDECAR_FIELD_NUMBER: builtins.int - SCANLENGTHS_FIELD_NUMBER: builtins.int - MIDQUALITYFILESHA256_FIELD_NUMBER: builtins.int - MIDQUALITYFILEENCSHA256_FIELD_NUMBER: builtins.int - VIEWONCE_FIELD_NUMBER: builtins.int - THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int - THUMBNAILSHA256_FIELD_NUMBER: builtins.int - THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int - STATICURL_FIELD_NUMBER: builtins.int - ANNOTATIONS_FIELD_NUMBER: builtins.int - url: builtins.str - mimetype: builtins.str - caption: builtins.str - fileSha256: builtins.bytes - fileLength: builtins.int - height: builtins.int - width: builtins.int - mediaKey: builtins.bytes - fileEncSha256: builtins.bytes - @property - def interactiveAnnotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveAnnotation]: ... - directPath: builtins.str - mediaKeyTimestamp: builtins.int - jpegThumbnail: builtins.bytes - @property - def contextInfo(self) -> global___ContextInfo: ... - firstScanSidecar: builtins.bytes - firstScanLength: builtins.int - experimentGroupId: builtins.int - scansSidecar: builtins.bytes - @property - def scanLengths(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... - midQualityFileSha256: builtins.bytes - midQualityFileEncSha256: builtins.bytes - viewOnce: builtins.bool - thumbnailDirectPath: builtins.str - thumbnailSha256: builtins.bytes - thumbnailEncSha256: builtins.bytes - staticUrl: builtins.str - @property - def annotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveAnnotation]: ... - def __init__( - self, - *, - url: builtins.str | None = ..., - mimetype: builtins.str | None = ..., - caption: builtins.str | None = ..., - fileSha256: builtins.bytes | None = ..., - fileLength: builtins.int | None = ..., - height: builtins.int | None = ..., - width: builtins.int | None = ..., - mediaKey: builtins.bytes | None = ..., - fileEncSha256: builtins.bytes | None = ..., - interactiveAnnotations: collections.abc.Iterable[global___InteractiveAnnotation] | None = ..., - directPath: builtins.str | None = ..., - mediaKeyTimestamp: builtins.int | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - contextInfo: global___ContextInfo | None = ..., - firstScanSidecar: builtins.bytes | None = ..., - firstScanLength: builtins.int | None = ..., - experimentGroupId: builtins.int | None = ..., - scansSidecar: builtins.bytes | None = ..., - scanLengths: collections.abc.Iterable[builtins.int] | None = ..., - midQualityFileSha256: builtins.bytes | None = ..., - midQualityFileEncSha256: builtins.bytes | None = ..., - viewOnce: builtins.bool | None = ..., - thumbnailDirectPath: builtins.str | None = ..., - thumbnailSha256: builtins.bytes | None = ..., - thumbnailEncSha256: builtins.bytes | None = ..., - staticUrl: builtins.str | None = ..., - annotations: collections.abc.Iterable[global___InteractiveAnnotation] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "experimentGroupId", b"experimentGroupId", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "firstScanLength", b"firstScanLength", "firstScanSidecar", b"firstScanSidecar", "height", b"height", "jpegThumbnail", b"jpegThumbnail", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "midQualityFileEncSha256", b"midQualityFileEncSha256", "midQualityFileSha256", b"midQualityFileSha256", "mimetype", b"mimetype", "scansSidecar", b"scansSidecar", "staticUrl", b"staticUrl", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSha256", b"thumbnailEncSha256", "thumbnailSha256", b"thumbnailSha256", "url", b"url", "viewOnce", b"viewOnce", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["annotations", b"annotations", "caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "experimentGroupId", b"experimentGroupId", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "firstScanLength", b"firstScanLength", "firstScanSidecar", b"firstScanSidecar", "height", b"height", "interactiveAnnotations", b"interactiveAnnotations", "jpegThumbnail", b"jpegThumbnail", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "midQualityFileEncSha256", b"midQualityFileEncSha256", "midQualityFileSha256", b"midQualityFileSha256", "mimetype", b"mimetype", "scanLengths", b"scanLengths", "scansSidecar", b"scansSidecar", "staticUrl", b"staticUrl", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSha256", b"thumbnailEncSha256", "thumbnailSha256", b"thumbnailSha256", "url", b"url", "viewOnce", b"viewOnce", "width", b"width"]) -> None: ... - -global___ImageMessage = ImageMessage - -@typing_extensions.final -class HistorySyncNotification(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _HistorySyncType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _HistorySyncTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HistorySyncNotification._HistorySyncType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - INITIAL_BOOTSTRAP: HistorySyncNotification._HistorySyncType.ValueType # 0 - INITIAL_STATUS_V3: HistorySyncNotification._HistorySyncType.ValueType # 1 - FULL: HistorySyncNotification._HistorySyncType.ValueType # 2 - RECENT: HistorySyncNotification._HistorySyncType.ValueType # 3 - PUSH_NAME: HistorySyncNotification._HistorySyncType.ValueType # 4 - NON_BLOCKING_DATA: HistorySyncNotification._HistorySyncType.ValueType # 5 - ON_DEMAND: HistorySyncNotification._HistorySyncType.ValueType # 6 - - class HistorySyncType(_HistorySyncType, metaclass=_HistorySyncTypeEnumTypeWrapper): ... - INITIAL_BOOTSTRAP: HistorySyncNotification.HistorySyncType.ValueType # 0 - INITIAL_STATUS_V3: HistorySyncNotification.HistorySyncType.ValueType # 1 - FULL: HistorySyncNotification.HistorySyncType.ValueType # 2 - RECENT: HistorySyncNotification.HistorySyncType.ValueType # 3 - PUSH_NAME: HistorySyncNotification.HistorySyncType.ValueType # 4 - NON_BLOCKING_DATA: HistorySyncNotification.HistorySyncType.ValueType # 5 - ON_DEMAND: HistorySyncNotification.HistorySyncType.ValueType # 6 - - FILESHA256_FIELD_NUMBER: builtins.int - FILELENGTH_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - SYNCTYPE_FIELD_NUMBER: builtins.int - CHUNKORDER_FIELD_NUMBER: builtins.int - ORIGINALMESSAGEID_FIELD_NUMBER: builtins.int - PROGRESS_FIELD_NUMBER: builtins.int - OLDESTMSGINCHUNKTIMESTAMPSEC_FIELD_NUMBER: builtins.int - INITIALHISTBOOTSTRAPINLINEPAYLOAD_FIELD_NUMBER: builtins.int - PEERDATAREQUESTSESSIONID_FIELD_NUMBER: builtins.int - fileSha256: builtins.bytes - fileLength: builtins.int - mediaKey: builtins.bytes - fileEncSha256: builtins.bytes - directPath: builtins.str - syncType: global___HistorySyncNotification.HistorySyncType.ValueType - chunkOrder: builtins.int - originalMessageId: builtins.str - progress: builtins.int - oldestMsgInChunkTimestampSec: builtins.int - initialHistBootstrapInlinePayload: builtins.bytes - peerDataRequestSessionId: builtins.str - def __init__( - self, - *, - fileSha256: builtins.bytes | None = ..., - fileLength: builtins.int | None = ..., - mediaKey: builtins.bytes | None = ..., - fileEncSha256: builtins.bytes | None = ..., - directPath: builtins.str | None = ..., - syncType: global___HistorySyncNotification.HistorySyncType.ValueType | None = ..., - chunkOrder: builtins.int | None = ..., - originalMessageId: builtins.str | None = ..., - progress: builtins.int | None = ..., - oldestMsgInChunkTimestampSec: builtins.int | None = ..., - initialHistBootstrapInlinePayload: builtins.bytes | None = ..., - peerDataRequestSessionId: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["chunkOrder", b"chunkOrder", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "initialHistBootstrapInlinePayload", b"initialHistBootstrapInlinePayload", "mediaKey", b"mediaKey", "oldestMsgInChunkTimestampSec", b"oldestMsgInChunkTimestampSec", "originalMessageId", b"originalMessageId", "peerDataRequestSessionId", b"peerDataRequestSessionId", "progress", b"progress", "syncType", b"syncType"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["chunkOrder", b"chunkOrder", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "initialHistBootstrapInlinePayload", b"initialHistBootstrapInlinePayload", "mediaKey", b"mediaKey", "oldestMsgInChunkTimestampSec", b"oldestMsgInChunkTimestampSec", "originalMessageId", b"originalMessageId", "peerDataRequestSessionId", b"peerDataRequestSessionId", "progress", b"progress", "syncType", b"syncType"]) -> None: ... - -global___HistorySyncNotification = HistorySyncNotification - -@typing_extensions.final -class HighlyStructuredMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class HSMLocalizableParameter(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class HSMDateTime(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class HSMDateTimeUnixEpoch(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TIMESTAMP_FIELD_NUMBER: builtins.int - timestamp: builtins.int - def __init__( - self, - *, - timestamp: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["timestamp", b"timestamp"]) -> None: ... - - @typing_extensions.final - class HSMDateTimeComponent(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _DayOfWeekType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _DayOfWeekTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - MONDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 1 - TUESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 2 - WEDNESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 3 - THURSDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 4 - FRIDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 5 - SATURDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 6 - SUNDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 7 - - class DayOfWeekType(_DayOfWeekType, metaclass=_DayOfWeekTypeEnumTypeWrapper): ... - MONDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 1 - TUESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 2 - WEDNESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 3 - THURSDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 4 - FRIDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 5 - SATURDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 6 - SUNDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 7 - - class _CalendarType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _CalendarTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._CalendarType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - GREGORIAN: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._CalendarType.ValueType # 1 - SOLAR_HIJRI: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._CalendarType.ValueType # 2 - - class CalendarType(_CalendarType, metaclass=_CalendarTypeEnumTypeWrapper): ... - GREGORIAN: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType # 1 - SOLAR_HIJRI: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType # 2 - - DAYOFWEEK_FIELD_NUMBER: builtins.int - YEAR_FIELD_NUMBER: builtins.int - MONTH_FIELD_NUMBER: builtins.int - DAYOFMONTH_FIELD_NUMBER: builtins.int - HOUR_FIELD_NUMBER: builtins.int - MINUTE_FIELD_NUMBER: builtins.int - CALENDAR_FIELD_NUMBER: builtins.int - dayOfWeek: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType - year: builtins.int - month: builtins.int - dayOfMonth: builtins.int - hour: builtins.int - minute: builtins.int - calendar: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType - def __init__( - self, - *, - dayOfWeek: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType | None = ..., - year: builtins.int | None = ..., - month: builtins.int | None = ..., - dayOfMonth: builtins.int | None = ..., - hour: builtins.int | None = ..., - minute: builtins.int | None = ..., - calendar: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["calendar", b"calendar", "dayOfMonth", b"dayOfMonth", "dayOfWeek", b"dayOfWeek", "hour", b"hour", "minute", b"minute", "month", b"month", "year", b"year"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["calendar", b"calendar", "dayOfMonth", b"dayOfMonth", "dayOfWeek", b"dayOfWeek", "hour", b"hour", "minute", b"minute", "month", b"month", "year", b"year"]) -> None: ... - - COMPONENT_FIELD_NUMBER: builtins.int - UNIXEPOCH_FIELD_NUMBER: builtins.int - @property - def component(self) -> global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent: ... - @property - def unixEpoch(self) -> global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch: ... - def __init__( - self, - *, - component: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent | None = ..., - unixEpoch: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["component", b"component", "datetimeOneof", b"datetimeOneof", "unixEpoch", b"unixEpoch"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["component", b"component", "datetimeOneof", b"datetimeOneof", "unixEpoch", b"unixEpoch"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["datetimeOneof", b"datetimeOneof"]) -> typing_extensions.Literal["component", "unixEpoch"] | None: ... - - @typing_extensions.final - class HSMCurrency(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CURRENCYCODE_FIELD_NUMBER: builtins.int - AMOUNT1000_FIELD_NUMBER: builtins.int - currencyCode: builtins.str - amount1000: builtins.int - def __init__( - self, - *, - currencyCode: builtins.str | None = ..., - amount1000: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["amount1000", b"amount1000", "currencyCode", b"currencyCode"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["amount1000", b"amount1000", "currencyCode", b"currencyCode"]) -> None: ... - - DEFAULT_FIELD_NUMBER: builtins.int - CURRENCY_FIELD_NUMBER: builtins.int - DATETIME_FIELD_NUMBER: builtins.int - default: builtins.str - @property - def currency(self) -> global___HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency: ... - @property - def dateTime(self) -> global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime: ... - def __init__( - self, - *, - default: builtins.str | None = ..., - currency: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency | None = ..., - dateTime: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["currency", b"currency", "dateTime", b"dateTime", "default", b"default", "paramOneof", b"paramOneof"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["currency", b"currency", "dateTime", b"dateTime", "default", b"default", "paramOneof", b"paramOneof"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["paramOneof", b"paramOneof"]) -> typing_extensions.Literal["currency", "dateTime"] | None: ... - - NAMESPACE_FIELD_NUMBER: builtins.int - ELEMENTNAME_FIELD_NUMBER: builtins.int - PARAMS_FIELD_NUMBER: builtins.int - FALLBACKLG_FIELD_NUMBER: builtins.int - FALLBACKLC_FIELD_NUMBER: builtins.int - LOCALIZABLEPARAMS_FIELD_NUMBER: builtins.int - DETERMINISTICLG_FIELD_NUMBER: builtins.int - DETERMINISTICLC_FIELD_NUMBER: builtins.int - HYDRATEDHSM_FIELD_NUMBER: builtins.int - namespace: builtins.str - elementName: builtins.str - @property - def params(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - fallbackLg: builtins.str - fallbackLc: builtins.str - @property - def localizableParams(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HighlyStructuredMessage.HSMLocalizableParameter]: ... - deterministicLg: builtins.str - deterministicLc: builtins.str - @property - def hydratedHsm(self) -> global___TemplateMessage: ... - def __init__( - self, - *, - namespace: builtins.str | None = ..., - elementName: builtins.str | None = ..., - params: collections.abc.Iterable[builtins.str] | None = ..., - fallbackLg: builtins.str | None = ..., - fallbackLc: builtins.str | None = ..., - localizableParams: collections.abc.Iterable[global___HighlyStructuredMessage.HSMLocalizableParameter] | None = ..., - deterministicLg: builtins.str | None = ..., - deterministicLc: builtins.str | None = ..., - hydratedHsm: global___TemplateMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["deterministicLc", b"deterministicLc", "deterministicLg", b"deterministicLg", "elementName", b"elementName", "fallbackLc", b"fallbackLc", "fallbackLg", b"fallbackLg", "hydratedHsm", b"hydratedHsm", "namespace", b"namespace"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["deterministicLc", b"deterministicLc", "deterministicLg", b"deterministicLg", "elementName", b"elementName", "fallbackLc", b"fallbackLc", "fallbackLg", b"fallbackLg", "hydratedHsm", b"hydratedHsm", "localizableParams", b"localizableParams", "namespace", b"namespace", "params", b"params"]) -> None: ... - -global___HighlyStructuredMessage = HighlyStructuredMessage - -@typing_extensions.final -class GroupInviteMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _GroupType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _GroupTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GroupInviteMessage._GroupType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - DEFAULT: GroupInviteMessage._GroupType.ValueType # 0 - PARENT: GroupInviteMessage._GroupType.ValueType # 1 - - class GroupType(_GroupType, metaclass=_GroupTypeEnumTypeWrapper): ... - DEFAULT: GroupInviteMessage.GroupType.ValueType # 0 - PARENT: GroupInviteMessage.GroupType.ValueType # 1 - - GROUPJID_FIELD_NUMBER: builtins.int - INVITECODE_FIELD_NUMBER: builtins.int - INVITEEXPIRATION_FIELD_NUMBER: builtins.int - GROUPNAME_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - CAPTION_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - GROUPTYPE_FIELD_NUMBER: builtins.int - groupJid: builtins.str - inviteCode: builtins.str - inviteExpiration: builtins.int - groupName: builtins.str - jpegThumbnail: builtins.bytes - caption: builtins.str - @property - def contextInfo(self) -> global___ContextInfo: ... - groupType: global___GroupInviteMessage.GroupType.ValueType - def __init__( - self, - *, - groupJid: builtins.str | None = ..., - inviteCode: builtins.str | None = ..., - inviteExpiration: builtins.int | None = ..., - groupName: builtins.str | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - caption: builtins.str | None = ..., - contextInfo: global___ContextInfo | None = ..., - groupType: global___GroupInviteMessage.GroupType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["caption", b"caption", "contextInfo", b"contextInfo", "groupJid", b"groupJid", "groupName", b"groupName", "groupType", b"groupType", "inviteCode", b"inviteCode", "inviteExpiration", b"inviteExpiration", "jpegThumbnail", b"jpegThumbnail"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["caption", b"caption", "contextInfo", b"contextInfo", "groupJid", b"groupJid", "groupName", b"groupName", "groupType", b"groupType", "inviteCode", b"inviteCode", "inviteExpiration", b"inviteExpiration", "jpegThumbnail", b"jpegThumbnail"]) -> None: ... - -global___GroupInviteMessage = GroupInviteMessage - -@typing_extensions.final -class FutureProofMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MESSAGE_FIELD_NUMBER: builtins.int - @property - def message(self) -> global___Message: ... - def __init__( - self, - *, - message: global___Message | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["message", b"message"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["message", b"message"]) -> None: ... - -global___FutureProofMessage = FutureProofMessage - -@typing_extensions.final -class ExtendedTextMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _PreviewType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _PreviewTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedTextMessage._PreviewType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - NONE: ExtendedTextMessage._PreviewType.ValueType # 0 - VIDEO: ExtendedTextMessage._PreviewType.ValueType # 1 - PLACEHOLDER: ExtendedTextMessage._PreviewType.ValueType # 4 - IMAGE: ExtendedTextMessage._PreviewType.ValueType # 5 - - class PreviewType(_PreviewType, metaclass=_PreviewTypeEnumTypeWrapper): ... - NONE: ExtendedTextMessage.PreviewType.ValueType # 0 - VIDEO: ExtendedTextMessage.PreviewType.ValueType # 1 - PLACEHOLDER: ExtendedTextMessage.PreviewType.ValueType # 4 - IMAGE: ExtendedTextMessage.PreviewType.ValueType # 5 - - class _InviteLinkGroupType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _InviteLinkGroupTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedTextMessage._InviteLinkGroupType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - DEFAULT: ExtendedTextMessage._InviteLinkGroupType.ValueType # 0 - PARENT: ExtendedTextMessage._InviteLinkGroupType.ValueType # 1 - SUB: ExtendedTextMessage._InviteLinkGroupType.ValueType # 2 - DEFAULT_SUB: ExtendedTextMessage._InviteLinkGroupType.ValueType # 3 - - class InviteLinkGroupType(_InviteLinkGroupType, metaclass=_InviteLinkGroupTypeEnumTypeWrapper): ... - DEFAULT: ExtendedTextMessage.InviteLinkGroupType.ValueType # 0 - PARENT: ExtendedTextMessage.InviteLinkGroupType.ValueType # 1 - SUB: ExtendedTextMessage.InviteLinkGroupType.ValueType # 2 - DEFAULT_SUB: ExtendedTextMessage.InviteLinkGroupType.ValueType # 3 - - class _FontType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _FontTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedTextMessage._FontType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - SYSTEM: ExtendedTextMessage._FontType.ValueType # 0 - SYSTEM_TEXT: ExtendedTextMessage._FontType.ValueType # 1 - FB_SCRIPT: ExtendedTextMessage._FontType.ValueType # 2 - SYSTEM_BOLD: ExtendedTextMessage._FontType.ValueType # 6 - MORNINGBREEZE_REGULAR: ExtendedTextMessage._FontType.ValueType # 7 - CALISTOGA_REGULAR: ExtendedTextMessage._FontType.ValueType # 8 - EXO2_EXTRABOLD: ExtendedTextMessage._FontType.ValueType # 9 - COURIERPRIME_BOLD: ExtendedTextMessage._FontType.ValueType # 10 - - class FontType(_FontType, metaclass=_FontTypeEnumTypeWrapper): ... - SYSTEM: ExtendedTextMessage.FontType.ValueType # 0 - SYSTEM_TEXT: ExtendedTextMessage.FontType.ValueType # 1 - FB_SCRIPT: ExtendedTextMessage.FontType.ValueType # 2 - SYSTEM_BOLD: ExtendedTextMessage.FontType.ValueType # 6 - MORNINGBREEZE_REGULAR: ExtendedTextMessage.FontType.ValueType # 7 - CALISTOGA_REGULAR: ExtendedTextMessage.FontType.ValueType # 8 - EXO2_EXTRABOLD: ExtendedTextMessage.FontType.ValueType # 9 - COURIERPRIME_BOLD: ExtendedTextMessage.FontType.ValueType # 10 - - TEXT_FIELD_NUMBER: builtins.int - MATCHEDTEXT_FIELD_NUMBER: builtins.int - CANONICALURL_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - TITLE_FIELD_NUMBER: builtins.int - TEXTARGB_FIELD_NUMBER: builtins.int - BACKGROUNDARGB_FIELD_NUMBER: builtins.int - FONT_FIELD_NUMBER: builtins.int - PREVIEWTYPE_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - DONOTPLAYINLINE_FIELD_NUMBER: builtins.int - THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int - THUMBNAILSHA256_FIELD_NUMBER: builtins.int - THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int - THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int - THUMBNAILWIDTH_FIELD_NUMBER: builtins.int - INVITELINKGROUPTYPE_FIELD_NUMBER: builtins.int - INVITELINKPARENTGROUPSUBJECTV2_FIELD_NUMBER: builtins.int - INVITELINKPARENTGROUPTHUMBNAILV2_FIELD_NUMBER: builtins.int - INVITELINKGROUPTYPEV2_FIELD_NUMBER: builtins.int - VIEWONCE_FIELD_NUMBER: builtins.int - text: builtins.str - matchedText: builtins.str - canonicalUrl: builtins.str - description: builtins.str - title: builtins.str - textArgb: builtins.int - backgroundArgb: builtins.int - font: global___ExtendedTextMessage.FontType.ValueType - previewType: global___ExtendedTextMessage.PreviewType.ValueType - jpegThumbnail: builtins.bytes - @property - def contextInfo(self) -> global___ContextInfo: ... - doNotPlayInline: builtins.bool - thumbnailDirectPath: builtins.str - thumbnailSha256: builtins.bytes - thumbnailEncSha256: builtins.bytes - mediaKey: builtins.bytes - mediaKeyTimestamp: builtins.int - thumbnailHeight: builtins.int - thumbnailWidth: builtins.int - inviteLinkGroupType: global___ExtendedTextMessage.InviteLinkGroupType.ValueType - inviteLinkParentGroupSubjectV2: builtins.str - inviteLinkParentGroupThumbnailV2: builtins.bytes - inviteLinkGroupTypeV2: global___ExtendedTextMessage.InviteLinkGroupType.ValueType - viewOnce: builtins.bool - def __init__( - self, - *, - text: builtins.str | None = ..., - matchedText: builtins.str | None = ..., - canonicalUrl: builtins.str | None = ..., - description: builtins.str | None = ..., - title: builtins.str | None = ..., - textArgb: builtins.int | None = ..., - backgroundArgb: builtins.int | None = ..., - font: global___ExtendedTextMessage.FontType.ValueType | None = ..., - previewType: global___ExtendedTextMessage.PreviewType.ValueType | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - contextInfo: global___ContextInfo | None = ..., - doNotPlayInline: builtins.bool | None = ..., - thumbnailDirectPath: builtins.str | None = ..., - thumbnailSha256: builtins.bytes | None = ..., - thumbnailEncSha256: builtins.bytes | None = ..., - mediaKey: builtins.bytes | None = ..., - mediaKeyTimestamp: builtins.int | None = ..., - thumbnailHeight: builtins.int | None = ..., - thumbnailWidth: builtins.int | None = ..., - inviteLinkGroupType: global___ExtendedTextMessage.InviteLinkGroupType.ValueType | None = ..., - inviteLinkParentGroupSubjectV2: builtins.str | None = ..., - inviteLinkParentGroupThumbnailV2: builtins.bytes | None = ..., - inviteLinkGroupTypeV2: global___ExtendedTextMessage.InviteLinkGroupType.ValueType | None = ..., - viewOnce: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["backgroundArgb", b"backgroundArgb", "canonicalUrl", b"canonicalUrl", "contextInfo", b"contextInfo", "description", b"description", "doNotPlayInline", b"doNotPlayInline", "font", b"font", "inviteLinkGroupType", b"inviteLinkGroupType", "inviteLinkGroupTypeV2", b"inviteLinkGroupTypeV2", "inviteLinkParentGroupSubjectV2", b"inviteLinkParentGroupSubjectV2", "inviteLinkParentGroupThumbnailV2", b"inviteLinkParentGroupThumbnailV2", "jpegThumbnail", b"jpegThumbnail", "matchedText", b"matchedText", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "previewType", b"previewType", "text", b"text", "textArgb", b"textArgb", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSha256", b"thumbnailEncSha256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSha256", b"thumbnailSha256", "thumbnailWidth", b"thumbnailWidth", "title", b"title", "viewOnce", b"viewOnce"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["backgroundArgb", b"backgroundArgb", "canonicalUrl", b"canonicalUrl", "contextInfo", b"contextInfo", "description", b"description", "doNotPlayInline", b"doNotPlayInline", "font", b"font", "inviteLinkGroupType", b"inviteLinkGroupType", "inviteLinkGroupTypeV2", b"inviteLinkGroupTypeV2", "inviteLinkParentGroupSubjectV2", b"inviteLinkParentGroupSubjectV2", "inviteLinkParentGroupThumbnailV2", b"inviteLinkParentGroupThumbnailV2", "jpegThumbnail", b"jpegThumbnail", "matchedText", b"matchedText", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "previewType", b"previewType", "text", b"text", "textArgb", b"textArgb", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSha256", b"thumbnailEncSha256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSha256", b"thumbnailSha256", "thumbnailWidth", b"thumbnailWidth", "title", b"title", "viewOnce", b"viewOnce"]) -> None: ... - -global___ExtendedTextMessage = ExtendedTextMessage - -@typing_extensions.final -class EventResponseMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _EventResponseType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _EventResponseTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[EventResponseMessage._EventResponseType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: EventResponseMessage._EventResponseType.ValueType # 0 - GOING: EventResponseMessage._EventResponseType.ValueType # 1 - NOT_GOING: EventResponseMessage._EventResponseType.ValueType # 2 - - class EventResponseType(_EventResponseType, metaclass=_EventResponseTypeEnumTypeWrapper): ... - UNKNOWN: EventResponseMessage.EventResponseType.ValueType # 0 - GOING: EventResponseMessage.EventResponseType.ValueType # 1 - NOT_GOING: EventResponseMessage.EventResponseType.ValueType # 2 - - RESPONSE_FIELD_NUMBER: builtins.int - TIMESTAMPMS_FIELD_NUMBER: builtins.int - response: global___EventResponseMessage.EventResponseType.ValueType - timestampMs: builtins.int - def __init__( - self, - *, - response: global___EventResponseMessage.EventResponseType.ValueType | None = ..., - timestampMs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["response", b"response", "timestampMs", b"timestampMs"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["response", b"response", "timestampMs", b"timestampMs"]) -> None: ... - -global___EventResponseMessage = EventResponseMessage - -@typing_extensions.final -class EventMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CONTEXTINFO_FIELD_NUMBER: builtins.int - ISCANCELED_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - LOCATION_FIELD_NUMBER: builtins.int - JOINLINK_FIELD_NUMBER: builtins.int - STARTTIME_FIELD_NUMBER: builtins.int - @property - def contextInfo(self) -> global___ContextInfo: ... - isCanceled: builtins.bool - name: builtins.str - description: builtins.str - @property - def location(self) -> global___LocationMessage: ... - joinLink: builtins.str - startTime: builtins.int - def __init__( - self, - *, - contextInfo: global___ContextInfo | None = ..., - isCanceled: builtins.bool | None = ..., - name: builtins.str | None = ..., - description: builtins.str | None = ..., - location: global___LocationMessage | None = ..., - joinLink: builtins.str | None = ..., - startTime: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "description", b"description", "isCanceled", b"isCanceled", "joinLink", b"joinLink", "location", b"location", "name", b"name", "startTime", b"startTime"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "description", b"description", "isCanceled", b"isCanceled", "joinLink", b"joinLink", "location", b"location", "name", b"name", "startTime", b"startTime"]) -> None: ... - -global___EventMessage = EventMessage - -@typing_extensions.final -class EncReactionMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TARGETMESSAGEKEY_FIELD_NUMBER: builtins.int - ENCPAYLOAD_FIELD_NUMBER: builtins.int - ENCIV_FIELD_NUMBER: builtins.int - @property - def targetMessageKey(self) -> global___MessageKey: ... - encPayload: builtins.bytes - encIv: builtins.bytes - def __init__( - self, - *, - targetMessageKey: global___MessageKey | None = ..., - encPayload: builtins.bytes | None = ..., - encIv: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["encIv", b"encIv", "encPayload", b"encPayload", "targetMessageKey", b"targetMessageKey"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["encIv", b"encIv", "encPayload", b"encPayload", "targetMessageKey", b"targetMessageKey"]) -> None: ... - -global___EncReactionMessage = EncReactionMessage - -@typing_extensions.final -class EncEventResponseMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EVENTCREATIONMESSAGEKEY_FIELD_NUMBER: builtins.int - ENCPAYLOAD_FIELD_NUMBER: builtins.int - ENCIV_FIELD_NUMBER: builtins.int - @property - def eventCreationMessageKey(self) -> global___MessageKey: ... - encPayload: builtins.bytes - encIv: builtins.bytes - def __init__( - self, - *, - eventCreationMessageKey: global___MessageKey | None = ..., - encPayload: builtins.bytes | None = ..., - encIv: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["encIv", b"encIv", "encPayload", b"encPayload", "eventCreationMessageKey", b"eventCreationMessageKey"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["encIv", b"encIv", "encPayload", b"encPayload", "eventCreationMessageKey", b"eventCreationMessageKey"]) -> None: ... - -global___EncEventResponseMessage = EncEventResponseMessage - -@typing_extensions.final -class EncCommentMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TARGETMESSAGEKEY_FIELD_NUMBER: builtins.int - ENCPAYLOAD_FIELD_NUMBER: builtins.int - ENCIV_FIELD_NUMBER: builtins.int - @property - def targetMessageKey(self) -> global___MessageKey: ... - encPayload: builtins.bytes - encIv: builtins.bytes - def __init__( - self, - *, - targetMessageKey: global___MessageKey | None = ..., - encPayload: builtins.bytes | None = ..., - encIv: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["encIv", b"encIv", "encPayload", b"encPayload", "targetMessageKey", b"targetMessageKey"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["encIv", b"encIv", "encPayload", b"encPayload", "targetMessageKey", b"targetMessageKey"]) -> None: ... - -global___EncCommentMessage = EncCommentMessage - -@typing_extensions.final -class DocumentMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - URL_FIELD_NUMBER: builtins.int - MIMETYPE_FIELD_NUMBER: builtins.int - TITLE_FIELD_NUMBER: builtins.int - FILESHA256_FIELD_NUMBER: builtins.int - FILELENGTH_FIELD_NUMBER: builtins.int - PAGECOUNT_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - FILENAME_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int - CONTACTVCARD_FIELD_NUMBER: builtins.int - THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int - THUMBNAILSHA256_FIELD_NUMBER: builtins.int - THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int - THUMBNAILWIDTH_FIELD_NUMBER: builtins.int - CAPTION_FIELD_NUMBER: builtins.int - url: builtins.str - mimetype: builtins.str - title: builtins.str - fileSha256: builtins.bytes - fileLength: builtins.int - pageCount: builtins.int - mediaKey: builtins.bytes - fileName: builtins.str - fileEncSha256: builtins.bytes - directPath: builtins.str - mediaKeyTimestamp: builtins.int - contactVcard: builtins.bool - thumbnailDirectPath: builtins.str - thumbnailSha256: builtins.bytes - thumbnailEncSha256: builtins.bytes - jpegThumbnail: builtins.bytes - @property - def contextInfo(self) -> global___ContextInfo: ... - thumbnailHeight: builtins.int - thumbnailWidth: builtins.int - caption: builtins.str - def __init__( - self, - *, - url: builtins.str | None = ..., - mimetype: builtins.str | None = ..., - title: builtins.str | None = ..., - fileSha256: builtins.bytes | None = ..., - fileLength: builtins.int | None = ..., - pageCount: builtins.int | None = ..., - mediaKey: builtins.bytes | None = ..., - fileName: builtins.str | None = ..., - fileEncSha256: builtins.bytes | None = ..., - directPath: builtins.str | None = ..., - mediaKeyTimestamp: builtins.int | None = ..., - contactVcard: builtins.bool | None = ..., - thumbnailDirectPath: builtins.str | None = ..., - thumbnailSha256: builtins.bytes | None = ..., - thumbnailEncSha256: builtins.bytes | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - contextInfo: global___ContextInfo | None = ..., - thumbnailHeight: builtins.int | None = ..., - thumbnailWidth: builtins.int | None = ..., - caption: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["caption", b"caption", "contactVcard", b"contactVcard", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileName", b"fileName", "fileSha256", b"fileSha256", "jpegThumbnail", b"jpegThumbnail", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pageCount", b"pageCount", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSha256", b"thumbnailEncSha256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSha256", b"thumbnailSha256", "thumbnailWidth", b"thumbnailWidth", "title", b"title", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["caption", b"caption", "contactVcard", b"contactVcard", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileName", b"fileName", "fileSha256", b"fileSha256", "jpegThumbnail", b"jpegThumbnail", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pageCount", b"pageCount", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSha256", b"thumbnailEncSha256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSha256", b"thumbnailSha256", "thumbnailWidth", b"thumbnailWidth", "title", b"title", "url", b"url"]) -> None: ... - -global___DocumentMessage = DocumentMessage - -@typing_extensions.final -class DeviceSentMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DESTINATIONJID_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - PHASH_FIELD_NUMBER: builtins.int - destinationJid: builtins.str - @property - def message(self) -> global___Message: ... - phash: builtins.str - def __init__( - self, - *, - destinationJid: builtins.str | None = ..., - message: global___Message | None = ..., - phash: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["destinationJid", b"destinationJid", "message", b"message", "phash", b"phash"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["destinationJid", b"destinationJid", "message", b"message", "phash", b"phash"]) -> None: ... - -global___DeviceSentMessage = DeviceSentMessage - -@typing_extensions.final -class DeclinePaymentRequestMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - def __init__( - self, - *, - key: global___MessageKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key"]) -> None: ... - -global___DeclinePaymentRequestMessage = DeclinePaymentRequestMessage - -@typing_extensions.final -class ContactsArrayMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPLAYNAME_FIELD_NUMBER: builtins.int - CONTACTS_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - displayName: builtins.str - @property - def contacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ContactMessage]: ... - @property - def contextInfo(self) -> global___ContextInfo: ... - def __init__( - self, - *, - displayName: builtins.str | None = ..., - contacts: collections.abc.Iterable[global___ContactMessage] | None = ..., - contextInfo: global___ContextInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "displayName", b"displayName"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contacts", b"contacts", "contextInfo", b"contextInfo", "displayName", b"displayName"]) -> None: ... - -global___ContactsArrayMessage = ContactsArrayMessage - -@typing_extensions.final -class ContactMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPLAYNAME_FIELD_NUMBER: builtins.int - VCARD_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - displayName: builtins.str - vcard: builtins.str - @property - def contextInfo(self) -> global___ContextInfo: ... - def __init__( - self, - *, - displayName: builtins.str | None = ..., - vcard: builtins.str | None = ..., - contextInfo: global___ContextInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "displayName", b"displayName", "vcard", b"vcard"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "displayName", b"displayName", "vcard", b"vcard"]) -> None: ... - -global___ContactMessage = ContactMessage - -@typing_extensions.final -class CommentMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MESSAGE_FIELD_NUMBER: builtins.int - TARGETMESSAGEKEY_FIELD_NUMBER: builtins.int - @property - def message(self) -> global___Message: ... - @property - def targetMessageKey(self) -> global___MessageKey: ... - def __init__( - self, - *, - message: global___Message | None = ..., - targetMessageKey: global___MessageKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["message", b"message", "targetMessageKey", b"targetMessageKey"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["message", b"message", "targetMessageKey", b"targetMessageKey"]) -> None: ... - -global___CommentMessage = CommentMessage - -@typing_extensions.final -class Chat(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPLAYNAME_FIELD_NUMBER: builtins.int - ID_FIELD_NUMBER: builtins.int - displayName: builtins.str - id: builtins.str - def __init__( - self, - *, - displayName: builtins.str | None = ..., - id: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["displayName", b"displayName", "id", b"id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["displayName", b"displayName", "id", b"id"]) -> None: ... - -global___Chat = Chat - -@typing_extensions.final -class CancelPaymentRequestMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - def __init__( - self, - *, - key: global___MessageKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key"]) -> None: ... - -global___CancelPaymentRequestMessage = CancelPaymentRequestMessage - -@typing_extensions.final -class Call(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CALLKEY_FIELD_NUMBER: builtins.int - CONVERSIONSOURCE_FIELD_NUMBER: builtins.int - CONVERSIONDATA_FIELD_NUMBER: builtins.int - CONVERSIONDELAYSECONDS_FIELD_NUMBER: builtins.int - callKey: builtins.bytes - conversionSource: builtins.str - conversionData: builtins.bytes - conversionDelaySeconds: builtins.int - def __init__( - self, - *, - callKey: builtins.bytes | None = ..., - conversionSource: builtins.str | None = ..., - conversionData: builtins.bytes | None = ..., - conversionDelaySeconds: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["callKey", b"callKey", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["callKey", b"callKey", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource"]) -> None: ... - -global___Call = Call - -@typing_extensions.final -class CallLogMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _CallType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _CallTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogMessage._CallType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - REGULAR: CallLogMessage._CallType.ValueType # 0 - SCHEDULED_CALL: CallLogMessage._CallType.ValueType # 1 - VOICE_CHAT: CallLogMessage._CallType.ValueType # 2 - - class CallType(_CallType, metaclass=_CallTypeEnumTypeWrapper): ... - REGULAR: CallLogMessage.CallType.ValueType # 0 - SCHEDULED_CALL: CallLogMessage.CallType.ValueType # 1 - VOICE_CHAT: CallLogMessage.CallType.ValueType # 2 - - class _CallOutcome: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _CallOutcomeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogMessage._CallOutcome.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - CONNECTED: CallLogMessage._CallOutcome.ValueType # 0 - MISSED: CallLogMessage._CallOutcome.ValueType # 1 - FAILED: CallLogMessage._CallOutcome.ValueType # 2 - REJECTED: CallLogMessage._CallOutcome.ValueType # 3 - ACCEPTED_ELSEWHERE: CallLogMessage._CallOutcome.ValueType # 4 - ONGOING: CallLogMessage._CallOutcome.ValueType # 5 - SILENCED_BY_DND: CallLogMessage._CallOutcome.ValueType # 6 - SILENCED_UNKNOWN_CALLER: CallLogMessage._CallOutcome.ValueType # 7 - - class CallOutcome(_CallOutcome, metaclass=_CallOutcomeEnumTypeWrapper): ... - CONNECTED: CallLogMessage.CallOutcome.ValueType # 0 - MISSED: CallLogMessage.CallOutcome.ValueType # 1 - FAILED: CallLogMessage.CallOutcome.ValueType # 2 - REJECTED: CallLogMessage.CallOutcome.ValueType # 3 - ACCEPTED_ELSEWHERE: CallLogMessage.CallOutcome.ValueType # 4 - ONGOING: CallLogMessage.CallOutcome.ValueType # 5 - SILENCED_BY_DND: CallLogMessage.CallOutcome.ValueType # 6 - SILENCED_UNKNOWN_CALLER: CallLogMessage.CallOutcome.ValueType # 7 - - @typing_extensions.final - class CallParticipant(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - JID_FIELD_NUMBER: builtins.int - CALLOUTCOME_FIELD_NUMBER: builtins.int - jid: builtins.str - callOutcome: global___CallLogMessage.CallOutcome.ValueType - def __init__( - self, - *, - jid: builtins.str | None = ..., - callOutcome: global___CallLogMessage.CallOutcome.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["callOutcome", b"callOutcome", "jid", b"jid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["callOutcome", b"callOutcome", "jid", b"jid"]) -> None: ... - - ISVIDEO_FIELD_NUMBER: builtins.int - CALLOUTCOME_FIELD_NUMBER: builtins.int - DURATIONSECS_FIELD_NUMBER: builtins.int - CALLTYPE_FIELD_NUMBER: builtins.int - PARTICIPANTS_FIELD_NUMBER: builtins.int - isVideo: builtins.bool - callOutcome: global___CallLogMessage.CallOutcome.ValueType - durationSecs: builtins.int - callType: global___CallLogMessage.CallType.ValueType - @property - def participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CallLogMessage.CallParticipant]: ... - def __init__( - self, - *, - isVideo: builtins.bool | None = ..., - callOutcome: global___CallLogMessage.CallOutcome.ValueType | None = ..., - durationSecs: builtins.int | None = ..., - callType: global___CallLogMessage.CallType.ValueType | None = ..., - participants: collections.abc.Iterable[global___CallLogMessage.CallParticipant] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["callOutcome", b"callOutcome", "callType", b"callType", "durationSecs", b"durationSecs", "isVideo", b"isVideo"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["callOutcome", b"callOutcome", "callType", b"callType", "durationSecs", b"durationSecs", "isVideo", b"isVideo", "participants", b"participants"]) -> None: ... - -global___CallLogMessage = CallLogMessage - -@typing_extensions.final -class ButtonsResponseMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Type: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ButtonsResponseMessage._Type.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: ButtonsResponseMessage._Type.ValueType # 0 - DISPLAY_TEXT: ButtonsResponseMessage._Type.ValueType # 1 - - class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... - UNKNOWN: ButtonsResponseMessage.Type.ValueType # 0 - DISPLAY_TEXT: ButtonsResponseMessage.Type.ValueType # 1 - - SELECTEDBUTTONID_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - SELECTEDDISPLAYTEXT_FIELD_NUMBER: builtins.int - selectedButtonId: builtins.str - @property - def contextInfo(self) -> global___ContextInfo: ... - type: global___ButtonsResponseMessage.Type.ValueType - selectedDisplayText: builtins.str - def __init__( - self, - *, - selectedButtonId: builtins.str | None = ..., - contextInfo: global___ContextInfo | None = ..., - type: global___ButtonsResponseMessage.Type.ValueType | None = ..., - selectedDisplayText: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "response", b"response", "selectedButtonId", b"selectedButtonId", "selectedDisplayText", b"selectedDisplayText", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "response", b"response", "selectedButtonId", b"selectedButtonId", "selectedDisplayText", b"selectedDisplayText", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["response", b"response"]) -> typing_extensions.Literal["selectedDisplayText"] | None: ... - -global___ButtonsResponseMessage = ButtonsResponseMessage - -@typing_extensions.final -class ButtonsMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _HeaderType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _HeaderTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ButtonsMessage._HeaderType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: ButtonsMessage._HeaderType.ValueType # 0 - EMPTY: ButtonsMessage._HeaderType.ValueType # 1 - TEXT: ButtonsMessage._HeaderType.ValueType # 2 - DOCUMENT: ButtonsMessage._HeaderType.ValueType # 3 - IMAGE: ButtonsMessage._HeaderType.ValueType # 4 - VIDEO: ButtonsMessage._HeaderType.ValueType # 5 - LOCATION: ButtonsMessage._HeaderType.ValueType # 6 - - class HeaderType(_HeaderType, metaclass=_HeaderTypeEnumTypeWrapper): ... - UNKNOWN: ButtonsMessage.HeaderType.ValueType # 0 - EMPTY: ButtonsMessage.HeaderType.ValueType # 1 - TEXT: ButtonsMessage.HeaderType.ValueType # 2 - DOCUMENT: ButtonsMessage.HeaderType.ValueType # 3 - IMAGE: ButtonsMessage.HeaderType.ValueType # 4 - VIDEO: ButtonsMessage.HeaderType.ValueType # 5 - LOCATION: ButtonsMessage.HeaderType.ValueType # 6 - - @typing_extensions.final - class Button(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Type: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ButtonsMessage.Button._Type.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: ButtonsMessage.Button._Type.ValueType # 0 - RESPONSE: ButtonsMessage.Button._Type.ValueType # 1 - NATIVE_FLOW: ButtonsMessage.Button._Type.ValueType # 2 - - class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... - UNKNOWN: ButtonsMessage.Button.Type.ValueType # 0 - RESPONSE: ButtonsMessage.Button.Type.ValueType # 1 - NATIVE_FLOW: ButtonsMessage.Button.Type.ValueType # 2 - - @typing_extensions.final - class NativeFlowInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - PARAMSJSON_FIELD_NUMBER: builtins.int - name: builtins.str - paramsJson: builtins.str - def __init__( - self, - *, - name: builtins.str | None = ..., - paramsJson: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["name", b"name", "paramsJson", b"paramsJson"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "paramsJson", b"paramsJson"]) -> None: ... - - @typing_extensions.final - class ButtonText(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPLAYTEXT_FIELD_NUMBER: builtins.int - displayText: builtins.str - def __init__( - self, - *, - displayText: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["displayText", b"displayText"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["displayText", b"displayText"]) -> None: ... - - BUTTONID_FIELD_NUMBER: builtins.int - BUTTONTEXT_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - NATIVEFLOWINFO_FIELD_NUMBER: builtins.int - buttonId: builtins.str - @property - def buttonText(self) -> global___ButtonsMessage.Button.ButtonText: ... - type: global___ButtonsMessage.Button.Type.ValueType - @property - def nativeFlowInfo(self) -> global___ButtonsMessage.Button.NativeFlowInfo: ... - def __init__( - self, - *, - buttonId: builtins.str | None = ..., - buttonText: global___ButtonsMessage.Button.ButtonText | None = ..., - type: global___ButtonsMessage.Button.Type.ValueType | None = ..., - nativeFlowInfo: global___ButtonsMessage.Button.NativeFlowInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buttonId", b"buttonId", "buttonText", b"buttonText", "nativeFlowInfo", b"nativeFlowInfo", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buttonId", b"buttonId", "buttonText", b"buttonText", "nativeFlowInfo", b"nativeFlowInfo", "type", b"type"]) -> None: ... - - CONTENTTEXT_FIELD_NUMBER: builtins.int - FOOTERTEXT_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - BUTTONS_FIELD_NUMBER: builtins.int - HEADERTYPE_FIELD_NUMBER: builtins.int - TEXT_FIELD_NUMBER: builtins.int - DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int - IMAGEMESSAGE_FIELD_NUMBER: builtins.int - VIDEOMESSAGE_FIELD_NUMBER: builtins.int - LOCATIONMESSAGE_FIELD_NUMBER: builtins.int - contentText: builtins.str - footerText: builtins.str - @property - def contextInfo(self) -> global___ContextInfo: ... - @property - def buttons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ButtonsMessage.Button]: ... - headerType: global___ButtonsMessage.HeaderType.ValueType - text: builtins.str - @property - def documentMessage(self) -> global___DocumentMessage: ... - @property - def imageMessage(self) -> global___ImageMessage: ... - @property - def videoMessage(self) -> global___VideoMessage: ... - @property - def locationMessage(self) -> global___LocationMessage: ... - def __init__( - self, - *, - contentText: builtins.str | None = ..., - footerText: builtins.str | None = ..., - contextInfo: global___ContextInfo | None = ..., - buttons: collections.abc.Iterable[global___ButtonsMessage.Button] | None = ..., - headerType: global___ButtonsMessage.HeaderType.ValueType | None = ..., - text: builtins.str | None = ..., - documentMessage: global___DocumentMessage | None = ..., - imageMessage: global___ImageMessage | None = ..., - videoMessage: global___VideoMessage | None = ..., - locationMessage: global___LocationMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contentText", b"contentText", "contextInfo", b"contextInfo", "documentMessage", b"documentMessage", "footerText", b"footerText", "header", b"header", "headerType", b"headerType", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "text", b"text", "videoMessage", b"videoMessage"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buttons", b"buttons", "contentText", b"contentText", "contextInfo", b"contextInfo", "documentMessage", b"documentMessage", "footerText", b"footerText", "header", b"header", "headerType", b"headerType", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "text", b"text", "videoMessage", b"videoMessage"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["header", b"header"]) -> typing_extensions.Literal["text", "documentMessage", "imageMessage", "videoMessage", "locationMessage"] | None: ... - -global___ButtonsMessage = ButtonsMessage - -@typing_extensions.final -class BotFeedbackMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _BotFeedbackKindMultiplePositive: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _BotFeedbackKindMultiplePositiveEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._BotFeedbackKindMultiplePositive.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC: BotFeedbackMessage._BotFeedbackKindMultiplePositive.ValueType # 1 - - class BotFeedbackKindMultiplePositive(_BotFeedbackKindMultiplePositive, metaclass=_BotFeedbackKindMultiplePositiveEnumTypeWrapper): ... - BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC: BotFeedbackMessage.BotFeedbackKindMultiplePositive.ValueType # 1 - - class _BotFeedbackKindMultipleNegative: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _BotFeedbackKindMultipleNegativeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 1 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 2 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 4 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 8 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 16 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 32 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 64 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 128 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 256 - - class BotFeedbackKindMultipleNegative(_BotFeedbackKindMultipleNegative, metaclass=_BotFeedbackKindMultipleNegativeEnumTypeWrapper): ... - BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 1 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 2 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 4 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 8 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 16 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 32 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 64 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 128 - BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 256 - - class _BotFeedbackKind: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _BotFeedbackKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._BotFeedbackKind.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - BOT_FEEDBACK_POSITIVE: BotFeedbackMessage._BotFeedbackKind.ValueType # 0 - BOT_FEEDBACK_NEGATIVE_GENERIC: BotFeedbackMessage._BotFeedbackKind.ValueType # 1 - BOT_FEEDBACK_NEGATIVE_HELPFUL: BotFeedbackMessage._BotFeedbackKind.ValueType # 2 - BOT_FEEDBACK_NEGATIVE_INTERESTING: BotFeedbackMessage._BotFeedbackKind.ValueType # 3 - BOT_FEEDBACK_NEGATIVE_ACCURATE: BotFeedbackMessage._BotFeedbackKind.ValueType # 4 - BOT_FEEDBACK_NEGATIVE_SAFE: BotFeedbackMessage._BotFeedbackKind.ValueType # 5 - BOT_FEEDBACK_NEGATIVE_OTHER: BotFeedbackMessage._BotFeedbackKind.ValueType # 6 - BOT_FEEDBACK_NEGATIVE_REFUSED: BotFeedbackMessage._BotFeedbackKind.ValueType # 7 - BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage._BotFeedbackKind.ValueType # 8 - BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage._BotFeedbackKind.ValueType # 9 - - class BotFeedbackKind(_BotFeedbackKind, metaclass=_BotFeedbackKindEnumTypeWrapper): ... - BOT_FEEDBACK_POSITIVE: BotFeedbackMessage.BotFeedbackKind.ValueType # 0 - BOT_FEEDBACK_NEGATIVE_GENERIC: BotFeedbackMessage.BotFeedbackKind.ValueType # 1 - BOT_FEEDBACK_NEGATIVE_HELPFUL: BotFeedbackMessage.BotFeedbackKind.ValueType # 2 - BOT_FEEDBACK_NEGATIVE_INTERESTING: BotFeedbackMessage.BotFeedbackKind.ValueType # 3 - BOT_FEEDBACK_NEGATIVE_ACCURATE: BotFeedbackMessage.BotFeedbackKind.ValueType # 4 - BOT_FEEDBACK_NEGATIVE_SAFE: BotFeedbackMessage.BotFeedbackKind.ValueType # 5 - BOT_FEEDBACK_NEGATIVE_OTHER: BotFeedbackMessage.BotFeedbackKind.ValueType # 6 - BOT_FEEDBACK_NEGATIVE_REFUSED: BotFeedbackMessage.BotFeedbackKind.ValueType # 7 - BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage.BotFeedbackKind.ValueType # 8 - BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage.BotFeedbackKind.ValueType # 9 - - MESSAGEKEY_FIELD_NUMBER: builtins.int - KIND_FIELD_NUMBER: builtins.int - TEXT_FIELD_NUMBER: builtins.int - KINDNEGATIVE_FIELD_NUMBER: builtins.int - KINDPOSITIVE_FIELD_NUMBER: builtins.int - @property - def messageKey(self) -> global___MessageKey: ... - kind: global___BotFeedbackMessage.BotFeedbackKind.ValueType - text: builtins.str - kindNegative: builtins.int - kindPositive: builtins.int - def __init__( - self, - *, - messageKey: global___MessageKey | None = ..., - kind: global___BotFeedbackMessage.BotFeedbackKind.ValueType | None = ..., - text: builtins.str | None = ..., - kindNegative: builtins.int | None = ..., - kindPositive: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["kind", b"kind", "kindNegative", b"kindNegative", "kindPositive", b"kindPositive", "messageKey", b"messageKey", "text", b"text"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "kindNegative", b"kindNegative", "kindPositive", b"kindPositive", "messageKey", b"messageKey", "text", b"text"]) -> None: ... - -global___BotFeedbackMessage = BotFeedbackMessage - -@typing_extensions.final -class BCallMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _MediaType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BCallMessage._MediaType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: BCallMessage._MediaType.ValueType # 0 - AUDIO: BCallMessage._MediaType.ValueType # 1 - VIDEO: BCallMessage._MediaType.ValueType # 2 - - class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper): ... - UNKNOWN: BCallMessage.MediaType.ValueType # 0 - AUDIO: BCallMessage.MediaType.ValueType # 1 - VIDEO: BCallMessage.MediaType.ValueType # 2 - - SESSIONID_FIELD_NUMBER: builtins.int - MEDIATYPE_FIELD_NUMBER: builtins.int - MASTERKEY_FIELD_NUMBER: builtins.int - CAPTION_FIELD_NUMBER: builtins.int - sessionId: builtins.str - mediaType: global___BCallMessage.MediaType.ValueType - masterKey: builtins.bytes - caption: builtins.str - def __init__( - self, - *, - sessionId: builtins.str | None = ..., - mediaType: global___BCallMessage.MediaType.ValueType | None = ..., - masterKey: builtins.bytes | None = ..., - caption: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["caption", b"caption", "masterKey", b"masterKey", "mediaType", b"mediaType", "sessionId", b"sessionId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["caption", b"caption", "masterKey", b"masterKey", "mediaType", b"mediaType", "sessionId", b"sessionId"]) -> None: ... - -global___BCallMessage = BCallMessage - -@typing_extensions.final -class AudioMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - URL_FIELD_NUMBER: builtins.int - MIMETYPE_FIELD_NUMBER: builtins.int - FILESHA256_FIELD_NUMBER: builtins.int - FILELENGTH_FIELD_NUMBER: builtins.int - SECONDS_FIELD_NUMBER: builtins.int - PTT_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - STREAMINGSIDECAR_FIELD_NUMBER: builtins.int - WAVEFORM_FIELD_NUMBER: builtins.int - BACKGROUNDARGB_FIELD_NUMBER: builtins.int - VIEWONCE_FIELD_NUMBER: builtins.int - url: builtins.str - mimetype: builtins.str - fileSha256: builtins.bytes - fileLength: builtins.int - seconds: builtins.int - ptt: builtins.bool - mediaKey: builtins.bytes - fileEncSha256: builtins.bytes - directPath: builtins.str - mediaKeyTimestamp: builtins.int - @property - def contextInfo(self) -> global___ContextInfo: ... - streamingSidecar: builtins.bytes - waveform: builtins.bytes - backgroundArgb: builtins.int - viewOnce: builtins.bool - def __init__( - self, - *, - url: builtins.str | None = ..., - mimetype: builtins.str | None = ..., - fileSha256: builtins.bytes | None = ..., - fileLength: builtins.int | None = ..., - seconds: builtins.int | None = ..., - ptt: builtins.bool | None = ..., - mediaKey: builtins.bytes | None = ..., - fileEncSha256: builtins.bytes | None = ..., - directPath: builtins.str | None = ..., - mediaKeyTimestamp: builtins.int | None = ..., - contextInfo: global___ContextInfo | None = ..., - streamingSidecar: builtins.bytes | None = ..., - waveform: builtins.bytes | None = ..., - backgroundArgb: builtins.int | None = ..., - viewOnce: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["backgroundArgb", b"backgroundArgb", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "ptt", b"ptt", "seconds", b"seconds", "streamingSidecar", b"streamingSidecar", "url", b"url", "viewOnce", b"viewOnce", "waveform", b"waveform"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["backgroundArgb", b"backgroundArgb", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "ptt", b"ptt", "seconds", b"seconds", "streamingSidecar", b"streamingSidecar", "url", b"url", "viewOnce", b"viewOnce", "waveform", b"waveform"]) -> None: ... - -global___AudioMessage = AudioMessage - -@typing_extensions.final -class AppStateSyncKey(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEYID_FIELD_NUMBER: builtins.int - KEYDATA_FIELD_NUMBER: builtins.int - @property - def keyId(self) -> global___AppStateSyncKeyId: ... - @property - def keyData(self) -> global___AppStateSyncKeyData: ... - def __init__( - self, - *, - keyId: global___AppStateSyncKeyId | None = ..., - keyData: global___AppStateSyncKeyData | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["keyData", b"keyData", "keyId", b"keyId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["keyData", b"keyData", "keyId", b"keyId"]) -> None: ... - -global___AppStateSyncKey = AppStateSyncKey - -@typing_extensions.final -class AppStateSyncKeyShare(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEYS_FIELD_NUMBER: builtins.int - @property - def keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AppStateSyncKey]: ... - def __init__( - self, - *, - keys: collections.abc.Iterable[global___AppStateSyncKey] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["keys", b"keys"]) -> None: ... - -global___AppStateSyncKeyShare = AppStateSyncKeyShare - -@typing_extensions.final -class AppStateSyncKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEYIDS_FIELD_NUMBER: builtins.int - @property - def keyIds(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AppStateSyncKeyId]: ... - def __init__( - self, - *, - keyIds: collections.abc.Iterable[global___AppStateSyncKeyId] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["keyIds", b"keyIds"]) -> None: ... - -global___AppStateSyncKeyRequest = AppStateSyncKeyRequest - -@typing_extensions.final -class AppStateSyncKeyId(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEYID_FIELD_NUMBER: builtins.int - keyId: builtins.bytes - def __init__( - self, - *, - keyId: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["keyId", b"keyId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["keyId", b"keyId"]) -> None: ... - -global___AppStateSyncKeyId = AppStateSyncKeyId - -@typing_extensions.final -class AppStateSyncKeyFingerprint(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RAWID_FIELD_NUMBER: builtins.int - CURRENTINDEX_FIELD_NUMBER: builtins.int - DEVICEINDEXES_FIELD_NUMBER: builtins.int - rawId: builtins.int - currentIndex: builtins.int - @property - def deviceIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... - def __init__( - self, - *, - rawId: builtins.int | None = ..., - currentIndex: builtins.int | None = ..., - deviceIndexes: collections.abc.Iterable[builtins.int] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["currentIndex", b"currentIndex", "rawId", b"rawId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["currentIndex", b"currentIndex", "deviceIndexes", b"deviceIndexes", "rawId", b"rawId"]) -> None: ... - -global___AppStateSyncKeyFingerprint = AppStateSyncKeyFingerprint - -@typing_extensions.final -class AppStateSyncKeyData(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEYDATA_FIELD_NUMBER: builtins.int - FINGERPRINT_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - keyData: builtins.bytes - @property - def fingerprint(self) -> global___AppStateSyncKeyFingerprint: ... - timestamp: builtins.int - def __init__( - self, - *, - keyData: builtins.bytes | None = ..., - fingerprint: global___AppStateSyncKeyFingerprint | None = ..., - timestamp: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["fingerprint", b"fingerprint", "keyData", b"keyData", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["fingerprint", b"fingerprint", "keyData", b"keyData", "timestamp", b"timestamp"]) -> None: ... - -global___AppStateSyncKeyData = AppStateSyncKeyData - -@typing_extensions.final -class AppStateFatalExceptionNotification(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COLLECTIONNAMES_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - @property - def collectionNames(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - timestamp: builtins.int - def __init__( - self, - *, - collectionNames: collections.abc.Iterable[builtins.str] | None = ..., - timestamp: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["collectionNames", b"collectionNames", "timestamp", b"timestamp"]) -> None: ... - -global___AppStateFatalExceptionNotification = AppStateFatalExceptionNotification - -@typing_extensions.final -class Location(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DEGREESLATITUDE_FIELD_NUMBER: builtins.int - DEGREESLONGITUDE_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - degreesLatitude: builtins.float - degreesLongitude: builtins.float - name: builtins.str - def __init__( - self, - *, - degreesLatitude: builtins.float | None = ..., - degreesLongitude: builtins.float | None = ..., - name: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "name", b"name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "name", b"name"]) -> None: ... - -global___Location = Location - -@typing_extensions.final -class InteractiveAnnotation(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLYGONVERTICES_FIELD_NUMBER: builtins.int - SHOULDSKIPCONFIRMATION_FIELD_NUMBER: builtins.int - LOCATION_FIELD_NUMBER: builtins.int - NEWSLETTER_FIELD_NUMBER: builtins.int - @property - def polygonVertices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Point]: ... - shouldSkipConfirmation: builtins.bool - @property - def location(self) -> global___Location: ... - @property - def newsletter(self) -> global___ForwardedNewsletterMessageInfo: ... - def __init__( - self, - *, - polygonVertices: collections.abc.Iterable[global___Point] | None = ..., - shouldSkipConfirmation: builtins.bool | None = ..., - location: global___Location | None = ..., - newsletter: global___ForwardedNewsletterMessageInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["action", b"action", "location", b"location", "newsletter", b"newsletter", "shouldSkipConfirmation", b"shouldSkipConfirmation"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "location", b"location", "newsletter", b"newsletter", "polygonVertices", b"polygonVertices", "shouldSkipConfirmation", b"shouldSkipConfirmation"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["action", b"action"]) -> typing_extensions.Literal["location", "newsletter"] | None: ... - -global___InteractiveAnnotation = InteractiveAnnotation - -@typing_extensions.final -class HydratedTemplateButton(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class HydratedURLButton(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _WebviewPresentationType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _WebviewPresentationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - FULL: HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType # 1 - TALL: HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType # 2 - COMPACT: HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType # 3 - - class WebviewPresentationType(_WebviewPresentationType, metaclass=_WebviewPresentationTypeEnumTypeWrapper): ... - FULL: HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType # 1 - TALL: HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType # 2 - COMPACT: HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType # 3 - - DISPLAYTEXT_FIELD_NUMBER: builtins.int - URL_FIELD_NUMBER: builtins.int - CONSENTEDUSERSURL_FIELD_NUMBER: builtins.int - WEBVIEWPRESENTATION_FIELD_NUMBER: builtins.int - displayText: builtins.str - url: builtins.str - consentedUsersUrl: builtins.str - webviewPresentation: global___HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType - def __init__( - self, - *, - displayText: builtins.str | None = ..., - url: builtins.str | None = ..., - consentedUsersUrl: builtins.str | None = ..., - webviewPresentation: global___HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["consentedUsersUrl", b"consentedUsersUrl", "displayText", b"displayText", "url", b"url", "webviewPresentation", b"webviewPresentation"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["consentedUsersUrl", b"consentedUsersUrl", "displayText", b"displayText", "url", b"url", "webviewPresentation", b"webviewPresentation"]) -> None: ... - - @typing_extensions.final - class HydratedQuickReplyButton(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPLAYTEXT_FIELD_NUMBER: builtins.int - ID_FIELD_NUMBER: builtins.int - displayText: builtins.str - id: builtins.str - def __init__( - self, - *, - displayText: builtins.str | None = ..., - id: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["displayText", b"displayText", "id", b"id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["displayText", b"displayText", "id", b"id"]) -> None: ... - - @typing_extensions.final - class HydratedCallButton(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPLAYTEXT_FIELD_NUMBER: builtins.int - PHONENUMBER_FIELD_NUMBER: builtins.int - displayText: builtins.str - phoneNumber: builtins.str - def __init__( - self, - *, - displayText: builtins.str | None = ..., - phoneNumber: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["displayText", b"displayText", "phoneNumber", b"phoneNumber"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["displayText", b"displayText", "phoneNumber", b"phoneNumber"]) -> None: ... - - INDEX_FIELD_NUMBER: builtins.int - QUICKREPLYBUTTON_FIELD_NUMBER: builtins.int - URLBUTTON_FIELD_NUMBER: builtins.int - CALLBUTTON_FIELD_NUMBER: builtins.int - index: builtins.int - @property - def quickReplyButton(self) -> global___HydratedTemplateButton.HydratedQuickReplyButton: ... - @property - def urlButton(self) -> global___HydratedTemplateButton.HydratedURLButton: ... - @property - def callButton(self) -> global___HydratedTemplateButton.HydratedCallButton: ... - def __init__( - self, - *, - index: builtins.int | None = ..., - quickReplyButton: global___HydratedTemplateButton.HydratedQuickReplyButton | None = ..., - urlButton: global___HydratedTemplateButton.HydratedURLButton | None = ..., - callButton: global___HydratedTemplateButton.HydratedCallButton | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["callButton", b"callButton", "hydratedButton", b"hydratedButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["callButton", b"callButton", "hydratedButton", b"hydratedButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["hydratedButton", b"hydratedButton"]) -> typing_extensions.Literal["quickReplyButton", "urlButton", "callButton"] | None: ... - -global___HydratedTemplateButton = HydratedTemplateButton - -@typing_extensions.final -class GroupMention(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - GROUPJID_FIELD_NUMBER: builtins.int - GROUPSUBJECT_FIELD_NUMBER: builtins.int - groupJid: builtins.str - groupSubject: builtins.str - def __init__( - self, - *, - groupJid: builtins.str | None = ..., - groupSubject: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["groupJid", b"groupJid", "groupSubject", b"groupSubject"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["groupJid", b"groupJid", "groupSubject", b"groupSubject"]) -> None: ... - -global___GroupMention = GroupMention - -@typing_extensions.final -class DisappearingMode(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Trigger: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _TriggerEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DisappearingMode._Trigger.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: DisappearingMode._Trigger.ValueType # 0 - CHAT_SETTING: DisappearingMode._Trigger.ValueType # 1 - ACCOUNT_SETTING: DisappearingMode._Trigger.ValueType # 2 - BULK_CHANGE: DisappearingMode._Trigger.ValueType # 3 - - class Trigger(_Trigger, metaclass=_TriggerEnumTypeWrapper): ... - UNKNOWN: DisappearingMode.Trigger.ValueType # 0 - CHAT_SETTING: DisappearingMode.Trigger.ValueType # 1 - ACCOUNT_SETTING: DisappearingMode.Trigger.ValueType # 2 - BULK_CHANGE: DisappearingMode.Trigger.ValueType # 3 - - class _Initiator: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _InitiatorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DisappearingMode._Initiator.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - CHANGED_IN_CHAT: DisappearingMode._Initiator.ValueType # 0 - INITIATED_BY_ME: DisappearingMode._Initiator.ValueType # 1 - INITIATED_BY_OTHER: DisappearingMode._Initiator.ValueType # 2 - - class Initiator(_Initiator, metaclass=_InitiatorEnumTypeWrapper): ... - CHANGED_IN_CHAT: DisappearingMode.Initiator.ValueType # 0 - INITIATED_BY_ME: DisappearingMode.Initiator.ValueType # 1 - INITIATED_BY_OTHER: DisappearingMode.Initiator.ValueType # 2 - - INITIATOR_FIELD_NUMBER: builtins.int - TRIGGER_FIELD_NUMBER: builtins.int - INITIATORDEVICEJID_FIELD_NUMBER: builtins.int - INITIATEDBYME_FIELD_NUMBER: builtins.int - initiator: global___DisappearingMode.Initiator.ValueType - trigger: global___DisappearingMode.Trigger.ValueType - initiatorDeviceJid: builtins.str - initiatedByMe: builtins.bool - def __init__( - self, - *, - initiator: global___DisappearingMode.Initiator.ValueType | None = ..., - trigger: global___DisappearingMode.Trigger.ValueType | None = ..., - initiatorDeviceJid: builtins.str | None = ..., - initiatedByMe: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["initiatedByMe", b"initiatedByMe", "initiator", b"initiator", "initiatorDeviceJid", b"initiatorDeviceJid", "trigger", b"trigger"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["initiatedByMe", b"initiatedByMe", "initiator", b"initiator", "initiatorDeviceJid", b"initiatorDeviceJid", "trigger", b"trigger"]) -> None: ... - -global___DisappearingMode = DisappearingMode - -@typing_extensions.final -class DeviceListMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SENDERKEYHASH_FIELD_NUMBER: builtins.int - SENDERTIMESTAMP_FIELD_NUMBER: builtins.int - SENDERKEYINDEXES_FIELD_NUMBER: builtins.int - SENDERACCOUNTTYPE_FIELD_NUMBER: builtins.int - RECEIVERACCOUNTTYPE_FIELD_NUMBER: builtins.int - RECIPIENTKEYHASH_FIELD_NUMBER: builtins.int - RECIPIENTTIMESTAMP_FIELD_NUMBER: builtins.int - RECIPIENTKEYINDEXES_FIELD_NUMBER: builtins.int - senderKeyHash: builtins.bytes - senderTimestamp: builtins.int - @property - def senderKeyIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... - senderAccountType: global___ADVEncryptionType.ValueType - receiverAccountType: global___ADVEncryptionType.ValueType - recipientKeyHash: builtins.bytes - recipientTimestamp: builtins.int - @property - def recipientKeyIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... - def __init__( - self, - *, - senderKeyHash: builtins.bytes | None = ..., - senderTimestamp: builtins.int | None = ..., - senderKeyIndexes: collections.abc.Iterable[builtins.int] | None = ..., - senderAccountType: global___ADVEncryptionType.ValueType | None = ..., - receiverAccountType: global___ADVEncryptionType.ValueType | None = ..., - recipientKeyHash: builtins.bytes | None = ..., - recipientTimestamp: builtins.int | None = ..., - recipientKeyIndexes: collections.abc.Iterable[builtins.int] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["receiverAccountType", b"receiverAccountType", "recipientKeyHash", b"recipientKeyHash", "recipientTimestamp", b"recipientTimestamp", "senderAccountType", b"senderAccountType", "senderKeyHash", b"senderKeyHash", "senderTimestamp", b"senderTimestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["receiverAccountType", b"receiverAccountType", "recipientKeyHash", b"recipientKeyHash", "recipientKeyIndexes", b"recipientKeyIndexes", "recipientTimestamp", b"recipientTimestamp", "senderAccountType", b"senderAccountType", "senderKeyHash", b"senderKeyHash", "senderKeyIndexes", b"senderKeyIndexes", "senderTimestamp", b"senderTimestamp"]) -> None: ... - -global___DeviceListMetadata = DeviceListMetadata - -@typing_extensions.final -class ContextInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class UTMInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - UTMSOURCE_FIELD_NUMBER: builtins.int - UTMCAMPAIGN_FIELD_NUMBER: builtins.int - utmSource: builtins.str - utmCampaign: builtins.str - def __init__( - self, - *, - utmSource: builtins.str | None = ..., - utmCampaign: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["utmCampaign", b"utmCampaign", "utmSource", b"utmSource"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["utmCampaign", b"utmCampaign", "utmSource", b"utmSource"]) -> None: ... - - @typing_extensions.final - class ExternalAdReplyInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _MediaType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.ExternalAdReplyInfo._MediaType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - NONE: ContextInfo.ExternalAdReplyInfo._MediaType.ValueType # 0 - IMAGE: ContextInfo.ExternalAdReplyInfo._MediaType.ValueType # 1 - VIDEO: ContextInfo.ExternalAdReplyInfo._MediaType.ValueType # 2 - - class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper): ... - NONE: ContextInfo.ExternalAdReplyInfo.MediaType.ValueType # 0 - IMAGE: ContextInfo.ExternalAdReplyInfo.MediaType.ValueType # 1 - VIDEO: ContextInfo.ExternalAdReplyInfo.MediaType.ValueType # 2 - - TITLE_FIELD_NUMBER: builtins.int - BODY_FIELD_NUMBER: builtins.int - MEDIATYPE_FIELD_NUMBER: builtins.int - THUMBNAILURL_FIELD_NUMBER: builtins.int - MEDIAURL_FIELD_NUMBER: builtins.int - THUMBNAIL_FIELD_NUMBER: builtins.int - SOURCETYPE_FIELD_NUMBER: builtins.int - SOURCEID_FIELD_NUMBER: builtins.int - SOURCEURL_FIELD_NUMBER: builtins.int - CONTAINSAUTOREPLY_FIELD_NUMBER: builtins.int - RENDERLARGERTHUMBNAIL_FIELD_NUMBER: builtins.int - SHOWADATTRIBUTION_FIELD_NUMBER: builtins.int - CTWACLID_FIELD_NUMBER: builtins.int - REF_FIELD_NUMBER: builtins.int - title: builtins.str - body: builtins.str - mediaType: global___ContextInfo.ExternalAdReplyInfo.MediaType.ValueType - thumbnailUrl: builtins.str - mediaUrl: builtins.str - thumbnail: builtins.bytes - sourceType: builtins.str - sourceId: builtins.str - sourceUrl: builtins.str - containsAutoReply: builtins.bool - renderLargerThumbnail: builtins.bool - showAdAttribution: builtins.bool - ctwaClid: builtins.str - ref: builtins.str - def __init__( - self, - *, - title: builtins.str | None = ..., - body: builtins.str | None = ..., - mediaType: global___ContextInfo.ExternalAdReplyInfo.MediaType.ValueType | None = ..., - thumbnailUrl: builtins.str | None = ..., - mediaUrl: builtins.str | None = ..., - thumbnail: builtins.bytes | None = ..., - sourceType: builtins.str | None = ..., - sourceId: builtins.str | None = ..., - sourceUrl: builtins.str | None = ..., - containsAutoReply: builtins.bool | None = ..., - renderLargerThumbnail: builtins.bool | None = ..., - showAdAttribution: builtins.bool | None = ..., - ctwaClid: builtins.str | None = ..., - ref: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["body", b"body", "containsAutoReply", b"containsAutoReply", "ctwaClid", b"ctwaClid", "mediaType", b"mediaType", "mediaUrl", b"mediaUrl", "ref", b"ref", "renderLargerThumbnail", b"renderLargerThumbnail", "showAdAttribution", b"showAdAttribution", "sourceId", b"sourceId", "sourceType", b"sourceType", "sourceUrl", b"sourceUrl", "thumbnail", b"thumbnail", "thumbnailUrl", b"thumbnailUrl", "title", b"title"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["body", b"body", "containsAutoReply", b"containsAutoReply", "ctwaClid", b"ctwaClid", "mediaType", b"mediaType", "mediaUrl", b"mediaUrl", "ref", b"ref", "renderLargerThumbnail", b"renderLargerThumbnail", "showAdAttribution", b"showAdAttribution", "sourceId", b"sourceId", "sourceType", b"sourceType", "sourceUrl", b"sourceUrl", "thumbnail", b"thumbnail", "thumbnailUrl", b"thumbnailUrl", "title", b"title"]) -> None: ... - - @typing_extensions.final - class DataSharingContext(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SHOWMMDISCLOSURE_FIELD_NUMBER: builtins.int - showMmDisclosure: builtins.bool - def __init__( - self, - *, - showMmDisclosure: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["showMmDisclosure", b"showMmDisclosure"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["showMmDisclosure", b"showMmDisclosure"]) -> None: ... - - @typing_extensions.final - class BusinessMessageForwardInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - BUSINESSOWNERJID_FIELD_NUMBER: builtins.int - businessOwnerJid: builtins.str - def __init__( - self, - *, - businessOwnerJid: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["businessOwnerJid", b"businessOwnerJid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["businessOwnerJid", b"businessOwnerJid"]) -> None: ... - - @typing_extensions.final - class AdReplyInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _MediaType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.AdReplyInfo._MediaType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - NONE: ContextInfo.AdReplyInfo._MediaType.ValueType # 0 - IMAGE: ContextInfo.AdReplyInfo._MediaType.ValueType # 1 - VIDEO: ContextInfo.AdReplyInfo._MediaType.ValueType # 2 - - class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper): ... - NONE: ContextInfo.AdReplyInfo.MediaType.ValueType # 0 - IMAGE: ContextInfo.AdReplyInfo.MediaType.ValueType # 1 - VIDEO: ContextInfo.AdReplyInfo.MediaType.ValueType # 2 - - ADVERTISERNAME_FIELD_NUMBER: builtins.int - MEDIATYPE_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - CAPTION_FIELD_NUMBER: builtins.int - advertiserName: builtins.str - mediaType: global___ContextInfo.AdReplyInfo.MediaType.ValueType - jpegThumbnail: builtins.bytes - caption: builtins.str - def __init__( - self, - *, - advertiserName: builtins.str | None = ..., - mediaType: global___ContextInfo.AdReplyInfo.MediaType.ValueType | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - caption: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["advertiserName", b"advertiserName", "caption", b"caption", "jpegThumbnail", b"jpegThumbnail", "mediaType", b"mediaType"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["advertiserName", b"advertiserName", "caption", b"caption", "jpegThumbnail", b"jpegThumbnail", "mediaType", b"mediaType"]) -> None: ... - - STANZAID_FIELD_NUMBER: builtins.int - PARTICIPANT_FIELD_NUMBER: builtins.int - QUOTEDMESSAGE_FIELD_NUMBER: builtins.int - REMOTEJID_FIELD_NUMBER: builtins.int - MENTIONEDJID_FIELD_NUMBER: builtins.int - CONVERSIONSOURCE_FIELD_NUMBER: builtins.int - CONVERSIONDATA_FIELD_NUMBER: builtins.int - CONVERSIONDELAYSECONDS_FIELD_NUMBER: builtins.int - FORWARDINGSCORE_FIELD_NUMBER: builtins.int - ISFORWARDED_FIELD_NUMBER: builtins.int - QUOTEDAD_FIELD_NUMBER: builtins.int - PLACEHOLDERKEY_FIELD_NUMBER: builtins.int - EXPIRATION_FIELD_NUMBER: builtins.int - EPHEMERALSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int - EPHEMERALSHAREDSECRET_FIELD_NUMBER: builtins.int - EXTERNALADREPLY_FIELD_NUMBER: builtins.int - ENTRYPOINTCONVERSIONSOURCE_FIELD_NUMBER: builtins.int - ENTRYPOINTCONVERSIONAPP_FIELD_NUMBER: builtins.int - ENTRYPOINTCONVERSIONDELAYSECONDS_FIELD_NUMBER: builtins.int - DISAPPEARINGMODE_FIELD_NUMBER: builtins.int - ACTIONLINK_FIELD_NUMBER: builtins.int - GROUPSUBJECT_FIELD_NUMBER: builtins.int - PARENTGROUPJID_FIELD_NUMBER: builtins.int - TRUSTBANNERTYPE_FIELD_NUMBER: builtins.int - TRUSTBANNERACTION_FIELD_NUMBER: builtins.int - ISSAMPLED_FIELD_NUMBER: builtins.int - GROUPMENTIONS_FIELD_NUMBER: builtins.int - UTM_FIELD_NUMBER: builtins.int - FORWARDEDNEWSLETTERMESSAGEINFO_FIELD_NUMBER: builtins.int - BUSINESSMESSAGEFORWARDINFO_FIELD_NUMBER: builtins.int - SMBCLIENTCAMPAIGNID_FIELD_NUMBER: builtins.int - SMBSERVERCAMPAIGNID_FIELD_NUMBER: builtins.int - DATASHARINGCONTEXT_FIELD_NUMBER: builtins.int - stanzaId: builtins.str - participant: builtins.str - @property - def quotedMessage(self) -> global___Message: ... - remoteJid: builtins.str - @property - def mentionedJid(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - conversionSource: builtins.str - conversionData: builtins.bytes - conversionDelaySeconds: builtins.int - forwardingScore: builtins.int - isForwarded: builtins.bool - @property - def quotedAd(self) -> global___ContextInfo.AdReplyInfo: ... - @property - def placeholderKey(self) -> global___MessageKey: ... - expiration: builtins.int - ephemeralSettingTimestamp: builtins.int - ephemeralSharedSecret: builtins.bytes - @property - def externalAdReply(self) -> global___ContextInfo.ExternalAdReplyInfo: ... - entryPointConversionSource: builtins.str - entryPointConversionApp: builtins.str - entryPointConversionDelaySeconds: builtins.int - @property - def disappearingMode(self) -> global___DisappearingMode: ... - @property - def actionLink(self) -> global___ActionLink: ... - groupSubject: builtins.str - parentGroupJid: builtins.str - trustBannerType: builtins.str - trustBannerAction: builtins.int - isSampled: builtins.bool - @property - def groupMentions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GroupMention]: ... - @property - def utm(self) -> global___ContextInfo.UTMInfo: ... - @property - def forwardedNewsletterMessageInfo(self) -> global___ForwardedNewsletterMessageInfo: ... - @property - def businessMessageForwardInfo(self) -> global___ContextInfo.BusinessMessageForwardInfo: ... - smbClientCampaignId: builtins.str - smbServerCampaignId: builtins.str - @property - def dataSharingContext(self) -> global___ContextInfo.DataSharingContext: ... - def __init__( - self, - *, - stanzaId: builtins.str | None = ..., - participant: builtins.str | None = ..., - quotedMessage: global___Message | None = ..., - remoteJid: builtins.str | None = ..., - mentionedJid: collections.abc.Iterable[builtins.str] | None = ..., - conversionSource: builtins.str | None = ..., - conversionData: builtins.bytes | None = ..., - conversionDelaySeconds: builtins.int | None = ..., - forwardingScore: builtins.int | None = ..., - isForwarded: builtins.bool | None = ..., - quotedAd: global___ContextInfo.AdReplyInfo | None = ..., - placeholderKey: global___MessageKey | None = ..., - expiration: builtins.int | None = ..., - ephemeralSettingTimestamp: builtins.int | None = ..., - ephemeralSharedSecret: builtins.bytes | None = ..., - externalAdReply: global___ContextInfo.ExternalAdReplyInfo | None = ..., - entryPointConversionSource: builtins.str | None = ..., - entryPointConversionApp: builtins.str | None = ..., - entryPointConversionDelaySeconds: builtins.int | None = ..., - disappearingMode: global___DisappearingMode | None = ..., - actionLink: global___ActionLink | None = ..., - groupSubject: builtins.str | None = ..., - parentGroupJid: builtins.str | None = ..., - trustBannerType: builtins.str | None = ..., - trustBannerAction: builtins.int | None = ..., - isSampled: builtins.bool | None = ..., - groupMentions: collections.abc.Iterable[global___GroupMention] | None = ..., - utm: global___ContextInfo.UTMInfo | None = ..., - forwardedNewsletterMessageInfo: global___ForwardedNewsletterMessageInfo | None = ..., - businessMessageForwardInfo: global___ContextInfo.BusinessMessageForwardInfo | None = ..., - smbClientCampaignId: builtins.str | None = ..., - smbServerCampaignId: builtins.str | None = ..., - dataSharingContext: global___ContextInfo.DataSharingContext | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["actionLink", b"actionLink", "businessMessageForwardInfo", b"businessMessageForwardInfo", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource", "dataSharingContext", b"dataSharingContext", "disappearingMode", b"disappearingMode", "entryPointConversionApp", b"entryPointConversionApp", "entryPointConversionDelaySeconds", b"entryPointConversionDelaySeconds", "entryPointConversionSource", b"entryPointConversionSource", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "ephemeralSharedSecret", b"ephemeralSharedSecret", "expiration", b"expiration", "externalAdReply", b"externalAdReply", "forwardedNewsletterMessageInfo", b"forwardedNewsletterMessageInfo", "forwardingScore", b"forwardingScore", "groupSubject", b"groupSubject", "isForwarded", b"isForwarded", "isSampled", b"isSampled", "parentGroupJid", b"parentGroupJid", "participant", b"participant", "placeholderKey", b"placeholderKey", "quotedAd", b"quotedAd", "quotedMessage", b"quotedMessage", "remoteJid", b"remoteJid", "smbClientCampaignId", b"smbClientCampaignId", "smbServerCampaignId", b"smbServerCampaignId", "stanzaId", b"stanzaId", "trustBannerAction", b"trustBannerAction", "trustBannerType", b"trustBannerType", "utm", b"utm"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["actionLink", b"actionLink", "businessMessageForwardInfo", b"businessMessageForwardInfo", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource", "dataSharingContext", b"dataSharingContext", "disappearingMode", b"disappearingMode", "entryPointConversionApp", b"entryPointConversionApp", "entryPointConversionDelaySeconds", b"entryPointConversionDelaySeconds", "entryPointConversionSource", b"entryPointConversionSource", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "ephemeralSharedSecret", b"ephemeralSharedSecret", "expiration", b"expiration", "externalAdReply", b"externalAdReply", "forwardedNewsletterMessageInfo", b"forwardedNewsletterMessageInfo", "forwardingScore", b"forwardingScore", "groupMentions", b"groupMentions", "groupSubject", b"groupSubject", "isForwarded", b"isForwarded", "isSampled", b"isSampled", "mentionedJid", b"mentionedJid", "parentGroupJid", b"parentGroupJid", "participant", b"participant", "placeholderKey", b"placeholderKey", "quotedAd", b"quotedAd", "quotedMessage", b"quotedMessage", "remoteJid", b"remoteJid", "smbClientCampaignId", b"smbClientCampaignId", "smbServerCampaignId", b"smbServerCampaignId", "stanzaId", b"stanzaId", "trustBannerAction", b"trustBannerAction", "trustBannerType", b"trustBannerType", "utm", b"utm"]) -> None: ... - -global___ContextInfo = ContextInfo - -@typing_extensions.final -class ForwardedNewsletterMessageInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _ContentType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ContentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ForwardedNewsletterMessageInfo._ContentType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UPDATE: ForwardedNewsletterMessageInfo._ContentType.ValueType # 1 - UPDATE_CARD: ForwardedNewsletterMessageInfo._ContentType.ValueType # 2 - LINK_CARD: ForwardedNewsletterMessageInfo._ContentType.ValueType # 3 - - class ContentType(_ContentType, metaclass=_ContentTypeEnumTypeWrapper): ... - UPDATE: ForwardedNewsletterMessageInfo.ContentType.ValueType # 1 - UPDATE_CARD: ForwardedNewsletterMessageInfo.ContentType.ValueType # 2 - LINK_CARD: ForwardedNewsletterMessageInfo.ContentType.ValueType # 3 - - NEWSLETTERJID_FIELD_NUMBER: builtins.int - SERVERMESSAGEID_FIELD_NUMBER: builtins.int - NEWSLETTERNAME_FIELD_NUMBER: builtins.int - CONTENTTYPE_FIELD_NUMBER: builtins.int - ACCESSIBILITYTEXT_FIELD_NUMBER: builtins.int - newsletterJid: builtins.str - serverMessageId: builtins.int - newsletterName: builtins.str - contentType: global___ForwardedNewsletterMessageInfo.ContentType.ValueType - accessibilityText: builtins.str - def __init__( - self, - *, - newsletterJid: builtins.str | None = ..., - serverMessageId: builtins.int | None = ..., - newsletterName: builtins.str | None = ..., - contentType: global___ForwardedNewsletterMessageInfo.ContentType.ValueType | None = ..., - accessibilityText: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["accessibilityText", b"accessibilityText", "contentType", b"contentType", "newsletterJid", b"newsletterJid", "newsletterName", b"newsletterName", "serverMessageId", b"serverMessageId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["accessibilityText", b"accessibilityText", "contentType", b"contentType", "newsletterJid", b"newsletterJid", "newsletterName", b"newsletterName", "serverMessageId", b"serverMessageId"]) -> None: ... - -global___ForwardedNewsletterMessageInfo = ForwardedNewsletterMessageInfo - -@typing_extensions.final -class BotSuggestedPromptMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SUGGESTEDPROMPTS_FIELD_NUMBER: builtins.int - SELECTEDPROMPTINDEX_FIELD_NUMBER: builtins.int - @property - def suggestedPrompts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - selectedPromptIndex: builtins.int - def __init__( - self, - *, - suggestedPrompts: collections.abc.Iterable[builtins.str] | None = ..., - selectedPromptIndex: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["selectedPromptIndex", b"selectedPromptIndex"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["selectedPromptIndex", b"selectedPromptIndex", "suggestedPrompts", b"suggestedPrompts"]) -> None: ... - -global___BotSuggestedPromptMetadata = BotSuggestedPromptMetadata - -@typing_extensions.final -class BotPluginMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _SearchProvider: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _SearchProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPluginMetadata._SearchProvider.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - BING: BotPluginMetadata._SearchProvider.ValueType # 1 - GOOGLE: BotPluginMetadata._SearchProvider.ValueType # 2 - - class SearchProvider(_SearchProvider, metaclass=_SearchProviderEnumTypeWrapper): ... - BING: BotPluginMetadata.SearchProvider.ValueType # 1 - GOOGLE: BotPluginMetadata.SearchProvider.ValueType # 2 - - class _PluginType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _PluginTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPluginMetadata._PluginType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - REELS: BotPluginMetadata._PluginType.ValueType # 1 - SEARCH: BotPluginMetadata._PluginType.ValueType # 2 - - class PluginType(_PluginType, metaclass=_PluginTypeEnumTypeWrapper): ... - REELS: BotPluginMetadata.PluginType.ValueType # 1 - SEARCH: BotPluginMetadata.PluginType.ValueType # 2 - - PROVIDER_FIELD_NUMBER: builtins.int - PLUGINTYPE_FIELD_NUMBER: builtins.int - THUMBNAILCDNURL_FIELD_NUMBER: builtins.int - PROFILEPHOTOCDNURL_FIELD_NUMBER: builtins.int - SEARCHPROVIDERURL_FIELD_NUMBER: builtins.int - REFERENCEINDEX_FIELD_NUMBER: builtins.int - provider: global___BotPluginMetadata.SearchProvider.ValueType - pluginType: global___BotPluginMetadata.PluginType.ValueType - thumbnailCdnUrl: builtins.str - profilePhotoCdnUrl: builtins.str - searchProviderUrl: builtins.str - referenceIndex: builtins.int - def __init__( - self, - *, - provider: global___BotPluginMetadata.SearchProvider.ValueType | None = ..., - pluginType: global___BotPluginMetadata.PluginType.ValueType | None = ..., - thumbnailCdnUrl: builtins.str | None = ..., - profilePhotoCdnUrl: builtins.str | None = ..., - searchProviderUrl: builtins.str | None = ..., - referenceIndex: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["pluginType", b"pluginType", "profilePhotoCdnUrl", b"profilePhotoCdnUrl", "provider", b"provider", "referenceIndex", b"referenceIndex", "searchProviderUrl", b"searchProviderUrl", "thumbnailCdnUrl", b"thumbnailCdnUrl"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["pluginType", b"pluginType", "profilePhotoCdnUrl", b"profilePhotoCdnUrl", "provider", b"provider", "referenceIndex", b"referenceIndex", "searchProviderUrl", b"searchProviderUrl", "thumbnailCdnUrl", b"thumbnailCdnUrl"]) -> None: ... - -global___BotPluginMetadata = BotPluginMetadata - -@typing_extensions.final -class BotMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - AVATARMETADATA_FIELD_NUMBER: builtins.int - PERSONAID_FIELD_NUMBER: builtins.int - PLUGINMETADATA_FIELD_NUMBER: builtins.int - SUGGESTEDPROMPTMETADATA_FIELD_NUMBER: builtins.int - @property - def avatarMetadata(self) -> global___BotAvatarMetadata: ... - personaId: builtins.str - @property - def pluginMetadata(self) -> global___BotPluginMetadata: ... - @property - def suggestedPromptMetadata(self) -> global___BotSuggestedPromptMetadata: ... - def __init__( - self, - *, - avatarMetadata: global___BotAvatarMetadata | None = ..., - personaId: builtins.str | None = ..., - pluginMetadata: global___BotPluginMetadata | None = ..., - suggestedPromptMetadata: global___BotSuggestedPromptMetadata | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["avatarMetadata", b"avatarMetadata", "personaId", b"personaId", "pluginMetadata", b"pluginMetadata", "suggestedPromptMetadata", b"suggestedPromptMetadata"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["avatarMetadata", b"avatarMetadata", "personaId", b"personaId", "pluginMetadata", b"pluginMetadata", "suggestedPromptMetadata", b"suggestedPromptMetadata"]) -> None: ... - -global___BotMetadata = BotMetadata - -@typing_extensions.final -class BotAvatarMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SENTIMENT_FIELD_NUMBER: builtins.int - BEHAVIORGRAPH_FIELD_NUMBER: builtins.int - ACTION_FIELD_NUMBER: builtins.int - INTENSITY_FIELD_NUMBER: builtins.int - WORDCOUNT_FIELD_NUMBER: builtins.int - sentiment: builtins.int - behaviorGraph: builtins.str - action: builtins.int - intensity: builtins.int - wordCount: builtins.int - def __init__( - self, - *, - sentiment: builtins.int | None = ..., - behaviorGraph: builtins.str | None = ..., - action: builtins.int | None = ..., - intensity: builtins.int | None = ..., - wordCount: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["action", b"action", "behaviorGraph", b"behaviorGraph", "intensity", b"intensity", "sentiment", b"sentiment", "wordCount", b"wordCount"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "behaviorGraph", b"behaviorGraph", "intensity", b"intensity", "sentiment", b"sentiment", "wordCount", b"wordCount"]) -> None: ... - -global___BotAvatarMetadata = BotAvatarMetadata - -@typing_extensions.final -class ActionLink(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - URL_FIELD_NUMBER: builtins.int - BUTTONTITLE_FIELD_NUMBER: builtins.int - url: builtins.str - buttonTitle: builtins.str - def __init__( - self, - *, - url: builtins.str | None = ..., - buttonTitle: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buttonTitle", b"buttonTitle", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buttonTitle", b"buttonTitle", "url", b"url"]) -> None: ... - -global___ActionLink = ActionLink - -@typing_extensions.final -class TemplateButton(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class URLButton(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPLAYTEXT_FIELD_NUMBER: builtins.int - URL_FIELD_NUMBER: builtins.int - @property - def displayText(self) -> global___HighlyStructuredMessage: ... - @property - def url(self) -> global___HighlyStructuredMessage: ... - def __init__( - self, - *, - displayText: global___HighlyStructuredMessage | None = ..., - url: global___HighlyStructuredMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["displayText", b"displayText", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["displayText", b"displayText", "url", b"url"]) -> None: ... - - @typing_extensions.final - class QuickReplyButton(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPLAYTEXT_FIELD_NUMBER: builtins.int - ID_FIELD_NUMBER: builtins.int - @property - def displayText(self) -> global___HighlyStructuredMessage: ... - id: builtins.str - def __init__( - self, - *, - displayText: global___HighlyStructuredMessage | None = ..., - id: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["displayText", b"displayText", "id", b"id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["displayText", b"displayText", "id", b"id"]) -> None: ... - - @typing_extensions.final - class CallButton(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPLAYTEXT_FIELD_NUMBER: builtins.int - PHONENUMBER_FIELD_NUMBER: builtins.int - @property - def displayText(self) -> global___HighlyStructuredMessage: ... - @property - def phoneNumber(self) -> global___HighlyStructuredMessage: ... - def __init__( - self, - *, - displayText: global___HighlyStructuredMessage | None = ..., - phoneNumber: global___HighlyStructuredMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["displayText", b"displayText", "phoneNumber", b"phoneNumber"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["displayText", b"displayText", "phoneNumber", b"phoneNumber"]) -> None: ... - - INDEX_FIELD_NUMBER: builtins.int - QUICKREPLYBUTTON_FIELD_NUMBER: builtins.int - URLBUTTON_FIELD_NUMBER: builtins.int - CALLBUTTON_FIELD_NUMBER: builtins.int - index: builtins.int - @property - def quickReplyButton(self) -> global___TemplateButton.QuickReplyButton: ... - @property - def urlButton(self) -> global___TemplateButton.URLButton: ... - @property - def callButton(self) -> global___TemplateButton.CallButton: ... - def __init__( - self, - *, - index: builtins.int | None = ..., - quickReplyButton: global___TemplateButton.QuickReplyButton | None = ..., - urlButton: global___TemplateButton.URLButton | None = ..., - callButton: global___TemplateButton.CallButton | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["button", b"button", "callButton", b"callButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["button", b"button", "callButton", b"callButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["button", b"button"]) -> typing_extensions.Literal["quickReplyButton", "urlButton", "callButton"] | None: ... - -global___TemplateButton = TemplateButton - -@typing_extensions.final -class Point(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - XDEPRECATED_FIELD_NUMBER: builtins.int - YDEPRECATED_FIELD_NUMBER: builtins.int - X_FIELD_NUMBER: builtins.int - Y_FIELD_NUMBER: builtins.int - xDeprecated: builtins.int - yDeprecated: builtins.int - x: builtins.float - y: builtins.float - def __init__( - self, - *, - xDeprecated: builtins.int | None = ..., - yDeprecated: builtins.int | None = ..., - x: builtins.float | None = ..., - y: builtins.float | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["x", b"x", "xDeprecated", b"xDeprecated", "y", b"y", "yDeprecated", b"yDeprecated"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["x", b"x", "xDeprecated", b"xDeprecated", "y", b"y", "yDeprecated", b"yDeprecated"]) -> None: ... - -global___Point = Point - -@typing_extensions.final -class PaymentBackground(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Type: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentBackground._Type.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: PaymentBackground._Type.ValueType # 0 - DEFAULT: PaymentBackground._Type.ValueType # 1 - - class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... - UNKNOWN: PaymentBackground.Type.ValueType # 0 - DEFAULT: PaymentBackground.Type.ValueType # 1 - - @typing_extensions.final - class MediaData(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MEDIAKEY_FIELD_NUMBER: builtins.int - MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int - FILESHA256_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - mediaKey: builtins.bytes - mediaKeyTimestamp: builtins.int - fileSha256: builtins.bytes - fileEncSha256: builtins.bytes - directPath: builtins.str - def __init__( - self, - *, - mediaKey: builtins.bytes | None = ..., - mediaKeyTimestamp: builtins.int | None = ..., - fileSha256: builtins.bytes | None = ..., - fileEncSha256: builtins.bytes | None = ..., - directPath: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileSha256", b"fileSha256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileSha256", b"fileSha256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp"]) -> None: ... - - ID_FIELD_NUMBER: builtins.int - FILELENGTH_FIELD_NUMBER: builtins.int - WIDTH_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - MIMETYPE_FIELD_NUMBER: builtins.int - PLACEHOLDERARGB_FIELD_NUMBER: builtins.int - TEXTARGB_FIELD_NUMBER: builtins.int - SUBTEXTARGB_FIELD_NUMBER: builtins.int - MEDIADATA_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - id: builtins.str - fileLength: builtins.int - width: builtins.int - height: builtins.int - mimetype: builtins.str - placeholderArgb: builtins.int - textArgb: builtins.int - subtextArgb: builtins.int - @property - def mediaData(self) -> global___PaymentBackground.MediaData: ... - type: global___PaymentBackground.Type.ValueType - def __init__( - self, - *, - id: builtins.str | None = ..., - fileLength: builtins.int | None = ..., - width: builtins.int | None = ..., - height: builtins.int | None = ..., - mimetype: builtins.str | None = ..., - placeholderArgb: builtins.int | None = ..., - textArgb: builtins.int | None = ..., - subtextArgb: builtins.int | None = ..., - mediaData: global___PaymentBackground.MediaData | None = ..., - type: global___PaymentBackground.Type.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["fileLength", b"fileLength", "height", b"height", "id", b"id", "mediaData", b"mediaData", "mimetype", b"mimetype", "placeholderArgb", b"placeholderArgb", "subtextArgb", b"subtextArgb", "textArgb", b"textArgb", "type", b"type", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["fileLength", b"fileLength", "height", b"height", "id", b"id", "mediaData", b"mediaData", "mimetype", b"mimetype", "placeholderArgb", b"placeholderArgb", "subtextArgb", b"subtextArgb", "textArgb", b"textArgb", "type", b"type", "width", b"width"]) -> None: ... - -global___PaymentBackground = PaymentBackground - -@typing_extensions.final -class Money(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VALUE_FIELD_NUMBER: builtins.int - OFFSET_FIELD_NUMBER: builtins.int - CURRENCYCODE_FIELD_NUMBER: builtins.int - value: builtins.int - offset: builtins.int - currencyCode: builtins.str - def __init__( - self, - *, - value: builtins.int | None = ..., - offset: builtins.int | None = ..., - currencyCode: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["currencyCode", b"currencyCode", "offset", b"offset", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["currencyCode", b"currencyCode", "offset", b"offset", "value", b"value"]) -> None: ... - -global___Money = Money - -@typing_extensions.final -class Message(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CONVERSATION_FIELD_NUMBER: builtins.int - SENDERKEYDISTRIBUTIONMESSAGE_FIELD_NUMBER: builtins.int - IMAGEMESSAGE_FIELD_NUMBER: builtins.int - CONTACTMESSAGE_FIELD_NUMBER: builtins.int - LOCATIONMESSAGE_FIELD_NUMBER: builtins.int - EXTENDEDTEXTMESSAGE_FIELD_NUMBER: builtins.int - DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int - AUDIOMESSAGE_FIELD_NUMBER: builtins.int - VIDEOMESSAGE_FIELD_NUMBER: builtins.int - CALL_FIELD_NUMBER: builtins.int - CHAT_FIELD_NUMBER: builtins.int - PROTOCOLMESSAGE_FIELD_NUMBER: builtins.int - CONTACTSARRAYMESSAGE_FIELD_NUMBER: builtins.int - HIGHLYSTRUCTUREDMESSAGE_FIELD_NUMBER: builtins.int - FASTRATCHETKEYSENDERKEYDISTRIBUTIONMESSAGE_FIELD_NUMBER: builtins.int - SENDPAYMENTMESSAGE_FIELD_NUMBER: builtins.int - LIVELOCATIONMESSAGE_FIELD_NUMBER: builtins.int - REQUESTPAYMENTMESSAGE_FIELD_NUMBER: builtins.int - DECLINEPAYMENTREQUESTMESSAGE_FIELD_NUMBER: builtins.int - CANCELPAYMENTREQUESTMESSAGE_FIELD_NUMBER: builtins.int - TEMPLATEMESSAGE_FIELD_NUMBER: builtins.int - STICKERMESSAGE_FIELD_NUMBER: builtins.int - GROUPINVITEMESSAGE_FIELD_NUMBER: builtins.int - TEMPLATEBUTTONREPLYMESSAGE_FIELD_NUMBER: builtins.int - PRODUCTMESSAGE_FIELD_NUMBER: builtins.int - DEVICESENTMESSAGE_FIELD_NUMBER: builtins.int - MESSAGECONTEXTINFO_FIELD_NUMBER: builtins.int - LISTMESSAGE_FIELD_NUMBER: builtins.int - VIEWONCEMESSAGE_FIELD_NUMBER: builtins.int - ORDERMESSAGE_FIELD_NUMBER: builtins.int - LISTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int - EPHEMERALMESSAGE_FIELD_NUMBER: builtins.int - INVOICEMESSAGE_FIELD_NUMBER: builtins.int - BUTTONSMESSAGE_FIELD_NUMBER: builtins.int - BUTTONSRESPONSEMESSAGE_FIELD_NUMBER: builtins.int - PAYMENTINVITEMESSAGE_FIELD_NUMBER: builtins.int - INTERACTIVEMESSAGE_FIELD_NUMBER: builtins.int - REACTIONMESSAGE_FIELD_NUMBER: builtins.int - STICKERSYNCRMRMESSAGE_FIELD_NUMBER: builtins.int - INTERACTIVERESPONSEMESSAGE_FIELD_NUMBER: builtins.int - POLLCREATIONMESSAGE_FIELD_NUMBER: builtins.int - POLLUPDATEMESSAGE_FIELD_NUMBER: builtins.int - KEEPINCHATMESSAGE_FIELD_NUMBER: builtins.int - DOCUMENTWITHCAPTIONMESSAGE_FIELD_NUMBER: builtins.int - REQUESTPHONENUMBERMESSAGE_FIELD_NUMBER: builtins.int - VIEWONCEMESSAGEV2_FIELD_NUMBER: builtins.int - ENCREACTIONMESSAGE_FIELD_NUMBER: builtins.int - EDITEDMESSAGE_FIELD_NUMBER: builtins.int - VIEWONCEMESSAGEV2EXTENSION_FIELD_NUMBER: builtins.int - POLLCREATIONMESSAGEV2_FIELD_NUMBER: builtins.int - SCHEDULEDCALLCREATIONMESSAGE_FIELD_NUMBER: builtins.int - GROUPMENTIONEDMESSAGE_FIELD_NUMBER: builtins.int - PININCHATMESSAGE_FIELD_NUMBER: builtins.int - POLLCREATIONMESSAGEV3_FIELD_NUMBER: builtins.int - SCHEDULEDCALLEDITMESSAGE_FIELD_NUMBER: builtins.int - PTVMESSAGE_FIELD_NUMBER: builtins.int - BOTINVOKEMESSAGE_FIELD_NUMBER: builtins.int - CALLLOGMESSSAGE_FIELD_NUMBER: builtins.int - MESSAGEHISTORYBUNDLE_FIELD_NUMBER: builtins.int - ENCCOMMENTMESSAGE_FIELD_NUMBER: builtins.int - BCALLMESSAGE_FIELD_NUMBER: builtins.int - LOTTIESTICKERMESSAGE_FIELD_NUMBER: builtins.int - EVENTMESSAGE_FIELD_NUMBER: builtins.int - ENCEVENTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int - COMMENTMESSAGE_FIELD_NUMBER: builtins.int - NEWSLETTERADMININVITEMESSAGE_FIELD_NUMBER: builtins.int - conversation: builtins.str - @property - def senderKeyDistributionMessage(self) -> global___SenderKeyDistributionMessage: ... - @property - def imageMessage(self) -> global___ImageMessage: ... - @property - def contactMessage(self) -> global___ContactMessage: ... - @property - def locationMessage(self) -> global___LocationMessage: ... - @property - def extendedTextMessage(self) -> global___ExtendedTextMessage: ... - @property - def documentMessage(self) -> global___DocumentMessage: ... - @property - def audioMessage(self) -> global___AudioMessage: ... - @property - def videoMessage(self) -> global___VideoMessage: ... - @property - def call(self) -> global___Call: ... - @property - def chat(self) -> global___Chat: ... - @property - def protocolMessage(self) -> global___ProtocolMessage: ... - @property - def contactsArrayMessage(self) -> global___ContactsArrayMessage: ... - @property - def highlyStructuredMessage(self) -> global___HighlyStructuredMessage: ... - @property - def fastRatchetKeySenderKeyDistributionMessage(self) -> global___SenderKeyDistributionMessage: ... - @property - def sendPaymentMessage(self) -> global___SendPaymentMessage: ... - @property - def liveLocationMessage(self) -> global___LiveLocationMessage: ... - @property - def requestPaymentMessage(self) -> global___RequestPaymentMessage: ... - @property - def declinePaymentRequestMessage(self) -> global___DeclinePaymentRequestMessage: ... - @property - def cancelPaymentRequestMessage(self) -> global___CancelPaymentRequestMessage: ... - @property - def templateMessage(self) -> global___TemplateMessage: ... - @property - def stickerMessage(self) -> global___StickerMessage: ... - @property - def groupInviteMessage(self) -> global___GroupInviteMessage: ... - @property - def templateButtonReplyMessage(self) -> global___TemplateButtonReplyMessage: ... - @property - def productMessage(self) -> global___ProductMessage: ... - @property - def deviceSentMessage(self) -> global___DeviceSentMessage: ... - @property - def messageContextInfo(self) -> global___MessageContextInfo: ... - @property - def listMessage(self) -> global___ListMessage: ... - @property - def viewOnceMessage(self) -> global___FutureProofMessage: ... - @property - def orderMessage(self) -> global___OrderMessage: ... - @property - def listResponseMessage(self) -> global___ListResponseMessage: ... - @property - def ephemeralMessage(self) -> global___FutureProofMessage: ... - @property - def invoiceMessage(self) -> global___InvoiceMessage: ... - @property - def buttonsMessage(self) -> global___ButtonsMessage: ... - @property - def buttonsResponseMessage(self) -> global___ButtonsResponseMessage: ... - @property - def paymentInviteMessage(self) -> global___PaymentInviteMessage: ... - @property - def interactiveMessage(self) -> global___InteractiveMessage: ... - @property - def reactionMessage(self) -> global___ReactionMessage: ... - @property - def stickerSyncRmrMessage(self) -> global___StickerSyncRMRMessage: ... - @property - def interactiveResponseMessage(self) -> global___InteractiveResponseMessage: ... - @property - def pollCreationMessage(self) -> global___PollCreationMessage: ... - @property - def pollUpdateMessage(self) -> global___PollUpdateMessage: ... - @property - def keepInChatMessage(self) -> global___KeepInChatMessage: ... - @property - def documentWithCaptionMessage(self) -> global___FutureProofMessage: ... - @property - def requestPhoneNumberMessage(self) -> global___RequestPhoneNumberMessage: ... - @property - def viewOnceMessageV2(self) -> global___FutureProofMessage: ... - @property - def encReactionMessage(self) -> global___EncReactionMessage: ... - @property - def editedMessage(self) -> global___FutureProofMessage: ... - @property - def viewOnceMessageV2Extension(self) -> global___FutureProofMessage: ... - @property - def pollCreationMessageV2(self) -> global___PollCreationMessage: ... - @property - def scheduledCallCreationMessage(self) -> global___ScheduledCallCreationMessage: ... - @property - def groupMentionedMessage(self) -> global___FutureProofMessage: ... - @property - def pinInChatMessage(self) -> global___PinInChatMessage: ... - @property - def pollCreationMessageV3(self) -> global___PollCreationMessage: ... - @property - def scheduledCallEditMessage(self) -> global___ScheduledCallEditMessage: ... - @property - def ptvMessage(self) -> global___VideoMessage: ... - @property - def botInvokeMessage(self) -> global___FutureProofMessage: ... - @property - def callLogMesssage(self) -> global___CallLogMessage: ... - @property - def messageHistoryBundle(self) -> global___MessageHistoryBundle: ... - @property - def encCommentMessage(self) -> global___EncCommentMessage: ... - @property - def bcallMessage(self) -> global___BCallMessage: ... - @property - def lottieStickerMessage(self) -> global___FutureProofMessage: ... - @property - def eventMessage(self) -> global___EventMessage: ... - @property - def encEventResponseMessage(self) -> global___EncEventResponseMessage: ... - @property - def commentMessage(self) -> global___CommentMessage: ... - @property - def newsletterAdminInviteMessage(self) -> global___NewsletterAdminInviteMessage: ... - def __init__( - self, - *, - conversation: builtins.str | None = ..., - senderKeyDistributionMessage: global___SenderKeyDistributionMessage | None = ..., - imageMessage: global___ImageMessage | None = ..., - contactMessage: global___ContactMessage | None = ..., - locationMessage: global___LocationMessage | None = ..., - extendedTextMessage: global___ExtendedTextMessage | None = ..., - documentMessage: global___DocumentMessage | None = ..., - audioMessage: global___AudioMessage | None = ..., - videoMessage: global___VideoMessage | None = ..., - call: global___Call | None = ..., - chat: global___Chat | None = ..., - protocolMessage: global___ProtocolMessage | None = ..., - contactsArrayMessage: global___ContactsArrayMessage | None = ..., - highlyStructuredMessage: global___HighlyStructuredMessage | None = ..., - fastRatchetKeySenderKeyDistributionMessage: global___SenderKeyDistributionMessage | None = ..., - sendPaymentMessage: global___SendPaymentMessage | None = ..., - liveLocationMessage: global___LiveLocationMessage | None = ..., - requestPaymentMessage: global___RequestPaymentMessage | None = ..., - declinePaymentRequestMessage: global___DeclinePaymentRequestMessage | None = ..., - cancelPaymentRequestMessage: global___CancelPaymentRequestMessage | None = ..., - templateMessage: global___TemplateMessage | None = ..., - stickerMessage: global___StickerMessage | None = ..., - groupInviteMessage: global___GroupInviteMessage | None = ..., - templateButtonReplyMessage: global___TemplateButtonReplyMessage | None = ..., - productMessage: global___ProductMessage | None = ..., - deviceSentMessage: global___DeviceSentMessage | None = ..., - messageContextInfo: global___MessageContextInfo | None = ..., - listMessage: global___ListMessage | None = ..., - viewOnceMessage: global___FutureProofMessage | None = ..., - orderMessage: global___OrderMessage | None = ..., - listResponseMessage: global___ListResponseMessage | None = ..., - ephemeralMessage: global___FutureProofMessage | None = ..., - invoiceMessage: global___InvoiceMessage | None = ..., - buttonsMessage: global___ButtonsMessage | None = ..., - buttonsResponseMessage: global___ButtonsResponseMessage | None = ..., - paymentInviteMessage: global___PaymentInviteMessage | None = ..., - interactiveMessage: global___InteractiveMessage | None = ..., - reactionMessage: global___ReactionMessage | None = ..., - stickerSyncRmrMessage: global___StickerSyncRMRMessage | None = ..., - interactiveResponseMessage: global___InteractiveResponseMessage | None = ..., - pollCreationMessage: global___PollCreationMessage | None = ..., - pollUpdateMessage: global___PollUpdateMessage | None = ..., - keepInChatMessage: global___KeepInChatMessage | None = ..., - documentWithCaptionMessage: global___FutureProofMessage | None = ..., - requestPhoneNumberMessage: global___RequestPhoneNumberMessage | None = ..., - viewOnceMessageV2: global___FutureProofMessage | None = ..., - encReactionMessage: global___EncReactionMessage | None = ..., - editedMessage: global___FutureProofMessage | None = ..., - viewOnceMessageV2Extension: global___FutureProofMessage | None = ..., - pollCreationMessageV2: global___PollCreationMessage | None = ..., - scheduledCallCreationMessage: global___ScheduledCallCreationMessage | None = ..., - groupMentionedMessage: global___FutureProofMessage | None = ..., - pinInChatMessage: global___PinInChatMessage | None = ..., - pollCreationMessageV3: global___PollCreationMessage | None = ..., - scheduledCallEditMessage: global___ScheduledCallEditMessage | None = ..., - ptvMessage: global___VideoMessage | None = ..., - botInvokeMessage: global___FutureProofMessage | None = ..., - callLogMesssage: global___CallLogMessage | None = ..., - messageHistoryBundle: global___MessageHistoryBundle | None = ..., - encCommentMessage: global___EncCommentMessage | None = ..., - bcallMessage: global___BCallMessage | None = ..., - lottieStickerMessage: global___FutureProofMessage | None = ..., - eventMessage: global___EventMessage | None = ..., - encEventResponseMessage: global___EncEventResponseMessage | None = ..., - commentMessage: global___CommentMessage | None = ..., - newsletterAdminInviteMessage: global___NewsletterAdminInviteMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["audioMessage", b"audioMessage", "bcallMessage", b"bcallMessage", "botInvokeMessage", b"botInvokeMessage", "buttonsMessage", b"buttonsMessage", "buttonsResponseMessage", b"buttonsResponseMessage", "call", b"call", "callLogMesssage", b"callLogMesssage", "cancelPaymentRequestMessage", b"cancelPaymentRequestMessage", "chat", b"chat", "commentMessage", b"commentMessage", "contactMessage", b"contactMessage", "contactsArrayMessage", b"contactsArrayMessage", "conversation", b"conversation", "declinePaymentRequestMessage", b"declinePaymentRequestMessage", "deviceSentMessage", b"deviceSentMessage", "documentMessage", b"documentMessage", "documentWithCaptionMessage", b"documentWithCaptionMessage", "editedMessage", b"editedMessage", "encCommentMessage", b"encCommentMessage", "encEventResponseMessage", b"encEventResponseMessage", "encReactionMessage", b"encReactionMessage", "ephemeralMessage", b"ephemeralMessage", "eventMessage", b"eventMessage", "extendedTextMessage", b"extendedTextMessage", "fastRatchetKeySenderKeyDistributionMessage", b"fastRatchetKeySenderKeyDistributionMessage", "groupInviteMessage", b"groupInviteMessage", "groupMentionedMessage", b"groupMentionedMessage", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "interactiveMessage", b"interactiveMessage", "interactiveResponseMessage", b"interactiveResponseMessage", "invoiceMessage", b"invoiceMessage", "keepInChatMessage", b"keepInChatMessage", "listMessage", b"listMessage", "listResponseMessage", b"listResponseMessage", "liveLocationMessage", b"liveLocationMessage", "locationMessage", b"locationMessage", "lottieStickerMessage", b"lottieStickerMessage", "messageContextInfo", b"messageContextInfo", "messageHistoryBundle", b"messageHistoryBundle", "newsletterAdminInviteMessage", b"newsletterAdminInviteMessage", "orderMessage", b"orderMessage", "paymentInviteMessage", b"paymentInviteMessage", "pinInChatMessage", b"pinInChatMessage", "pollCreationMessage", b"pollCreationMessage", "pollCreationMessageV2", b"pollCreationMessageV2", "pollCreationMessageV3", b"pollCreationMessageV3", "pollUpdateMessage", b"pollUpdateMessage", "productMessage", b"productMessage", "protocolMessage", b"protocolMessage", "ptvMessage", b"ptvMessage", "reactionMessage", b"reactionMessage", "requestPaymentMessage", b"requestPaymentMessage", "requestPhoneNumberMessage", b"requestPhoneNumberMessage", "scheduledCallCreationMessage", b"scheduledCallCreationMessage", "scheduledCallEditMessage", b"scheduledCallEditMessage", "sendPaymentMessage", b"sendPaymentMessage", "senderKeyDistributionMessage", b"senderKeyDistributionMessage", "stickerMessage", b"stickerMessage", "stickerSyncRmrMessage", b"stickerSyncRmrMessage", "templateButtonReplyMessage", b"templateButtonReplyMessage", "templateMessage", b"templateMessage", "videoMessage", b"videoMessage", "viewOnceMessage", b"viewOnceMessage", "viewOnceMessageV2", b"viewOnceMessageV2", "viewOnceMessageV2Extension", b"viewOnceMessageV2Extension"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["audioMessage", b"audioMessage", "bcallMessage", b"bcallMessage", "botInvokeMessage", b"botInvokeMessage", "buttonsMessage", b"buttonsMessage", "buttonsResponseMessage", b"buttonsResponseMessage", "call", b"call", "callLogMesssage", b"callLogMesssage", "cancelPaymentRequestMessage", b"cancelPaymentRequestMessage", "chat", b"chat", "commentMessage", b"commentMessage", "contactMessage", b"contactMessage", "contactsArrayMessage", b"contactsArrayMessage", "conversation", b"conversation", "declinePaymentRequestMessage", b"declinePaymentRequestMessage", "deviceSentMessage", b"deviceSentMessage", "documentMessage", b"documentMessage", "documentWithCaptionMessage", b"documentWithCaptionMessage", "editedMessage", b"editedMessage", "encCommentMessage", b"encCommentMessage", "encEventResponseMessage", b"encEventResponseMessage", "encReactionMessage", b"encReactionMessage", "ephemeralMessage", b"ephemeralMessage", "eventMessage", b"eventMessage", "extendedTextMessage", b"extendedTextMessage", "fastRatchetKeySenderKeyDistributionMessage", b"fastRatchetKeySenderKeyDistributionMessage", "groupInviteMessage", b"groupInviteMessage", "groupMentionedMessage", b"groupMentionedMessage", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "interactiveMessage", b"interactiveMessage", "interactiveResponseMessage", b"interactiveResponseMessage", "invoiceMessage", b"invoiceMessage", "keepInChatMessage", b"keepInChatMessage", "listMessage", b"listMessage", "listResponseMessage", b"listResponseMessage", "liveLocationMessage", b"liveLocationMessage", "locationMessage", b"locationMessage", "lottieStickerMessage", b"lottieStickerMessage", "messageContextInfo", b"messageContextInfo", "messageHistoryBundle", b"messageHistoryBundle", "newsletterAdminInviteMessage", b"newsletterAdminInviteMessage", "orderMessage", b"orderMessage", "paymentInviteMessage", b"paymentInviteMessage", "pinInChatMessage", b"pinInChatMessage", "pollCreationMessage", b"pollCreationMessage", "pollCreationMessageV2", b"pollCreationMessageV2", "pollCreationMessageV3", b"pollCreationMessageV3", "pollUpdateMessage", b"pollUpdateMessage", "productMessage", b"productMessage", "protocolMessage", b"protocolMessage", "ptvMessage", b"ptvMessage", "reactionMessage", b"reactionMessage", "requestPaymentMessage", b"requestPaymentMessage", "requestPhoneNumberMessage", b"requestPhoneNumberMessage", "scheduledCallCreationMessage", b"scheduledCallCreationMessage", "scheduledCallEditMessage", b"scheduledCallEditMessage", "sendPaymentMessage", b"sendPaymentMessage", "senderKeyDistributionMessage", b"senderKeyDistributionMessage", "stickerMessage", b"stickerMessage", "stickerSyncRmrMessage", b"stickerSyncRmrMessage", "templateButtonReplyMessage", b"templateButtonReplyMessage", "templateMessage", b"templateMessage", "videoMessage", b"videoMessage", "viewOnceMessage", b"viewOnceMessage", "viewOnceMessageV2", b"viewOnceMessageV2", "viewOnceMessageV2Extension", b"viewOnceMessageV2Extension"]) -> None: ... - -global___Message = Message - -@typing_extensions.final -class MessageSecretMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VERSION_FIELD_NUMBER: builtins.int - ENCIV_FIELD_NUMBER: builtins.int - ENCPAYLOAD_FIELD_NUMBER: builtins.int - version: builtins.int - encIv: builtins.bytes - encPayload: builtins.bytes - def __init__( - self, - *, - version: builtins.int | None = ..., - encIv: builtins.bytes | None = ..., - encPayload: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["encIv", b"encIv", "encPayload", b"encPayload", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["encIv", b"encIv", "encPayload", b"encPayload", "version", b"version"]) -> None: ... - -global___MessageSecretMessage = MessageSecretMessage - -@typing_extensions.final -class MessageContextInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DEVICELISTMETADATA_FIELD_NUMBER: builtins.int - DEVICELISTMETADATAVERSION_FIELD_NUMBER: builtins.int - MESSAGESECRET_FIELD_NUMBER: builtins.int - PADDINGBYTES_FIELD_NUMBER: builtins.int - MESSAGEADDONDURATIONINSECS_FIELD_NUMBER: builtins.int - BOTMESSAGESECRET_FIELD_NUMBER: builtins.int - BOTMETADATA_FIELD_NUMBER: builtins.int - REPORTINGTOKENVERSION_FIELD_NUMBER: builtins.int - @property - def deviceListMetadata(self) -> global___DeviceListMetadata: ... - deviceListMetadataVersion: builtins.int - messageSecret: builtins.bytes - paddingBytes: builtins.bytes - messageAddOnDurationInSecs: builtins.int - botMessageSecret: builtins.bytes - @property - def botMetadata(self) -> global___BotMetadata: ... - reportingTokenVersion: builtins.int - def __init__( - self, - *, - deviceListMetadata: global___DeviceListMetadata | None = ..., - deviceListMetadataVersion: builtins.int | None = ..., - messageSecret: builtins.bytes | None = ..., - paddingBytes: builtins.bytes | None = ..., - messageAddOnDurationInSecs: builtins.int | None = ..., - botMessageSecret: builtins.bytes | None = ..., - botMetadata: global___BotMetadata | None = ..., - reportingTokenVersion: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["botMessageSecret", b"botMessageSecret", "botMetadata", b"botMetadata", "deviceListMetadata", b"deviceListMetadata", "deviceListMetadataVersion", b"deviceListMetadataVersion", "messageAddOnDurationInSecs", b"messageAddOnDurationInSecs", "messageSecret", b"messageSecret", "paddingBytes", b"paddingBytes", "reportingTokenVersion", b"reportingTokenVersion"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["botMessageSecret", b"botMessageSecret", "botMetadata", b"botMetadata", "deviceListMetadata", b"deviceListMetadata", "deviceListMetadataVersion", b"deviceListMetadataVersion", "messageAddOnDurationInSecs", b"messageAddOnDurationInSecs", "messageSecret", b"messageSecret", "paddingBytes", b"paddingBytes", "reportingTokenVersion", b"reportingTokenVersion"]) -> None: ... - -global___MessageContextInfo = MessageContextInfo - -@typing_extensions.final -class VideoMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Attribution: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _AttributionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[VideoMessage._Attribution.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - NONE: VideoMessage._Attribution.ValueType # 0 - GIPHY: VideoMessage._Attribution.ValueType # 1 - TENOR: VideoMessage._Attribution.ValueType # 2 - - class Attribution(_Attribution, metaclass=_AttributionEnumTypeWrapper): ... - NONE: VideoMessage.Attribution.ValueType # 0 - GIPHY: VideoMessage.Attribution.ValueType # 1 - TENOR: VideoMessage.Attribution.ValueType # 2 - - URL_FIELD_NUMBER: builtins.int - MIMETYPE_FIELD_NUMBER: builtins.int - FILESHA256_FIELD_NUMBER: builtins.int - FILELENGTH_FIELD_NUMBER: builtins.int - SECONDS_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - CAPTION_FIELD_NUMBER: builtins.int - GIFPLAYBACK_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - WIDTH_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - INTERACTIVEANNOTATIONS_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - STREAMINGSIDECAR_FIELD_NUMBER: builtins.int - GIFATTRIBUTION_FIELD_NUMBER: builtins.int - VIEWONCE_FIELD_NUMBER: builtins.int - THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int - THUMBNAILSHA256_FIELD_NUMBER: builtins.int - THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int - STATICURL_FIELD_NUMBER: builtins.int - ANNOTATIONS_FIELD_NUMBER: builtins.int - url: builtins.str - mimetype: builtins.str - fileSha256: builtins.bytes - fileLength: builtins.int - seconds: builtins.int - mediaKey: builtins.bytes - caption: builtins.str - gifPlayback: builtins.bool - height: builtins.int - width: builtins.int - fileEncSha256: builtins.bytes - @property - def interactiveAnnotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveAnnotation]: ... - directPath: builtins.str - mediaKeyTimestamp: builtins.int - jpegThumbnail: builtins.bytes - @property - def contextInfo(self) -> global___ContextInfo: ... - streamingSidecar: builtins.bytes - gifAttribution: global___VideoMessage.Attribution.ValueType - viewOnce: builtins.bool - thumbnailDirectPath: builtins.str - thumbnailSha256: builtins.bytes - thumbnailEncSha256: builtins.bytes - staticUrl: builtins.str - @property - def annotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveAnnotation]: ... - def __init__( - self, - *, - url: builtins.str | None = ..., - mimetype: builtins.str | None = ..., - fileSha256: builtins.bytes | None = ..., - fileLength: builtins.int | None = ..., - seconds: builtins.int | None = ..., - mediaKey: builtins.bytes | None = ..., - caption: builtins.str | None = ..., - gifPlayback: builtins.bool | None = ..., - height: builtins.int | None = ..., - width: builtins.int | None = ..., - fileEncSha256: builtins.bytes | None = ..., - interactiveAnnotations: collections.abc.Iterable[global___InteractiveAnnotation] | None = ..., - directPath: builtins.str | None = ..., - mediaKeyTimestamp: builtins.int | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - contextInfo: global___ContextInfo | None = ..., - streamingSidecar: builtins.bytes | None = ..., - gifAttribution: global___VideoMessage.Attribution.ValueType | None = ..., - viewOnce: builtins.bool | None = ..., - thumbnailDirectPath: builtins.str | None = ..., - thumbnailSha256: builtins.bytes | None = ..., - thumbnailEncSha256: builtins.bytes | None = ..., - staticUrl: builtins.str | None = ..., - annotations: collections.abc.Iterable[global___InteractiveAnnotation] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "gifAttribution", b"gifAttribution", "gifPlayback", b"gifPlayback", "height", b"height", "jpegThumbnail", b"jpegThumbnail", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "seconds", b"seconds", "staticUrl", b"staticUrl", "streamingSidecar", b"streamingSidecar", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSha256", b"thumbnailEncSha256", "thumbnailSha256", b"thumbnailSha256", "url", b"url", "viewOnce", b"viewOnce", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["annotations", b"annotations", "caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "gifAttribution", b"gifAttribution", "gifPlayback", b"gifPlayback", "height", b"height", "interactiveAnnotations", b"interactiveAnnotations", "jpegThumbnail", b"jpegThumbnail", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "seconds", b"seconds", "staticUrl", b"staticUrl", "streamingSidecar", b"streamingSidecar", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSha256", b"thumbnailEncSha256", "thumbnailSha256", b"thumbnailSha256", "url", b"url", "viewOnce", b"viewOnce", "width", b"width"]) -> None: ... - -global___VideoMessage = VideoMessage - -@typing_extensions.final -class TemplateMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class HydratedFourRowTemplate(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - HYDRATEDCONTENTTEXT_FIELD_NUMBER: builtins.int - HYDRATEDFOOTERTEXT_FIELD_NUMBER: builtins.int - HYDRATEDBUTTONS_FIELD_NUMBER: builtins.int - TEMPLATEID_FIELD_NUMBER: builtins.int - DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int - HYDRATEDTITLETEXT_FIELD_NUMBER: builtins.int - IMAGEMESSAGE_FIELD_NUMBER: builtins.int - VIDEOMESSAGE_FIELD_NUMBER: builtins.int - LOCATIONMESSAGE_FIELD_NUMBER: builtins.int - hydratedContentText: builtins.str - hydratedFooterText: builtins.str - @property - def hydratedButtons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HydratedTemplateButton]: ... - templateId: builtins.str - @property - def documentMessage(self) -> global___DocumentMessage: ... - hydratedTitleText: builtins.str - @property - def imageMessage(self) -> global___ImageMessage: ... - @property - def videoMessage(self) -> global___VideoMessage: ... - @property - def locationMessage(self) -> global___LocationMessage: ... - def __init__( - self, - *, - hydratedContentText: builtins.str | None = ..., - hydratedFooterText: builtins.str | None = ..., - hydratedButtons: collections.abc.Iterable[global___HydratedTemplateButton] | None = ..., - templateId: builtins.str | None = ..., - documentMessage: global___DocumentMessage | None = ..., - hydratedTitleText: builtins.str | None = ..., - imageMessage: global___ImageMessage | None = ..., - videoMessage: global___VideoMessage | None = ..., - locationMessage: global___LocationMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["documentMessage", b"documentMessage", "hydratedContentText", b"hydratedContentText", "hydratedFooterText", b"hydratedFooterText", "hydratedTitleText", b"hydratedTitleText", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "templateId", b"templateId", "title", b"title", "videoMessage", b"videoMessage"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["documentMessage", b"documentMessage", "hydratedButtons", b"hydratedButtons", "hydratedContentText", b"hydratedContentText", "hydratedFooterText", b"hydratedFooterText", "hydratedTitleText", b"hydratedTitleText", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "templateId", b"templateId", "title", b"title", "videoMessage", b"videoMessage"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["title", b"title"]) -> typing_extensions.Literal["documentMessage", "hydratedTitleText", "imageMessage", "videoMessage", "locationMessage"] | None: ... - - @typing_extensions.final - class FourRowTemplate(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CONTENT_FIELD_NUMBER: builtins.int - FOOTER_FIELD_NUMBER: builtins.int - BUTTONS_FIELD_NUMBER: builtins.int - DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int - HIGHLYSTRUCTUREDMESSAGE_FIELD_NUMBER: builtins.int - IMAGEMESSAGE_FIELD_NUMBER: builtins.int - VIDEOMESSAGE_FIELD_NUMBER: builtins.int - LOCATIONMESSAGE_FIELD_NUMBER: builtins.int - @property - def content(self) -> global___HighlyStructuredMessage: ... - @property - def footer(self) -> global___HighlyStructuredMessage: ... - @property - def buttons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TemplateButton]: ... - @property - def documentMessage(self) -> global___DocumentMessage: ... - @property - def highlyStructuredMessage(self) -> global___HighlyStructuredMessage: ... - @property - def imageMessage(self) -> global___ImageMessage: ... - @property - def videoMessage(self) -> global___VideoMessage: ... - @property - def locationMessage(self) -> global___LocationMessage: ... - def __init__( - self, - *, - content: global___HighlyStructuredMessage | None = ..., - footer: global___HighlyStructuredMessage | None = ..., - buttons: collections.abc.Iterable[global___TemplateButton] | None = ..., - documentMessage: global___DocumentMessage | None = ..., - highlyStructuredMessage: global___HighlyStructuredMessage | None = ..., - imageMessage: global___ImageMessage | None = ..., - videoMessage: global___VideoMessage | None = ..., - locationMessage: global___LocationMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["content", b"content", "documentMessage", b"documentMessage", "footer", b"footer", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "title", b"title", "videoMessage", b"videoMessage"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buttons", b"buttons", "content", b"content", "documentMessage", b"documentMessage", "footer", b"footer", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "title", b"title", "videoMessage", b"videoMessage"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["title", b"title"]) -> typing_extensions.Literal["documentMessage", "highlyStructuredMessage", "imageMessage", "videoMessage", "locationMessage"] | None: ... - - CONTEXTINFO_FIELD_NUMBER: builtins.int - HYDRATEDTEMPLATE_FIELD_NUMBER: builtins.int - TEMPLATEID_FIELD_NUMBER: builtins.int - FOURROWTEMPLATE_FIELD_NUMBER: builtins.int - HYDRATEDFOURROWTEMPLATE_FIELD_NUMBER: builtins.int - INTERACTIVEMESSAGETEMPLATE_FIELD_NUMBER: builtins.int - @property - def contextInfo(self) -> global___ContextInfo: ... - @property - def hydratedTemplate(self) -> global___TemplateMessage.HydratedFourRowTemplate: ... - templateId: builtins.str - @property - def fourRowTemplate(self) -> global___TemplateMessage.FourRowTemplate: ... - @property - def hydratedFourRowTemplate(self) -> global___TemplateMessage.HydratedFourRowTemplate: ... - @property - def interactiveMessageTemplate(self) -> global___InteractiveMessage: ... - def __init__( - self, - *, - contextInfo: global___ContextInfo | None = ..., - hydratedTemplate: global___TemplateMessage.HydratedFourRowTemplate | None = ..., - templateId: builtins.str | None = ..., - fourRowTemplate: global___TemplateMessage.FourRowTemplate | None = ..., - hydratedFourRowTemplate: global___TemplateMessage.HydratedFourRowTemplate | None = ..., - interactiveMessageTemplate: global___InteractiveMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "format", b"format", "fourRowTemplate", b"fourRowTemplate", "hydratedFourRowTemplate", b"hydratedFourRowTemplate", "hydratedTemplate", b"hydratedTemplate", "interactiveMessageTemplate", b"interactiveMessageTemplate", "templateId", b"templateId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "format", b"format", "fourRowTemplate", b"fourRowTemplate", "hydratedFourRowTemplate", b"hydratedFourRowTemplate", "hydratedTemplate", b"hydratedTemplate", "interactiveMessageTemplate", b"interactiveMessageTemplate", "templateId", b"templateId"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["format", b"format"]) -> typing_extensions.Literal["fourRowTemplate", "hydratedFourRowTemplate", "interactiveMessageTemplate"] | None: ... - -global___TemplateMessage = TemplateMessage - -@typing_extensions.final -class TemplateButtonReplyMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SELECTEDID_FIELD_NUMBER: builtins.int - SELECTEDDISPLAYTEXT_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - SELECTEDINDEX_FIELD_NUMBER: builtins.int - SELECTEDCAROUSELCARDINDEX_FIELD_NUMBER: builtins.int - selectedId: builtins.str - selectedDisplayText: builtins.str - @property - def contextInfo(self) -> global___ContextInfo: ... - selectedIndex: builtins.int - selectedCarouselCardIndex: builtins.int - def __init__( - self, - *, - selectedId: builtins.str | None = ..., - selectedDisplayText: builtins.str | None = ..., - contextInfo: global___ContextInfo | None = ..., - selectedIndex: builtins.int | None = ..., - selectedCarouselCardIndex: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "selectedCarouselCardIndex", b"selectedCarouselCardIndex", "selectedDisplayText", b"selectedDisplayText", "selectedId", b"selectedId", "selectedIndex", b"selectedIndex"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "selectedCarouselCardIndex", b"selectedCarouselCardIndex", "selectedDisplayText", b"selectedDisplayText", "selectedId", b"selectedId", "selectedIndex", b"selectedIndex"]) -> None: ... - -global___TemplateButtonReplyMessage = TemplateButtonReplyMessage - -@typing_extensions.final -class StickerSyncRMRMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FILEHASH_FIELD_NUMBER: builtins.int - RMRSOURCE_FIELD_NUMBER: builtins.int - REQUESTTIMESTAMP_FIELD_NUMBER: builtins.int - @property - def filehash(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - rmrSource: builtins.str - requestTimestamp: builtins.int - def __init__( - self, - *, - filehash: collections.abc.Iterable[builtins.str] | None = ..., - rmrSource: builtins.str | None = ..., - requestTimestamp: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["requestTimestamp", b"requestTimestamp", "rmrSource", b"rmrSource"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["filehash", b"filehash", "requestTimestamp", b"requestTimestamp", "rmrSource", b"rmrSource"]) -> None: ... - -global___StickerSyncRMRMessage = StickerSyncRMRMessage - -@typing_extensions.final -class StickerMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - URL_FIELD_NUMBER: builtins.int - FILESHA256_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - MIMETYPE_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - WIDTH_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - FILELENGTH_FIELD_NUMBER: builtins.int - MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int - FIRSTFRAMELENGTH_FIELD_NUMBER: builtins.int - FIRSTFRAMESIDECAR_FIELD_NUMBER: builtins.int - ISANIMATED_FIELD_NUMBER: builtins.int - PNGTHUMBNAIL_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - STICKERSENTTS_FIELD_NUMBER: builtins.int - ISAVATAR_FIELD_NUMBER: builtins.int - ISAISTICKER_FIELD_NUMBER: builtins.int - ISLOTTIE_FIELD_NUMBER: builtins.int - url: builtins.str - fileSha256: builtins.bytes - fileEncSha256: builtins.bytes - mediaKey: builtins.bytes - mimetype: builtins.str - height: builtins.int - width: builtins.int - directPath: builtins.str - fileLength: builtins.int - mediaKeyTimestamp: builtins.int - firstFrameLength: builtins.int - firstFrameSidecar: builtins.bytes - isAnimated: builtins.bool - pngThumbnail: builtins.bytes - @property - def contextInfo(self) -> global___ContextInfo: ... - stickerSentTs: builtins.int - isAvatar: builtins.bool - isAiSticker: builtins.bool - isLottie: builtins.bool - def __init__( - self, - *, - url: builtins.str | None = ..., - fileSha256: builtins.bytes | None = ..., - fileEncSha256: builtins.bytes | None = ..., - mediaKey: builtins.bytes | None = ..., - mimetype: builtins.str | None = ..., - height: builtins.int | None = ..., - width: builtins.int | None = ..., - directPath: builtins.str | None = ..., - fileLength: builtins.int | None = ..., - mediaKeyTimestamp: builtins.int | None = ..., - firstFrameLength: builtins.int | None = ..., - firstFrameSidecar: builtins.bytes | None = ..., - isAnimated: builtins.bool | None = ..., - pngThumbnail: builtins.bytes | None = ..., - contextInfo: global___ContextInfo | None = ..., - stickerSentTs: builtins.int | None = ..., - isAvatar: builtins.bool | None = ..., - isAiSticker: builtins.bool | None = ..., - isLottie: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "firstFrameLength", b"firstFrameLength", "firstFrameSidecar", b"firstFrameSidecar", "height", b"height", "isAiSticker", b"isAiSticker", "isAnimated", b"isAnimated", "isAvatar", b"isAvatar", "isLottie", b"isLottie", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pngThumbnail", b"pngThumbnail", "stickerSentTs", b"stickerSentTs", "url", b"url", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "firstFrameLength", b"firstFrameLength", "firstFrameSidecar", b"firstFrameSidecar", "height", b"height", "isAiSticker", b"isAiSticker", "isAnimated", b"isAnimated", "isAvatar", b"isAvatar", "isLottie", b"isLottie", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pngThumbnail", b"pngThumbnail", "stickerSentTs", b"stickerSentTs", "url", b"url", "width", b"width"]) -> None: ... - -global___StickerMessage = StickerMessage - -@typing_extensions.final -class SenderKeyDistributionMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - GROUPID_FIELD_NUMBER: builtins.int - AXOLOTLSENDERKEYDISTRIBUTIONMESSAGE_FIELD_NUMBER: builtins.int - groupId: builtins.str - axolotlSenderKeyDistributionMessage: builtins.bytes - def __init__( - self, - *, - groupId: builtins.str | None = ..., - axolotlSenderKeyDistributionMessage: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["axolotlSenderKeyDistributionMessage", b"axolotlSenderKeyDistributionMessage", "groupId", b"groupId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["axolotlSenderKeyDistributionMessage", b"axolotlSenderKeyDistributionMessage", "groupId", b"groupId"]) -> None: ... - -global___SenderKeyDistributionMessage = SenderKeyDistributionMessage - -@typing_extensions.final -class SendPaymentMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NOTEMESSAGE_FIELD_NUMBER: builtins.int - REQUESTMESSAGEKEY_FIELD_NUMBER: builtins.int - BACKGROUND_FIELD_NUMBER: builtins.int - @property - def noteMessage(self) -> global___Message: ... - @property - def requestMessageKey(self) -> global___MessageKey: ... - @property - def background(self) -> global___PaymentBackground: ... - def __init__( - self, - *, - noteMessage: global___Message | None = ..., - requestMessageKey: global___MessageKey | None = ..., - background: global___PaymentBackground | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["background", b"background", "noteMessage", b"noteMessage", "requestMessageKey", b"requestMessageKey"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["background", b"background", "noteMessage", b"noteMessage", "requestMessageKey", b"requestMessageKey"]) -> None: ... - -global___SendPaymentMessage = SendPaymentMessage - -@typing_extensions.final -class ScheduledCallEditMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _EditType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _EditTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ScheduledCallEditMessage._EditType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: ScheduledCallEditMessage._EditType.ValueType # 0 - CANCEL: ScheduledCallEditMessage._EditType.ValueType # 1 - - class EditType(_EditType, metaclass=_EditTypeEnumTypeWrapper): ... - UNKNOWN: ScheduledCallEditMessage.EditType.ValueType # 0 - CANCEL: ScheduledCallEditMessage.EditType.ValueType # 1 - - KEY_FIELD_NUMBER: builtins.int - EDITTYPE_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - editType: global___ScheduledCallEditMessage.EditType.ValueType - def __init__( - self, - *, - key: global___MessageKey | None = ..., - editType: global___ScheduledCallEditMessage.EditType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["editType", b"editType", "key", b"key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["editType", b"editType", "key", b"key"]) -> None: ... - -global___ScheduledCallEditMessage = ScheduledCallEditMessage - -@typing_extensions.final -class ScheduledCallCreationMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _CallType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _CallTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ScheduledCallCreationMessage._CallType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: ScheduledCallCreationMessage._CallType.ValueType # 0 - VOICE: ScheduledCallCreationMessage._CallType.ValueType # 1 - VIDEO: ScheduledCallCreationMessage._CallType.ValueType # 2 - - class CallType(_CallType, metaclass=_CallTypeEnumTypeWrapper): ... - UNKNOWN: ScheduledCallCreationMessage.CallType.ValueType # 0 - VOICE: ScheduledCallCreationMessage.CallType.ValueType # 1 - VIDEO: ScheduledCallCreationMessage.CallType.ValueType # 2 - - SCHEDULEDTIMESTAMPMS_FIELD_NUMBER: builtins.int - CALLTYPE_FIELD_NUMBER: builtins.int - TITLE_FIELD_NUMBER: builtins.int - scheduledTimestampMs: builtins.int - callType: global___ScheduledCallCreationMessage.CallType.ValueType - title: builtins.str - def __init__( - self, - *, - scheduledTimestampMs: builtins.int | None = ..., - callType: global___ScheduledCallCreationMessage.CallType.ValueType | None = ..., - title: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["callType", b"callType", "scheduledTimestampMs", b"scheduledTimestampMs", "title", b"title"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["callType", b"callType", "scheduledTimestampMs", b"scheduledTimestampMs", "title", b"title"]) -> None: ... - -global___ScheduledCallCreationMessage = ScheduledCallCreationMessage - -@typing_extensions.final -class RequestWelcomeMessageMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _LocalChatState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _LocalChatStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[RequestWelcomeMessageMetadata._LocalChatState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - EMPTY: RequestWelcomeMessageMetadata._LocalChatState.ValueType # 0 - NON_EMPTY: RequestWelcomeMessageMetadata._LocalChatState.ValueType # 1 - - class LocalChatState(_LocalChatState, metaclass=_LocalChatStateEnumTypeWrapper): ... - EMPTY: RequestWelcomeMessageMetadata.LocalChatState.ValueType # 0 - NON_EMPTY: RequestWelcomeMessageMetadata.LocalChatState.ValueType # 1 - - LOCALCHATSTATE_FIELD_NUMBER: builtins.int - localChatState: global___RequestWelcomeMessageMetadata.LocalChatState.ValueType - def __init__( - self, - *, - localChatState: global___RequestWelcomeMessageMetadata.LocalChatState.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["localChatState", b"localChatState"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["localChatState", b"localChatState"]) -> None: ... - -global___RequestWelcomeMessageMetadata = RequestWelcomeMessageMetadata - -@typing_extensions.final -class RequestPhoneNumberMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CONTEXTINFO_FIELD_NUMBER: builtins.int - @property - def contextInfo(self) -> global___ContextInfo: ... - def __init__( - self, - *, - contextInfo: global___ContextInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo"]) -> None: ... - -global___RequestPhoneNumberMessage = RequestPhoneNumberMessage - -@typing_extensions.final -class RequestPaymentMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NOTEMESSAGE_FIELD_NUMBER: builtins.int - CURRENCYCODEISO4217_FIELD_NUMBER: builtins.int - AMOUNT1000_FIELD_NUMBER: builtins.int - REQUESTFROM_FIELD_NUMBER: builtins.int - EXPIRYTIMESTAMP_FIELD_NUMBER: builtins.int - AMOUNT_FIELD_NUMBER: builtins.int - BACKGROUND_FIELD_NUMBER: builtins.int - @property - def noteMessage(self) -> global___Message: ... - currencyCodeIso4217: builtins.str - amount1000: builtins.int - requestFrom: builtins.str - expiryTimestamp: builtins.int - @property - def amount(self) -> global___Money: ... - @property - def background(self) -> global___PaymentBackground: ... - def __init__( - self, - *, - noteMessage: global___Message | None = ..., - currencyCodeIso4217: builtins.str | None = ..., - amount1000: builtins.int | None = ..., - requestFrom: builtins.str | None = ..., - expiryTimestamp: builtins.int | None = ..., - amount: global___Money | None = ..., - background: global___PaymentBackground | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["amount", b"amount", "amount1000", b"amount1000", "background", b"background", "currencyCodeIso4217", b"currencyCodeIso4217", "expiryTimestamp", b"expiryTimestamp", "noteMessage", b"noteMessage", "requestFrom", b"requestFrom"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["amount", b"amount", "amount1000", b"amount1000", "background", b"background", "currencyCodeIso4217", b"currencyCodeIso4217", "expiryTimestamp", b"expiryTimestamp", "noteMessage", b"noteMessage", "requestFrom", b"requestFrom"]) -> None: ... - -global___RequestPaymentMessage = RequestPaymentMessage - -@typing_extensions.final -class ReactionMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - TEXT_FIELD_NUMBER: builtins.int - GROUPINGKEY_FIELD_NUMBER: builtins.int - SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - text: builtins.str - groupingKey: builtins.str - senderTimestampMs: builtins.int - def __init__( - self, - *, - key: global___MessageKey | None = ..., - text: builtins.str | None = ..., - groupingKey: builtins.str | None = ..., - senderTimestampMs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["groupingKey", b"groupingKey", "key", b"key", "senderTimestampMs", b"senderTimestampMs", "text", b"text"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["groupingKey", b"groupingKey", "key", b"key", "senderTimestampMs", b"senderTimestampMs", "text", b"text"]) -> None: ... - -global___ReactionMessage = ReactionMessage - -@typing_extensions.final -class ProtocolMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Type: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ProtocolMessage._Type.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - REVOKE: ProtocolMessage._Type.ValueType # 0 - EPHEMERAL_SETTING: ProtocolMessage._Type.ValueType # 3 - EPHEMERAL_SYNC_RESPONSE: ProtocolMessage._Type.ValueType # 4 - HISTORY_SYNC_NOTIFICATION: ProtocolMessage._Type.ValueType # 5 - APP_STATE_SYNC_KEY_SHARE: ProtocolMessage._Type.ValueType # 6 - APP_STATE_SYNC_KEY_REQUEST: ProtocolMessage._Type.ValueType # 7 - MSG_FANOUT_BACKFILL_REQUEST: ProtocolMessage._Type.ValueType # 8 - INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC: ProtocolMessage._Type.ValueType # 9 - APP_STATE_FATAL_EXCEPTION_NOTIFICATION: ProtocolMessage._Type.ValueType # 10 - SHARE_PHONE_NUMBER: ProtocolMessage._Type.ValueType # 11 - MESSAGE_EDIT: ProtocolMessage._Type.ValueType # 14 - PEER_DATA_OPERATION_REQUEST_MESSAGE: ProtocolMessage._Type.ValueType # 16 - PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE: ProtocolMessage._Type.ValueType # 17 - REQUEST_WELCOME_MESSAGE: ProtocolMessage._Type.ValueType # 18 - BOT_FEEDBACK_MESSAGE: ProtocolMessage._Type.ValueType # 19 - - class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... - REVOKE: ProtocolMessage.Type.ValueType # 0 - EPHEMERAL_SETTING: ProtocolMessage.Type.ValueType # 3 - EPHEMERAL_SYNC_RESPONSE: ProtocolMessage.Type.ValueType # 4 - HISTORY_SYNC_NOTIFICATION: ProtocolMessage.Type.ValueType # 5 - APP_STATE_SYNC_KEY_SHARE: ProtocolMessage.Type.ValueType # 6 - APP_STATE_SYNC_KEY_REQUEST: ProtocolMessage.Type.ValueType # 7 - MSG_FANOUT_BACKFILL_REQUEST: ProtocolMessage.Type.ValueType # 8 - INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC: ProtocolMessage.Type.ValueType # 9 - APP_STATE_FATAL_EXCEPTION_NOTIFICATION: ProtocolMessage.Type.ValueType # 10 - SHARE_PHONE_NUMBER: ProtocolMessage.Type.ValueType # 11 - MESSAGE_EDIT: ProtocolMessage.Type.ValueType # 14 - PEER_DATA_OPERATION_REQUEST_MESSAGE: ProtocolMessage.Type.ValueType # 16 - PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE: ProtocolMessage.Type.ValueType # 17 - REQUEST_WELCOME_MESSAGE: ProtocolMessage.Type.ValueType # 18 - BOT_FEEDBACK_MESSAGE: ProtocolMessage.Type.ValueType # 19 - - KEY_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - EPHEMERALEXPIRATION_FIELD_NUMBER: builtins.int - EPHEMERALSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int - HISTORYSYNCNOTIFICATION_FIELD_NUMBER: builtins.int - APPSTATESYNCKEYSHARE_FIELD_NUMBER: builtins.int - APPSTATESYNCKEYREQUEST_FIELD_NUMBER: builtins.int - INITIALSECURITYNOTIFICATIONSETTINGSYNC_FIELD_NUMBER: builtins.int - APPSTATEFATALEXCEPTIONNOTIFICATION_FIELD_NUMBER: builtins.int - DISAPPEARINGMODE_FIELD_NUMBER: builtins.int - EDITEDMESSAGE_FIELD_NUMBER: builtins.int - TIMESTAMPMS_FIELD_NUMBER: builtins.int - PEERDATAOPERATIONREQUESTMESSAGE_FIELD_NUMBER: builtins.int - PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int - BOTFEEDBACKMESSAGE_FIELD_NUMBER: builtins.int - INVOKERJID_FIELD_NUMBER: builtins.int - REQUESTWELCOMEMESSAGEMETADATA_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - type: global___ProtocolMessage.Type.ValueType - ephemeralExpiration: builtins.int - ephemeralSettingTimestamp: builtins.int - @property - def historySyncNotification(self) -> global___HistorySyncNotification: ... - @property - def appStateSyncKeyShare(self) -> global___AppStateSyncKeyShare: ... - @property - def appStateSyncKeyRequest(self) -> global___AppStateSyncKeyRequest: ... - @property - def initialSecurityNotificationSettingSync(self) -> global___InitialSecurityNotificationSettingSync: ... - @property - def appStateFatalExceptionNotification(self) -> global___AppStateFatalExceptionNotification: ... - @property - def disappearingMode(self) -> global___DisappearingMode: ... - @property - def editedMessage(self) -> global___Message: ... - timestampMs: builtins.int - @property - def peerDataOperationRequestMessage(self) -> global___PeerDataOperationRequestMessage: ... - @property - def peerDataOperationRequestResponseMessage(self) -> global___PeerDataOperationRequestResponseMessage: ... - @property - def botFeedbackMessage(self) -> global___BotFeedbackMessage: ... - invokerJid: builtins.str - @property - def requestWelcomeMessageMetadata(self) -> global___RequestWelcomeMessageMetadata: ... - def __init__( - self, - *, - key: global___MessageKey | None = ..., - type: global___ProtocolMessage.Type.ValueType | None = ..., - ephemeralExpiration: builtins.int | None = ..., - ephemeralSettingTimestamp: builtins.int | None = ..., - historySyncNotification: global___HistorySyncNotification | None = ..., - appStateSyncKeyShare: global___AppStateSyncKeyShare | None = ..., - appStateSyncKeyRequest: global___AppStateSyncKeyRequest | None = ..., - initialSecurityNotificationSettingSync: global___InitialSecurityNotificationSettingSync | None = ..., - appStateFatalExceptionNotification: global___AppStateFatalExceptionNotification | None = ..., - disappearingMode: global___DisappearingMode | None = ..., - editedMessage: global___Message | None = ..., - timestampMs: builtins.int | None = ..., - peerDataOperationRequestMessage: global___PeerDataOperationRequestMessage | None = ..., - peerDataOperationRequestResponseMessage: global___PeerDataOperationRequestResponseMessage | None = ..., - botFeedbackMessage: global___BotFeedbackMessage | None = ..., - invokerJid: builtins.str | None = ..., - requestWelcomeMessageMetadata: global___RequestWelcomeMessageMetadata | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["appStateFatalExceptionNotification", b"appStateFatalExceptionNotification", "appStateSyncKeyRequest", b"appStateSyncKeyRequest", "appStateSyncKeyShare", b"appStateSyncKeyShare", "botFeedbackMessage", b"botFeedbackMessage", "disappearingMode", b"disappearingMode", "editedMessage", b"editedMessage", "ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "historySyncNotification", b"historySyncNotification", "initialSecurityNotificationSettingSync", b"initialSecurityNotificationSettingSync", "invokerJid", b"invokerJid", "key", b"key", "peerDataOperationRequestMessage", b"peerDataOperationRequestMessage", "peerDataOperationRequestResponseMessage", b"peerDataOperationRequestResponseMessage", "requestWelcomeMessageMetadata", b"requestWelcomeMessageMetadata", "timestampMs", b"timestampMs", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["appStateFatalExceptionNotification", b"appStateFatalExceptionNotification", "appStateSyncKeyRequest", b"appStateSyncKeyRequest", "appStateSyncKeyShare", b"appStateSyncKeyShare", "botFeedbackMessage", b"botFeedbackMessage", "disappearingMode", b"disappearingMode", "editedMessage", b"editedMessage", "ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "historySyncNotification", b"historySyncNotification", "initialSecurityNotificationSettingSync", b"initialSecurityNotificationSettingSync", "invokerJid", b"invokerJid", "key", b"key", "peerDataOperationRequestMessage", b"peerDataOperationRequestMessage", "peerDataOperationRequestResponseMessage", b"peerDataOperationRequestResponseMessage", "requestWelcomeMessageMetadata", b"requestWelcomeMessageMetadata", "timestampMs", b"timestampMs", "type", b"type"]) -> None: ... - -global___ProtocolMessage = ProtocolMessage - -@typing_extensions.final -class ProductMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class ProductSnapshot(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRODUCTIMAGE_FIELD_NUMBER: builtins.int - PRODUCTID_FIELD_NUMBER: builtins.int - TITLE_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - CURRENCYCODE_FIELD_NUMBER: builtins.int - PRICEAMOUNT1000_FIELD_NUMBER: builtins.int - RETAILERID_FIELD_NUMBER: builtins.int - URL_FIELD_NUMBER: builtins.int - PRODUCTIMAGECOUNT_FIELD_NUMBER: builtins.int - FIRSTIMAGEID_FIELD_NUMBER: builtins.int - SALEPRICEAMOUNT1000_FIELD_NUMBER: builtins.int - @property - def productImage(self) -> global___ImageMessage: ... - productId: builtins.str - title: builtins.str - description: builtins.str - currencyCode: builtins.str - priceAmount1000: builtins.int - retailerId: builtins.str - url: builtins.str - productImageCount: builtins.int - firstImageId: builtins.str - salePriceAmount1000: builtins.int - def __init__( - self, - *, - productImage: global___ImageMessage | None = ..., - productId: builtins.str | None = ..., - title: builtins.str | None = ..., - description: builtins.str | None = ..., - currencyCode: builtins.str | None = ..., - priceAmount1000: builtins.int | None = ..., - retailerId: builtins.str | None = ..., - url: builtins.str | None = ..., - productImageCount: builtins.int | None = ..., - firstImageId: builtins.str | None = ..., - salePriceAmount1000: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["currencyCode", b"currencyCode", "description", b"description", "firstImageId", b"firstImageId", "priceAmount1000", b"priceAmount1000", "productId", b"productId", "productImage", b"productImage", "productImageCount", b"productImageCount", "retailerId", b"retailerId", "salePriceAmount1000", b"salePriceAmount1000", "title", b"title", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["currencyCode", b"currencyCode", "description", b"description", "firstImageId", b"firstImageId", "priceAmount1000", b"priceAmount1000", "productId", b"productId", "productImage", b"productImage", "productImageCount", b"productImageCount", "retailerId", b"retailerId", "salePriceAmount1000", b"salePriceAmount1000", "title", b"title", "url", b"url"]) -> None: ... - - @typing_extensions.final - class CatalogSnapshot(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CATALOGIMAGE_FIELD_NUMBER: builtins.int - TITLE_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - @property - def catalogImage(self) -> global___ImageMessage: ... - title: builtins.str - description: builtins.str - def __init__( - self, - *, - catalogImage: global___ImageMessage | None = ..., - title: builtins.str | None = ..., - description: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["catalogImage", b"catalogImage", "description", b"description", "title", b"title"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["catalogImage", b"catalogImage", "description", b"description", "title", b"title"]) -> None: ... - - PRODUCT_FIELD_NUMBER: builtins.int - BUSINESSOWNERJID_FIELD_NUMBER: builtins.int - CATALOG_FIELD_NUMBER: builtins.int - BODY_FIELD_NUMBER: builtins.int - FOOTER_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - @property - def product(self) -> global___ProductMessage.ProductSnapshot: ... - businessOwnerJid: builtins.str - @property - def catalog(self) -> global___ProductMessage.CatalogSnapshot: ... - body: builtins.str - footer: builtins.str - @property - def contextInfo(self) -> global___ContextInfo: ... - def __init__( - self, - *, - product: global___ProductMessage.ProductSnapshot | None = ..., - businessOwnerJid: builtins.str | None = ..., - catalog: global___ProductMessage.CatalogSnapshot | None = ..., - body: builtins.str | None = ..., - footer: builtins.str | None = ..., - contextInfo: global___ContextInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["body", b"body", "businessOwnerJid", b"businessOwnerJid", "catalog", b"catalog", "contextInfo", b"contextInfo", "footer", b"footer", "product", b"product"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["body", b"body", "businessOwnerJid", b"businessOwnerJid", "catalog", b"catalog", "contextInfo", b"contextInfo", "footer", b"footer", "product", b"product"]) -> None: ... - -global___ProductMessage = ProductMessage - -@typing_extensions.final -class PollVoteMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SELECTEDOPTIONS_FIELD_NUMBER: builtins.int - @property - def selectedOptions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... - def __init__( - self, - *, - selectedOptions: collections.abc.Iterable[builtins.bytes] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["selectedOptions", b"selectedOptions"]) -> None: ... - -global___PollVoteMessage = PollVoteMessage - -@typing_extensions.final -class PollUpdateMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLLCREATIONMESSAGEKEY_FIELD_NUMBER: builtins.int - VOTE_FIELD_NUMBER: builtins.int - METADATA_FIELD_NUMBER: builtins.int - SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int - @property - def pollCreationMessageKey(self) -> global___MessageKey: ... - @property - def vote(self) -> global___PollEncValue: ... - @property - def metadata(self) -> global___PollUpdateMessageMetadata: ... - senderTimestampMs: builtins.int - def __init__( - self, - *, - pollCreationMessageKey: global___MessageKey | None = ..., - vote: global___PollEncValue | None = ..., - metadata: global___PollUpdateMessageMetadata | None = ..., - senderTimestampMs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "pollCreationMessageKey", b"pollCreationMessageKey", "senderTimestampMs", b"senderTimestampMs", "vote", b"vote"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata", "pollCreationMessageKey", b"pollCreationMessageKey", "senderTimestampMs", b"senderTimestampMs", "vote", b"vote"]) -> None: ... - -global___PollUpdateMessage = PollUpdateMessage - -@typing_extensions.final -class PollUpdateMessageMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___PollUpdateMessageMetadata = PollUpdateMessageMetadata - -@typing_extensions.final -class PollEncValue(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ENCPAYLOAD_FIELD_NUMBER: builtins.int - ENCIV_FIELD_NUMBER: builtins.int - encPayload: builtins.bytes - encIv: builtins.bytes - def __init__( - self, - *, - encPayload: builtins.bytes | None = ..., - encIv: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["encIv", b"encIv", "encPayload", b"encPayload"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["encIv", b"encIv", "encPayload", b"encPayload"]) -> None: ... - -global___PollEncValue = PollEncValue - -@typing_extensions.final -class PollCreationMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class Option(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - OPTIONNAME_FIELD_NUMBER: builtins.int - optionName: builtins.str - def __init__( - self, - *, - optionName: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["optionName", b"optionName"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["optionName", b"optionName"]) -> None: ... - - ENCKEY_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - OPTIONS_FIELD_NUMBER: builtins.int - SELECTABLEOPTIONSCOUNT_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - encKey: builtins.bytes - name: builtins.str - @property - def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PollCreationMessage.Option]: ... - selectableOptionsCount: builtins.int - @property - def contextInfo(self) -> global___ContextInfo: ... - def __init__( - self, - *, - encKey: builtins.bytes | None = ..., - name: builtins.str | None = ..., - options: collections.abc.Iterable[global___PollCreationMessage.Option] | None = ..., - selectableOptionsCount: builtins.int | None = ..., - contextInfo: global___ContextInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "encKey", b"encKey", "name", b"name", "selectableOptionsCount", b"selectableOptionsCount"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "encKey", b"encKey", "name", b"name", "options", b"options", "selectableOptionsCount", b"selectableOptionsCount"]) -> None: ... - -global___PollCreationMessage = PollCreationMessage - -@typing_extensions.final -class PinInChatMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Type: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PinInChatMessage._Type.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN_TYPE: PinInChatMessage._Type.ValueType # 0 - PIN_FOR_ALL: PinInChatMessage._Type.ValueType # 1 - UNPIN_FOR_ALL: PinInChatMessage._Type.ValueType # 2 - - class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... - UNKNOWN_TYPE: PinInChatMessage.Type.ValueType # 0 - PIN_FOR_ALL: PinInChatMessage.Type.ValueType # 1 - UNPIN_FOR_ALL: PinInChatMessage.Type.ValueType # 2 - - KEY_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - type: global___PinInChatMessage.Type.ValueType - senderTimestampMs: builtins.int - def __init__( - self, - *, - key: global___MessageKey | None = ..., - type: global___PinInChatMessage.Type.ValueType | None = ..., - senderTimestampMs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key", "senderTimestampMs", b"senderTimestampMs", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "senderTimestampMs", b"senderTimestampMs", "type", b"type"]) -> None: ... - -global___PinInChatMessage = PinInChatMessage - -@typing_extensions.final -class PeerDataOperationRequestResponseMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class PeerDataOperationResult(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class PlaceholderMessageResendResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - WEBMESSAGEINFOBYTES_FIELD_NUMBER: builtins.int - webMessageInfoBytes: builtins.bytes - def __init__( - self, - *, - webMessageInfoBytes: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["webMessageInfoBytes", b"webMessageInfoBytes"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["webMessageInfoBytes", b"webMessageInfoBytes"]) -> None: ... - - @typing_extensions.final - class LinkPreviewResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class LinkPreviewHighQualityThumbnail(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DIRECTPATH_FIELD_NUMBER: builtins.int - THUMBHASH_FIELD_NUMBER: builtins.int - ENCTHUMBHASH_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - MEDIAKEYTIMESTAMPMS_FIELD_NUMBER: builtins.int - THUMBWIDTH_FIELD_NUMBER: builtins.int - THUMBHEIGHT_FIELD_NUMBER: builtins.int - directPath: builtins.str - thumbHash: builtins.str - encThumbHash: builtins.str - mediaKey: builtins.bytes - mediaKeyTimestampMs: builtins.int - thumbWidth: builtins.int - thumbHeight: builtins.int - def __init__( - self, - *, - directPath: builtins.str | None = ..., - thumbHash: builtins.str | None = ..., - encThumbHash: builtins.str | None = ..., - mediaKey: builtins.bytes | None = ..., - mediaKeyTimestampMs: builtins.int | None = ..., - thumbWidth: builtins.int | None = ..., - thumbHeight: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["directPath", b"directPath", "encThumbHash", b"encThumbHash", "mediaKey", b"mediaKey", "mediaKeyTimestampMs", b"mediaKeyTimestampMs", "thumbHash", b"thumbHash", "thumbHeight", b"thumbHeight", "thumbWidth", b"thumbWidth"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["directPath", b"directPath", "encThumbHash", b"encThumbHash", "mediaKey", b"mediaKey", "mediaKeyTimestampMs", b"mediaKeyTimestampMs", "thumbHash", b"thumbHash", "thumbHeight", b"thumbHeight", "thumbWidth", b"thumbWidth"]) -> None: ... - - URL_FIELD_NUMBER: builtins.int - TITLE_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - THUMBDATA_FIELD_NUMBER: builtins.int - CANONICALURL_FIELD_NUMBER: builtins.int - MATCHTEXT_FIELD_NUMBER: builtins.int - PREVIEWTYPE_FIELD_NUMBER: builtins.int - HQTHUMBNAIL_FIELD_NUMBER: builtins.int - url: builtins.str - title: builtins.str - description: builtins.str - thumbData: builtins.bytes - canonicalUrl: builtins.str - matchText: builtins.str - previewType: builtins.str - @property - def hqThumbnail(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail: ... - def __init__( - self, - *, - url: builtins.str | None = ..., - title: builtins.str | None = ..., - description: builtins.str | None = ..., - thumbData: builtins.bytes | None = ..., - canonicalUrl: builtins.str | None = ..., - matchText: builtins.str | None = ..., - previewType: builtins.str | None = ..., - hqThumbnail: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["canonicalUrl", b"canonicalUrl", "description", b"description", "hqThumbnail", b"hqThumbnail", "matchText", b"matchText", "previewType", b"previewType", "thumbData", b"thumbData", "title", b"title", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["canonicalUrl", b"canonicalUrl", "description", b"description", "hqThumbnail", b"hqThumbnail", "matchText", b"matchText", "previewType", b"previewType", "thumbData", b"thumbData", "title", b"title", "url", b"url"]) -> None: ... - - MEDIAUPLOADRESULT_FIELD_NUMBER: builtins.int - STICKERMESSAGE_FIELD_NUMBER: builtins.int - LINKPREVIEWRESPONSE_FIELD_NUMBER: builtins.int - PLACEHOLDERMESSAGERESENDRESPONSE_FIELD_NUMBER: builtins.int - mediaUploadResult: global___MediaRetryNotification.ResultType.ValueType - @property - def stickerMessage(self) -> global___StickerMessage: ... - @property - def linkPreviewResponse(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse: ... - @property - def placeholderMessageResendResponse(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse: ... - def __init__( - self, - *, - mediaUploadResult: global___MediaRetryNotification.ResultType.ValueType | None = ..., - stickerMessage: global___StickerMessage | None = ..., - linkPreviewResponse: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse | None = ..., - placeholderMessageResendResponse: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["linkPreviewResponse", b"linkPreviewResponse", "mediaUploadResult", b"mediaUploadResult", "placeholderMessageResendResponse", b"placeholderMessageResendResponse", "stickerMessage", b"stickerMessage"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["linkPreviewResponse", b"linkPreviewResponse", "mediaUploadResult", b"mediaUploadResult", "placeholderMessageResendResponse", b"placeholderMessageResendResponse", "stickerMessage", b"stickerMessage"]) -> None: ... - - PEERDATAOPERATIONREQUESTTYPE_FIELD_NUMBER: builtins.int - STANZAID_FIELD_NUMBER: builtins.int - PEERDATAOPERATIONRESULT_FIELD_NUMBER: builtins.int - peerDataOperationRequestType: global___PeerDataOperationRequestType.ValueType - stanzaId: builtins.str - @property - def peerDataOperationResult(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult]: ... - def __init__( - self, - *, - peerDataOperationRequestType: global___PeerDataOperationRequestType.ValueType | None = ..., - stanzaId: builtins.str | None = ..., - peerDataOperationResult: collections.abc.Iterable[global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["peerDataOperationRequestType", b"peerDataOperationRequestType", "stanzaId", b"stanzaId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["peerDataOperationRequestType", b"peerDataOperationRequestType", "peerDataOperationResult", b"peerDataOperationResult", "stanzaId", b"stanzaId"]) -> None: ... - -global___PeerDataOperationRequestResponseMessage = PeerDataOperationRequestResponseMessage - -@typing_extensions.final -class PeerDataOperationRequestMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class RequestUrlPreview(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - URL_FIELD_NUMBER: builtins.int - INCLUDEHQTHUMBNAIL_FIELD_NUMBER: builtins.int - url: builtins.str - includeHqThumbnail: builtins.bool - def __init__( - self, - *, - url: builtins.str | None = ..., - includeHqThumbnail: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["includeHqThumbnail", b"includeHqThumbnail", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["includeHqThumbnail", b"includeHqThumbnail", "url", b"url"]) -> None: ... - - @typing_extensions.final - class RequestStickerReupload(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FILESHA256_FIELD_NUMBER: builtins.int - fileSha256: builtins.str - def __init__( - self, - *, - fileSha256: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["fileSha256", b"fileSha256"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["fileSha256", b"fileSha256"]) -> None: ... - - @typing_extensions.final - class PlaceholderMessageResendRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MESSAGEKEY_FIELD_NUMBER: builtins.int - @property - def messageKey(self) -> global___MessageKey: ... - def __init__( - self, - *, - messageKey: global___MessageKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["messageKey", b"messageKey"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["messageKey", b"messageKey"]) -> None: ... - - @typing_extensions.final - class HistorySyncOnDemandRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CHATJID_FIELD_NUMBER: builtins.int - OLDESTMSGID_FIELD_NUMBER: builtins.int - OLDESTMSGFROMME_FIELD_NUMBER: builtins.int - ONDEMANDMSGCOUNT_FIELD_NUMBER: builtins.int - OLDESTMSGTIMESTAMPMS_FIELD_NUMBER: builtins.int - chatJid: builtins.str - oldestMsgId: builtins.str - oldestMsgFromMe: builtins.bool - onDemandMsgCount: builtins.int - oldestMsgTimestampMs: builtins.int - def __init__( - self, - *, - chatJid: builtins.str | None = ..., - oldestMsgId: builtins.str | None = ..., - oldestMsgFromMe: builtins.bool | None = ..., - onDemandMsgCount: builtins.int | None = ..., - oldestMsgTimestampMs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["chatJid", b"chatJid", "oldestMsgFromMe", b"oldestMsgFromMe", "oldestMsgId", b"oldestMsgId", "oldestMsgTimestampMs", b"oldestMsgTimestampMs", "onDemandMsgCount", b"onDemandMsgCount"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["chatJid", b"chatJid", "oldestMsgFromMe", b"oldestMsgFromMe", "oldestMsgId", b"oldestMsgId", "oldestMsgTimestampMs", b"oldestMsgTimestampMs", "onDemandMsgCount", b"onDemandMsgCount"]) -> None: ... - - PEERDATAOPERATIONREQUESTTYPE_FIELD_NUMBER: builtins.int - REQUESTSTICKERREUPLOAD_FIELD_NUMBER: builtins.int - REQUESTURLPREVIEW_FIELD_NUMBER: builtins.int - HISTORYSYNCONDEMANDREQUEST_FIELD_NUMBER: builtins.int - PLACEHOLDERMESSAGERESENDREQUEST_FIELD_NUMBER: builtins.int - peerDataOperationRequestType: global___PeerDataOperationRequestType.ValueType - @property - def requestStickerReupload(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PeerDataOperationRequestMessage.RequestStickerReupload]: ... - @property - def requestUrlPreview(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PeerDataOperationRequestMessage.RequestUrlPreview]: ... - @property - def historySyncOnDemandRequest(self) -> global___PeerDataOperationRequestMessage.HistorySyncOnDemandRequest: ... - @property - def placeholderMessageResendRequest(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PeerDataOperationRequestMessage.PlaceholderMessageResendRequest]: ... - def __init__( - self, - *, - peerDataOperationRequestType: global___PeerDataOperationRequestType.ValueType | None = ..., - requestStickerReupload: collections.abc.Iterable[global___PeerDataOperationRequestMessage.RequestStickerReupload] | None = ..., - requestUrlPreview: collections.abc.Iterable[global___PeerDataOperationRequestMessage.RequestUrlPreview] | None = ..., - historySyncOnDemandRequest: global___PeerDataOperationRequestMessage.HistorySyncOnDemandRequest | None = ..., - placeholderMessageResendRequest: collections.abc.Iterable[global___PeerDataOperationRequestMessage.PlaceholderMessageResendRequest] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["historySyncOnDemandRequest", b"historySyncOnDemandRequest", "peerDataOperationRequestType", b"peerDataOperationRequestType"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["historySyncOnDemandRequest", b"historySyncOnDemandRequest", "peerDataOperationRequestType", b"peerDataOperationRequestType", "placeholderMessageResendRequest", b"placeholderMessageResendRequest", "requestStickerReupload", b"requestStickerReupload", "requestUrlPreview", b"requestUrlPreview"]) -> None: ... - -global___PeerDataOperationRequestMessage = PeerDataOperationRequestMessage - -@typing_extensions.final -class PaymentInviteMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _ServiceType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ServiceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentInviteMessage._ServiceType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: PaymentInviteMessage._ServiceType.ValueType # 0 - FBPAY: PaymentInviteMessage._ServiceType.ValueType # 1 - NOVI: PaymentInviteMessage._ServiceType.ValueType # 2 - UPI: PaymentInviteMessage._ServiceType.ValueType # 3 - - class ServiceType(_ServiceType, metaclass=_ServiceTypeEnumTypeWrapper): ... - UNKNOWN: PaymentInviteMessage.ServiceType.ValueType # 0 - FBPAY: PaymentInviteMessage.ServiceType.ValueType # 1 - NOVI: PaymentInviteMessage.ServiceType.ValueType # 2 - UPI: PaymentInviteMessage.ServiceType.ValueType # 3 - - SERVICETYPE_FIELD_NUMBER: builtins.int - EXPIRYTIMESTAMP_FIELD_NUMBER: builtins.int - serviceType: global___PaymentInviteMessage.ServiceType.ValueType - expiryTimestamp: builtins.int - def __init__( - self, - *, - serviceType: global___PaymentInviteMessage.ServiceType.ValueType | None = ..., - expiryTimestamp: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["expiryTimestamp", b"expiryTimestamp", "serviceType", b"serviceType"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["expiryTimestamp", b"expiryTimestamp", "serviceType", b"serviceType"]) -> None: ... - -global___PaymentInviteMessage = PaymentInviteMessage - -@typing_extensions.final -class OrderMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _OrderSurface: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _OrderSurfaceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[OrderMessage._OrderSurface.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - CATALOG: OrderMessage._OrderSurface.ValueType # 1 - - class OrderSurface(_OrderSurface, metaclass=_OrderSurfaceEnumTypeWrapper): ... - CATALOG: OrderMessage.OrderSurface.ValueType # 1 - - class _OrderStatus: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _OrderStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[OrderMessage._OrderStatus.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - INQUIRY: OrderMessage._OrderStatus.ValueType # 1 - ACCEPTED: OrderMessage._OrderStatus.ValueType # 2 - DECLINED: OrderMessage._OrderStatus.ValueType # 3 - - class OrderStatus(_OrderStatus, metaclass=_OrderStatusEnumTypeWrapper): ... - INQUIRY: OrderMessage.OrderStatus.ValueType # 1 - ACCEPTED: OrderMessage.OrderStatus.ValueType # 2 - DECLINED: OrderMessage.OrderStatus.ValueType # 3 - - ORDERID_FIELD_NUMBER: builtins.int - THUMBNAIL_FIELD_NUMBER: builtins.int - ITEMCOUNT_FIELD_NUMBER: builtins.int - STATUS_FIELD_NUMBER: builtins.int - SURFACE_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - ORDERTITLE_FIELD_NUMBER: builtins.int - SELLERJID_FIELD_NUMBER: builtins.int - TOKEN_FIELD_NUMBER: builtins.int - TOTALAMOUNT1000_FIELD_NUMBER: builtins.int - TOTALCURRENCYCODE_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - MESSAGEVERSION_FIELD_NUMBER: builtins.int - ORDERREQUESTMESSAGEID_FIELD_NUMBER: builtins.int - orderId: builtins.str - thumbnail: builtins.bytes - itemCount: builtins.int - status: global___OrderMessage.OrderStatus.ValueType - surface: global___OrderMessage.OrderSurface.ValueType - message: builtins.str - orderTitle: builtins.str - sellerJid: builtins.str - token: builtins.str - totalAmount1000: builtins.int - totalCurrencyCode: builtins.str - @property - def contextInfo(self) -> global___ContextInfo: ... - messageVersion: builtins.int - @property - def orderRequestMessageId(self) -> global___MessageKey: ... - def __init__( - self, - *, - orderId: builtins.str | None = ..., - thumbnail: builtins.bytes | None = ..., - itemCount: builtins.int | None = ..., - status: global___OrderMessage.OrderStatus.ValueType | None = ..., - surface: global___OrderMessage.OrderSurface.ValueType | None = ..., - message: builtins.str | None = ..., - orderTitle: builtins.str | None = ..., - sellerJid: builtins.str | None = ..., - token: builtins.str | None = ..., - totalAmount1000: builtins.int | None = ..., - totalCurrencyCode: builtins.str | None = ..., - contextInfo: global___ContextInfo | None = ..., - messageVersion: builtins.int | None = ..., - orderRequestMessageId: global___MessageKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "itemCount", b"itemCount", "message", b"message", "messageVersion", b"messageVersion", "orderId", b"orderId", "orderRequestMessageId", b"orderRequestMessageId", "orderTitle", b"orderTitle", "sellerJid", b"sellerJid", "status", b"status", "surface", b"surface", "thumbnail", b"thumbnail", "token", b"token", "totalAmount1000", b"totalAmount1000", "totalCurrencyCode", b"totalCurrencyCode"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "itemCount", b"itemCount", "message", b"message", "messageVersion", b"messageVersion", "orderId", b"orderId", "orderRequestMessageId", b"orderRequestMessageId", "orderTitle", b"orderTitle", "sellerJid", b"sellerJid", "status", b"status", "surface", b"surface", "thumbnail", b"thumbnail", "token", b"token", "totalAmount1000", b"totalAmount1000", "totalCurrencyCode", b"totalCurrencyCode"]) -> None: ... - -global___OrderMessage = OrderMessage - -@typing_extensions.final -class NewsletterAdminInviteMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NEWSLETTERJID_FIELD_NUMBER: builtins.int - NEWSLETTERNAME_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - CAPTION_FIELD_NUMBER: builtins.int - INVITEEXPIRATION_FIELD_NUMBER: builtins.int - newsletterJid: builtins.str - newsletterName: builtins.str - jpegThumbnail: builtins.bytes - caption: builtins.str - inviteExpiration: builtins.int - def __init__( - self, - *, - newsletterJid: builtins.str | None = ..., - newsletterName: builtins.str | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - caption: builtins.str | None = ..., - inviteExpiration: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["caption", b"caption", "inviteExpiration", b"inviteExpiration", "jpegThumbnail", b"jpegThumbnail", "newsletterJid", b"newsletterJid", "newsletterName", b"newsletterName"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["caption", b"caption", "inviteExpiration", b"inviteExpiration", "jpegThumbnail", b"jpegThumbnail", "newsletterJid", b"newsletterJid", "newsletterName", b"newsletterName"]) -> None: ... - -global___NewsletterAdminInviteMessage = NewsletterAdminInviteMessage - -@typing_extensions.final -class MessageHistoryBundle(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MIMETYPE_FIELD_NUMBER: builtins.int - FILESHA256_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - PARTICIPANTS_FIELD_NUMBER: builtins.int - mimetype: builtins.str - fileSha256: builtins.bytes - mediaKey: builtins.bytes - fileEncSha256: builtins.bytes - directPath: builtins.str - mediaKeyTimestamp: builtins.int - @property - def contextInfo(self) -> global___ContextInfo: ... - @property - def participants(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - mimetype: builtins.str | None = ..., - fileSha256: builtins.bytes | None = ..., - mediaKey: builtins.bytes | None = ..., - fileEncSha256: builtins.bytes | None = ..., - directPath: builtins.str | None = ..., - mediaKeyTimestamp: builtins.int | None = ..., - contextInfo: global___ContextInfo | None = ..., - participants: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileSha256", b"fileSha256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileSha256", b"fileSha256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "participants", b"participants"]) -> None: ... - -global___MessageHistoryBundle = MessageHistoryBundle - -@typing_extensions.final -class LocationMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DEGREESLATITUDE_FIELD_NUMBER: builtins.int - DEGREESLONGITUDE_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - ADDRESS_FIELD_NUMBER: builtins.int - URL_FIELD_NUMBER: builtins.int - ISLIVE_FIELD_NUMBER: builtins.int - ACCURACYINMETERS_FIELD_NUMBER: builtins.int - SPEEDINMPS_FIELD_NUMBER: builtins.int - DEGREESCLOCKWISEFROMMAGNETICNORTH_FIELD_NUMBER: builtins.int - COMMENT_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - degreesLatitude: builtins.float - degreesLongitude: builtins.float - name: builtins.str - address: builtins.str - url: builtins.str - isLive: builtins.bool - accuracyInMeters: builtins.int - speedInMps: builtins.float - degreesClockwiseFromMagneticNorth: builtins.int - comment: builtins.str - jpegThumbnail: builtins.bytes - @property - def contextInfo(self) -> global___ContextInfo: ... - def __init__( - self, - *, - degreesLatitude: builtins.float | None = ..., - degreesLongitude: builtins.float | None = ..., - name: builtins.str | None = ..., - address: builtins.str | None = ..., - url: builtins.str | None = ..., - isLive: builtins.bool | None = ..., - accuracyInMeters: builtins.int | None = ..., - speedInMps: builtins.float | None = ..., - degreesClockwiseFromMagneticNorth: builtins.int | None = ..., - comment: builtins.str | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - contextInfo: global___ContextInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["accuracyInMeters", b"accuracyInMeters", "address", b"address", "comment", b"comment", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "isLive", b"isLive", "jpegThumbnail", b"jpegThumbnail", "name", b"name", "speedInMps", b"speedInMps", "url", b"url"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["accuracyInMeters", b"accuracyInMeters", "address", b"address", "comment", b"comment", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "isLive", b"isLive", "jpegThumbnail", b"jpegThumbnail", "name", b"name", "speedInMps", b"speedInMps", "url", b"url"]) -> None: ... - -global___LocationMessage = LocationMessage - -@typing_extensions.final -class LiveLocationMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DEGREESLATITUDE_FIELD_NUMBER: builtins.int - DEGREESLONGITUDE_FIELD_NUMBER: builtins.int - ACCURACYINMETERS_FIELD_NUMBER: builtins.int - SPEEDINMPS_FIELD_NUMBER: builtins.int - DEGREESCLOCKWISEFROMMAGNETICNORTH_FIELD_NUMBER: builtins.int - CAPTION_FIELD_NUMBER: builtins.int - SEQUENCENUMBER_FIELD_NUMBER: builtins.int - TIMEOFFSET_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - degreesLatitude: builtins.float - degreesLongitude: builtins.float - accuracyInMeters: builtins.int - speedInMps: builtins.float - degreesClockwiseFromMagneticNorth: builtins.int - caption: builtins.str - sequenceNumber: builtins.int - timeOffset: builtins.int - jpegThumbnail: builtins.bytes - @property - def contextInfo(self) -> global___ContextInfo: ... - def __init__( - self, - *, - degreesLatitude: builtins.float | None = ..., - degreesLongitude: builtins.float | None = ..., - accuracyInMeters: builtins.int | None = ..., - speedInMps: builtins.float | None = ..., - degreesClockwiseFromMagneticNorth: builtins.int | None = ..., - caption: builtins.str | None = ..., - sequenceNumber: builtins.int | None = ..., - timeOffset: builtins.int | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - contextInfo: global___ContextInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["accuracyInMeters", b"accuracyInMeters", "caption", b"caption", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "jpegThumbnail", b"jpegThumbnail", "sequenceNumber", b"sequenceNumber", "speedInMps", b"speedInMps", "timeOffset", b"timeOffset"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["accuracyInMeters", b"accuracyInMeters", "caption", b"caption", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "jpegThumbnail", b"jpegThumbnail", "sequenceNumber", b"sequenceNumber", "speedInMps", b"speedInMps", "timeOffset", b"timeOffset"]) -> None: ... - -global___LiveLocationMessage = LiveLocationMessage - -@typing_extensions.final -class ListResponseMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _ListType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ListTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ListResponseMessage._ListType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: ListResponseMessage._ListType.ValueType # 0 - SINGLE_SELECT: ListResponseMessage._ListType.ValueType # 1 - - class ListType(_ListType, metaclass=_ListTypeEnumTypeWrapper): ... - UNKNOWN: ListResponseMessage.ListType.ValueType # 0 - SINGLE_SELECT: ListResponseMessage.ListType.ValueType # 1 - - @typing_extensions.final - class SingleSelectReply(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SELECTEDROWID_FIELD_NUMBER: builtins.int - selectedRowId: builtins.str - def __init__( - self, - *, - selectedRowId: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["selectedRowId", b"selectedRowId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["selectedRowId", b"selectedRowId"]) -> None: ... - - TITLE_FIELD_NUMBER: builtins.int - LISTTYPE_FIELD_NUMBER: builtins.int - SINGLESELECTREPLY_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - title: builtins.str - listType: global___ListResponseMessage.ListType.ValueType - @property - def singleSelectReply(self) -> global___ListResponseMessage.SingleSelectReply: ... - @property - def contextInfo(self) -> global___ContextInfo: ... - description: builtins.str - def __init__( - self, - *, - title: builtins.str | None = ..., - listType: global___ListResponseMessage.ListType.ValueType | None = ..., - singleSelectReply: global___ListResponseMessage.SingleSelectReply | None = ..., - contextInfo: global___ContextInfo | None = ..., - description: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "description", b"description", "listType", b"listType", "singleSelectReply", b"singleSelectReply", "title", b"title"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["contextInfo", b"contextInfo", "description", b"description", "listType", b"listType", "singleSelectReply", b"singleSelectReply", "title", b"title"]) -> None: ... - -global___ListResponseMessage = ListResponseMessage - -@typing_extensions.final -class ListMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _ListType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ListTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ListMessage._ListType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: ListMessage._ListType.ValueType # 0 - SINGLE_SELECT: ListMessage._ListType.ValueType # 1 - PRODUCT_LIST: ListMessage._ListType.ValueType # 2 - - class ListType(_ListType, metaclass=_ListTypeEnumTypeWrapper): ... - UNKNOWN: ListMessage.ListType.ValueType # 0 - SINGLE_SELECT: ListMessage.ListType.ValueType # 1 - PRODUCT_LIST: ListMessage.ListType.ValueType # 2 - - @typing_extensions.final - class Section(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TITLE_FIELD_NUMBER: builtins.int - ROWS_FIELD_NUMBER: builtins.int - title: builtins.str - @property - def rows(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ListMessage.Row]: ... - def __init__( - self, - *, - title: builtins.str | None = ..., - rows: collections.abc.Iterable[global___ListMessage.Row] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["title", b"title"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["rows", b"rows", "title", b"title"]) -> None: ... - - @typing_extensions.final - class Row(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TITLE_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - ROWID_FIELD_NUMBER: builtins.int - title: builtins.str - description: builtins.str - rowId: builtins.str - def __init__( - self, - *, - title: builtins.str | None = ..., - description: builtins.str | None = ..., - rowId: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["description", b"description", "rowId", b"rowId", "title", b"title"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "rowId", b"rowId", "title", b"title"]) -> None: ... - - @typing_extensions.final - class Product(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRODUCTID_FIELD_NUMBER: builtins.int - productId: builtins.str - def __init__( - self, - *, - productId: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["productId", b"productId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["productId", b"productId"]) -> None: ... - - @typing_extensions.final - class ProductSection(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TITLE_FIELD_NUMBER: builtins.int - PRODUCTS_FIELD_NUMBER: builtins.int - title: builtins.str - @property - def products(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ListMessage.Product]: ... - def __init__( - self, - *, - title: builtins.str | None = ..., - products: collections.abc.Iterable[global___ListMessage.Product] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["title", b"title"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["products", b"products", "title", b"title"]) -> None: ... - - @typing_extensions.final - class ProductListInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRODUCTSECTIONS_FIELD_NUMBER: builtins.int - HEADERIMAGE_FIELD_NUMBER: builtins.int - BUSINESSOWNERJID_FIELD_NUMBER: builtins.int - @property - def productSections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ListMessage.ProductSection]: ... - @property - def headerImage(self) -> global___ListMessage.ProductListHeaderImage: ... - businessOwnerJid: builtins.str - def __init__( - self, - *, - productSections: collections.abc.Iterable[global___ListMessage.ProductSection] | None = ..., - headerImage: global___ListMessage.ProductListHeaderImage | None = ..., - businessOwnerJid: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["businessOwnerJid", b"businessOwnerJid", "headerImage", b"headerImage"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["businessOwnerJid", b"businessOwnerJid", "headerImage", b"headerImage", "productSections", b"productSections"]) -> None: ... - - @typing_extensions.final - class ProductListHeaderImage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRODUCTID_FIELD_NUMBER: builtins.int - JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - productId: builtins.str - jpegThumbnail: builtins.bytes - def __init__( - self, - *, - productId: builtins.str | None = ..., - jpegThumbnail: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["jpegThumbnail", b"jpegThumbnail", "productId", b"productId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["jpegThumbnail", b"jpegThumbnail", "productId", b"productId"]) -> None: ... - - TITLE_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - BUTTONTEXT_FIELD_NUMBER: builtins.int - LISTTYPE_FIELD_NUMBER: builtins.int - SECTIONS_FIELD_NUMBER: builtins.int - PRODUCTLISTINFO_FIELD_NUMBER: builtins.int - FOOTERTEXT_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - title: builtins.str - description: builtins.str - buttonText: builtins.str - listType: global___ListMessage.ListType.ValueType - @property - def sections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ListMessage.Section]: ... - @property - def productListInfo(self) -> global___ListMessage.ProductListInfo: ... - footerText: builtins.str - @property - def contextInfo(self) -> global___ContextInfo: ... - def __init__( - self, - *, - title: builtins.str | None = ..., - description: builtins.str | None = ..., - buttonText: builtins.str | None = ..., - listType: global___ListMessage.ListType.ValueType | None = ..., - sections: collections.abc.Iterable[global___ListMessage.Section] | None = ..., - productListInfo: global___ListMessage.ProductListInfo | None = ..., - footerText: builtins.str | None = ..., - contextInfo: global___ContextInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buttonText", b"buttonText", "contextInfo", b"contextInfo", "description", b"description", "footerText", b"footerText", "listType", b"listType", "productListInfo", b"productListInfo", "title", b"title"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buttonText", b"buttonText", "contextInfo", b"contextInfo", "description", b"description", "footerText", b"footerText", "listType", b"listType", "productListInfo", b"productListInfo", "sections", b"sections", "title", b"title"]) -> None: ... - -global___ListMessage = ListMessage - -@typing_extensions.final -class KeepInChatMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - KEEPTYPE_FIELD_NUMBER: builtins.int - TIMESTAMPMS_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - keepType: global___KeepType.ValueType - timestampMs: builtins.int - def __init__( - self, - *, - key: global___MessageKey | None = ..., - keepType: global___KeepType.ValueType | None = ..., - timestampMs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["keepType", b"keepType", "key", b"key", "timestampMs", b"timestampMs"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["keepType", b"keepType", "key", b"key", "timestampMs", b"timestampMs"]) -> None: ... - -global___KeepInChatMessage = KeepInChatMessage - -@typing_extensions.final -class InvoiceMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _AttachmentType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _AttachmentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InvoiceMessage._AttachmentType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - IMAGE: InvoiceMessage._AttachmentType.ValueType # 0 - PDF: InvoiceMessage._AttachmentType.ValueType # 1 - - class AttachmentType(_AttachmentType, metaclass=_AttachmentTypeEnumTypeWrapper): ... - IMAGE: InvoiceMessage.AttachmentType.ValueType # 0 - PDF: InvoiceMessage.AttachmentType.ValueType # 1 - - NOTE_FIELD_NUMBER: builtins.int - TOKEN_FIELD_NUMBER: builtins.int - ATTACHMENTTYPE_FIELD_NUMBER: builtins.int - ATTACHMENTMIMETYPE_FIELD_NUMBER: builtins.int - ATTACHMENTMEDIAKEY_FIELD_NUMBER: builtins.int - ATTACHMENTMEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int - ATTACHMENTFILESHA256_FIELD_NUMBER: builtins.int - ATTACHMENTFILEENCSHA256_FIELD_NUMBER: builtins.int - ATTACHMENTDIRECTPATH_FIELD_NUMBER: builtins.int - ATTACHMENTJPEGTHUMBNAIL_FIELD_NUMBER: builtins.int - note: builtins.str - token: builtins.str - attachmentType: global___InvoiceMessage.AttachmentType.ValueType - attachmentMimetype: builtins.str - attachmentMediaKey: builtins.bytes - attachmentMediaKeyTimestamp: builtins.int - attachmentFileSha256: builtins.bytes - attachmentFileEncSha256: builtins.bytes - attachmentDirectPath: builtins.str - attachmentJpegThumbnail: builtins.bytes - def __init__( - self, - *, - note: builtins.str | None = ..., - token: builtins.str | None = ..., - attachmentType: global___InvoiceMessage.AttachmentType.ValueType | None = ..., - attachmentMimetype: builtins.str | None = ..., - attachmentMediaKey: builtins.bytes | None = ..., - attachmentMediaKeyTimestamp: builtins.int | None = ..., - attachmentFileSha256: builtins.bytes | None = ..., - attachmentFileEncSha256: builtins.bytes | None = ..., - attachmentDirectPath: builtins.str | None = ..., - attachmentJpegThumbnail: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["attachmentDirectPath", b"attachmentDirectPath", "attachmentFileEncSha256", b"attachmentFileEncSha256", "attachmentFileSha256", b"attachmentFileSha256", "attachmentJpegThumbnail", b"attachmentJpegThumbnail", "attachmentMediaKey", b"attachmentMediaKey", "attachmentMediaKeyTimestamp", b"attachmentMediaKeyTimestamp", "attachmentMimetype", b"attachmentMimetype", "attachmentType", b"attachmentType", "note", b"note", "token", b"token"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["attachmentDirectPath", b"attachmentDirectPath", "attachmentFileEncSha256", b"attachmentFileEncSha256", "attachmentFileSha256", b"attachmentFileSha256", "attachmentJpegThumbnail", b"attachmentJpegThumbnail", "attachmentMediaKey", b"attachmentMediaKey", "attachmentMediaKeyTimestamp", b"attachmentMediaKeyTimestamp", "attachmentMimetype", b"attachmentMimetype", "attachmentType", b"attachmentType", "note", b"note", "token", b"token"]) -> None: ... - -global___InvoiceMessage = InvoiceMessage - -@typing_extensions.final -class InteractiveResponseMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class NativeFlowResponseMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - PARAMSJSON_FIELD_NUMBER: builtins.int - VERSION_FIELD_NUMBER: builtins.int - name: builtins.str - paramsJson: builtins.str - version: builtins.int - def __init__( - self, - *, - name: builtins.str | None = ..., - paramsJson: builtins.str | None = ..., - version: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["name", b"name", "paramsJson", b"paramsJson", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["name", b"name", "paramsJson", b"paramsJson", "version", b"version"]) -> None: ... - - @typing_extensions.final - class Body(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Format: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _FormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InteractiveResponseMessage.Body._Format.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - DEFAULT: InteractiveResponseMessage.Body._Format.ValueType # 0 - EXTENSIONS_1: InteractiveResponseMessage.Body._Format.ValueType # 1 - - class Format(_Format, metaclass=_FormatEnumTypeWrapper): ... - DEFAULT: InteractiveResponseMessage.Body.Format.ValueType # 0 - EXTENSIONS_1: InteractiveResponseMessage.Body.Format.ValueType # 1 - - TEXT_FIELD_NUMBER: builtins.int - FORMAT_FIELD_NUMBER: builtins.int - text: builtins.str - format: global___InteractiveResponseMessage.Body.Format.ValueType - def __init__( - self, - *, - text: builtins.str | None = ..., - format: global___InteractiveResponseMessage.Body.Format.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["format", b"format", "text", b"text"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["format", b"format", "text", b"text"]) -> None: ... - - BODY_FIELD_NUMBER: builtins.int - CONTEXTINFO_FIELD_NUMBER: builtins.int - NATIVEFLOWRESPONSEMESSAGE_FIELD_NUMBER: builtins.int - @property - def body(self) -> global___InteractiveResponseMessage.Body: ... - @property - def contextInfo(self) -> global___ContextInfo: ... - @property - def nativeFlowResponseMessage(self) -> global___InteractiveResponseMessage.NativeFlowResponseMessage: ... - def __init__( - self, - *, - body: global___InteractiveResponseMessage.Body | None = ..., - contextInfo: global___ContextInfo | None = ..., - nativeFlowResponseMessage: global___InteractiveResponseMessage.NativeFlowResponseMessage | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["body", b"body", "contextInfo", b"contextInfo", "interactiveResponseMessage", b"interactiveResponseMessage", "nativeFlowResponseMessage", b"nativeFlowResponseMessage"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["body", b"body", "contextInfo", b"contextInfo", "interactiveResponseMessage", b"interactiveResponseMessage", "nativeFlowResponseMessage", b"nativeFlowResponseMessage"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["interactiveResponseMessage", b"interactiveResponseMessage"]) -> typing_extensions.Literal["nativeFlowResponseMessage"] | None: ... - -global___InteractiveResponseMessage = InteractiveResponseMessage - -@typing_extensions.final -class EphemeralSetting(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DURATION_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - duration: builtins.int - timestamp: builtins.int - def __init__( - self, - *, - duration: builtins.int | None = ..., - timestamp: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["duration", b"duration", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["duration", b"duration", "timestamp", b"timestamp"]) -> None: ... - -global___EphemeralSetting = EphemeralSetting - -@typing_extensions.final -class WallpaperSettings(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FILENAME_FIELD_NUMBER: builtins.int - OPACITY_FIELD_NUMBER: builtins.int - filename: builtins.str - opacity: builtins.int - def __init__( - self, - *, - filename: builtins.str | None = ..., - opacity: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["filename", b"filename", "opacity", b"opacity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["filename", b"filename", "opacity", b"opacity"]) -> None: ... - -global___WallpaperSettings = WallpaperSettings - -@typing_extensions.final -class StickerMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - URL_FIELD_NUMBER: builtins.int - FILESHA256_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - MIMETYPE_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - WIDTH_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - FILELENGTH_FIELD_NUMBER: builtins.int - WEIGHT_FIELD_NUMBER: builtins.int - LASTSTICKERSENTTS_FIELD_NUMBER: builtins.int - url: builtins.str - fileSha256: builtins.bytes - fileEncSha256: builtins.bytes - mediaKey: builtins.bytes - mimetype: builtins.str - height: builtins.int - width: builtins.int - directPath: builtins.str - fileLength: builtins.int - weight: builtins.float - lastStickerSentTs: builtins.int - def __init__( - self, - *, - url: builtins.str | None = ..., - fileSha256: builtins.bytes | None = ..., - fileEncSha256: builtins.bytes | None = ..., - mediaKey: builtins.bytes | None = ..., - mimetype: builtins.str | None = ..., - height: builtins.int | None = ..., - width: builtins.int | None = ..., - directPath: builtins.str | None = ..., - fileLength: builtins.int | None = ..., - weight: builtins.float | None = ..., - lastStickerSentTs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "height", b"height", "lastStickerSentTs", b"lastStickerSentTs", "mediaKey", b"mediaKey", "mimetype", b"mimetype", "url", b"url", "weight", b"weight", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "fileSha256", b"fileSha256", "height", b"height", "lastStickerSentTs", b"lastStickerSentTs", "mediaKey", b"mediaKey", "mimetype", b"mimetype", "url", b"url", "weight", b"weight", "width", b"width"]) -> None: ... - -global___StickerMetadata = StickerMetadata - -@typing_extensions.final -class Pushname(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ID_FIELD_NUMBER: builtins.int - PUSHNAME_FIELD_NUMBER: builtins.int - id: builtins.str - pushname: builtins.str - def __init__( - self, - *, - id: builtins.str | None = ..., - pushname: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["id", b"id", "pushname", b"pushname"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "pushname", b"pushname"]) -> None: ... - -global___Pushname = Pushname - -@typing_extensions.final -class PhoneNumberToLIDMapping(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PNJID_FIELD_NUMBER: builtins.int - LIDJID_FIELD_NUMBER: builtins.int - pnJid: builtins.str - lidJid: builtins.str - def __init__( - self, - *, - pnJid: builtins.str | None = ..., - lidJid: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["lidJid", b"lidJid", "pnJid", b"pnJid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["lidJid", b"lidJid", "pnJid", b"pnJid"]) -> None: ... - -global___PhoneNumberToLIDMapping = PhoneNumberToLIDMapping - -@typing_extensions.final -class PastParticipants(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - GROUPJID_FIELD_NUMBER: builtins.int - PASTPARTICIPANTS_FIELD_NUMBER: builtins.int - groupJid: builtins.str - @property - def pastParticipants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PastParticipant]: ... - def __init__( - self, - *, - groupJid: builtins.str | None = ..., - pastParticipants: collections.abc.Iterable[global___PastParticipant] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["groupJid", b"groupJid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["groupJid", b"groupJid", "pastParticipants", b"pastParticipants"]) -> None: ... - -global___PastParticipants = PastParticipants - -@typing_extensions.final -class PastParticipant(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _LeaveReason: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _LeaveReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PastParticipant._LeaveReason.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - LEFT: PastParticipant._LeaveReason.ValueType # 0 - REMOVED: PastParticipant._LeaveReason.ValueType # 1 - - class LeaveReason(_LeaveReason, metaclass=_LeaveReasonEnumTypeWrapper): ... - LEFT: PastParticipant.LeaveReason.ValueType # 0 - REMOVED: PastParticipant.LeaveReason.ValueType # 1 - - USERJID_FIELD_NUMBER: builtins.int - LEAVEREASON_FIELD_NUMBER: builtins.int - LEAVETS_FIELD_NUMBER: builtins.int - userJid: builtins.str - leaveReason: global___PastParticipant.LeaveReason.ValueType - leaveTs: builtins.int - def __init__( - self, - *, - userJid: builtins.str | None = ..., - leaveReason: global___PastParticipant.LeaveReason.ValueType | None = ..., - leaveTs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["leaveReason", b"leaveReason", "leaveTs", b"leaveTs", "userJid", b"userJid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["leaveReason", b"leaveReason", "leaveTs", b"leaveTs", "userJid", b"userJid"]) -> None: ... - -global___PastParticipant = PastParticipant - -@typing_extensions.final -class NotificationSettings(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MESSAGEVIBRATE_FIELD_NUMBER: builtins.int - MESSAGEPOPUP_FIELD_NUMBER: builtins.int - MESSAGELIGHT_FIELD_NUMBER: builtins.int - LOWPRIORITYNOTIFICATIONS_FIELD_NUMBER: builtins.int - REACTIONSMUTED_FIELD_NUMBER: builtins.int - CALLVIBRATE_FIELD_NUMBER: builtins.int - messageVibrate: builtins.str - messagePopup: builtins.str - messageLight: builtins.str - lowPriorityNotifications: builtins.bool - reactionsMuted: builtins.bool - callVibrate: builtins.str - def __init__( - self, - *, - messageVibrate: builtins.str | None = ..., - messagePopup: builtins.str | None = ..., - messageLight: builtins.str | None = ..., - lowPriorityNotifications: builtins.bool | None = ..., - reactionsMuted: builtins.bool | None = ..., - callVibrate: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["callVibrate", b"callVibrate", "lowPriorityNotifications", b"lowPriorityNotifications", "messageLight", b"messageLight", "messagePopup", b"messagePopup", "messageVibrate", b"messageVibrate", "reactionsMuted", b"reactionsMuted"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["callVibrate", b"callVibrate", "lowPriorityNotifications", b"lowPriorityNotifications", "messageLight", b"messageLight", "messagePopup", b"messagePopup", "messageVibrate", b"messageVibrate", "reactionsMuted", b"reactionsMuted"]) -> None: ... - -global___NotificationSettings = NotificationSettings - -@typing_extensions.final -class HistorySync(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _HistorySyncType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _HistorySyncTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HistorySync._HistorySyncType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - INITIAL_BOOTSTRAP: HistorySync._HistorySyncType.ValueType # 0 - INITIAL_STATUS_V3: HistorySync._HistorySyncType.ValueType # 1 - FULL: HistorySync._HistorySyncType.ValueType # 2 - RECENT: HistorySync._HistorySyncType.ValueType # 3 - PUSH_NAME: HistorySync._HistorySyncType.ValueType # 4 - NON_BLOCKING_DATA: HistorySync._HistorySyncType.ValueType # 5 - ON_DEMAND: HistorySync._HistorySyncType.ValueType # 6 - - class HistorySyncType(_HistorySyncType, metaclass=_HistorySyncTypeEnumTypeWrapper): ... - INITIAL_BOOTSTRAP: HistorySync.HistorySyncType.ValueType # 0 - INITIAL_STATUS_V3: HistorySync.HistorySyncType.ValueType # 1 - FULL: HistorySync.HistorySyncType.ValueType # 2 - RECENT: HistorySync.HistorySyncType.ValueType # 3 - PUSH_NAME: HistorySync.HistorySyncType.ValueType # 4 - NON_BLOCKING_DATA: HistorySync.HistorySyncType.ValueType # 5 - ON_DEMAND: HistorySync.HistorySyncType.ValueType # 6 - - class _BotAIWaitListState: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _BotAIWaitListStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HistorySync._BotAIWaitListState.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - IN_WAITLIST: HistorySync._BotAIWaitListState.ValueType # 0 - AI_AVAILABLE: HistorySync._BotAIWaitListState.ValueType # 1 - - class BotAIWaitListState(_BotAIWaitListState, metaclass=_BotAIWaitListStateEnumTypeWrapper): ... - IN_WAITLIST: HistorySync.BotAIWaitListState.ValueType # 0 - AI_AVAILABLE: HistorySync.BotAIWaitListState.ValueType # 1 - - SYNCTYPE_FIELD_NUMBER: builtins.int - CONVERSATIONS_FIELD_NUMBER: builtins.int - STATUSV3MESSAGES_FIELD_NUMBER: builtins.int - CHUNKORDER_FIELD_NUMBER: builtins.int - PROGRESS_FIELD_NUMBER: builtins.int - PUSHNAMES_FIELD_NUMBER: builtins.int - GLOBALSETTINGS_FIELD_NUMBER: builtins.int - THREADIDUSERSECRET_FIELD_NUMBER: builtins.int - THREADDSTIMEFRAMEOFFSET_FIELD_NUMBER: builtins.int - RECENTSTICKERS_FIELD_NUMBER: builtins.int - PASTPARTICIPANTS_FIELD_NUMBER: builtins.int - CALLLOGRECORDS_FIELD_NUMBER: builtins.int - AIWAITLISTSTATE_FIELD_NUMBER: builtins.int - PHONENUMBERTOLIDMAPPINGS_FIELD_NUMBER: builtins.int - syncType: global___HistorySync.HistorySyncType.ValueType - @property - def conversations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Conversation]: ... - @property - def statusV3Messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___WebMessageInfo]: ... - chunkOrder: builtins.int - progress: builtins.int - @property - def pushnames(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Pushname]: ... - @property - def globalSettings(self) -> global___GlobalSettings: ... - threadIdUserSecret: builtins.bytes - threadDsTimeframeOffset: builtins.int - @property - def recentStickers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StickerMetadata]: ... - @property - def pastParticipants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PastParticipants]: ... - @property - def callLogRecords(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CallLogRecord]: ... - aiWaitListState: global___HistorySync.BotAIWaitListState.ValueType - @property - def phoneNumberToLidMappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PhoneNumberToLIDMapping]: ... - def __init__( - self, - *, - syncType: global___HistorySync.HistorySyncType.ValueType | None = ..., - conversations: collections.abc.Iterable[global___Conversation] | None = ..., - statusV3Messages: collections.abc.Iterable[global___WebMessageInfo] | None = ..., - chunkOrder: builtins.int | None = ..., - progress: builtins.int | None = ..., - pushnames: collections.abc.Iterable[global___Pushname] | None = ..., - globalSettings: global___GlobalSettings | None = ..., - threadIdUserSecret: builtins.bytes | None = ..., - threadDsTimeframeOffset: builtins.int | None = ..., - recentStickers: collections.abc.Iterable[global___StickerMetadata] | None = ..., - pastParticipants: collections.abc.Iterable[global___PastParticipants] | None = ..., - callLogRecords: collections.abc.Iterable[global___CallLogRecord] | None = ..., - aiWaitListState: global___HistorySync.BotAIWaitListState.ValueType | None = ..., - phoneNumberToLidMappings: collections.abc.Iterable[global___PhoneNumberToLIDMapping] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["aiWaitListState", b"aiWaitListState", "chunkOrder", b"chunkOrder", "globalSettings", b"globalSettings", "progress", b"progress", "syncType", b"syncType", "threadDsTimeframeOffset", b"threadDsTimeframeOffset", "threadIdUserSecret", b"threadIdUserSecret"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["aiWaitListState", b"aiWaitListState", "callLogRecords", b"callLogRecords", "chunkOrder", b"chunkOrder", "conversations", b"conversations", "globalSettings", b"globalSettings", "pastParticipants", b"pastParticipants", "phoneNumberToLidMappings", b"phoneNumberToLidMappings", "progress", b"progress", "pushnames", b"pushnames", "recentStickers", b"recentStickers", "statusV3Messages", b"statusV3Messages", "syncType", b"syncType", "threadDsTimeframeOffset", b"threadDsTimeframeOffset", "threadIdUserSecret", b"threadIdUserSecret"]) -> None: ... - -global___HistorySync = HistorySync - -@typing_extensions.final -class HistorySyncMsg(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MESSAGE_FIELD_NUMBER: builtins.int - MSGORDERID_FIELD_NUMBER: builtins.int - @property - def message(self) -> global___WebMessageInfo: ... - msgOrderId: builtins.int - def __init__( - self, - *, - message: global___WebMessageInfo | None = ..., - msgOrderId: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["message", b"message", "msgOrderId", b"msgOrderId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["message", b"message", "msgOrderId", b"msgOrderId"]) -> None: ... - -global___HistorySyncMsg = HistorySyncMsg - -@typing_extensions.final -class GroupParticipant(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Rank: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _RankEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GroupParticipant._Rank.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - REGULAR: GroupParticipant._Rank.ValueType # 0 - ADMIN: GroupParticipant._Rank.ValueType # 1 - SUPERADMIN: GroupParticipant._Rank.ValueType # 2 - - class Rank(_Rank, metaclass=_RankEnumTypeWrapper): ... - REGULAR: GroupParticipant.Rank.ValueType # 0 - ADMIN: GroupParticipant.Rank.ValueType # 1 - SUPERADMIN: GroupParticipant.Rank.ValueType # 2 - - USERJID_FIELD_NUMBER: builtins.int - RANK_FIELD_NUMBER: builtins.int - userJid: builtins.str - rank: global___GroupParticipant.Rank.ValueType - def __init__( - self, - *, - userJid: builtins.str | None = ..., - rank: global___GroupParticipant.Rank.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["rank", b"rank", "userJid", b"userJid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["rank", b"rank", "userJid", b"userJid"]) -> None: ... - -global___GroupParticipant = GroupParticipant - -@typing_extensions.final -class GlobalSettings(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LIGHTTHEMEWALLPAPER_FIELD_NUMBER: builtins.int - MEDIAVISIBILITY_FIELD_NUMBER: builtins.int - DARKTHEMEWALLPAPER_FIELD_NUMBER: builtins.int - AUTODOWNLOADWIFI_FIELD_NUMBER: builtins.int - AUTODOWNLOADCELLULAR_FIELD_NUMBER: builtins.int - AUTODOWNLOADROAMING_FIELD_NUMBER: builtins.int - SHOWINDIVIDUALNOTIFICATIONSPREVIEW_FIELD_NUMBER: builtins.int - SHOWGROUPNOTIFICATIONSPREVIEW_FIELD_NUMBER: builtins.int - DISAPPEARINGMODEDURATION_FIELD_NUMBER: builtins.int - DISAPPEARINGMODETIMESTAMP_FIELD_NUMBER: builtins.int - AVATARUSERSETTINGS_FIELD_NUMBER: builtins.int - FONTSIZE_FIELD_NUMBER: builtins.int - SECURITYNOTIFICATIONS_FIELD_NUMBER: builtins.int - AUTOUNARCHIVECHATS_FIELD_NUMBER: builtins.int - VIDEOQUALITYMODE_FIELD_NUMBER: builtins.int - PHOTOQUALITYMODE_FIELD_NUMBER: builtins.int - INDIVIDUALNOTIFICATIONSETTINGS_FIELD_NUMBER: builtins.int - GROUPNOTIFICATIONSETTINGS_FIELD_NUMBER: builtins.int - @property - def lightThemeWallpaper(self) -> global___WallpaperSettings: ... - mediaVisibility: global___MediaVisibility.ValueType - @property - def darkThemeWallpaper(self) -> global___WallpaperSettings: ... - @property - def autoDownloadWiFi(self) -> global___AutoDownloadSettings: ... - @property - def autoDownloadCellular(self) -> global___AutoDownloadSettings: ... - @property - def autoDownloadRoaming(self) -> global___AutoDownloadSettings: ... - showIndividualNotificationsPreview: builtins.bool - showGroupNotificationsPreview: builtins.bool - disappearingModeDuration: builtins.int - disappearingModeTimestamp: builtins.int - @property - def avatarUserSettings(self) -> global___AvatarUserSettings: ... - fontSize: builtins.int - securityNotifications: builtins.bool - autoUnarchiveChats: builtins.bool - videoQualityMode: builtins.int - photoQualityMode: builtins.int - @property - def individualNotificationSettings(self) -> global___NotificationSettings: ... - @property - def groupNotificationSettings(self) -> global___NotificationSettings: ... - def __init__( - self, - *, - lightThemeWallpaper: global___WallpaperSettings | None = ..., - mediaVisibility: global___MediaVisibility.ValueType | None = ..., - darkThemeWallpaper: global___WallpaperSettings | None = ..., - autoDownloadWiFi: global___AutoDownloadSettings | None = ..., - autoDownloadCellular: global___AutoDownloadSettings | None = ..., - autoDownloadRoaming: global___AutoDownloadSettings | None = ..., - showIndividualNotificationsPreview: builtins.bool | None = ..., - showGroupNotificationsPreview: builtins.bool | None = ..., - disappearingModeDuration: builtins.int | None = ..., - disappearingModeTimestamp: builtins.int | None = ..., - avatarUserSettings: global___AvatarUserSettings | None = ..., - fontSize: builtins.int | None = ..., - securityNotifications: builtins.bool | None = ..., - autoUnarchiveChats: builtins.bool | None = ..., - videoQualityMode: builtins.int | None = ..., - photoQualityMode: builtins.int | None = ..., - individualNotificationSettings: global___NotificationSettings | None = ..., - groupNotificationSettings: global___NotificationSettings | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["autoDownloadCellular", b"autoDownloadCellular", "autoDownloadRoaming", b"autoDownloadRoaming", "autoDownloadWiFi", b"autoDownloadWiFi", "autoUnarchiveChats", b"autoUnarchiveChats", "avatarUserSettings", b"avatarUserSettings", "darkThemeWallpaper", b"darkThemeWallpaper", "disappearingModeDuration", b"disappearingModeDuration", "disappearingModeTimestamp", b"disappearingModeTimestamp", "fontSize", b"fontSize", "groupNotificationSettings", b"groupNotificationSettings", "individualNotificationSettings", b"individualNotificationSettings", "lightThemeWallpaper", b"lightThemeWallpaper", "mediaVisibility", b"mediaVisibility", "photoQualityMode", b"photoQualityMode", "securityNotifications", b"securityNotifications", "showGroupNotificationsPreview", b"showGroupNotificationsPreview", "showIndividualNotificationsPreview", b"showIndividualNotificationsPreview", "videoQualityMode", b"videoQualityMode"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["autoDownloadCellular", b"autoDownloadCellular", "autoDownloadRoaming", b"autoDownloadRoaming", "autoDownloadWiFi", b"autoDownloadWiFi", "autoUnarchiveChats", b"autoUnarchiveChats", "avatarUserSettings", b"avatarUserSettings", "darkThemeWallpaper", b"darkThemeWallpaper", "disappearingModeDuration", b"disappearingModeDuration", "disappearingModeTimestamp", b"disappearingModeTimestamp", "fontSize", b"fontSize", "groupNotificationSettings", b"groupNotificationSettings", "individualNotificationSettings", b"individualNotificationSettings", "lightThemeWallpaper", b"lightThemeWallpaper", "mediaVisibility", b"mediaVisibility", "photoQualityMode", b"photoQualityMode", "securityNotifications", b"securityNotifications", "showGroupNotificationsPreview", b"showGroupNotificationsPreview", "showIndividualNotificationsPreview", b"showIndividualNotificationsPreview", "videoQualityMode", b"videoQualityMode"]) -> None: ... - -global___GlobalSettings = GlobalSettings - -@typing_extensions.final -class Conversation(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _EndOfHistoryTransferType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _EndOfHistoryTransferTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Conversation._EndOfHistoryTransferType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY: Conversation._EndOfHistoryTransferType.ValueType # 0 - COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY: Conversation._EndOfHistoryTransferType.ValueType # 1 - COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY: Conversation._EndOfHistoryTransferType.ValueType # 2 - - class EndOfHistoryTransferType(_EndOfHistoryTransferType, metaclass=_EndOfHistoryTransferTypeEnumTypeWrapper): ... - COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY: Conversation.EndOfHistoryTransferType.ValueType # 0 - COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY: Conversation.EndOfHistoryTransferType.ValueType # 1 - COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY: Conversation.EndOfHistoryTransferType.ValueType # 2 - - ID_FIELD_NUMBER: builtins.int - MESSAGES_FIELD_NUMBER: builtins.int - NEWJID_FIELD_NUMBER: builtins.int - OLDJID_FIELD_NUMBER: builtins.int - LASTMSGTIMESTAMP_FIELD_NUMBER: builtins.int - UNREADCOUNT_FIELD_NUMBER: builtins.int - READONLY_FIELD_NUMBER: builtins.int - ENDOFHISTORYTRANSFER_FIELD_NUMBER: builtins.int - EPHEMERALEXPIRATION_FIELD_NUMBER: builtins.int - EPHEMERALSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int - ENDOFHISTORYTRANSFERTYPE_FIELD_NUMBER: builtins.int - CONVERSATIONTIMESTAMP_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - PHASH_FIELD_NUMBER: builtins.int - NOTSPAM_FIELD_NUMBER: builtins.int - ARCHIVED_FIELD_NUMBER: builtins.int - DISAPPEARINGMODE_FIELD_NUMBER: builtins.int - UNREADMENTIONCOUNT_FIELD_NUMBER: builtins.int - MARKEDASUNREAD_FIELD_NUMBER: builtins.int - PARTICIPANT_FIELD_NUMBER: builtins.int - TCTOKEN_FIELD_NUMBER: builtins.int - TCTOKENTIMESTAMP_FIELD_NUMBER: builtins.int - CONTACTPRIMARYIDENTITYKEY_FIELD_NUMBER: builtins.int - PINNED_FIELD_NUMBER: builtins.int - MUTEENDTIME_FIELD_NUMBER: builtins.int - WALLPAPER_FIELD_NUMBER: builtins.int - MEDIAVISIBILITY_FIELD_NUMBER: builtins.int - TCTOKENSENDERTIMESTAMP_FIELD_NUMBER: builtins.int - SUSPENDED_FIELD_NUMBER: builtins.int - TERMINATED_FIELD_NUMBER: builtins.int - CREATEDAT_FIELD_NUMBER: builtins.int - CREATEDBY_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - SUPPORT_FIELD_NUMBER: builtins.int - ISPARENTGROUP_FIELD_NUMBER: builtins.int - PARENTGROUPID_FIELD_NUMBER: builtins.int - ISDEFAULTSUBGROUP_FIELD_NUMBER: builtins.int - DISPLAYNAME_FIELD_NUMBER: builtins.int - PNJID_FIELD_NUMBER: builtins.int - SHAREOWNPN_FIELD_NUMBER: builtins.int - PNHDUPLICATELIDTHREAD_FIELD_NUMBER: builtins.int - LIDJID_FIELD_NUMBER: builtins.int - USERNAME_FIELD_NUMBER: builtins.int - LIDORIGINTYPE_FIELD_NUMBER: builtins.int - COMMENTSCOUNT_FIELD_NUMBER: builtins.int - id: builtins.str - @property - def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HistorySyncMsg]: ... - newJid: builtins.str - oldJid: builtins.str - lastMsgTimestamp: builtins.int - unreadCount: builtins.int - readOnly: builtins.bool - endOfHistoryTransfer: builtins.bool - ephemeralExpiration: builtins.int - ephemeralSettingTimestamp: builtins.int - endOfHistoryTransferType: global___Conversation.EndOfHistoryTransferType.ValueType - conversationTimestamp: builtins.int - name: builtins.str - pHash: builtins.str - notSpam: builtins.bool - archived: builtins.bool - @property - def disappearingMode(self) -> global___DisappearingMode: ... - unreadMentionCount: builtins.int - markedAsUnread: builtins.bool - @property - def participant(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GroupParticipant]: ... - tcToken: builtins.bytes - tcTokenTimestamp: builtins.int - contactPrimaryIdentityKey: builtins.bytes - pinned: builtins.int - muteEndTime: builtins.int - @property - def wallpaper(self) -> global___WallpaperSettings: ... - mediaVisibility: global___MediaVisibility.ValueType - tcTokenSenderTimestamp: builtins.int - suspended: builtins.bool - terminated: builtins.bool - createdAt: builtins.int - createdBy: builtins.str - description: builtins.str - support: builtins.bool - isParentGroup: builtins.bool - parentGroupId: builtins.str - isDefaultSubgroup: builtins.bool - displayName: builtins.str - pnJid: builtins.str - shareOwnPn: builtins.bool - pnhDuplicateLidThread: builtins.bool - lidJid: builtins.str - username: builtins.str - lidOriginType: builtins.str - commentsCount: builtins.int - def __init__( - self, - *, - id: builtins.str | None = ..., - messages: collections.abc.Iterable[global___HistorySyncMsg] | None = ..., - newJid: builtins.str | None = ..., - oldJid: builtins.str | None = ..., - lastMsgTimestamp: builtins.int | None = ..., - unreadCount: builtins.int | None = ..., - readOnly: builtins.bool | None = ..., - endOfHistoryTransfer: builtins.bool | None = ..., - ephemeralExpiration: builtins.int | None = ..., - ephemeralSettingTimestamp: builtins.int | None = ..., - endOfHistoryTransferType: global___Conversation.EndOfHistoryTransferType.ValueType | None = ..., - conversationTimestamp: builtins.int | None = ..., - name: builtins.str | None = ..., - pHash: builtins.str | None = ..., - notSpam: builtins.bool | None = ..., - archived: builtins.bool | None = ..., - disappearingMode: global___DisappearingMode | None = ..., - unreadMentionCount: builtins.int | None = ..., - markedAsUnread: builtins.bool | None = ..., - participant: collections.abc.Iterable[global___GroupParticipant] | None = ..., - tcToken: builtins.bytes | None = ..., - tcTokenTimestamp: builtins.int | None = ..., - contactPrimaryIdentityKey: builtins.bytes | None = ..., - pinned: builtins.int | None = ..., - muteEndTime: builtins.int | None = ..., - wallpaper: global___WallpaperSettings | None = ..., - mediaVisibility: global___MediaVisibility.ValueType | None = ..., - tcTokenSenderTimestamp: builtins.int | None = ..., - suspended: builtins.bool | None = ..., - terminated: builtins.bool | None = ..., - createdAt: builtins.int | None = ..., - createdBy: builtins.str | None = ..., - description: builtins.str | None = ..., - support: builtins.bool | None = ..., - isParentGroup: builtins.bool | None = ..., - parentGroupId: builtins.str | None = ..., - isDefaultSubgroup: builtins.bool | None = ..., - displayName: builtins.str | None = ..., - pnJid: builtins.str | None = ..., - shareOwnPn: builtins.bool | None = ..., - pnhDuplicateLidThread: builtins.bool | None = ..., - lidJid: builtins.str | None = ..., - username: builtins.str | None = ..., - lidOriginType: builtins.str | None = ..., - commentsCount: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["archived", b"archived", "commentsCount", b"commentsCount", "contactPrimaryIdentityKey", b"contactPrimaryIdentityKey", "conversationTimestamp", b"conversationTimestamp", "createdAt", b"createdAt", "createdBy", b"createdBy", "description", b"description", "disappearingMode", b"disappearingMode", "displayName", b"displayName", "endOfHistoryTransfer", b"endOfHistoryTransfer", "endOfHistoryTransferType", b"endOfHistoryTransferType", "ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "id", b"id", "isDefaultSubgroup", b"isDefaultSubgroup", "isParentGroup", b"isParentGroup", "lastMsgTimestamp", b"lastMsgTimestamp", "lidJid", b"lidJid", "lidOriginType", b"lidOriginType", "markedAsUnread", b"markedAsUnread", "mediaVisibility", b"mediaVisibility", "muteEndTime", b"muteEndTime", "name", b"name", "newJid", b"newJid", "notSpam", b"notSpam", "oldJid", b"oldJid", "pHash", b"pHash", "parentGroupId", b"parentGroupId", "pinned", b"pinned", "pnJid", b"pnJid", "pnhDuplicateLidThread", b"pnhDuplicateLidThread", "readOnly", b"readOnly", "shareOwnPn", b"shareOwnPn", "support", b"support", "suspended", b"suspended", "tcToken", b"tcToken", "tcTokenSenderTimestamp", b"tcTokenSenderTimestamp", "tcTokenTimestamp", b"tcTokenTimestamp", "terminated", b"terminated", "unreadCount", b"unreadCount", "unreadMentionCount", b"unreadMentionCount", "username", b"username", "wallpaper", b"wallpaper"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["archived", b"archived", "commentsCount", b"commentsCount", "contactPrimaryIdentityKey", b"contactPrimaryIdentityKey", "conversationTimestamp", b"conversationTimestamp", "createdAt", b"createdAt", "createdBy", b"createdBy", "description", b"description", "disappearingMode", b"disappearingMode", "displayName", b"displayName", "endOfHistoryTransfer", b"endOfHistoryTransfer", "endOfHistoryTransferType", b"endOfHistoryTransferType", "ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "id", b"id", "isDefaultSubgroup", b"isDefaultSubgroup", "isParentGroup", b"isParentGroup", "lastMsgTimestamp", b"lastMsgTimestamp", "lidJid", b"lidJid", "lidOriginType", b"lidOriginType", "markedAsUnread", b"markedAsUnread", "mediaVisibility", b"mediaVisibility", "messages", b"messages", "muteEndTime", b"muteEndTime", "name", b"name", "newJid", b"newJid", "notSpam", b"notSpam", "oldJid", b"oldJid", "pHash", b"pHash", "parentGroupId", b"parentGroupId", "participant", b"participant", "pinned", b"pinned", "pnJid", b"pnJid", "pnhDuplicateLidThread", b"pnhDuplicateLidThread", "readOnly", b"readOnly", "shareOwnPn", b"shareOwnPn", "support", b"support", "suspended", b"suspended", "tcToken", b"tcToken", "tcTokenSenderTimestamp", b"tcTokenSenderTimestamp", "tcTokenTimestamp", b"tcTokenTimestamp", "terminated", b"terminated", "unreadCount", b"unreadCount", "unreadMentionCount", b"unreadMentionCount", "username", b"username", "wallpaper", b"wallpaper"]) -> None: ... - -global___Conversation = Conversation - -@typing_extensions.final -class AvatarUserSettings(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FBID_FIELD_NUMBER: builtins.int - PASSWORD_FIELD_NUMBER: builtins.int - fbid: builtins.str - password: builtins.str - def __init__( - self, - *, - fbid: builtins.str | None = ..., - password: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["fbid", b"fbid", "password", b"password"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["fbid", b"fbid", "password", b"password"]) -> None: ... - -global___AvatarUserSettings = AvatarUserSettings - -@typing_extensions.final -class AutoDownloadSettings(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DOWNLOADIMAGES_FIELD_NUMBER: builtins.int - DOWNLOADAUDIO_FIELD_NUMBER: builtins.int - DOWNLOADVIDEO_FIELD_NUMBER: builtins.int - DOWNLOADDOCUMENTS_FIELD_NUMBER: builtins.int - downloadImages: builtins.bool - downloadAudio: builtins.bool - downloadVideo: builtins.bool - downloadDocuments: builtins.bool - def __init__( - self, - *, - downloadImages: builtins.bool | None = ..., - downloadAudio: builtins.bool | None = ..., - downloadVideo: builtins.bool | None = ..., - downloadDocuments: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["downloadAudio", b"downloadAudio", "downloadDocuments", b"downloadDocuments", "downloadImages", b"downloadImages", "downloadVideo", b"downloadVideo"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["downloadAudio", b"downloadAudio", "downloadDocuments", b"downloadDocuments", "downloadImages", b"downloadImages", "downloadVideo", b"downloadVideo"]) -> None: ... - -global___AutoDownloadSettings = AutoDownloadSettings - -@typing_extensions.final -class ServerErrorReceipt(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - STANZAID_FIELD_NUMBER: builtins.int - stanzaId: builtins.str - def __init__( - self, - *, - stanzaId: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["stanzaId", b"stanzaId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["stanzaId", b"stanzaId"]) -> None: ... - -global___ServerErrorReceipt = ServerErrorReceipt - -@typing_extensions.final -class MediaRetryNotification(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _ResultType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ResultTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MediaRetryNotification._ResultType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - GENERAL_ERROR: MediaRetryNotification._ResultType.ValueType # 0 - SUCCESS: MediaRetryNotification._ResultType.ValueType # 1 - NOT_FOUND: MediaRetryNotification._ResultType.ValueType # 2 - DECRYPTION_ERROR: MediaRetryNotification._ResultType.ValueType # 3 - - class ResultType(_ResultType, metaclass=_ResultTypeEnumTypeWrapper): ... - GENERAL_ERROR: MediaRetryNotification.ResultType.ValueType # 0 - SUCCESS: MediaRetryNotification.ResultType.ValueType # 1 - NOT_FOUND: MediaRetryNotification.ResultType.ValueType # 2 - DECRYPTION_ERROR: MediaRetryNotification.ResultType.ValueType # 3 - - STANZAID_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - RESULT_FIELD_NUMBER: builtins.int - stanzaId: builtins.str - directPath: builtins.str - result: global___MediaRetryNotification.ResultType.ValueType - def __init__( - self, - *, - stanzaId: builtins.str | None = ..., - directPath: builtins.str | None = ..., - result: global___MediaRetryNotification.ResultType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["directPath", b"directPath", "result", b"result", "stanzaId", b"stanzaId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["directPath", b"directPath", "result", b"result", "stanzaId", b"stanzaId"]) -> None: ... - -global___MediaRetryNotification = MediaRetryNotification - -@typing_extensions.final -class MessageKey(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - REMOTEJID_FIELD_NUMBER: builtins.int - FROMME_FIELD_NUMBER: builtins.int - ID_FIELD_NUMBER: builtins.int - PARTICIPANT_FIELD_NUMBER: builtins.int - remoteJid: builtins.str - fromMe: builtins.bool - id: builtins.str - participant: builtins.str - def __init__( - self, - *, - remoteJid: builtins.str | None = ..., - fromMe: builtins.bool | None = ..., - id: builtins.str | None = ..., - participant: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["fromMe", b"fromMe", "id", b"id", "participant", b"participant", "remoteJid", b"remoteJid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["fromMe", b"fromMe", "id", b"id", "participant", b"participant", "remoteJid", b"remoteJid"]) -> None: ... - -global___MessageKey = MessageKey - -@typing_extensions.final -class SyncdVersion(google.protobuf.message.Message): - """Duplicate type omitted - message MessageKey { - optional string remoteJid = 1; - optional bool fromMe = 2; - optional string id = 3; - optional string participant = 4; - } - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VERSION_FIELD_NUMBER: builtins.int - version: builtins.int - def __init__( - self, - *, - version: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["version", b"version"]) -> None: ... - -global___SyncdVersion = SyncdVersion - -@typing_extensions.final -class SyncdValue(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - BLOB_FIELD_NUMBER: builtins.int - blob: builtins.bytes - def __init__( - self, - *, - blob: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["blob", b"blob"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["blob", b"blob"]) -> None: ... - -global___SyncdValue = SyncdValue - -@typing_extensions.final -class SyncdSnapshot(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VERSION_FIELD_NUMBER: builtins.int - RECORDS_FIELD_NUMBER: builtins.int - MAC_FIELD_NUMBER: builtins.int - KEYID_FIELD_NUMBER: builtins.int - @property - def version(self) -> global___SyncdVersion: ... - @property - def records(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SyncdRecord]: ... - mac: builtins.bytes - @property - def keyId(self) -> global___KeyId: ... - def __init__( - self, - *, - version: global___SyncdVersion | None = ..., - records: collections.abc.Iterable[global___SyncdRecord] | None = ..., - mac: builtins.bytes | None = ..., - keyId: global___KeyId | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["keyId", b"keyId", "mac", b"mac", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["keyId", b"keyId", "mac", b"mac", "records", b"records", "version", b"version"]) -> None: ... - -global___SyncdSnapshot = SyncdSnapshot - -@typing_extensions.final -class SyncdRecord(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - INDEX_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - KEYID_FIELD_NUMBER: builtins.int - @property - def index(self) -> global___SyncdIndex: ... - @property - def value(self) -> global___SyncdValue: ... - @property - def keyId(self) -> global___KeyId: ... - def __init__( - self, - *, - index: global___SyncdIndex | None = ..., - value: global___SyncdValue | None = ..., - keyId: global___KeyId | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["index", b"index", "keyId", b"keyId", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["index", b"index", "keyId", b"keyId", "value", b"value"]) -> None: ... - -global___SyncdRecord = SyncdRecord - -@typing_extensions.final -class SyncdPatch(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VERSION_FIELD_NUMBER: builtins.int - MUTATIONS_FIELD_NUMBER: builtins.int - EXTERNALMUTATIONS_FIELD_NUMBER: builtins.int - SNAPSHOTMAC_FIELD_NUMBER: builtins.int - PATCHMAC_FIELD_NUMBER: builtins.int - KEYID_FIELD_NUMBER: builtins.int - EXITCODE_FIELD_NUMBER: builtins.int - DEVICEINDEX_FIELD_NUMBER: builtins.int - CLIENTDEBUGDATA_FIELD_NUMBER: builtins.int - @property - def version(self) -> global___SyncdVersion: ... - @property - def mutations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SyncdMutation]: ... - @property - def externalMutations(self) -> global___ExternalBlobReference: ... - snapshotMac: builtins.bytes - patchMac: builtins.bytes - @property - def keyId(self) -> global___KeyId: ... - @property - def exitCode(self) -> global___ExitCode: ... - deviceIndex: builtins.int - clientDebugData: builtins.bytes - def __init__( - self, - *, - version: global___SyncdVersion | None = ..., - mutations: collections.abc.Iterable[global___SyncdMutation] | None = ..., - externalMutations: global___ExternalBlobReference | None = ..., - snapshotMac: builtins.bytes | None = ..., - patchMac: builtins.bytes | None = ..., - keyId: global___KeyId | None = ..., - exitCode: global___ExitCode | None = ..., - deviceIndex: builtins.int | None = ..., - clientDebugData: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["clientDebugData", b"clientDebugData", "deviceIndex", b"deviceIndex", "exitCode", b"exitCode", "externalMutations", b"externalMutations", "keyId", b"keyId", "patchMac", b"patchMac", "snapshotMac", b"snapshotMac", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["clientDebugData", b"clientDebugData", "deviceIndex", b"deviceIndex", "exitCode", b"exitCode", "externalMutations", b"externalMutations", "keyId", b"keyId", "mutations", b"mutations", "patchMac", b"patchMac", "snapshotMac", b"snapshotMac", "version", b"version"]) -> None: ... - -global___SyncdPatch = SyncdPatch - -@typing_extensions.final -class SyncdMutations(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MUTATIONS_FIELD_NUMBER: builtins.int - @property - def mutations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SyncdMutation]: ... - def __init__( - self, - *, - mutations: collections.abc.Iterable[global___SyncdMutation] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["mutations", b"mutations"]) -> None: ... - -global___SyncdMutations = SyncdMutations - -@typing_extensions.final -class SyncdMutation(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _SyncdOperation: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _SyncdOperationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SyncdMutation._SyncdOperation.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - SET: SyncdMutation._SyncdOperation.ValueType # 0 - REMOVE: SyncdMutation._SyncdOperation.ValueType # 1 - - class SyncdOperation(_SyncdOperation, metaclass=_SyncdOperationEnumTypeWrapper): ... - SET: SyncdMutation.SyncdOperation.ValueType # 0 - REMOVE: SyncdMutation.SyncdOperation.ValueType # 1 - - OPERATION_FIELD_NUMBER: builtins.int - RECORD_FIELD_NUMBER: builtins.int - operation: global___SyncdMutation.SyncdOperation.ValueType - @property - def record(self) -> global___SyncdRecord: ... - def __init__( - self, - *, - operation: global___SyncdMutation.SyncdOperation.ValueType | None = ..., - record: global___SyncdRecord | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["operation", b"operation", "record", b"record"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["operation", b"operation", "record", b"record"]) -> None: ... - -global___SyncdMutation = SyncdMutation - -@typing_extensions.final -class SyncdIndex(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - BLOB_FIELD_NUMBER: builtins.int - blob: builtins.bytes - def __init__( - self, - *, - blob: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["blob", b"blob"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["blob", b"blob"]) -> None: ... - -global___SyncdIndex = SyncdIndex - -@typing_extensions.final -class KeyId(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ID_FIELD_NUMBER: builtins.int - id: builtins.bytes - def __init__( - self, - *, - id: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["id", b"id"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["id", b"id"]) -> None: ... - -global___KeyId = KeyId - -@typing_extensions.final -class ExternalBlobReference(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MEDIAKEY_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - HANDLE_FIELD_NUMBER: builtins.int - FILESIZEBYTES_FIELD_NUMBER: builtins.int - FILESHA256_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - mediaKey: builtins.bytes - directPath: builtins.str - handle: builtins.str - fileSizeBytes: builtins.int - fileSha256: builtins.bytes - fileEncSha256: builtins.bytes - def __init__( - self, - *, - mediaKey: builtins.bytes | None = ..., - directPath: builtins.str | None = ..., - handle: builtins.str | None = ..., - fileSizeBytes: builtins.int | None = ..., - fileSha256: builtins.bytes | None = ..., - fileEncSha256: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileSha256", b"fileSha256", "fileSizeBytes", b"fileSizeBytes", "handle", b"handle", "mediaKey", b"mediaKey"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileSha256", b"fileSha256", "fileSizeBytes", b"fileSizeBytes", "handle", b"handle", "mediaKey", b"mediaKey"]) -> None: ... - -global___ExternalBlobReference = ExternalBlobReference - -@typing_extensions.final -class ExitCode(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CODE_FIELD_NUMBER: builtins.int - TEXT_FIELD_NUMBER: builtins.int - code: builtins.int - text: builtins.str - def __init__( - self, - *, - code: builtins.int | None = ..., - text: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["code", b"code", "text", b"text"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["code", b"code", "text", b"text"]) -> None: ... - -global___ExitCode = ExitCode - -@typing_extensions.final -class SyncActionValue(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TIMESTAMP_FIELD_NUMBER: builtins.int - STARACTION_FIELD_NUMBER: builtins.int - CONTACTACTION_FIELD_NUMBER: builtins.int - MUTEACTION_FIELD_NUMBER: builtins.int - PINACTION_FIELD_NUMBER: builtins.int - SECURITYNOTIFICATIONSETTING_FIELD_NUMBER: builtins.int - PUSHNAMESETTING_FIELD_NUMBER: builtins.int - QUICKREPLYACTION_FIELD_NUMBER: builtins.int - RECENTEMOJIWEIGHTSACTION_FIELD_NUMBER: builtins.int - LABELEDITACTION_FIELD_NUMBER: builtins.int - LABELASSOCIATIONACTION_FIELD_NUMBER: builtins.int - LOCALESETTING_FIELD_NUMBER: builtins.int - ARCHIVECHATACTION_FIELD_NUMBER: builtins.int - DELETEMESSAGEFORMEACTION_FIELD_NUMBER: builtins.int - KEYEXPIRATION_FIELD_NUMBER: builtins.int - MARKCHATASREADACTION_FIELD_NUMBER: builtins.int - CLEARCHATACTION_FIELD_NUMBER: builtins.int - DELETECHATACTION_FIELD_NUMBER: builtins.int - UNARCHIVECHATSSETTING_FIELD_NUMBER: builtins.int - PRIMARYFEATURE_FIELD_NUMBER: builtins.int - ANDROIDUNSUPPORTEDACTIONS_FIELD_NUMBER: builtins.int - AGENTACTION_FIELD_NUMBER: builtins.int - SUBSCRIPTIONACTION_FIELD_NUMBER: builtins.int - USERSTATUSMUTEACTION_FIELD_NUMBER: builtins.int - TIMEFORMATACTION_FIELD_NUMBER: builtins.int - NUXACTION_FIELD_NUMBER: builtins.int - PRIMARYVERSIONACTION_FIELD_NUMBER: builtins.int - STICKERACTION_FIELD_NUMBER: builtins.int - REMOVERECENTSTICKERACTION_FIELD_NUMBER: builtins.int - CHATASSIGNMENT_FIELD_NUMBER: builtins.int - CHATASSIGNMENTOPENEDSTATUS_FIELD_NUMBER: builtins.int - PNFORLIDCHATACTION_FIELD_NUMBER: builtins.int - MARKETINGMESSAGEACTION_FIELD_NUMBER: builtins.int - MARKETINGMESSAGEBROADCASTACTION_FIELD_NUMBER: builtins.int - EXTERNALWEBBETAACTION_FIELD_NUMBER: builtins.int - PRIVACYSETTINGRELAYALLCALLS_FIELD_NUMBER: builtins.int - CALLLOGACTION_FIELD_NUMBER: builtins.int - STATUSPRIVACY_FIELD_NUMBER: builtins.int - BOTWELCOMEREQUESTACTION_FIELD_NUMBER: builtins.int - DELETEINDIVIDUALCALLLOG_FIELD_NUMBER: builtins.int - LABELREORDERINGACTION_FIELD_NUMBER: builtins.int - PAYMENTINFOACTION_FIELD_NUMBER: builtins.int - timestamp: builtins.int - @property - def starAction(self) -> global___StarAction: ... - @property - def contactAction(self) -> global___ContactAction: ... - @property - def muteAction(self) -> global___MuteAction: ... - @property - def pinAction(self) -> global___PinAction: ... - @property - def securityNotificationSetting(self) -> global___SecurityNotificationSetting: ... - @property - def pushNameSetting(self) -> global___PushNameSetting: ... - @property - def quickReplyAction(self) -> global___QuickReplyAction: ... - @property - def recentEmojiWeightsAction(self) -> global___RecentEmojiWeightsAction: ... - @property - def labelEditAction(self) -> global___LabelEditAction: ... - @property - def labelAssociationAction(self) -> global___LabelAssociationAction: ... - @property - def localeSetting(self) -> global___LocaleSetting: ... - @property - def archiveChatAction(self) -> global___ArchiveChatAction: ... - @property - def deleteMessageForMeAction(self) -> global___DeleteMessageForMeAction: ... - @property - def keyExpiration(self) -> global___KeyExpiration: ... - @property - def markChatAsReadAction(self) -> global___MarkChatAsReadAction: ... - @property - def clearChatAction(self) -> global___ClearChatAction: ... - @property - def deleteChatAction(self) -> global___DeleteChatAction: ... - @property - def unarchiveChatsSetting(self) -> global___UnarchiveChatsSetting: ... - @property - def primaryFeature(self) -> global___PrimaryFeature: ... - @property - def androidUnsupportedActions(self) -> global___AndroidUnsupportedActions: ... - @property - def agentAction(self) -> global___AgentAction: ... - @property - def subscriptionAction(self) -> global___SubscriptionAction: ... - @property - def userStatusMuteAction(self) -> global___UserStatusMuteAction: ... - @property - def timeFormatAction(self) -> global___TimeFormatAction: ... - @property - def nuxAction(self) -> global___NuxAction: ... - @property - def primaryVersionAction(self) -> global___PrimaryVersionAction: ... - @property - def stickerAction(self) -> global___StickerAction: ... - @property - def removeRecentStickerAction(self) -> global___RemoveRecentStickerAction: ... - @property - def chatAssignment(self) -> global___ChatAssignmentAction: ... - @property - def chatAssignmentOpenedStatus(self) -> global___ChatAssignmentOpenedStatusAction: ... - @property - def pnForLidChatAction(self) -> global___PnForLidChatAction: ... - @property - def marketingMessageAction(self) -> global___MarketingMessageAction: ... - @property - def marketingMessageBroadcastAction(self) -> global___MarketingMessageBroadcastAction: ... - @property - def externalWebBetaAction(self) -> global___ExternalWebBetaAction: ... - @property - def privacySettingRelayAllCalls(self) -> global___PrivacySettingRelayAllCalls: ... - @property - def callLogAction(self) -> global___CallLogAction: ... - @property - def statusPrivacy(self) -> global___StatusPrivacyAction: ... - @property - def botWelcomeRequestAction(self) -> global___BotWelcomeRequestAction: ... - @property - def deleteIndividualCallLog(self) -> global___DeleteIndividualCallLogAction: ... - @property - def labelReorderingAction(self) -> global___LabelReorderingAction: ... - @property - def paymentInfoAction(self) -> global___PaymentInfoAction: ... - def __init__( - self, - *, - timestamp: builtins.int | None = ..., - starAction: global___StarAction | None = ..., - contactAction: global___ContactAction | None = ..., - muteAction: global___MuteAction | None = ..., - pinAction: global___PinAction | None = ..., - securityNotificationSetting: global___SecurityNotificationSetting | None = ..., - pushNameSetting: global___PushNameSetting | None = ..., - quickReplyAction: global___QuickReplyAction | None = ..., - recentEmojiWeightsAction: global___RecentEmojiWeightsAction | None = ..., - labelEditAction: global___LabelEditAction | None = ..., - labelAssociationAction: global___LabelAssociationAction | None = ..., - localeSetting: global___LocaleSetting | None = ..., - archiveChatAction: global___ArchiveChatAction | None = ..., - deleteMessageForMeAction: global___DeleteMessageForMeAction | None = ..., - keyExpiration: global___KeyExpiration | None = ..., - markChatAsReadAction: global___MarkChatAsReadAction | None = ..., - clearChatAction: global___ClearChatAction | None = ..., - deleteChatAction: global___DeleteChatAction | None = ..., - unarchiveChatsSetting: global___UnarchiveChatsSetting | None = ..., - primaryFeature: global___PrimaryFeature | None = ..., - androidUnsupportedActions: global___AndroidUnsupportedActions | None = ..., - agentAction: global___AgentAction | None = ..., - subscriptionAction: global___SubscriptionAction | None = ..., - userStatusMuteAction: global___UserStatusMuteAction | None = ..., - timeFormatAction: global___TimeFormatAction | None = ..., - nuxAction: global___NuxAction | None = ..., - primaryVersionAction: global___PrimaryVersionAction | None = ..., - stickerAction: global___StickerAction | None = ..., - removeRecentStickerAction: global___RemoveRecentStickerAction | None = ..., - chatAssignment: global___ChatAssignmentAction | None = ..., - chatAssignmentOpenedStatus: global___ChatAssignmentOpenedStatusAction | None = ..., - pnForLidChatAction: global___PnForLidChatAction | None = ..., - marketingMessageAction: global___MarketingMessageAction | None = ..., - marketingMessageBroadcastAction: global___MarketingMessageBroadcastAction | None = ..., - externalWebBetaAction: global___ExternalWebBetaAction | None = ..., - privacySettingRelayAllCalls: global___PrivacySettingRelayAllCalls | None = ..., - callLogAction: global___CallLogAction | None = ..., - statusPrivacy: global___StatusPrivacyAction | None = ..., - botWelcomeRequestAction: global___BotWelcomeRequestAction | None = ..., - deleteIndividualCallLog: global___DeleteIndividualCallLogAction | None = ..., - labelReorderingAction: global___LabelReorderingAction | None = ..., - paymentInfoAction: global___PaymentInfoAction | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["agentAction", b"agentAction", "androidUnsupportedActions", b"androidUnsupportedActions", "archiveChatAction", b"archiveChatAction", "botWelcomeRequestAction", b"botWelcomeRequestAction", "callLogAction", b"callLogAction", "chatAssignment", b"chatAssignment", "chatAssignmentOpenedStatus", b"chatAssignmentOpenedStatus", "clearChatAction", b"clearChatAction", "contactAction", b"contactAction", "deleteChatAction", b"deleteChatAction", "deleteIndividualCallLog", b"deleteIndividualCallLog", "deleteMessageForMeAction", b"deleteMessageForMeAction", "externalWebBetaAction", b"externalWebBetaAction", "keyExpiration", b"keyExpiration", "labelAssociationAction", b"labelAssociationAction", "labelEditAction", b"labelEditAction", "labelReorderingAction", b"labelReorderingAction", "localeSetting", b"localeSetting", "markChatAsReadAction", b"markChatAsReadAction", "marketingMessageAction", b"marketingMessageAction", "marketingMessageBroadcastAction", b"marketingMessageBroadcastAction", "muteAction", b"muteAction", "nuxAction", b"nuxAction", "paymentInfoAction", b"paymentInfoAction", "pinAction", b"pinAction", "pnForLidChatAction", b"pnForLidChatAction", "primaryFeature", b"primaryFeature", "primaryVersionAction", b"primaryVersionAction", "privacySettingRelayAllCalls", b"privacySettingRelayAllCalls", "pushNameSetting", b"pushNameSetting", "quickReplyAction", b"quickReplyAction", "recentEmojiWeightsAction", b"recentEmojiWeightsAction", "removeRecentStickerAction", b"removeRecentStickerAction", "securityNotificationSetting", b"securityNotificationSetting", "starAction", b"starAction", "statusPrivacy", b"statusPrivacy", "stickerAction", b"stickerAction", "subscriptionAction", b"subscriptionAction", "timeFormatAction", b"timeFormatAction", "timestamp", b"timestamp", "unarchiveChatsSetting", b"unarchiveChatsSetting", "userStatusMuteAction", b"userStatusMuteAction"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["agentAction", b"agentAction", "androidUnsupportedActions", b"androidUnsupportedActions", "archiveChatAction", b"archiveChatAction", "botWelcomeRequestAction", b"botWelcomeRequestAction", "callLogAction", b"callLogAction", "chatAssignment", b"chatAssignment", "chatAssignmentOpenedStatus", b"chatAssignmentOpenedStatus", "clearChatAction", b"clearChatAction", "contactAction", b"contactAction", "deleteChatAction", b"deleteChatAction", "deleteIndividualCallLog", b"deleteIndividualCallLog", "deleteMessageForMeAction", b"deleteMessageForMeAction", "externalWebBetaAction", b"externalWebBetaAction", "keyExpiration", b"keyExpiration", "labelAssociationAction", b"labelAssociationAction", "labelEditAction", b"labelEditAction", "labelReorderingAction", b"labelReorderingAction", "localeSetting", b"localeSetting", "markChatAsReadAction", b"markChatAsReadAction", "marketingMessageAction", b"marketingMessageAction", "marketingMessageBroadcastAction", b"marketingMessageBroadcastAction", "muteAction", b"muteAction", "nuxAction", b"nuxAction", "paymentInfoAction", b"paymentInfoAction", "pinAction", b"pinAction", "pnForLidChatAction", b"pnForLidChatAction", "primaryFeature", b"primaryFeature", "primaryVersionAction", b"primaryVersionAction", "privacySettingRelayAllCalls", b"privacySettingRelayAllCalls", "pushNameSetting", b"pushNameSetting", "quickReplyAction", b"quickReplyAction", "recentEmojiWeightsAction", b"recentEmojiWeightsAction", "removeRecentStickerAction", b"removeRecentStickerAction", "securityNotificationSetting", b"securityNotificationSetting", "starAction", b"starAction", "statusPrivacy", b"statusPrivacy", "stickerAction", b"stickerAction", "subscriptionAction", b"subscriptionAction", "timeFormatAction", b"timeFormatAction", "timestamp", b"timestamp", "unarchiveChatsSetting", b"unarchiveChatsSetting", "userStatusMuteAction", b"userStatusMuteAction"]) -> None: ... - -global___SyncActionValue = SyncActionValue - -@typing_extensions.final -class UserStatusMuteAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MUTED_FIELD_NUMBER: builtins.int - muted: builtins.bool - def __init__( - self, - *, - muted: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["muted", b"muted"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["muted", b"muted"]) -> None: ... - -global___UserStatusMuteAction = UserStatusMuteAction - -@typing_extensions.final -class UnarchiveChatsSetting(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - UNARCHIVECHATS_FIELD_NUMBER: builtins.int - unarchiveChats: builtins.bool - def __init__( - self, - *, - unarchiveChats: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["unarchiveChats", b"unarchiveChats"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["unarchiveChats", b"unarchiveChats"]) -> None: ... - -global___UnarchiveChatsSetting = UnarchiveChatsSetting - -@typing_extensions.final -class TimeFormatAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ISTWENTYFOURHOURFORMATENABLED_FIELD_NUMBER: builtins.int - isTwentyFourHourFormatEnabled: builtins.bool - def __init__( - self, - *, - isTwentyFourHourFormatEnabled: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["isTwentyFourHourFormatEnabled", b"isTwentyFourHourFormatEnabled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["isTwentyFourHourFormatEnabled", b"isTwentyFourHourFormatEnabled"]) -> None: ... - -global___TimeFormatAction = TimeFormatAction - -@typing_extensions.final -class SyncActionMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - TIMESTAMP_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - timestamp: builtins.int - def __init__( - self, - *, - key: global___MessageKey | None = ..., - timestamp: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key", "timestamp", b"timestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "timestamp", b"timestamp"]) -> None: ... - -global___SyncActionMessage = SyncActionMessage - -@typing_extensions.final -class SyncActionMessageRange(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LASTMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int - LASTSYSTEMMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int - MESSAGES_FIELD_NUMBER: builtins.int - lastMessageTimestamp: builtins.int - lastSystemMessageTimestamp: builtins.int - @property - def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SyncActionMessage]: ... - def __init__( - self, - *, - lastMessageTimestamp: builtins.int | None = ..., - lastSystemMessageTimestamp: builtins.int | None = ..., - messages: collections.abc.Iterable[global___SyncActionMessage] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["lastMessageTimestamp", b"lastMessageTimestamp", "lastSystemMessageTimestamp", b"lastSystemMessageTimestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["lastMessageTimestamp", b"lastMessageTimestamp", "lastSystemMessageTimestamp", b"lastSystemMessageTimestamp", "messages", b"messages"]) -> None: ... - -global___SyncActionMessageRange = SyncActionMessageRange - -@typing_extensions.final -class SubscriptionAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ISDEACTIVATED_FIELD_NUMBER: builtins.int - ISAUTORENEWING_FIELD_NUMBER: builtins.int - EXPIRATIONDATE_FIELD_NUMBER: builtins.int - isDeactivated: builtins.bool - isAutoRenewing: builtins.bool - expirationDate: builtins.int - def __init__( - self, - *, - isDeactivated: builtins.bool | None = ..., - isAutoRenewing: builtins.bool | None = ..., - expirationDate: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["expirationDate", b"expirationDate", "isAutoRenewing", b"isAutoRenewing", "isDeactivated", b"isDeactivated"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["expirationDate", b"expirationDate", "isAutoRenewing", b"isAutoRenewing", "isDeactivated", b"isDeactivated"]) -> None: ... - -global___SubscriptionAction = SubscriptionAction - -@typing_extensions.final -class StickerAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - URL_FIELD_NUMBER: builtins.int - FILEENCSHA256_FIELD_NUMBER: builtins.int - MEDIAKEY_FIELD_NUMBER: builtins.int - MIMETYPE_FIELD_NUMBER: builtins.int - HEIGHT_FIELD_NUMBER: builtins.int - WIDTH_FIELD_NUMBER: builtins.int - DIRECTPATH_FIELD_NUMBER: builtins.int - FILELENGTH_FIELD_NUMBER: builtins.int - ISFAVORITE_FIELD_NUMBER: builtins.int - DEVICEIDHINT_FIELD_NUMBER: builtins.int - url: builtins.str - fileEncSha256: builtins.bytes - mediaKey: builtins.bytes - mimetype: builtins.str - height: builtins.int - width: builtins.int - directPath: builtins.str - fileLength: builtins.int - isFavorite: builtins.bool - deviceIdHint: builtins.int - def __init__( - self, - *, - url: builtins.str | None = ..., - fileEncSha256: builtins.bytes | None = ..., - mediaKey: builtins.bytes | None = ..., - mimetype: builtins.str | None = ..., - height: builtins.int | None = ..., - width: builtins.int | None = ..., - directPath: builtins.str | None = ..., - fileLength: builtins.int | None = ..., - isFavorite: builtins.bool | None = ..., - deviceIdHint: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["deviceIdHint", b"deviceIdHint", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "height", b"height", "isFavorite", b"isFavorite", "mediaKey", b"mediaKey", "mimetype", b"mimetype", "url", b"url", "width", b"width"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["deviceIdHint", b"deviceIdHint", "directPath", b"directPath", "fileEncSha256", b"fileEncSha256", "fileLength", b"fileLength", "height", b"height", "isFavorite", b"isFavorite", "mediaKey", b"mediaKey", "mimetype", b"mimetype", "url", b"url", "width", b"width"]) -> None: ... - -global___StickerAction = StickerAction - -@typing_extensions.final -class StatusPrivacyAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _StatusDistributionMode: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _StatusDistributionModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusPrivacyAction._StatusDistributionMode.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - ALLOW_LIST: StatusPrivacyAction._StatusDistributionMode.ValueType # 0 - DENY_LIST: StatusPrivacyAction._StatusDistributionMode.ValueType # 1 - CONTACTS: StatusPrivacyAction._StatusDistributionMode.ValueType # 2 - - class StatusDistributionMode(_StatusDistributionMode, metaclass=_StatusDistributionModeEnumTypeWrapper): ... - ALLOW_LIST: StatusPrivacyAction.StatusDistributionMode.ValueType # 0 - DENY_LIST: StatusPrivacyAction.StatusDistributionMode.ValueType # 1 - CONTACTS: StatusPrivacyAction.StatusDistributionMode.ValueType # 2 - - MODE_FIELD_NUMBER: builtins.int - USERJID_FIELD_NUMBER: builtins.int - mode: global___StatusPrivacyAction.StatusDistributionMode.ValueType - @property - def userJid(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - mode: global___StatusPrivacyAction.StatusDistributionMode.ValueType | None = ..., - userJid: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["mode", b"mode"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["mode", b"mode", "userJid", b"userJid"]) -> None: ... - -global___StatusPrivacyAction = StatusPrivacyAction - -@typing_extensions.final -class StarAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - STARRED_FIELD_NUMBER: builtins.int - starred: builtins.bool - def __init__( - self, - *, - starred: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["starred", b"starred"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["starred", b"starred"]) -> None: ... - -global___StarAction = StarAction - -@typing_extensions.final -class SecurityNotificationSetting(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SHOWNOTIFICATION_FIELD_NUMBER: builtins.int - showNotification: builtins.bool - def __init__( - self, - *, - showNotification: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["showNotification", b"showNotification"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["showNotification", b"showNotification"]) -> None: ... - -global___SecurityNotificationSetting = SecurityNotificationSetting - -@typing_extensions.final -class RemoveRecentStickerAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LASTSTICKERSENTTS_FIELD_NUMBER: builtins.int - lastStickerSentTs: builtins.int - def __init__( - self, - *, - lastStickerSentTs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["lastStickerSentTs", b"lastStickerSentTs"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["lastStickerSentTs", b"lastStickerSentTs"]) -> None: ... - -global___RemoveRecentStickerAction = RemoveRecentStickerAction - -@typing_extensions.final -class RecentEmojiWeightsAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - WEIGHTS_FIELD_NUMBER: builtins.int - @property - def weights(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RecentEmojiWeight]: ... - def __init__( - self, - *, - weights: collections.abc.Iterable[global___RecentEmojiWeight] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["weights", b"weights"]) -> None: ... - -global___RecentEmojiWeightsAction = RecentEmojiWeightsAction - -@typing_extensions.final -class QuickReplyAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SHORTCUT_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - KEYWORDS_FIELD_NUMBER: builtins.int - COUNT_FIELD_NUMBER: builtins.int - DELETED_FIELD_NUMBER: builtins.int - shortcut: builtins.str - message: builtins.str - @property - def keywords(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - count: builtins.int - deleted: builtins.bool - def __init__( - self, - *, - shortcut: builtins.str | None = ..., - message: builtins.str | None = ..., - keywords: collections.abc.Iterable[builtins.str] | None = ..., - count: builtins.int | None = ..., - deleted: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["count", b"count", "deleted", b"deleted", "message", b"message", "shortcut", b"shortcut"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["count", b"count", "deleted", b"deleted", "keywords", b"keywords", "message", b"message", "shortcut", b"shortcut"]) -> None: ... - -global___QuickReplyAction = QuickReplyAction - -@typing_extensions.final -class PushNameSetting(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - name: builtins.str - def __init__( - self, - *, - name: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["name", b"name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["name", b"name"]) -> None: ... - -global___PushNameSetting = PushNameSetting - -@typing_extensions.final -class PrivacySettingRelayAllCalls(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ISENABLED_FIELD_NUMBER: builtins.int - isEnabled: builtins.bool - def __init__( - self, - *, - isEnabled: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["isEnabled", b"isEnabled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["isEnabled", b"isEnabled"]) -> None: ... - -global___PrivacySettingRelayAllCalls = PrivacySettingRelayAllCalls - -@typing_extensions.final -class PrimaryVersionAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VERSION_FIELD_NUMBER: builtins.int - version: builtins.str - def __init__( - self, - *, - version: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["version", b"version"]) -> None: ... - -global___PrimaryVersionAction = PrimaryVersionAction - -@typing_extensions.final -class PrimaryFeature(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FLAGS_FIELD_NUMBER: builtins.int - @property - def flags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - flags: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["flags", b"flags"]) -> None: ... - -global___PrimaryFeature = PrimaryFeature - -@typing_extensions.final -class PnForLidChatAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PNJID_FIELD_NUMBER: builtins.int - pnJid: builtins.str - def __init__( - self, - *, - pnJid: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["pnJid", b"pnJid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["pnJid", b"pnJid"]) -> None: ... - -global___PnForLidChatAction = PnForLidChatAction - -@typing_extensions.final -class PinAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PINNED_FIELD_NUMBER: builtins.int - pinned: builtins.bool - def __init__( - self, - *, - pinned: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["pinned", b"pinned"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["pinned", b"pinned"]) -> None: ... - -global___PinAction = PinAction - -@typing_extensions.final -class PaymentInfoAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CPI_FIELD_NUMBER: builtins.int - cpi: builtins.str - def __init__( - self, - *, - cpi: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["cpi", b"cpi"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["cpi", b"cpi"]) -> None: ... - -global___PaymentInfoAction = PaymentInfoAction - -@typing_extensions.final -class NuxAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ACKNOWLEDGED_FIELD_NUMBER: builtins.int - acknowledged: builtins.bool - def __init__( - self, - *, - acknowledged: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["acknowledged", b"acknowledged"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["acknowledged", b"acknowledged"]) -> None: ... - -global___NuxAction = NuxAction - -@typing_extensions.final -class MuteAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MUTED_FIELD_NUMBER: builtins.int - MUTEENDTIMESTAMP_FIELD_NUMBER: builtins.int - AUTOMUTED_FIELD_NUMBER: builtins.int - muted: builtins.bool - muteEndTimestamp: builtins.int - autoMuted: builtins.bool - def __init__( - self, - *, - muted: builtins.bool | None = ..., - muteEndTimestamp: builtins.int | None = ..., - autoMuted: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["autoMuted", b"autoMuted", "muteEndTimestamp", b"muteEndTimestamp", "muted", b"muted"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["autoMuted", b"autoMuted", "muteEndTimestamp", b"muteEndTimestamp", "muted", b"muted"]) -> None: ... - -global___MuteAction = MuteAction - -@typing_extensions.final -class MarketingMessageBroadcastAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - REPLIEDCOUNT_FIELD_NUMBER: builtins.int - repliedCount: builtins.int - def __init__( - self, - *, - repliedCount: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["repliedCount", b"repliedCount"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["repliedCount", b"repliedCount"]) -> None: ... - -global___MarketingMessageBroadcastAction = MarketingMessageBroadcastAction - -@typing_extensions.final -class MarketingMessageAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _MarketingMessagePrototypeType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _MarketingMessagePrototypeTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MarketingMessageAction._MarketingMessagePrototypeType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - PERSONALIZED: MarketingMessageAction._MarketingMessagePrototypeType.ValueType # 0 - - class MarketingMessagePrototypeType(_MarketingMessagePrototypeType, metaclass=_MarketingMessagePrototypeTypeEnumTypeWrapper): ... - PERSONALIZED: MarketingMessageAction.MarketingMessagePrototypeType.ValueType # 0 - - NAME_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - CREATEDAT_FIELD_NUMBER: builtins.int - LASTSENTAT_FIELD_NUMBER: builtins.int - ISDELETED_FIELD_NUMBER: builtins.int - MEDIAID_FIELD_NUMBER: builtins.int - name: builtins.str - message: builtins.str - type: global___MarketingMessageAction.MarketingMessagePrototypeType.ValueType - createdAt: builtins.int - lastSentAt: builtins.int - isDeleted: builtins.bool - mediaId: builtins.str - def __init__( - self, - *, - name: builtins.str | None = ..., - message: builtins.str | None = ..., - type: global___MarketingMessageAction.MarketingMessagePrototypeType.ValueType | None = ..., - createdAt: builtins.int | None = ..., - lastSentAt: builtins.int | None = ..., - isDeleted: builtins.bool | None = ..., - mediaId: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["createdAt", b"createdAt", "isDeleted", b"isDeleted", "lastSentAt", b"lastSentAt", "mediaId", b"mediaId", "message", b"message", "name", b"name", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["createdAt", b"createdAt", "isDeleted", b"isDeleted", "lastSentAt", b"lastSentAt", "mediaId", b"mediaId", "message", b"message", "name", b"name", "type", b"type"]) -> None: ... - -global___MarketingMessageAction = MarketingMessageAction - -@typing_extensions.final -class MarkChatAsReadAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - READ_FIELD_NUMBER: builtins.int - MESSAGERANGE_FIELD_NUMBER: builtins.int - read: builtins.bool - @property - def messageRange(self) -> global___SyncActionMessageRange: ... - def __init__( - self, - *, - read: builtins.bool | None = ..., - messageRange: global___SyncActionMessageRange | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["messageRange", b"messageRange", "read", b"read"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["messageRange", b"messageRange", "read", b"read"]) -> None: ... - -global___MarkChatAsReadAction = MarkChatAsReadAction - -@typing_extensions.final -class LocaleSetting(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LOCALE_FIELD_NUMBER: builtins.int - locale: builtins.str - def __init__( - self, - *, - locale: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["locale", b"locale"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["locale", b"locale"]) -> None: ... - -global___LocaleSetting = LocaleSetting - -@typing_extensions.final -class LabelReorderingAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SORTEDLABELIDS_FIELD_NUMBER: builtins.int - @property - def sortedLabelIds(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... - def __init__( - self, - *, - sortedLabelIds: collections.abc.Iterable[builtins.int] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal["sortedLabelIds", b"sortedLabelIds"]) -> None: ... - -global___LabelReorderingAction = LabelReorderingAction - -@typing_extensions.final -class LabelEditAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - COLOR_FIELD_NUMBER: builtins.int - PREDEFINEDID_FIELD_NUMBER: builtins.int - DELETED_FIELD_NUMBER: builtins.int - ORDERINDEX_FIELD_NUMBER: builtins.int - name: builtins.str - color: builtins.int - predefinedId: builtins.int - deleted: builtins.bool - orderIndex: builtins.int - def __init__( - self, - *, - name: builtins.str | None = ..., - color: builtins.int | None = ..., - predefinedId: builtins.int | None = ..., - deleted: builtins.bool | None = ..., - orderIndex: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["color", b"color", "deleted", b"deleted", "name", b"name", "orderIndex", b"orderIndex", "predefinedId", b"predefinedId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["color", b"color", "deleted", b"deleted", "name", b"name", "orderIndex", b"orderIndex", "predefinedId", b"predefinedId"]) -> None: ... - -global___LabelEditAction = LabelEditAction - -@typing_extensions.final -class LabelAssociationAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LABELED_FIELD_NUMBER: builtins.int - labeled: builtins.bool - def __init__( - self, - *, - labeled: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["labeled", b"labeled"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["labeled", b"labeled"]) -> None: ... - -global___LabelAssociationAction = LabelAssociationAction - -@typing_extensions.final -class KeyExpiration(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EXPIREDKEYEPOCH_FIELD_NUMBER: builtins.int - expiredKeyEpoch: builtins.int - def __init__( - self, - *, - expiredKeyEpoch: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["expiredKeyEpoch", b"expiredKeyEpoch"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["expiredKeyEpoch", b"expiredKeyEpoch"]) -> None: ... - -global___KeyExpiration = KeyExpiration - -@typing_extensions.final -class ExternalWebBetaAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ISOPTIN_FIELD_NUMBER: builtins.int - isOptIn: builtins.bool - def __init__( - self, - *, - isOptIn: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["isOptIn", b"isOptIn"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["isOptIn", b"isOptIn"]) -> None: ... - -global___ExternalWebBetaAction = ExternalWebBetaAction - -@typing_extensions.final -class DeleteMessageForMeAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DELETEMEDIA_FIELD_NUMBER: builtins.int - MESSAGETIMESTAMP_FIELD_NUMBER: builtins.int - deleteMedia: builtins.bool - messageTimestamp: builtins.int - def __init__( - self, - *, - deleteMedia: builtins.bool | None = ..., - messageTimestamp: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["deleteMedia", b"deleteMedia", "messageTimestamp", b"messageTimestamp"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["deleteMedia", b"deleteMedia", "messageTimestamp", b"messageTimestamp"]) -> None: ... - -global___DeleteMessageForMeAction = DeleteMessageForMeAction - -@typing_extensions.final -class DeleteIndividualCallLogAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PEERJID_FIELD_NUMBER: builtins.int - ISINCOMING_FIELD_NUMBER: builtins.int - peerJid: builtins.str - isIncoming: builtins.bool - def __init__( - self, - *, - peerJid: builtins.str | None = ..., - isIncoming: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["isIncoming", b"isIncoming", "peerJid", b"peerJid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["isIncoming", b"isIncoming", "peerJid", b"peerJid"]) -> None: ... - -global___DeleteIndividualCallLogAction = DeleteIndividualCallLogAction - -@typing_extensions.final -class DeleteChatAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MESSAGERANGE_FIELD_NUMBER: builtins.int - @property - def messageRange(self) -> global___SyncActionMessageRange: ... - def __init__( - self, - *, - messageRange: global___SyncActionMessageRange | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["messageRange", b"messageRange"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["messageRange", b"messageRange"]) -> None: ... - -global___DeleteChatAction = DeleteChatAction - -@typing_extensions.final -class ContactAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FULLNAME_FIELD_NUMBER: builtins.int - FIRSTNAME_FIELD_NUMBER: builtins.int - LIDJID_FIELD_NUMBER: builtins.int - SAVEONPRIMARYADDRESSBOOK_FIELD_NUMBER: builtins.int - fullName: builtins.str - firstName: builtins.str - lidJid: builtins.str - saveOnPrimaryAddressbook: builtins.bool - def __init__( - self, - *, - fullName: builtins.str | None = ..., - firstName: builtins.str | None = ..., - lidJid: builtins.str | None = ..., - saveOnPrimaryAddressbook: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["firstName", b"firstName", "fullName", b"fullName", "lidJid", b"lidJid", "saveOnPrimaryAddressbook", b"saveOnPrimaryAddressbook"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["firstName", b"firstName", "fullName", b"fullName", "lidJid", b"lidJid", "saveOnPrimaryAddressbook", b"saveOnPrimaryAddressbook"]) -> None: ... - -global___ContactAction = ContactAction - -@typing_extensions.final -class ClearChatAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MESSAGERANGE_FIELD_NUMBER: builtins.int - @property - def messageRange(self) -> global___SyncActionMessageRange: ... - def __init__( - self, - *, - messageRange: global___SyncActionMessageRange | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["messageRange", b"messageRange"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["messageRange", b"messageRange"]) -> None: ... - -global___ClearChatAction = ClearChatAction - -@typing_extensions.final -class ChatAssignmentOpenedStatusAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CHATOPENED_FIELD_NUMBER: builtins.int - chatOpened: builtins.bool - def __init__( - self, - *, - chatOpened: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["chatOpened", b"chatOpened"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["chatOpened", b"chatOpened"]) -> None: ... - -global___ChatAssignmentOpenedStatusAction = ChatAssignmentOpenedStatusAction - -@typing_extensions.final -class ChatAssignmentAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DEVICEAGENTID_FIELD_NUMBER: builtins.int - deviceAgentID: builtins.str - def __init__( - self, - *, - deviceAgentID: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["deviceAgentID", b"deviceAgentID"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["deviceAgentID", b"deviceAgentID"]) -> None: ... - -global___ChatAssignmentAction = ChatAssignmentAction - -@typing_extensions.final -class CallLogAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CALLLOGRECORD_FIELD_NUMBER: builtins.int - @property - def callLogRecord(self) -> global___CallLogRecord: ... - def __init__( - self, - *, - callLogRecord: global___CallLogRecord | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["callLogRecord", b"callLogRecord"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["callLogRecord", b"callLogRecord"]) -> None: ... - -global___CallLogAction = CallLogAction - -@typing_extensions.final -class BotWelcomeRequestAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ISSENT_FIELD_NUMBER: builtins.int - isSent: builtins.bool - def __init__( - self, - *, - isSent: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["isSent", b"isSent"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["isSent", b"isSent"]) -> None: ... - -global___BotWelcomeRequestAction = BotWelcomeRequestAction - -@typing_extensions.final -class ArchiveChatAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ARCHIVED_FIELD_NUMBER: builtins.int - MESSAGERANGE_FIELD_NUMBER: builtins.int - archived: builtins.bool - @property - def messageRange(self) -> global___SyncActionMessageRange: ... - def __init__( - self, - *, - archived: builtins.bool | None = ..., - messageRange: global___SyncActionMessageRange | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["archived", b"archived", "messageRange", b"messageRange"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["archived", b"archived", "messageRange", b"messageRange"]) -> None: ... - -global___ArchiveChatAction = ArchiveChatAction - -@typing_extensions.final -class AndroidUnsupportedActions(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ALLOWED_FIELD_NUMBER: builtins.int - allowed: builtins.bool - def __init__( - self, - *, - allowed: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["allowed", b"allowed"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["allowed", b"allowed"]) -> None: ... - -global___AndroidUnsupportedActions = AndroidUnsupportedActions - -@typing_extensions.final -class AgentAction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - DEVICEID_FIELD_NUMBER: builtins.int - ISDELETED_FIELD_NUMBER: builtins.int - name: builtins.str - deviceID: builtins.int - isDeleted: builtins.bool - def __init__( - self, - *, - name: builtins.str | None = ..., - deviceID: builtins.int | None = ..., - isDeleted: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["deviceID", b"deviceID", "isDeleted", b"isDeleted", "name", b"name"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["deviceID", b"deviceID", "isDeleted", b"isDeleted", "name", b"name"]) -> None: ... - -global___AgentAction = AgentAction - -@typing_extensions.final -class SyncActionData(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - INDEX_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - PADDING_FIELD_NUMBER: builtins.int - VERSION_FIELD_NUMBER: builtins.int - index: builtins.bytes - @property - def value(self) -> global___SyncActionValue: ... - padding: builtins.bytes - version: builtins.int - def __init__( - self, - *, - index: builtins.bytes | None = ..., - value: global___SyncActionValue | None = ..., - padding: builtins.bytes | None = ..., - version: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["index", b"index", "padding", b"padding", "value", b"value", "version", b"version"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["index", b"index", "padding", b"padding", "value", b"value", "version", b"version"]) -> None: ... - -global___SyncActionData = SyncActionData - -@typing_extensions.final -class RecentEmojiWeight(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EMOJI_FIELD_NUMBER: builtins.int - WEIGHT_FIELD_NUMBER: builtins.int - emoji: builtins.str - weight: builtins.float - def __init__( - self, - *, - emoji: builtins.str | None = ..., - weight: builtins.float | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["emoji", b"emoji", "weight", b"weight"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["emoji", b"emoji", "weight", b"weight"]) -> None: ... - -global___RecentEmojiWeight = RecentEmojiWeight - -@typing_extensions.final -class PatchDebugData(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Platform: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _PlatformEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PatchDebugData._Platform.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - ANDROID: PatchDebugData._Platform.ValueType # 0 - SMBA: PatchDebugData._Platform.ValueType # 1 - IPHONE: PatchDebugData._Platform.ValueType # 2 - SMBI: PatchDebugData._Platform.ValueType # 3 - WEB: PatchDebugData._Platform.ValueType # 4 - UWP: PatchDebugData._Platform.ValueType # 5 - DARWIN: PatchDebugData._Platform.ValueType # 6 - - class Platform(_Platform, metaclass=_PlatformEnumTypeWrapper): ... - ANDROID: PatchDebugData.Platform.ValueType # 0 - SMBA: PatchDebugData.Platform.ValueType # 1 - IPHONE: PatchDebugData.Platform.ValueType # 2 - SMBI: PatchDebugData.Platform.ValueType # 3 - WEB: PatchDebugData.Platform.ValueType # 4 - UWP: PatchDebugData.Platform.ValueType # 5 - DARWIN: PatchDebugData.Platform.ValueType # 6 - - CURRENTLTHASH_FIELD_NUMBER: builtins.int - NEWLTHASH_FIELD_NUMBER: builtins.int - PATCHVERSION_FIELD_NUMBER: builtins.int - COLLECTIONNAME_FIELD_NUMBER: builtins.int - FIRSTFOURBYTESFROMAHASHOFSNAPSHOTMACKEY_FIELD_NUMBER: builtins.int - NEWLTHASHSUBTRACT_FIELD_NUMBER: builtins.int - NUMBERADD_FIELD_NUMBER: builtins.int - NUMBERREMOVE_FIELD_NUMBER: builtins.int - NUMBEROVERRIDE_FIELD_NUMBER: builtins.int - SENDERPLATFORM_FIELD_NUMBER: builtins.int - ISSENDERPRIMARY_FIELD_NUMBER: builtins.int - currentLthash: builtins.bytes - newLthash: builtins.bytes - patchVersion: builtins.bytes - collectionName: builtins.bytes - firstFourBytesFromAHashOfSnapshotMacKey: builtins.bytes - newLthashSubtract: builtins.bytes - numberAdd: builtins.int - numberRemove: builtins.int - numberOverride: builtins.int - senderPlatform: global___PatchDebugData.Platform.ValueType - isSenderPrimary: builtins.bool - def __init__( - self, - *, - currentLthash: builtins.bytes | None = ..., - newLthash: builtins.bytes | None = ..., - patchVersion: builtins.bytes | None = ..., - collectionName: builtins.bytes | None = ..., - firstFourBytesFromAHashOfSnapshotMacKey: builtins.bytes | None = ..., - newLthashSubtract: builtins.bytes | None = ..., - numberAdd: builtins.int | None = ..., - numberRemove: builtins.int | None = ..., - numberOverride: builtins.int | None = ..., - senderPlatform: global___PatchDebugData.Platform.ValueType | None = ..., - isSenderPrimary: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["collectionName", b"collectionName", "currentLthash", b"currentLthash", "firstFourBytesFromAHashOfSnapshotMacKey", b"firstFourBytesFromAHashOfSnapshotMacKey", "isSenderPrimary", b"isSenderPrimary", "newLthash", b"newLthash", "newLthashSubtract", b"newLthashSubtract", "numberAdd", b"numberAdd", "numberOverride", b"numberOverride", "numberRemove", b"numberRemove", "patchVersion", b"patchVersion", "senderPlatform", b"senderPlatform"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["collectionName", b"collectionName", "currentLthash", b"currentLthash", "firstFourBytesFromAHashOfSnapshotMacKey", b"firstFourBytesFromAHashOfSnapshotMacKey", "isSenderPrimary", b"isSenderPrimary", "newLthash", b"newLthash", "newLthashSubtract", b"newLthashSubtract", "numberAdd", b"numberAdd", "numberOverride", b"numberOverride", "numberRemove", b"numberRemove", "patchVersion", b"patchVersion", "senderPlatform", b"senderPlatform"]) -> None: ... - -global___PatchDebugData = PatchDebugData - -@typing_extensions.final -class CallLogRecord(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _SilenceReason: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _SilenceReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogRecord._SilenceReason.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - NONE: CallLogRecord._SilenceReason.ValueType # 0 - SCHEDULED: CallLogRecord._SilenceReason.ValueType # 1 - PRIVACY: CallLogRecord._SilenceReason.ValueType # 2 - LIGHTWEIGHT: CallLogRecord._SilenceReason.ValueType # 3 - - class SilenceReason(_SilenceReason, metaclass=_SilenceReasonEnumTypeWrapper): ... - NONE: CallLogRecord.SilenceReason.ValueType # 0 - SCHEDULED: CallLogRecord.SilenceReason.ValueType # 1 - PRIVACY: CallLogRecord.SilenceReason.ValueType # 2 - LIGHTWEIGHT: CallLogRecord.SilenceReason.ValueType # 3 - - class _CallType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _CallTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogRecord._CallType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - REGULAR: CallLogRecord._CallType.ValueType # 0 - SCHEDULED_CALL: CallLogRecord._CallType.ValueType # 1 - VOICE_CHAT: CallLogRecord._CallType.ValueType # 2 - - class CallType(_CallType, metaclass=_CallTypeEnumTypeWrapper): ... - REGULAR: CallLogRecord.CallType.ValueType # 0 - SCHEDULED_CALL: CallLogRecord.CallType.ValueType # 1 - VOICE_CHAT: CallLogRecord.CallType.ValueType # 2 - - class _CallResult: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _CallResultEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogRecord._CallResult.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - CONNECTED: CallLogRecord._CallResult.ValueType # 0 - REJECTED: CallLogRecord._CallResult.ValueType # 1 - CANCELLED: CallLogRecord._CallResult.ValueType # 2 - ACCEPTEDELSEWHERE: CallLogRecord._CallResult.ValueType # 3 - MISSED: CallLogRecord._CallResult.ValueType # 4 - INVALID: CallLogRecord._CallResult.ValueType # 5 - UNAVAILABLE: CallLogRecord._CallResult.ValueType # 6 - UPCOMING: CallLogRecord._CallResult.ValueType # 7 - FAILED: CallLogRecord._CallResult.ValueType # 8 - ABANDONED: CallLogRecord._CallResult.ValueType # 9 - ONGOING: CallLogRecord._CallResult.ValueType # 10 - - class CallResult(_CallResult, metaclass=_CallResultEnumTypeWrapper): ... - CONNECTED: CallLogRecord.CallResult.ValueType # 0 - REJECTED: CallLogRecord.CallResult.ValueType # 1 - CANCELLED: CallLogRecord.CallResult.ValueType # 2 - ACCEPTEDELSEWHERE: CallLogRecord.CallResult.ValueType # 3 - MISSED: CallLogRecord.CallResult.ValueType # 4 - INVALID: CallLogRecord.CallResult.ValueType # 5 - UNAVAILABLE: CallLogRecord.CallResult.ValueType # 6 - UPCOMING: CallLogRecord.CallResult.ValueType # 7 - FAILED: CallLogRecord.CallResult.ValueType # 8 - ABANDONED: CallLogRecord.CallResult.ValueType # 9 - ONGOING: CallLogRecord.CallResult.ValueType # 10 - - @typing_extensions.final - class ParticipantInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USERJID_FIELD_NUMBER: builtins.int - CALLRESULT_FIELD_NUMBER: builtins.int - userJid: builtins.str - callResult: global___CallLogRecord.CallResult.ValueType - def __init__( - self, - *, - userJid: builtins.str | None = ..., - callResult: global___CallLogRecord.CallResult.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["callResult", b"callResult", "userJid", b"userJid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["callResult", b"callResult", "userJid", b"userJid"]) -> None: ... - - CALLRESULT_FIELD_NUMBER: builtins.int - ISDNDMODE_FIELD_NUMBER: builtins.int - SILENCEREASON_FIELD_NUMBER: builtins.int - DURATION_FIELD_NUMBER: builtins.int - STARTTIME_FIELD_NUMBER: builtins.int - ISINCOMING_FIELD_NUMBER: builtins.int - ISVIDEO_FIELD_NUMBER: builtins.int - ISCALLLINK_FIELD_NUMBER: builtins.int - CALLLINKTOKEN_FIELD_NUMBER: builtins.int - SCHEDULEDCALLID_FIELD_NUMBER: builtins.int - CALLID_FIELD_NUMBER: builtins.int - CALLCREATORJID_FIELD_NUMBER: builtins.int - GROUPJID_FIELD_NUMBER: builtins.int - PARTICIPANTS_FIELD_NUMBER: builtins.int - CALLTYPE_FIELD_NUMBER: builtins.int - callResult: global___CallLogRecord.CallResult.ValueType - isDndMode: builtins.bool - silenceReason: global___CallLogRecord.SilenceReason.ValueType - duration: builtins.int - startTime: builtins.int - isIncoming: builtins.bool - isVideo: builtins.bool - isCallLink: builtins.bool - callLinkToken: builtins.str - scheduledCallId: builtins.str - callId: builtins.str - callCreatorJid: builtins.str - groupJid: builtins.str - @property - def participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CallLogRecord.ParticipantInfo]: ... - callType: global___CallLogRecord.CallType.ValueType - def __init__( - self, - *, - callResult: global___CallLogRecord.CallResult.ValueType | None = ..., - isDndMode: builtins.bool | None = ..., - silenceReason: global___CallLogRecord.SilenceReason.ValueType | None = ..., - duration: builtins.int | None = ..., - startTime: builtins.int | None = ..., - isIncoming: builtins.bool | None = ..., - isVideo: builtins.bool | None = ..., - isCallLink: builtins.bool | None = ..., - callLinkToken: builtins.str | None = ..., - scheduledCallId: builtins.str | None = ..., - callId: builtins.str | None = ..., - callCreatorJid: builtins.str | None = ..., - groupJid: builtins.str | None = ..., - participants: collections.abc.Iterable[global___CallLogRecord.ParticipantInfo] | None = ..., - callType: global___CallLogRecord.CallType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["callCreatorJid", b"callCreatorJid", "callId", b"callId", "callLinkToken", b"callLinkToken", "callResult", b"callResult", "callType", b"callType", "duration", b"duration", "groupJid", b"groupJid", "isCallLink", b"isCallLink", "isDndMode", b"isDndMode", "isIncoming", b"isIncoming", "isVideo", b"isVideo", "scheduledCallId", b"scheduledCallId", "silenceReason", b"silenceReason", "startTime", b"startTime"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["callCreatorJid", b"callCreatorJid", "callId", b"callId", "callLinkToken", b"callLinkToken", "callResult", b"callResult", "callType", b"callType", "duration", b"duration", "groupJid", b"groupJid", "isCallLink", b"isCallLink", "isDndMode", b"isDndMode", "isIncoming", b"isIncoming", "isVideo", b"isVideo", "participants", b"participants", "scheduledCallId", b"scheduledCallId", "silenceReason", b"silenceReason", "startTime", b"startTime"]) -> None: ... - -global___CallLogRecord = CallLogRecord - -@typing_extensions.final -class VerifiedNameCertificate(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class Details(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SERIAL_FIELD_NUMBER: builtins.int - ISSUER_FIELD_NUMBER: builtins.int - VERIFIEDNAME_FIELD_NUMBER: builtins.int - LOCALIZEDNAMES_FIELD_NUMBER: builtins.int - ISSUETIME_FIELD_NUMBER: builtins.int - serial: builtins.int - issuer: builtins.str - verifiedName: builtins.str - @property - def localizedNames(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LocalizedName]: ... - issueTime: builtins.int - def __init__( - self, - *, - serial: builtins.int | None = ..., - issuer: builtins.str | None = ..., - verifiedName: builtins.str | None = ..., - localizedNames: collections.abc.Iterable[global___LocalizedName] | None = ..., - issueTime: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["issueTime", b"issueTime", "issuer", b"issuer", "serial", b"serial", "verifiedName", b"verifiedName"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["issueTime", b"issueTime", "issuer", b"issuer", "localizedNames", b"localizedNames", "serial", b"serial", "verifiedName", b"verifiedName"]) -> None: ... - - DETAILS_FIELD_NUMBER: builtins.int - SIGNATURE_FIELD_NUMBER: builtins.int - SERVERSIGNATURE_FIELD_NUMBER: builtins.int - details: builtins.bytes - signature: builtins.bytes - serverSignature: builtins.bytes - def __init__( - self, - *, - details: builtins.bytes | None = ..., - signature: builtins.bytes | None = ..., - serverSignature: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["details", b"details", "serverSignature", b"serverSignature", "signature", b"signature"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["details", b"details", "serverSignature", b"serverSignature", "signature", b"signature"]) -> None: ... - -global___VerifiedNameCertificate = VerifiedNameCertificate - -@typing_extensions.final -class LocalizedName(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LG_FIELD_NUMBER: builtins.int - LC_FIELD_NUMBER: builtins.int - VERIFIEDNAME_FIELD_NUMBER: builtins.int - lg: builtins.str - lc: builtins.str - verifiedName: builtins.str - def __init__( - self, - *, - lg: builtins.str | None = ..., - lc: builtins.str | None = ..., - verifiedName: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["lc", b"lc", "lg", b"lg", "verifiedName", b"verifiedName"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["lc", b"lc", "lg", b"lg", "verifiedName", b"verifiedName"]) -> None: ... - -global___LocalizedName = LocalizedName - -@typing_extensions.final -class BizIdentityInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _VerifiedLevelValue: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _VerifiedLevelValueEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BizIdentityInfo._VerifiedLevelValue.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: BizIdentityInfo._VerifiedLevelValue.ValueType # 0 - LOW: BizIdentityInfo._VerifiedLevelValue.ValueType # 1 - HIGH: BizIdentityInfo._VerifiedLevelValue.ValueType # 2 - - class VerifiedLevelValue(_VerifiedLevelValue, metaclass=_VerifiedLevelValueEnumTypeWrapper): ... - UNKNOWN: BizIdentityInfo.VerifiedLevelValue.ValueType # 0 - LOW: BizIdentityInfo.VerifiedLevelValue.ValueType # 1 - HIGH: BizIdentityInfo.VerifiedLevelValue.ValueType # 2 - - class _HostStorageType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _HostStorageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BizIdentityInfo._HostStorageType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - ON_PREMISE: BizIdentityInfo._HostStorageType.ValueType # 0 - FACEBOOK: BizIdentityInfo._HostStorageType.ValueType # 1 - - class HostStorageType(_HostStorageType, metaclass=_HostStorageTypeEnumTypeWrapper): ... - ON_PREMISE: BizIdentityInfo.HostStorageType.ValueType # 0 - FACEBOOK: BizIdentityInfo.HostStorageType.ValueType # 1 - - class _ActualActorsType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ActualActorsTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BizIdentityInfo._ActualActorsType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - SELF: BizIdentityInfo._ActualActorsType.ValueType # 0 - BSP: BizIdentityInfo._ActualActorsType.ValueType # 1 - - class ActualActorsType(_ActualActorsType, metaclass=_ActualActorsTypeEnumTypeWrapper): ... - SELF: BizIdentityInfo.ActualActorsType.ValueType # 0 - BSP: BizIdentityInfo.ActualActorsType.ValueType # 1 - - VLEVEL_FIELD_NUMBER: builtins.int - VNAMECERT_FIELD_NUMBER: builtins.int - SIGNED_FIELD_NUMBER: builtins.int - REVOKED_FIELD_NUMBER: builtins.int - HOSTSTORAGE_FIELD_NUMBER: builtins.int - ACTUALACTORS_FIELD_NUMBER: builtins.int - PRIVACYMODETS_FIELD_NUMBER: builtins.int - FEATURECONTROLS_FIELD_NUMBER: builtins.int - vlevel: global___BizIdentityInfo.VerifiedLevelValue.ValueType - @property - def vnameCert(self) -> global___VerifiedNameCertificate: ... - signed: builtins.bool - revoked: builtins.bool - hostStorage: global___BizIdentityInfo.HostStorageType.ValueType - actualActors: global___BizIdentityInfo.ActualActorsType.ValueType - privacyModeTs: builtins.int - featureControls: builtins.int - def __init__( - self, - *, - vlevel: global___BizIdentityInfo.VerifiedLevelValue.ValueType | None = ..., - vnameCert: global___VerifiedNameCertificate | None = ..., - signed: builtins.bool | None = ..., - revoked: builtins.bool | None = ..., - hostStorage: global___BizIdentityInfo.HostStorageType.ValueType | None = ..., - actualActors: global___BizIdentityInfo.ActualActorsType.ValueType | None = ..., - privacyModeTs: builtins.int | None = ..., - featureControls: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["actualActors", b"actualActors", "featureControls", b"featureControls", "hostStorage", b"hostStorage", "privacyModeTs", b"privacyModeTs", "revoked", b"revoked", "signed", b"signed", "vlevel", b"vlevel", "vnameCert", b"vnameCert"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["actualActors", b"actualActors", "featureControls", b"featureControls", "hostStorage", b"hostStorage", "privacyModeTs", b"privacyModeTs", "revoked", b"revoked", "signed", b"signed", "vlevel", b"vlevel", "vnameCert", b"vnameCert"]) -> None: ... - -global___BizIdentityInfo = BizIdentityInfo - -@typing_extensions.final -class BizAccountPayload(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - VNAMECERT_FIELD_NUMBER: builtins.int - BIZACCTLINKINFO_FIELD_NUMBER: builtins.int - @property - def vnameCert(self) -> global___VerifiedNameCertificate: ... - bizAcctLinkInfo: builtins.bytes - def __init__( - self, - *, - vnameCert: global___VerifiedNameCertificate | None = ..., - bizAcctLinkInfo: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["bizAcctLinkInfo", b"bizAcctLinkInfo", "vnameCert", b"vnameCert"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["bizAcctLinkInfo", b"bizAcctLinkInfo", "vnameCert", b"vnameCert"]) -> None: ... - -global___BizAccountPayload = BizAccountPayload - -@typing_extensions.final -class BizAccountLinkInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _HostStorageType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _HostStorageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BizAccountLinkInfo._HostStorageType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - ON_PREMISE: BizAccountLinkInfo._HostStorageType.ValueType # 0 - FACEBOOK: BizAccountLinkInfo._HostStorageType.ValueType # 1 - - class HostStorageType(_HostStorageType, metaclass=_HostStorageTypeEnumTypeWrapper): ... - ON_PREMISE: BizAccountLinkInfo.HostStorageType.ValueType # 0 - FACEBOOK: BizAccountLinkInfo.HostStorageType.ValueType # 1 - - class _AccountType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _AccountTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BizAccountLinkInfo._AccountType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - ENTERPRISE: BizAccountLinkInfo._AccountType.ValueType # 0 - - class AccountType(_AccountType, metaclass=_AccountTypeEnumTypeWrapper): ... - ENTERPRISE: BizAccountLinkInfo.AccountType.ValueType # 0 - - WHATSAPPBIZACCTFBID_FIELD_NUMBER: builtins.int - WHATSAPPACCTNUMBER_FIELD_NUMBER: builtins.int - ISSUETIME_FIELD_NUMBER: builtins.int - HOSTSTORAGE_FIELD_NUMBER: builtins.int - ACCOUNTTYPE_FIELD_NUMBER: builtins.int - whatsappBizAcctFbid: builtins.int - whatsappAcctNumber: builtins.str - issueTime: builtins.int - hostStorage: global___BizAccountLinkInfo.HostStorageType.ValueType - accountType: global___BizAccountLinkInfo.AccountType.ValueType - def __init__( - self, - *, - whatsappBizAcctFbid: builtins.int | None = ..., - whatsappAcctNumber: builtins.str | None = ..., - issueTime: builtins.int | None = ..., - hostStorage: global___BizAccountLinkInfo.HostStorageType.ValueType | None = ..., - accountType: global___BizAccountLinkInfo.AccountType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["accountType", b"accountType", "hostStorage", b"hostStorage", "issueTime", b"issueTime", "whatsappAcctNumber", b"whatsappAcctNumber", "whatsappBizAcctFbid", b"whatsappBizAcctFbid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["accountType", b"accountType", "hostStorage", b"hostStorage", "issueTime", b"issueTime", "whatsappAcctNumber", b"whatsappAcctNumber", "whatsappBizAcctFbid", b"whatsappBizAcctFbid"]) -> None: ... - -global___BizAccountLinkInfo = BizAccountLinkInfo - -@typing_extensions.final -class HandshakeMessage(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CLIENTHELLO_FIELD_NUMBER: builtins.int - SERVERHELLO_FIELD_NUMBER: builtins.int - CLIENTFINISH_FIELD_NUMBER: builtins.int - @property - def clientHello(self) -> global___HandshakeClientHello: ... - @property - def serverHello(self) -> global___HandshakeServerHello: ... - @property - def clientFinish(self) -> global___HandshakeClientFinish: ... - def __init__( - self, - *, - clientHello: global___HandshakeClientHello | None = ..., - serverHello: global___HandshakeServerHello | None = ..., - clientFinish: global___HandshakeClientFinish | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["clientFinish", b"clientFinish", "clientHello", b"clientHello", "serverHello", b"serverHello"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["clientFinish", b"clientFinish", "clientHello", b"clientHello", "serverHello", b"serverHello"]) -> None: ... - -global___HandshakeMessage = HandshakeMessage - -@typing_extensions.final -class HandshakeServerHello(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EPHEMERAL_FIELD_NUMBER: builtins.int - STATIC_FIELD_NUMBER: builtins.int - PAYLOAD_FIELD_NUMBER: builtins.int - ephemeral: builtins.bytes - static: builtins.bytes - payload: builtins.bytes - def __init__( - self, - *, - ephemeral: builtins.bytes | None = ..., - static: builtins.bytes | None = ..., - payload: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["ephemeral", b"ephemeral", "payload", b"payload", "static", b"static"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["ephemeral", b"ephemeral", "payload", b"payload", "static", b"static"]) -> None: ... - -global___HandshakeServerHello = HandshakeServerHello - -@typing_extensions.final -class HandshakeClientHello(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EPHEMERAL_FIELD_NUMBER: builtins.int - STATIC_FIELD_NUMBER: builtins.int - PAYLOAD_FIELD_NUMBER: builtins.int - ephemeral: builtins.bytes - static: builtins.bytes - payload: builtins.bytes - def __init__( - self, - *, - ephemeral: builtins.bytes | None = ..., - static: builtins.bytes | None = ..., - payload: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["ephemeral", b"ephemeral", "payload", b"payload", "static", b"static"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["ephemeral", b"ephemeral", "payload", b"payload", "static", b"static"]) -> None: ... - -global___HandshakeClientHello = HandshakeClientHello - -@typing_extensions.final -class HandshakeClientFinish(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - STATIC_FIELD_NUMBER: builtins.int - PAYLOAD_FIELD_NUMBER: builtins.int - static: builtins.bytes - payload: builtins.bytes - def __init__( - self, - *, - static: builtins.bytes | None = ..., - payload: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["payload", b"payload", "static", b"static"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["payload", b"payload", "static", b"static"]) -> None: ... - -global___HandshakeClientFinish = HandshakeClientFinish - -@typing_extensions.final -class ClientPayload(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Product: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ProductEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload._Product.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - WHATSAPP: ClientPayload._Product.ValueType # 0 - MESSENGER: ClientPayload._Product.ValueType # 1 - INTEROP: ClientPayload._Product.ValueType # 2 - INTEROP_MSGR: ClientPayload._Product.ValueType # 3 - - class Product(_Product, metaclass=_ProductEnumTypeWrapper): ... - WHATSAPP: ClientPayload.Product.ValueType # 0 - MESSENGER: ClientPayload.Product.ValueType # 1 - INTEROP: ClientPayload.Product.ValueType # 2 - INTEROP_MSGR: ClientPayload.Product.ValueType # 3 - - class _IOSAppExtension: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _IOSAppExtensionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload._IOSAppExtension.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - SHARE_EXTENSION: ClientPayload._IOSAppExtension.ValueType # 0 - SERVICE_EXTENSION: ClientPayload._IOSAppExtension.ValueType # 1 - INTENTS_EXTENSION: ClientPayload._IOSAppExtension.ValueType # 2 - - class IOSAppExtension(_IOSAppExtension, metaclass=_IOSAppExtensionEnumTypeWrapper): ... - SHARE_EXTENSION: ClientPayload.IOSAppExtension.ValueType # 0 - SERVICE_EXTENSION: ClientPayload.IOSAppExtension.ValueType # 1 - INTENTS_EXTENSION: ClientPayload.IOSAppExtension.ValueType # 2 - - class _ConnectType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ConnectTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload._ConnectType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - CELLULAR_UNKNOWN: ClientPayload._ConnectType.ValueType # 0 - WIFI_UNKNOWN: ClientPayload._ConnectType.ValueType # 1 - CELLULAR_EDGE: ClientPayload._ConnectType.ValueType # 100 - CELLULAR_IDEN: ClientPayload._ConnectType.ValueType # 101 - CELLULAR_UMTS: ClientPayload._ConnectType.ValueType # 102 - CELLULAR_EVDO: ClientPayload._ConnectType.ValueType # 103 - CELLULAR_GPRS: ClientPayload._ConnectType.ValueType # 104 - CELLULAR_HSDPA: ClientPayload._ConnectType.ValueType # 105 - CELLULAR_HSUPA: ClientPayload._ConnectType.ValueType # 106 - CELLULAR_HSPA: ClientPayload._ConnectType.ValueType # 107 - CELLULAR_CDMA: ClientPayload._ConnectType.ValueType # 108 - CELLULAR_1XRTT: ClientPayload._ConnectType.ValueType # 109 - CELLULAR_EHRPD: ClientPayload._ConnectType.ValueType # 110 - CELLULAR_LTE: ClientPayload._ConnectType.ValueType # 111 - CELLULAR_HSPAP: ClientPayload._ConnectType.ValueType # 112 - - class ConnectType(_ConnectType, metaclass=_ConnectTypeEnumTypeWrapper): ... - CELLULAR_UNKNOWN: ClientPayload.ConnectType.ValueType # 0 - WIFI_UNKNOWN: ClientPayload.ConnectType.ValueType # 1 - CELLULAR_EDGE: ClientPayload.ConnectType.ValueType # 100 - CELLULAR_IDEN: ClientPayload.ConnectType.ValueType # 101 - CELLULAR_UMTS: ClientPayload.ConnectType.ValueType # 102 - CELLULAR_EVDO: ClientPayload.ConnectType.ValueType # 103 - CELLULAR_GPRS: ClientPayload.ConnectType.ValueType # 104 - CELLULAR_HSDPA: ClientPayload.ConnectType.ValueType # 105 - CELLULAR_HSUPA: ClientPayload.ConnectType.ValueType # 106 - CELLULAR_HSPA: ClientPayload.ConnectType.ValueType # 107 - CELLULAR_CDMA: ClientPayload.ConnectType.ValueType # 108 - CELLULAR_1XRTT: ClientPayload.ConnectType.ValueType # 109 - CELLULAR_EHRPD: ClientPayload.ConnectType.ValueType # 110 - CELLULAR_LTE: ClientPayload.ConnectType.ValueType # 111 - CELLULAR_HSPAP: ClientPayload.ConnectType.ValueType # 112 - - class _ConnectReason: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ConnectReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload._ConnectReason.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - PUSH: ClientPayload._ConnectReason.ValueType # 0 - USER_ACTIVATED: ClientPayload._ConnectReason.ValueType # 1 - SCHEDULED: ClientPayload._ConnectReason.ValueType # 2 - ERROR_RECONNECT: ClientPayload._ConnectReason.ValueType # 3 - NETWORK_SWITCH: ClientPayload._ConnectReason.ValueType # 4 - PING_RECONNECT: ClientPayload._ConnectReason.ValueType # 5 - UNKNOWN: ClientPayload._ConnectReason.ValueType # 6 - - class ConnectReason(_ConnectReason, metaclass=_ConnectReasonEnumTypeWrapper): ... - PUSH: ClientPayload.ConnectReason.ValueType # 0 - USER_ACTIVATED: ClientPayload.ConnectReason.ValueType # 1 - SCHEDULED: ClientPayload.ConnectReason.ValueType # 2 - ERROR_RECONNECT: ClientPayload.ConnectReason.ValueType # 3 - NETWORK_SWITCH: ClientPayload.ConnectReason.ValueType # 4 - PING_RECONNECT: ClientPayload.ConnectReason.ValueType # 5 - UNKNOWN: ClientPayload.ConnectReason.ValueType # 6 - - @typing_extensions.final - class WebInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _WebSubPlatform: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _WebSubPlatformEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload.WebInfo._WebSubPlatform.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - WEB_BROWSER: ClientPayload.WebInfo._WebSubPlatform.ValueType # 0 - APP_STORE: ClientPayload.WebInfo._WebSubPlatform.ValueType # 1 - WIN_STORE: ClientPayload.WebInfo._WebSubPlatform.ValueType # 2 - DARWIN: ClientPayload.WebInfo._WebSubPlatform.ValueType # 3 - WIN32: ClientPayload.WebInfo._WebSubPlatform.ValueType # 4 - - class WebSubPlatform(_WebSubPlatform, metaclass=_WebSubPlatformEnumTypeWrapper): ... - WEB_BROWSER: ClientPayload.WebInfo.WebSubPlatform.ValueType # 0 - APP_STORE: ClientPayload.WebInfo.WebSubPlatform.ValueType # 1 - WIN_STORE: ClientPayload.WebInfo.WebSubPlatform.ValueType # 2 - DARWIN: ClientPayload.WebInfo.WebSubPlatform.ValueType # 3 - WIN32: ClientPayload.WebInfo.WebSubPlatform.ValueType # 4 - - @typing_extensions.final - class WebdPayload(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USESPARTICIPANTINKEY_FIELD_NUMBER: builtins.int - SUPPORTSSTARREDMESSAGES_FIELD_NUMBER: builtins.int - SUPPORTSDOCUMENTMESSAGES_FIELD_NUMBER: builtins.int - SUPPORTSURLMESSAGES_FIELD_NUMBER: builtins.int - SUPPORTSMEDIARETRY_FIELD_NUMBER: builtins.int - SUPPORTSE2EIMAGE_FIELD_NUMBER: builtins.int - SUPPORTSE2EVIDEO_FIELD_NUMBER: builtins.int - SUPPORTSE2EAUDIO_FIELD_NUMBER: builtins.int - SUPPORTSE2EDOCUMENT_FIELD_NUMBER: builtins.int - DOCUMENTTYPES_FIELD_NUMBER: builtins.int - FEATURES_FIELD_NUMBER: builtins.int - usesParticipantInKey: builtins.bool - supportsStarredMessages: builtins.bool - supportsDocumentMessages: builtins.bool - supportsUrlMessages: builtins.bool - supportsMediaRetry: builtins.bool - supportsE2EImage: builtins.bool - supportsE2EVideo: builtins.bool - supportsE2EAudio: builtins.bool - supportsE2EDocument: builtins.bool - documentTypes: builtins.str - features: builtins.bytes - def __init__( - self, - *, - usesParticipantInKey: builtins.bool | None = ..., - supportsStarredMessages: builtins.bool | None = ..., - supportsDocumentMessages: builtins.bool | None = ..., - supportsUrlMessages: builtins.bool | None = ..., - supportsMediaRetry: builtins.bool | None = ..., - supportsE2EImage: builtins.bool | None = ..., - supportsE2EVideo: builtins.bool | None = ..., - supportsE2EAudio: builtins.bool | None = ..., - supportsE2EDocument: builtins.bool | None = ..., - documentTypes: builtins.str | None = ..., - features: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["documentTypes", b"documentTypes", "features", b"features", "supportsDocumentMessages", b"supportsDocumentMessages", "supportsE2EAudio", b"supportsE2EAudio", "supportsE2EDocument", b"supportsE2EDocument", "supportsE2EImage", b"supportsE2EImage", "supportsE2EVideo", b"supportsE2EVideo", "supportsMediaRetry", b"supportsMediaRetry", "supportsStarredMessages", b"supportsStarredMessages", "supportsUrlMessages", b"supportsUrlMessages", "usesParticipantInKey", b"usesParticipantInKey"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["documentTypes", b"documentTypes", "features", b"features", "supportsDocumentMessages", b"supportsDocumentMessages", "supportsE2EAudio", b"supportsE2EAudio", "supportsE2EDocument", b"supportsE2EDocument", "supportsE2EImage", b"supportsE2EImage", "supportsE2EVideo", b"supportsE2EVideo", "supportsMediaRetry", b"supportsMediaRetry", "supportsStarredMessages", b"supportsStarredMessages", "supportsUrlMessages", b"supportsUrlMessages", "usesParticipantInKey", b"usesParticipantInKey"]) -> None: ... - - REFTOKEN_FIELD_NUMBER: builtins.int - VERSION_FIELD_NUMBER: builtins.int - WEBDPAYLOAD_FIELD_NUMBER: builtins.int - WEBSUBPLATFORM_FIELD_NUMBER: builtins.int - refToken: builtins.str - version: builtins.str - @property - def webdPayload(self) -> global___ClientPayload.WebInfo.WebdPayload: ... - webSubPlatform: global___ClientPayload.WebInfo.WebSubPlatform.ValueType - def __init__( - self, - *, - refToken: builtins.str | None = ..., - version: builtins.str | None = ..., - webdPayload: global___ClientPayload.WebInfo.WebdPayload | None = ..., - webSubPlatform: global___ClientPayload.WebInfo.WebSubPlatform.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["refToken", b"refToken", "version", b"version", "webSubPlatform", b"webSubPlatform", "webdPayload", b"webdPayload"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["refToken", b"refToken", "version", b"version", "webSubPlatform", b"webSubPlatform", "webdPayload", b"webdPayload"]) -> None: ... - - @typing_extensions.final - class UserAgent(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _ReleaseChannel: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ReleaseChannelEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload.UserAgent._ReleaseChannel.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - RELEASE: ClientPayload.UserAgent._ReleaseChannel.ValueType # 0 - BETA: ClientPayload.UserAgent._ReleaseChannel.ValueType # 1 - ALPHA: ClientPayload.UserAgent._ReleaseChannel.ValueType # 2 - DEBUG: ClientPayload.UserAgent._ReleaseChannel.ValueType # 3 - - class ReleaseChannel(_ReleaseChannel, metaclass=_ReleaseChannelEnumTypeWrapper): ... - RELEASE: ClientPayload.UserAgent.ReleaseChannel.ValueType # 0 - BETA: ClientPayload.UserAgent.ReleaseChannel.ValueType # 1 - ALPHA: ClientPayload.UserAgent.ReleaseChannel.ValueType # 2 - DEBUG: ClientPayload.UserAgent.ReleaseChannel.ValueType # 3 - - class _Platform: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _PlatformEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload.UserAgent._Platform.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - ANDROID: ClientPayload.UserAgent._Platform.ValueType # 0 - IOS: ClientPayload.UserAgent._Platform.ValueType # 1 - WINDOWS_PHONE: ClientPayload.UserAgent._Platform.ValueType # 2 - BLACKBERRY: ClientPayload.UserAgent._Platform.ValueType # 3 - BLACKBERRYX: ClientPayload.UserAgent._Platform.ValueType # 4 - S40: ClientPayload.UserAgent._Platform.ValueType # 5 - S60: ClientPayload.UserAgent._Platform.ValueType # 6 - PYTHON_CLIENT: ClientPayload.UserAgent._Platform.ValueType # 7 - TIZEN: ClientPayload.UserAgent._Platform.ValueType # 8 - ENTERPRISE: ClientPayload.UserAgent._Platform.ValueType # 9 - SMB_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 10 - KAIOS: ClientPayload.UserAgent._Platform.ValueType # 11 - SMB_IOS: ClientPayload.UserAgent._Platform.ValueType # 12 - WINDOWS: ClientPayload.UserAgent._Platform.ValueType # 13 - WEB: ClientPayload.UserAgent._Platform.ValueType # 14 - PORTAL: ClientPayload.UserAgent._Platform.ValueType # 15 - GREEN_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 16 - GREEN_IPHONE: ClientPayload.UserAgent._Platform.ValueType # 17 - BLUE_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 18 - BLUE_IPHONE: ClientPayload.UserAgent._Platform.ValueType # 19 - FBLITE_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 20 - MLITE_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 21 - IGLITE_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 22 - PAGE: ClientPayload.UserAgent._Platform.ValueType # 23 - MACOS: ClientPayload.UserAgent._Platform.ValueType # 24 - OCULUS_MSG: ClientPayload.UserAgent._Platform.ValueType # 25 - OCULUS_CALL: ClientPayload.UserAgent._Platform.ValueType # 26 - MILAN: ClientPayload.UserAgent._Platform.ValueType # 27 - CAPI: ClientPayload.UserAgent._Platform.ValueType # 28 - WEAROS: ClientPayload.UserAgent._Platform.ValueType # 29 - ARDEVICE: ClientPayload.UserAgent._Platform.ValueType # 30 - VRDEVICE: ClientPayload.UserAgent._Platform.ValueType # 31 - BLUE_WEB: ClientPayload.UserAgent._Platform.ValueType # 32 - IPAD: ClientPayload.UserAgent._Platform.ValueType # 33 - TEST: ClientPayload.UserAgent._Platform.ValueType # 34 - - class Platform(_Platform, metaclass=_PlatformEnumTypeWrapper): ... - ANDROID: ClientPayload.UserAgent.Platform.ValueType # 0 - IOS: ClientPayload.UserAgent.Platform.ValueType # 1 - WINDOWS_PHONE: ClientPayload.UserAgent.Platform.ValueType # 2 - BLACKBERRY: ClientPayload.UserAgent.Platform.ValueType # 3 - BLACKBERRYX: ClientPayload.UserAgent.Platform.ValueType # 4 - S40: ClientPayload.UserAgent.Platform.ValueType # 5 - S60: ClientPayload.UserAgent.Platform.ValueType # 6 - PYTHON_CLIENT: ClientPayload.UserAgent.Platform.ValueType # 7 - TIZEN: ClientPayload.UserAgent.Platform.ValueType # 8 - ENTERPRISE: ClientPayload.UserAgent.Platform.ValueType # 9 - SMB_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 10 - KAIOS: ClientPayload.UserAgent.Platform.ValueType # 11 - SMB_IOS: ClientPayload.UserAgent.Platform.ValueType # 12 - WINDOWS: ClientPayload.UserAgent.Platform.ValueType # 13 - WEB: ClientPayload.UserAgent.Platform.ValueType # 14 - PORTAL: ClientPayload.UserAgent.Platform.ValueType # 15 - GREEN_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 16 - GREEN_IPHONE: ClientPayload.UserAgent.Platform.ValueType # 17 - BLUE_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 18 - BLUE_IPHONE: ClientPayload.UserAgent.Platform.ValueType # 19 - FBLITE_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 20 - MLITE_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 21 - IGLITE_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 22 - PAGE: ClientPayload.UserAgent.Platform.ValueType # 23 - MACOS: ClientPayload.UserAgent.Platform.ValueType # 24 - OCULUS_MSG: ClientPayload.UserAgent.Platform.ValueType # 25 - OCULUS_CALL: ClientPayload.UserAgent.Platform.ValueType # 26 - MILAN: ClientPayload.UserAgent.Platform.ValueType # 27 - CAPI: ClientPayload.UserAgent.Platform.ValueType # 28 - WEAROS: ClientPayload.UserAgent.Platform.ValueType # 29 - ARDEVICE: ClientPayload.UserAgent.Platform.ValueType # 30 - VRDEVICE: ClientPayload.UserAgent.Platform.ValueType # 31 - BLUE_WEB: ClientPayload.UserAgent.Platform.ValueType # 32 - IPAD: ClientPayload.UserAgent.Platform.ValueType # 33 - TEST: ClientPayload.UserAgent.Platform.ValueType # 34 - - class _DeviceType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _DeviceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload.UserAgent._DeviceType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - PHONE: ClientPayload.UserAgent._DeviceType.ValueType # 0 - TABLET: ClientPayload.UserAgent._DeviceType.ValueType # 1 - DESKTOP: ClientPayload.UserAgent._DeviceType.ValueType # 2 - WEARABLE: ClientPayload.UserAgent._DeviceType.ValueType # 3 - VR: ClientPayload.UserAgent._DeviceType.ValueType # 4 - - class DeviceType(_DeviceType, metaclass=_DeviceTypeEnumTypeWrapper): ... - PHONE: ClientPayload.UserAgent.DeviceType.ValueType # 0 - TABLET: ClientPayload.UserAgent.DeviceType.ValueType # 1 - DESKTOP: ClientPayload.UserAgent.DeviceType.ValueType # 2 - WEARABLE: ClientPayload.UserAgent.DeviceType.ValueType # 3 - VR: ClientPayload.UserAgent.DeviceType.ValueType # 4 - - @typing_extensions.final - class AppVersion(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PRIMARY_FIELD_NUMBER: builtins.int - SECONDARY_FIELD_NUMBER: builtins.int - TERTIARY_FIELD_NUMBER: builtins.int - QUATERNARY_FIELD_NUMBER: builtins.int - QUINARY_FIELD_NUMBER: builtins.int - primary: builtins.int - secondary: builtins.int - tertiary: builtins.int - quaternary: builtins.int - quinary: builtins.int - def __init__( - self, - *, - primary: builtins.int | None = ..., - secondary: builtins.int | None = ..., - tertiary: builtins.int | None = ..., - quaternary: builtins.int | None = ..., - quinary: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]) -> None: ... - - PLATFORM_FIELD_NUMBER: builtins.int - APPVERSION_FIELD_NUMBER: builtins.int - MCC_FIELD_NUMBER: builtins.int - MNC_FIELD_NUMBER: builtins.int - OSVERSION_FIELD_NUMBER: builtins.int - MANUFACTURER_FIELD_NUMBER: builtins.int - DEVICE_FIELD_NUMBER: builtins.int - OSBUILDNUMBER_FIELD_NUMBER: builtins.int - PHONEID_FIELD_NUMBER: builtins.int - RELEASECHANNEL_FIELD_NUMBER: builtins.int - LOCALELANGUAGEISO6391_FIELD_NUMBER: builtins.int - LOCALECOUNTRYISO31661ALPHA2_FIELD_NUMBER: builtins.int - DEVICEBOARD_FIELD_NUMBER: builtins.int - DEVICEEXPID_FIELD_NUMBER: builtins.int - DEVICETYPE_FIELD_NUMBER: builtins.int - platform: global___ClientPayload.UserAgent.Platform.ValueType - @property - def appVersion(self) -> global___ClientPayload.UserAgent.AppVersion: ... - mcc: builtins.str - mnc: builtins.str - osVersion: builtins.str - manufacturer: builtins.str - device: builtins.str - osBuildNumber: builtins.str - phoneId: builtins.str - releaseChannel: global___ClientPayload.UserAgent.ReleaseChannel.ValueType - localeLanguageIso6391: builtins.str - localeCountryIso31661Alpha2: builtins.str - deviceBoard: builtins.str - deviceExpId: builtins.str - deviceType: global___ClientPayload.UserAgent.DeviceType.ValueType - def __init__( - self, - *, - platform: global___ClientPayload.UserAgent.Platform.ValueType | None = ..., - appVersion: global___ClientPayload.UserAgent.AppVersion | None = ..., - mcc: builtins.str | None = ..., - mnc: builtins.str | None = ..., - osVersion: builtins.str | None = ..., - manufacturer: builtins.str | None = ..., - device: builtins.str | None = ..., - osBuildNumber: builtins.str | None = ..., - phoneId: builtins.str | None = ..., - releaseChannel: global___ClientPayload.UserAgent.ReleaseChannel.ValueType | None = ..., - localeLanguageIso6391: builtins.str | None = ..., - localeCountryIso31661Alpha2: builtins.str | None = ..., - deviceBoard: builtins.str | None = ..., - deviceExpId: builtins.str | None = ..., - deviceType: global___ClientPayload.UserAgent.DeviceType.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["appVersion", b"appVersion", "device", b"device", "deviceBoard", b"deviceBoard", "deviceExpId", b"deviceExpId", "deviceType", b"deviceType", "localeCountryIso31661Alpha2", b"localeCountryIso31661Alpha2", "localeLanguageIso6391", b"localeLanguageIso6391", "manufacturer", b"manufacturer", "mcc", b"mcc", "mnc", b"mnc", "osBuildNumber", b"osBuildNumber", "osVersion", b"osVersion", "phoneId", b"phoneId", "platform", b"platform", "releaseChannel", b"releaseChannel"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["appVersion", b"appVersion", "device", b"device", "deviceBoard", b"deviceBoard", "deviceExpId", b"deviceExpId", "deviceType", b"deviceType", "localeCountryIso31661Alpha2", b"localeCountryIso31661Alpha2", "localeLanguageIso6391", b"localeLanguageIso6391", "manufacturer", b"manufacturer", "mcc", b"mcc", "mnc", b"mnc", "osBuildNumber", b"osBuildNumber", "osVersion", b"osVersion", "phoneId", b"phoneId", "platform", b"platform", "releaseChannel", b"releaseChannel"]) -> None: ... - - @typing_extensions.final - class InteropData(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ACCOUNTID_FIELD_NUMBER: builtins.int - TOKEN_FIELD_NUMBER: builtins.int - accountId: builtins.int - token: builtins.bytes - def __init__( - self, - *, - accountId: builtins.int | None = ..., - token: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["accountId", b"accountId", "token", b"token"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["accountId", b"accountId", "token", b"token"]) -> None: ... - - @typing_extensions.final - class DevicePairingRegistrationData(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EREGID_FIELD_NUMBER: builtins.int - EKEYTYPE_FIELD_NUMBER: builtins.int - EIDENT_FIELD_NUMBER: builtins.int - ESKEYID_FIELD_NUMBER: builtins.int - ESKEYVAL_FIELD_NUMBER: builtins.int - ESKEYSIG_FIELD_NUMBER: builtins.int - BUILDHASH_FIELD_NUMBER: builtins.int - DEVICEPROPS_FIELD_NUMBER: builtins.int - eRegid: builtins.bytes - eKeytype: builtins.bytes - eIdent: builtins.bytes - eSkeyId: builtins.bytes - eSkeyVal: builtins.bytes - eSkeySig: builtins.bytes - buildHash: builtins.bytes - deviceProps: builtins.bytes - def __init__( - self, - *, - eRegid: builtins.bytes | None = ..., - eKeytype: builtins.bytes | None = ..., - eIdent: builtins.bytes | None = ..., - eSkeyId: builtins.bytes | None = ..., - eSkeyVal: builtins.bytes | None = ..., - eSkeySig: builtins.bytes | None = ..., - buildHash: builtins.bytes | None = ..., - deviceProps: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["buildHash", b"buildHash", "deviceProps", b"deviceProps", "eIdent", b"eIdent", "eKeytype", b"eKeytype", "eRegid", b"eRegid", "eSkeyId", b"eSkeyId", "eSkeySig", b"eSkeySig", "eSkeyVal", b"eSkeyVal"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["buildHash", b"buildHash", "deviceProps", b"deviceProps", "eIdent", b"eIdent", "eKeytype", b"eKeytype", "eRegid", b"eRegid", "eSkeyId", b"eSkeyId", "eSkeySig", b"eSkeySig", "eSkeyVal", b"eSkeyVal"]) -> None: ... - - @typing_extensions.final - class DNSSource(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _DNSResolutionMethod: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _DNSResolutionMethodEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload.DNSSource._DNSResolutionMethod.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - SYSTEM: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 0 - GOOGLE: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 1 - HARDCODED: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 2 - OVERRIDE: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 3 - FALLBACK: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 4 - - class DNSResolutionMethod(_DNSResolutionMethod, metaclass=_DNSResolutionMethodEnumTypeWrapper): ... - SYSTEM: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 0 - GOOGLE: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 1 - HARDCODED: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 2 - OVERRIDE: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 3 - FALLBACK: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 4 - - DNSMETHOD_FIELD_NUMBER: builtins.int - APPCACHED_FIELD_NUMBER: builtins.int - dnsMethod: global___ClientPayload.DNSSource.DNSResolutionMethod.ValueType - appCached: builtins.bool - def __init__( - self, - *, - dnsMethod: global___ClientPayload.DNSSource.DNSResolutionMethod.ValueType | None = ..., - appCached: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["appCached", b"appCached", "dnsMethod", b"dnsMethod"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["appCached", b"appCached", "dnsMethod", b"dnsMethod"]) -> None: ... - - USERNAME_FIELD_NUMBER: builtins.int - PASSIVE_FIELD_NUMBER: builtins.int - USERAGENT_FIELD_NUMBER: builtins.int - WEBINFO_FIELD_NUMBER: builtins.int - PUSHNAME_FIELD_NUMBER: builtins.int - SESSIONID_FIELD_NUMBER: builtins.int - SHORTCONNECT_FIELD_NUMBER: builtins.int - CONNECTTYPE_FIELD_NUMBER: builtins.int - CONNECTREASON_FIELD_NUMBER: builtins.int - SHARDS_FIELD_NUMBER: builtins.int - DNSSOURCE_FIELD_NUMBER: builtins.int - CONNECTATTEMPTCOUNT_FIELD_NUMBER: builtins.int - DEVICE_FIELD_NUMBER: builtins.int - DEVICEPAIRINGDATA_FIELD_NUMBER: builtins.int - PRODUCT_FIELD_NUMBER: builtins.int - FBCAT_FIELD_NUMBER: builtins.int - FBUSERAGENT_FIELD_NUMBER: builtins.int - OC_FIELD_NUMBER: builtins.int - LC_FIELD_NUMBER: builtins.int - IOSAPPEXTENSION_FIELD_NUMBER: builtins.int - FBAPPID_FIELD_NUMBER: builtins.int - FBDEVICEID_FIELD_NUMBER: builtins.int - PULL_FIELD_NUMBER: builtins.int - PADDINGBYTES_FIELD_NUMBER: builtins.int - YEARCLASS_FIELD_NUMBER: builtins.int - MEMCLASS_FIELD_NUMBER: builtins.int - INTEROPDATA_FIELD_NUMBER: builtins.int - username: builtins.int - passive: builtins.bool - @property - def userAgent(self) -> global___ClientPayload.UserAgent: ... - @property - def webInfo(self) -> global___ClientPayload.WebInfo: ... - pushName: builtins.str - sessionId: builtins.int - shortConnect: builtins.bool - connectType: global___ClientPayload.ConnectType.ValueType - connectReason: global___ClientPayload.ConnectReason.ValueType - @property - def shards(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... - @property - def dnsSource(self) -> global___ClientPayload.DNSSource: ... - connectAttemptCount: builtins.int - device: builtins.int - @property - def devicePairingData(self) -> global___ClientPayload.DevicePairingRegistrationData: ... - product: global___ClientPayload.Product.ValueType - fbCat: builtins.bytes - fbUserAgent: builtins.bytes - oc: builtins.bool - lc: builtins.int - iosAppExtension: global___ClientPayload.IOSAppExtension.ValueType - fbAppId: builtins.int - fbDeviceId: builtins.bytes - pull: builtins.bool - paddingBytes: builtins.bytes - yearClass: builtins.int - memClass: builtins.int - @property - def interopData(self) -> global___ClientPayload.InteropData: ... - def __init__( - self, - *, - username: builtins.int | None = ..., - passive: builtins.bool | None = ..., - userAgent: global___ClientPayload.UserAgent | None = ..., - webInfo: global___ClientPayload.WebInfo | None = ..., - pushName: builtins.str | None = ..., - sessionId: builtins.int | None = ..., - shortConnect: builtins.bool | None = ..., - connectType: global___ClientPayload.ConnectType.ValueType | None = ..., - connectReason: global___ClientPayload.ConnectReason.ValueType | None = ..., - shards: collections.abc.Iterable[builtins.int] | None = ..., - dnsSource: global___ClientPayload.DNSSource | None = ..., - connectAttemptCount: builtins.int | None = ..., - device: builtins.int | None = ..., - devicePairingData: global___ClientPayload.DevicePairingRegistrationData | None = ..., - product: global___ClientPayload.Product.ValueType | None = ..., - fbCat: builtins.bytes | None = ..., - fbUserAgent: builtins.bytes | None = ..., - oc: builtins.bool | None = ..., - lc: builtins.int | None = ..., - iosAppExtension: global___ClientPayload.IOSAppExtension.ValueType | None = ..., - fbAppId: builtins.int | None = ..., - fbDeviceId: builtins.bytes | None = ..., - pull: builtins.bool | None = ..., - paddingBytes: builtins.bytes | None = ..., - yearClass: builtins.int | None = ..., - memClass: builtins.int | None = ..., - interopData: global___ClientPayload.InteropData | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["connectAttemptCount", b"connectAttemptCount", "connectReason", b"connectReason", "connectType", b"connectType", "device", b"device", "devicePairingData", b"devicePairingData", "dnsSource", b"dnsSource", "fbAppId", b"fbAppId", "fbCat", b"fbCat", "fbDeviceId", b"fbDeviceId", "fbUserAgent", b"fbUserAgent", "interopData", b"interopData", "iosAppExtension", b"iosAppExtension", "lc", b"lc", "memClass", b"memClass", "oc", b"oc", "paddingBytes", b"paddingBytes", "passive", b"passive", "product", b"product", "pull", b"pull", "pushName", b"pushName", "sessionId", b"sessionId", "shortConnect", b"shortConnect", "userAgent", b"userAgent", "username", b"username", "webInfo", b"webInfo", "yearClass", b"yearClass"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["connectAttemptCount", b"connectAttemptCount", "connectReason", b"connectReason", "connectType", b"connectType", "device", b"device", "devicePairingData", b"devicePairingData", "dnsSource", b"dnsSource", "fbAppId", b"fbAppId", "fbCat", b"fbCat", "fbDeviceId", b"fbDeviceId", "fbUserAgent", b"fbUserAgent", "interopData", b"interopData", "iosAppExtension", b"iosAppExtension", "lc", b"lc", "memClass", b"memClass", "oc", b"oc", "paddingBytes", b"paddingBytes", "passive", b"passive", "product", b"product", "pull", b"pull", "pushName", b"pushName", "sessionId", b"sessionId", "shards", b"shards", "shortConnect", b"shortConnect", "userAgent", b"userAgent", "username", b"username", "webInfo", b"webInfo", "yearClass", b"yearClass"]) -> None: ... - -global___ClientPayload = ClientPayload - -@typing_extensions.final -class WebNotificationsInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TIMESTAMP_FIELD_NUMBER: builtins.int - UNREADCHATS_FIELD_NUMBER: builtins.int - NOTIFYMESSAGECOUNT_FIELD_NUMBER: builtins.int - NOTIFYMESSAGES_FIELD_NUMBER: builtins.int - timestamp: builtins.int - unreadChats: builtins.int - notifyMessageCount: builtins.int - @property - def notifyMessages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___WebMessageInfo]: ... - def __init__( - self, - *, - timestamp: builtins.int | None = ..., - unreadChats: builtins.int | None = ..., - notifyMessageCount: builtins.int | None = ..., - notifyMessages: collections.abc.Iterable[global___WebMessageInfo] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["notifyMessageCount", b"notifyMessageCount", "timestamp", b"timestamp", "unreadChats", b"unreadChats"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["notifyMessageCount", b"notifyMessageCount", "notifyMessages", b"notifyMessages", "timestamp", b"timestamp", "unreadChats", b"unreadChats"]) -> None: ... - -global___WebNotificationsInfo = WebNotificationsInfo - -@typing_extensions.final -class WebMessageInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _StubType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _StubTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WebMessageInfo._StubType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: WebMessageInfo._StubType.ValueType # 0 - REVOKE: WebMessageInfo._StubType.ValueType # 1 - CIPHERTEXT: WebMessageInfo._StubType.ValueType # 2 - FUTUREPROOF: WebMessageInfo._StubType.ValueType # 3 - NON_VERIFIED_TRANSITION: WebMessageInfo._StubType.ValueType # 4 - UNVERIFIED_TRANSITION: WebMessageInfo._StubType.ValueType # 5 - VERIFIED_TRANSITION: WebMessageInfo._StubType.ValueType # 6 - VERIFIED_LOW_UNKNOWN: WebMessageInfo._StubType.ValueType # 7 - VERIFIED_HIGH: WebMessageInfo._StubType.ValueType # 8 - VERIFIED_INITIAL_UNKNOWN: WebMessageInfo._StubType.ValueType # 9 - VERIFIED_INITIAL_LOW: WebMessageInfo._StubType.ValueType # 10 - VERIFIED_INITIAL_HIGH: WebMessageInfo._StubType.ValueType # 11 - VERIFIED_TRANSITION_ANY_TO_NONE: WebMessageInfo._StubType.ValueType # 12 - VERIFIED_TRANSITION_ANY_TO_HIGH: WebMessageInfo._StubType.ValueType # 13 - VERIFIED_TRANSITION_HIGH_TO_LOW: WebMessageInfo._StubType.ValueType # 14 - VERIFIED_TRANSITION_HIGH_TO_UNKNOWN: WebMessageInfo._StubType.ValueType # 15 - VERIFIED_TRANSITION_UNKNOWN_TO_LOW: WebMessageInfo._StubType.ValueType # 16 - VERIFIED_TRANSITION_LOW_TO_UNKNOWN: WebMessageInfo._StubType.ValueType # 17 - VERIFIED_TRANSITION_NONE_TO_LOW: WebMessageInfo._StubType.ValueType # 18 - VERIFIED_TRANSITION_NONE_TO_UNKNOWN: WebMessageInfo._StubType.ValueType # 19 - GROUP_CREATE: WebMessageInfo._StubType.ValueType # 20 - GROUP_CHANGE_SUBJECT: WebMessageInfo._StubType.ValueType # 21 - GROUP_CHANGE_ICON: WebMessageInfo._StubType.ValueType # 22 - GROUP_CHANGE_INVITE_LINK: WebMessageInfo._StubType.ValueType # 23 - GROUP_CHANGE_DESCRIPTION: WebMessageInfo._StubType.ValueType # 24 - GROUP_CHANGE_RESTRICT: WebMessageInfo._StubType.ValueType # 25 - GROUP_CHANGE_ANNOUNCE: WebMessageInfo._StubType.ValueType # 26 - GROUP_PARTICIPANT_ADD: WebMessageInfo._StubType.ValueType # 27 - GROUP_PARTICIPANT_REMOVE: WebMessageInfo._StubType.ValueType # 28 - GROUP_PARTICIPANT_PROMOTE: WebMessageInfo._StubType.ValueType # 29 - GROUP_PARTICIPANT_DEMOTE: WebMessageInfo._StubType.ValueType # 30 - GROUP_PARTICIPANT_INVITE: WebMessageInfo._StubType.ValueType # 31 - GROUP_PARTICIPANT_LEAVE: WebMessageInfo._StubType.ValueType # 32 - GROUP_PARTICIPANT_CHANGE_NUMBER: WebMessageInfo._StubType.ValueType # 33 - BROADCAST_CREATE: WebMessageInfo._StubType.ValueType # 34 - BROADCAST_ADD: WebMessageInfo._StubType.ValueType # 35 - BROADCAST_REMOVE: WebMessageInfo._StubType.ValueType # 36 - GENERIC_NOTIFICATION: WebMessageInfo._StubType.ValueType # 37 - E2E_IDENTITY_CHANGED: WebMessageInfo._StubType.ValueType # 38 - E2E_ENCRYPTED: WebMessageInfo._StubType.ValueType # 39 - CALL_MISSED_VOICE: WebMessageInfo._StubType.ValueType # 40 - CALL_MISSED_VIDEO: WebMessageInfo._StubType.ValueType # 41 - INDIVIDUAL_CHANGE_NUMBER: WebMessageInfo._StubType.ValueType # 42 - GROUP_DELETE: WebMessageInfo._StubType.ValueType # 43 - GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE: WebMessageInfo._StubType.ValueType # 44 - CALL_MISSED_GROUP_VOICE: WebMessageInfo._StubType.ValueType # 45 - CALL_MISSED_GROUP_VIDEO: WebMessageInfo._StubType.ValueType # 46 - PAYMENT_CIPHERTEXT: WebMessageInfo._StubType.ValueType # 47 - PAYMENT_FUTUREPROOF: WebMessageInfo._StubType.ValueType # 48 - PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED: WebMessageInfo._StubType.ValueType # 49 - PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED: WebMessageInfo._StubType.ValueType # 50 - PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED: WebMessageInfo._StubType.ValueType # 51 - PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP: WebMessageInfo._StubType.ValueType # 52 - PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP: WebMessageInfo._StubType.ValueType # 53 - PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER: WebMessageInfo._StubType.ValueType # 54 - PAYMENT_ACTION_SEND_PAYMENT_REMINDER: WebMessageInfo._StubType.ValueType # 55 - PAYMENT_ACTION_SEND_PAYMENT_INVITATION: WebMessageInfo._StubType.ValueType # 56 - PAYMENT_ACTION_REQUEST_DECLINED: WebMessageInfo._StubType.ValueType # 57 - PAYMENT_ACTION_REQUEST_EXPIRED: WebMessageInfo._StubType.ValueType # 58 - PAYMENT_ACTION_REQUEST_CANCELLED: WebMessageInfo._StubType.ValueType # 59 - BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM: WebMessageInfo._StubType.ValueType # 60 - BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP: WebMessageInfo._StubType.ValueType # 61 - BIZ_INTRO_TOP: WebMessageInfo._StubType.ValueType # 62 - BIZ_INTRO_BOTTOM: WebMessageInfo._StubType.ValueType # 63 - BIZ_NAME_CHANGE: WebMessageInfo._StubType.ValueType # 64 - BIZ_MOVE_TO_CONSUMER_APP: WebMessageInfo._StubType.ValueType # 65 - BIZ_TWO_TIER_MIGRATION_TOP: WebMessageInfo._StubType.ValueType # 66 - BIZ_TWO_TIER_MIGRATION_BOTTOM: WebMessageInfo._StubType.ValueType # 67 - OVERSIZED: WebMessageInfo._StubType.ValueType # 68 - GROUP_CHANGE_NO_FREQUENTLY_FORWARDED: WebMessageInfo._StubType.ValueType # 69 - GROUP_V4_ADD_INVITE_SENT: WebMessageInfo._StubType.ValueType # 70 - GROUP_PARTICIPANT_ADD_REQUEST_JOIN: WebMessageInfo._StubType.ValueType # 71 - CHANGE_EPHEMERAL_SETTING: WebMessageInfo._StubType.ValueType # 72 - E2E_DEVICE_CHANGED: WebMessageInfo._StubType.ValueType # 73 - VIEWED_ONCE: WebMessageInfo._StubType.ValueType # 74 - E2E_ENCRYPTED_NOW: WebMessageInfo._StubType.ValueType # 75 - BLUE_MSG_BSP_FB_TO_BSP_PREMISE: WebMessageInfo._StubType.ValueType # 76 - BLUE_MSG_BSP_FB_TO_SELF_FB: WebMessageInfo._StubType.ValueType # 77 - BLUE_MSG_BSP_FB_TO_SELF_PREMISE: WebMessageInfo._StubType.ValueType # 78 - BLUE_MSG_BSP_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 79 - BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 80 - BLUE_MSG_BSP_FB_VERIFIED: WebMessageInfo._StubType.ValueType # 81 - BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 82 - BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE: WebMessageInfo._StubType.ValueType # 83 - BLUE_MSG_BSP_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 84 - BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 85 - BLUE_MSG_BSP_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 86 - BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 87 - BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 88 - BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 89 - BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 90 - BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 91 - BLUE_MSG_SELF_FB_TO_BSP_PREMISE: WebMessageInfo._StubType.ValueType # 92 - BLUE_MSG_SELF_FB_TO_SELF_PREMISE: WebMessageInfo._StubType.ValueType # 93 - BLUE_MSG_SELF_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 94 - BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 95 - BLUE_MSG_SELF_FB_VERIFIED: WebMessageInfo._StubType.ValueType # 96 - BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 97 - BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE: WebMessageInfo._StubType.ValueType # 98 - BLUE_MSG_SELF_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 99 - BLUE_MSG_SELF_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 100 - BLUE_MSG_TO_BSP_FB: WebMessageInfo._StubType.ValueType # 101 - BLUE_MSG_TO_CONSUMER: WebMessageInfo._StubType.ValueType # 102 - BLUE_MSG_TO_SELF_FB: WebMessageInfo._StubType.ValueType # 103 - BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED: WebMessageInfo._StubType.ValueType # 104 - BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 105 - BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED: WebMessageInfo._StubType.ValueType # 106 - BLUE_MSG_UNVERIFIED_TO_VERIFIED: WebMessageInfo._StubType.ValueType # 107 - BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 108 - BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 109 - BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 110 - BLUE_MSG_VERIFIED_TO_UNVERIFIED: WebMessageInfo._StubType.ValueType # 111 - BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 112 - BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED: WebMessageInfo._StubType.ValueType # 113 - BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 114 - BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 115 - BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 116 - BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 117 - E2E_IDENTITY_UNAVAILABLE: WebMessageInfo._StubType.ValueType # 118 - GROUP_CREATING: WebMessageInfo._StubType.ValueType # 119 - GROUP_CREATE_FAILED: WebMessageInfo._StubType.ValueType # 120 - GROUP_BOUNCED: WebMessageInfo._StubType.ValueType # 121 - BLOCK_CONTACT: WebMessageInfo._StubType.ValueType # 122 - EPHEMERAL_SETTING_NOT_APPLIED: WebMessageInfo._StubType.ValueType # 123 - SYNC_FAILED: WebMessageInfo._StubType.ValueType # 124 - SYNCING: WebMessageInfo._StubType.ValueType # 125 - BIZ_PRIVACY_MODE_INIT_FB: WebMessageInfo._StubType.ValueType # 126 - BIZ_PRIVACY_MODE_INIT_BSP: WebMessageInfo._StubType.ValueType # 127 - BIZ_PRIVACY_MODE_TO_FB: WebMessageInfo._StubType.ValueType # 128 - BIZ_PRIVACY_MODE_TO_BSP: WebMessageInfo._StubType.ValueType # 129 - DISAPPEARING_MODE: WebMessageInfo._StubType.ValueType # 130 - E2E_DEVICE_FETCH_FAILED: WebMessageInfo._StubType.ValueType # 131 - ADMIN_REVOKE: WebMessageInfo._StubType.ValueType # 132 - GROUP_INVITE_LINK_GROWTH_LOCKED: WebMessageInfo._StubType.ValueType # 133 - COMMUNITY_LINK_PARENT_GROUP: WebMessageInfo._StubType.ValueType # 134 - COMMUNITY_LINK_SIBLING_GROUP: WebMessageInfo._StubType.ValueType # 135 - COMMUNITY_LINK_SUB_GROUP: WebMessageInfo._StubType.ValueType # 136 - COMMUNITY_UNLINK_PARENT_GROUP: WebMessageInfo._StubType.ValueType # 137 - COMMUNITY_UNLINK_SIBLING_GROUP: WebMessageInfo._StubType.ValueType # 138 - COMMUNITY_UNLINK_SUB_GROUP: WebMessageInfo._StubType.ValueType # 139 - GROUP_PARTICIPANT_ACCEPT: WebMessageInfo._StubType.ValueType # 140 - GROUP_PARTICIPANT_LINKED_GROUP_JOIN: WebMessageInfo._StubType.ValueType # 141 - COMMUNITY_CREATE: WebMessageInfo._StubType.ValueType # 142 - EPHEMERAL_KEEP_IN_CHAT: WebMessageInfo._StubType.ValueType # 143 - GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST: WebMessageInfo._StubType.ValueType # 144 - GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE: WebMessageInfo._StubType.ValueType # 145 - INTEGRITY_UNLINK_PARENT_GROUP: WebMessageInfo._StubType.ValueType # 146 - COMMUNITY_PARTICIPANT_PROMOTE: WebMessageInfo._StubType.ValueType # 147 - COMMUNITY_PARTICIPANT_DEMOTE: WebMessageInfo._StubType.ValueType # 148 - COMMUNITY_PARENT_GROUP_DELETED: WebMessageInfo._StubType.ValueType # 149 - COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL: WebMessageInfo._StubType.ValueType # 150 - GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP: WebMessageInfo._StubType.ValueType # 151 - MASKED_THREAD_CREATED: WebMessageInfo._StubType.ValueType # 152 - MASKED_THREAD_UNMASKED: WebMessageInfo._StubType.ValueType # 153 - BIZ_CHAT_ASSIGNMENT: WebMessageInfo._StubType.ValueType # 154 - CHAT_PSA: WebMessageInfo._StubType.ValueType # 155 - CHAT_POLL_CREATION_MESSAGE: WebMessageInfo._StubType.ValueType # 156 - CAG_MASKED_THREAD_CREATED: WebMessageInfo._StubType.ValueType # 157 - COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED: WebMessageInfo._StubType.ValueType # 158 - CAG_INVITE_AUTO_ADD: WebMessageInfo._StubType.ValueType # 159 - BIZ_CHAT_ASSIGNMENT_UNASSIGN: WebMessageInfo._StubType.ValueType # 160 - CAG_INVITE_AUTO_JOINED: WebMessageInfo._StubType.ValueType # 161 - SCHEDULED_CALL_START_MESSAGE: WebMessageInfo._StubType.ValueType # 162 - COMMUNITY_INVITE_RICH: WebMessageInfo._StubType.ValueType # 163 - COMMUNITY_INVITE_AUTO_ADD_RICH: WebMessageInfo._StubType.ValueType # 164 - SUB_GROUP_INVITE_RICH: WebMessageInfo._StubType.ValueType # 165 - SUB_GROUP_PARTICIPANT_ADD_RICH: WebMessageInfo._StubType.ValueType # 166 - COMMUNITY_LINK_PARENT_GROUP_RICH: WebMessageInfo._StubType.ValueType # 167 - COMMUNITY_PARTICIPANT_ADD_RICH: WebMessageInfo._StubType.ValueType # 168 - SILENCED_UNKNOWN_CALLER_AUDIO: WebMessageInfo._StubType.ValueType # 169 - SILENCED_UNKNOWN_CALLER_VIDEO: WebMessageInfo._StubType.ValueType # 170 - GROUP_MEMBER_ADD_MODE: WebMessageInfo._StubType.ValueType # 171 - GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD: WebMessageInfo._StubType.ValueType # 172 - COMMUNITY_CHANGE_DESCRIPTION: WebMessageInfo._StubType.ValueType # 173 - SENDER_INVITE: WebMessageInfo._StubType.ValueType # 174 - RECEIVER_INVITE: WebMessageInfo._StubType.ValueType # 175 - COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS: WebMessageInfo._StubType.ValueType # 176 - PINNED_MESSAGE_IN_CHAT: WebMessageInfo._StubType.ValueType # 177 - PAYMENT_INVITE_SETUP_INVITER: WebMessageInfo._StubType.ValueType # 178 - PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY: WebMessageInfo._StubType.ValueType # 179 - PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE: WebMessageInfo._StubType.ValueType # 180 - LINKED_GROUP_CALL_START: WebMessageInfo._StubType.ValueType # 181 - REPORT_TO_ADMIN_ENABLED_STATUS: WebMessageInfo._StubType.ValueType # 182 - EMPTY_SUBGROUP_CREATE: WebMessageInfo._StubType.ValueType # 183 - SCHEDULED_CALL_CANCEL: WebMessageInfo._StubType.ValueType # 184 - SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH: WebMessageInfo._StubType.ValueType # 185 - GROUP_CHANGE_RECENT_HISTORY_SHARING: WebMessageInfo._StubType.ValueType # 186 - PAID_MESSAGE_SERVER_CAMPAIGN_ID: WebMessageInfo._StubType.ValueType # 187 - GENERAL_CHAT_CREATE: WebMessageInfo._StubType.ValueType # 188 - GENERAL_CHAT_ADD: WebMessageInfo._StubType.ValueType # 189 - GENERAL_CHAT_AUTO_ADD_DISABLED: WebMessageInfo._StubType.ValueType # 190 - SUGGESTED_SUBGROUP_ANNOUNCE: WebMessageInfo._StubType.ValueType # 191 - BIZ_BOT_1P_MESSAGING_ENABLED: WebMessageInfo._StubType.ValueType # 192 - CHANGE_USERNAME: WebMessageInfo._StubType.ValueType # 193 - BIZ_COEX_PRIVACY_INIT_SELF: WebMessageInfo._StubType.ValueType # 194 - BIZ_COEX_PRIVACY_TRANSITION_SELF: WebMessageInfo._StubType.ValueType # 195 - SUPPORT_AI_EDUCATION: WebMessageInfo._StubType.ValueType # 196 - BIZ_BOT_3P_MESSAGING_ENABLED: WebMessageInfo._StubType.ValueType # 197 - REMINDER_SETUP_MESSAGE: WebMessageInfo._StubType.ValueType # 198 - REMINDER_SENT_MESSAGE: WebMessageInfo._StubType.ValueType # 199 - REMINDER_CANCEL_MESSAGE: WebMessageInfo._StubType.ValueType # 200 - - class StubType(_StubType, metaclass=_StubTypeEnumTypeWrapper): ... - UNKNOWN: WebMessageInfo.StubType.ValueType # 0 - REVOKE: WebMessageInfo.StubType.ValueType # 1 - CIPHERTEXT: WebMessageInfo.StubType.ValueType # 2 - FUTUREPROOF: WebMessageInfo.StubType.ValueType # 3 - NON_VERIFIED_TRANSITION: WebMessageInfo.StubType.ValueType # 4 - UNVERIFIED_TRANSITION: WebMessageInfo.StubType.ValueType # 5 - VERIFIED_TRANSITION: WebMessageInfo.StubType.ValueType # 6 - VERIFIED_LOW_UNKNOWN: WebMessageInfo.StubType.ValueType # 7 - VERIFIED_HIGH: WebMessageInfo.StubType.ValueType # 8 - VERIFIED_INITIAL_UNKNOWN: WebMessageInfo.StubType.ValueType # 9 - VERIFIED_INITIAL_LOW: WebMessageInfo.StubType.ValueType # 10 - VERIFIED_INITIAL_HIGH: WebMessageInfo.StubType.ValueType # 11 - VERIFIED_TRANSITION_ANY_TO_NONE: WebMessageInfo.StubType.ValueType # 12 - VERIFIED_TRANSITION_ANY_TO_HIGH: WebMessageInfo.StubType.ValueType # 13 - VERIFIED_TRANSITION_HIGH_TO_LOW: WebMessageInfo.StubType.ValueType # 14 - VERIFIED_TRANSITION_HIGH_TO_UNKNOWN: WebMessageInfo.StubType.ValueType # 15 - VERIFIED_TRANSITION_UNKNOWN_TO_LOW: WebMessageInfo.StubType.ValueType # 16 - VERIFIED_TRANSITION_LOW_TO_UNKNOWN: WebMessageInfo.StubType.ValueType # 17 - VERIFIED_TRANSITION_NONE_TO_LOW: WebMessageInfo.StubType.ValueType # 18 - VERIFIED_TRANSITION_NONE_TO_UNKNOWN: WebMessageInfo.StubType.ValueType # 19 - GROUP_CREATE: WebMessageInfo.StubType.ValueType # 20 - GROUP_CHANGE_SUBJECT: WebMessageInfo.StubType.ValueType # 21 - GROUP_CHANGE_ICON: WebMessageInfo.StubType.ValueType # 22 - GROUP_CHANGE_INVITE_LINK: WebMessageInfo.StubType.ValueType # 23 - GROUP_CHANGE_DESCRIPTION: WebMessageInfo.StubType.ValueType # 24 - GROUP_CHANGE_RESTRICT: WebMessageInfo.StubType.ValueType # 25 - GROUP_CHANGE_ANNOUNCE: WebMessageInfo.StubType.ValueType # 26 - GROUP_PARTICIPANT_ADD: WebMessageInfo.StubType.ValueType # 27 - GROUP_PARTICIPANT_REMOVE: WebMessageInfo.StubType.ValueType # 28 - GROUP_PARTICIPANT_PROMOTE: WebMessageInfo.StubType.ValueType # 29 - GROUP_PARTICIPANT_DEMOTE: WebMessageInfo.StubType.ValueType # 30 - GROUP_PARTICIPANT_INVITE: WebMessageInfo.StubType.ValueType # 31 - GROUP_PARTICIPANT_LEAVE: WebMessageInfo.StubType.ValueType # 32 - GROUP_PARTICIPANT_CHANGE_NUMBER: WebMessageInfo.StubType.ValueType # 33 - BROADCAST_CREATE: WebMessageInfo.StubType.ValueType # 34 - BROADCAST_ADD: WebMessageInfo.StubType.ValueType # 35 - BROADCAST_REMOVE: WebMessageInfo.StubType.ValueType # 36 - GENERIC_NOTIFICATION: WebMessageInfo.StubType.ValueType # 37 - E2E_IDENTITY_CHANGED: WebMessageInfo.StubType.ValueType # 38 - E2E_ENCRYPTED: WebMessageInfo.StubType.ValueType # 39 - CALL_MISSED_VOICE: WebMessageInfo.StubType.ValueType # 40 - CALL_MISSED_VIDEO: WebMessageInfo.StubType.ValueType # 41 - INDIVIDUAL_CHANGE_NUMBER: WebMessageInfo.StubType.ValueType # 42 - GROUP_DELETE: WebMessageInfo.StubType.ValueType # 43 - GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE: WebMessageInfo.StubType.ValueType # 44 - CALL_MISSED_GROUP_VOICE: WebMessageInfo.StubType.ValueType # 45 - CALL_MISSED_GROUP_VIDEO: WebMessageInfo.StubType.ValueType # 46 - PAYMENT_CIPHERTEXT: WebMessageInfo.StubType.ValueType # 47 - PAYMENT_FUTUREPROOF: WebMessageInfo.StubType.ValueType # 48 - PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED: WebMessageInfo.StubType.ValueType # 49 - PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED: WebMessageInfo.StubType.ValueType # 50 - PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED: WebMessageInfo.StubType.ValueType # 51 - PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP: WebMessageInfo.StubType.ValueType # 52 - PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP: WebMessageInfo.StubType.ValueType # 53 - PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER: WebMessageInfo.StubType.ValueType # 54 - PAYMENT_ACTION_SEND_PAYMENT_REMINDER: WebMessageInfo.StubType.ValueType # 55 - PAYMENT_ACTION_SEND_PAYMENT_INVITATION: WebMessageInfo.StubType.ValueType # 56 - PAYMENT_ACTION_REQUEST_DECLINED: WebMessageInfo.StubType.ValueType # 57 - PAYMENT_ACTION_REQUEST_EXPIRED: WebMessageInfo.StubType.ValueType # 58 - PAYMENT_ACTION_REQUEST_CANCELLED: WebMessageInfo.StubType.ValueType # 59 - BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM: WebMessageInfo.StubType.ValueType # 60 - BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP: WebMessageInfo.StubType.ValueType # 61 - BIZ_INTRO_TOP: WebMessageInfo.StubType.ValueType # 62 - BIZ_INTRO_BOTTOM: WebMessageInfo.StubType.ValueType # 63 - BIZ_NAME_CHANGE: WebMessageInfo.StubType.ValueType # 64 - BIZ_MOVE_TO_CONSUMER_APP: WebMessageInfo.StubType.ValueType # 65 - BIZ_TWO_TIER_MIGRATION_TOP: WebMessageInfo.StubType.ValueType # 66 - BIZ_TWO_TIER_MIGRATION_BOTTOM: WebMessageInfo.StubType.ValueType # 67 - OVERSIZED: WebMessageInfo.StubType.ValueType # 68 - GROUP_CHANGE_NO_FREQUENTLY_FORWARDED: WebMessageInfo.StubType.ValueType # 69 - GROUP_V4_ADD_INVITE_SENT: WebMessageInfo.StubType.ValueType # 70 - GROUP_PARTICIPANT_ADD_REQUEST_JOIN: WebMessageInfo.StubType.ValueType # 71 - CHANGE_EPHEMERAL_SETTING: WebMessageInfo.StubType.ValueType # 72 - E2E_DEVICE_CHANGED: WebMessageInfo.StubType.ValueType # 73 - VIEWED_ONCE: WebMessageInfo.StubType.ValueType # 74 - E2E_ENCRYPTED_NOW: WebMessageInfo.StubType.ValueType # 75 - BLUE_MSG_BSP_FB_TO_BSP_PREMISE: WebMessageInfo.StubType.ValueType # 76 - BLUE_MSG_BSP_FB_TO_SELF_FB: WebMessageInfo.StubType.ValueType # 77 - BLUE_MSG_BSP_FB_TO_SELF_PREMISE: WebMessageInfo.StubType.ValueType # 78 - BLUE_MSG_BSP_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 79 - BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 80 - BLUE_MSG_BSP_FB_VERIFIED: WebMessageInfo.StubType.ValueType # 81 - BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 82 - BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE: WebMessageInfo.StubType.ValueType # 83 - BLUE_MSG_BSP_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 84 - BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 85 - BLUE_MSG_BSP_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 86 - BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 87 - BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 88 - BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 89 - BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 90 - BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 91 - BLUE_MSG_SELF_FB_TO_BSP_PREMISE: WebMessageInfo.StubType.ValueType # 92 - BLUE_MSG_SELF_FB_TO_SELF_PREMISE: WebMessageInfo.StubType.ValueType # 93 - BLUE_MSG_SELF_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 94 - BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 95 - BLUE_MSG_SELF_FB_VERIFIED: WebMessageInfo.StubType.ValueType # 96 - BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 97 - BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE: WebMessageInfo.StubType.ValueType # 98 - BLUE_MSG_SELF_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 99 - BLUE_MSG_SELF_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 100 - BLUE_MSG_TO_BSP_FB: WebMessageInfo.StubType.ValueType # 101 - BLUE_MSG_TO_CONSUMER: WebMessageInfo.StubType.ValueType # 102 - BLUE_MSG_TO_SELF_FB: WebMessageInfo.StubType.ValueType # 103 - BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED: WebMessageInfo.StubType.ValueType # 104 - BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 105 - BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED: WebMessageInfo.StubType.ValueType # 106 - BLUE_MSG_UNVERIFIED_TO_VERIFIED: WebMessageInfo.StubType.ValueType # 107 - BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 108 - BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 109 - BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 110 - BLUE_MSG_VERIFIED_TO_UNVERIFIED: WebMessageInfo.StubType.ValueType # 111 - BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 112 - BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED: WebMessageInfo.StubType.ValueType # 113 - BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 114 - BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 115 - BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 116 - BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 117 - E2E_IDENTITY_UNAVAILABLE: WebMessageInfo.StubType.ValueType # 118 - GROUP_CREATING: WebMessageInfo.StubType.ValueType # 119 - GROUP_CREATE_FAILED: WebMessageInfo.StubType.ValueType # 120 - GROUP_BOUNCED: WebMessageInfo.StubType.ValueType # 121 - BLOCK_CONTACT: WebMessageInfo.StubType.ValueType # 122 - EPHEMERAL_SETTING_NOT_APPLIED: WebMessageInfo.StubType.ValueType # 123 - SYNC_FAILED: WebMessageInfo.StubType.ValueType # 124 - SYNCING: WebMessageInfo.StubType.ValueType # 125 - BIZ_PRIVACY_MODE_INIT_FB: WebMessageInfo.StubType.ValueType # 126 - BIZ_PRIVACY_MODE_INIT_BSP: WebMessageInfo.StubType.ValueType # 127 - BIZ_PRIVACY_MODE_TO_FB: WebMessageInfo.StubType.ValueType # 128 - BIZ_PRIVACY_MODE_TO_BSP: WebMessageInfo.StubType.ValueType # 129 - DISAPPEARING_MODE: WebMessageInfo.StubType.ValueType # 130 - E2E_DEVICE_FETCH_FAILED: WebMessageInfo.StubType.ValueType # 131 - ADMIN_REVOKE: WebMessageInfo.StubType.ValueType # 132 - GROUP_INVITE_LINK_GROWTH_LOCKED: WebMessageInfo.StubType.ValueType # 133 - COMMUNITY_LINK_PARENT_GROUP: WebMessageInfo.StubType.ValueType # 134 - COMMUNITY_LINK_SIBLING_GROUP: WebMessageInfo.StubType.ValueType # 135 - COMMUNITY_LINK_SUB_GROUP: WebMessageInfo.StubType.ValueType # 136 - COMMUNITY_UNLINK_PARENT_GROUP: WebMessageInfo.StubType.ValueType # 137 - COMMUNITY_UNLINK_SIBLING_GROUP: WebMessageInfo.StubType.ValueType # 138 - COMMUNITY_UNLINK_SUB_GROUP: WebMessageInfo.StubType.ValueType # 139 - GROUP_PARTICIPANT_ACCEPT: WebMessageInfo.StubType.ValueType # 140 - GROUP_PARTICIPANT_LINKED_GROUP_JOIN: WebMessageInfo.StubType.ValueType # 141 - COMMUNITY_CREATE: WebMessageInfo.StubType.ValueType # 142 - EPHEMERAL_KEEP_IN_CHAT: WebMessageInfo.StubType.ValueType # 143 - GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST: WebMessageInfo.StubType.ValueType # 144 - GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE: WebMessageInfo.StubType.ValueType # 145 - INTEGRITY_UNLINK_PARENT_GROUP: WebMessageInfo.StubType.ValueType # 146 - COMMUNITY_PARTICIPANT_PROMOTE: WebMessageInfo.StubType.ValueType # 147 - COMMUNITY_PARTICIPANT_DEMOTE: WebMessageInfo.StubType.ValueType # 148 - COMMUNITY_PARENT_GROUP_DELETED: WebMessageInfo.StubType.ValueType # 149 - COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL: WebMessageInfo.StubType.ValueType # 150 - GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP: WebMessageInfo.StubType.ValueType # 151 - MASKED_THREAD_CREATED: WebMessageInfo.StubType.ValueType # 152 - MASKED_THREAD_UNMASKED: WebMessageInfo.StubType.ValueType # 153 - BIZ_CHAT_ASSIGNMENT: WebMessageInfo.StubType.ValueType # 154 - CHAT_PSA: WebMessageInfo.StubType.ValueType # 155 - CHAT_POLL_CREATION_MESSAGE: WebMessageInfo.StubType.ValueType # 156 - CAG_MASKED_THREAD_CREATED: WebMessageInfo.StubType.ValueType # 157 - COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED: WebMessageInfo.StubType.ValueType # 158 - CAG_INVITE_AUTO_ADD: WebMessageInfo.StubType.ValueType # 159 - BIZ_CHAT_ASSIGNMENT_UNASSIGN: WebMessageInfo.StubType.ValueType # 160 - CAG_INVITE_AUTO_JOINED: WebMessageInfo.StubType.ValueType # 161 - SCHEDULED_CALL_START_MESSAGE: WebMessageInfo.StubType.ValueType # 162 - COMMUNITY_INVITE_RICH: WebMessageInfo.StubType.ValueType # 163 - COMMUNITY_INVITE_AUTO_ADD_RICH: WebMessageInfo.StubType.ValueType # 164 - SUB_GROUP_INVITE_RICH: WebMessageInfo.StubType.ValueType # 165 - SUB_GROUP_PARTICIPANT_ADD_RICH: WebMessageInfo.StubType.ValueType # 166 - COMMUNITY_LINK_PARENT_GROUP_RICH: WebMessageInfo.StubType.ValueType # 167 - COMMUNITY_PARTICIPANT_ADD_RICH: WebMessageInfo.StubType.ValueType # 168 - SILENCED_UNKNOWN_CALLER_AUDIO: WebMessageInfo.StubType.ValueType # 169 - SILENCED_UNKNOWN_CALLER_VIDEO: WebMessageInfo.StubType.ValueType # 170 - GROUP_MEMBER_ADD_MODE: WebMessageInfo.StubType.ValueType # 171 - GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD: WebMessageInfo.StubType.ValueType # 172 - COMMUNITY_CHANGE_DESCRIPTION: WebMessageInfo.StubType.ValueType # 173 - SENDER_INVITE: WebMessageInfo.StubType.ValueType # 174 - RECEIVER_INVITE: WebMessageInfo.StubType.ValueType # 175 - COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS: WebMessageInfo.StubType.ValueType # 176 - PINNED_MESSAGE_IN_CHAT: WebMessageInfo.StubType.ValueType # 177 - PAYMENT_INVITE_SETUP_INVITER: WebMessageInfo.StubType.ValueType # 178 - PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY: WebMessageInfo.StubType.ValueType # 179 - PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE: WebMessageInfo.StubType.ValueType # 180 - LINKED_GROUP_CALL_START: WebMessageInfo.StubType.ValueType # 181 - REPORT_TO_ADMIN_ENABLED_STATUS: WebMessageInfo.StubType.ValueType # 182 - EMPTY_SUBGROUP_CREATE: WebMessageInfo.StubType.ValueType # 183 - SCHEDULED_CALL_CANCEL: WebMessageInfo.StubType.ValueType # 184 - SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH: WebMessageInfo.StubType.ValueType # 185 - GROUP_CHANGE_RECENT_HISTORY_SHARING: WebMessageInfo.StubType.ValueType # 186 - PAID_MESSAGE_SERVER_CAMPAIGN_ID: WebMessageInfo.StubType.ValueType # 187 - GENERAL_CHAT_CREATE: WebMessageInfo.StubType.ValueType # 188 - GENERAL_CHAT_ADD: WebMessageInfo.StubType.ValueType # 189 - GENERAL_CHAT_AUTO_ADD_DISABLED: WebMessageInfo.StubType.ValueType # 190 - SUGGESTED_SUBGROUP_ANNOUNCE: WebMessageInfo.StubType.ValueType # 191 - BIZ_BOT_1P_MESSAGING_ENABLED: WebMessageInfo.StubType.ValueType # 192 - CHANGE_USERNAME: WebMessageInfo.StubType.ValueType # 193 - BIZ_COEX_PRIVACY_INIT_SELF: WebMessageInfo.StubType.ValueType # 194 - BIZ_COEX_PRIVACY_TRANSITION_SELF: WebMessageInfo.StubType.ValueType # 195 - SUPPORT_AI_EDUCATION: WebMessageInfo.StubType.ValueType # 196 - BIZ_BOT_3P_MESSAGING_ENABLED: WebMessageInfo.StubType.ValueType # 197 - REMINDER_SETUP_MESSAGE: WebMessageInfo.StubType.ValueType # 198 - REMINDER_SENT_MESSAGE: WebMessageInfo.StubType.ValueType # 199 - REMINDER_CANCEL_MESSAGE: WebMessageInfo.StubType.ValueType # 200 - - class _Status: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _StatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WebMessageInfo._Status.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - ERROR: WebMessageInfo._Status.ValueType # 0 - PENDING: WebMessageInfo._Status.ValueType # 1 - SERVER_ACK: WebMessageInfo._Status.ValueType # 2 - DELIVERY_ACK: WebMessageInfo._Status.ValueType # 3 - READ: WebMessageInfo._Status.ValueType # 4 - PLAYED: WebMessageInfo._Status.ValueType # 5 - - class Status(_Status, metaclass=_StatusEnumTypeWrapper): ... - ERROR: WebMessageInfo.Status.ValueType # 0 - PENDING: WebMessageInfo.Status.ValueType # 1 - SERVER_ACK: WebMessageInfo.Status.ValueType # 2 - DELIVERY_ACK: WebMessageInfo.Status.ValueType # 3 - READ: WebMessageInfo.Status.ValueType # 4 - PLAYED: WebMessageInfo.Status.ValueType # 5 - - class _BizPrivacyStatus: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _BizPrivacyStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WebMessageInfo._BizPrivacyStatus.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - E2EE: WebMessageInfo._BizPrivacyStatus.ValueType # 0 - FB: WebMessageInfo._BizPrivacyStatus.ValueType # 2 - BSP: WebMessageInfo._BizPrivacyStatus.ValueType # 1 - BSP_AND_FB: WebMessageInfo._BizPrivacyStatus.ValueType # 3 - - class BizPrivacyStatus(_BizPrivacyStatus, metaclass=_BizPrivacyStatusEnumTypeWrapper): ... - E2EE: WebMessageInfo.BizPrivacyStatus.ValueType # 0 - FB: WebMessageInfo.BizPrivacyStatus.ValueType # 2 - BSP: WebMessageInfo.BizPrivacyStatus.ValueType # 1 - BSP_AND_FB: WebMessageInfo.BizPrivacyStatus.ValueType # 3 - - KEY_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - MESSAGETIMESTAMP_FIELD_NUMBER: builtins.int - STATUS_FIELD_NUMBER: builtins.int - PARTICIPANT_FIELD_NUMBER: builtins.int - MESSAGEC2STIMESTAMP_FIELD_NUMBER: builtins.int - IGNORE_FIELD_NUMBER: builtins.int - STARRED_FIELD_NUMBER: builtins.int - BROADCAST_FIELD_NUMBER: builtins.int - PUSHNAME_FIELD_NUMBER: builtins.int - MEDIACIPHERTEXTSHA256_FIELD_NUMBER: builtins.int - MULTICAST_FIELD_NUMBER: builtins.int - URLTEXT_FIELD_NUMBER: builtins.int - URLNUMBER_FIELD_NUMBER: builtins.int - MESSAGESTUBTYPE_FIELD_NUMBER: builtins.int - CLEARMEDIA_FIELD_NUMBER: builtins.int - MESSAGESTUBPARAMETERS_FIELD_NUMBER: builtins.int - DURATION_FIELD_NUMBER: builtins.int - LABELS_FIELD_NUMBER: builtins.int - PAYMENTINFO_FIELD_NUMBER: builtins.int - FINALLIVELOCATION_FIELD_NUMBER: builtins.int - QUOTEDPAYMENTINFO_FIELD_NUMBER: builtins.int - EPHEMERALSTARTTIMESTAMP_FIELD_NUMBER: builtins.int - EPHEMERALDURATION_FIELD_NUMBER: builtins.int - EPHEMERALOFFTOON_FIELD_NUMBER: builtins.int - EPHEMERALOUTOFSYNC_FIELD_NUMBER: builtins.int - BIZPRIVACYSTATUS_FIELD_NUMBER: builtins.int - VERIFIEDBIZNAME_FIELD_NUMBER: builtins.int - MEDIADATA_FIELD_NUMBER: builtins.int - PHOTOCHANGE_FIELD_NUMBER: builtins.int - USERRECEIPT_FIELD_NUMBER: builtins.int - REACTIONS_FIELD_NUMBER: builtins.int - QUOTEDSTICKERDATA_FIELD_NUMBER: builtins.int - FUTUREPROOFDATA_FIELD_NUMBER: builtins.int - STATUSPSA_FIELD_NUMBER: builtins.int - POLLUPDATES_FIELD_NUMBER: builtins.int - POLLADDITIONALMETADATA_FIELD_NUMBER: builtins.int - AGENTID_FIELD_NUMBER: builtins.int - STATUSALREADYVIEWED_FIELD_NUMBER: builtins.int - MESSAGESECRET_FIELD_NUMBER: builtins.int - KEEPINCHAT_FIELD_NUMBER: builtins.int - ORIGINALSELFAUTHORUSERJIDSTRING_FIELD_NUMBER: builtins.int - REVOKEMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int - PININCHAT_FIELD_NUMBER: builtins.int - PREMIUMMESSAGEINFO_FIELD_NUMBER: builtins.int - IS1PBIZBOTMESSAGE_FIELD_NUMBER: builtins.int - ISGROUPHISTORYMESSAGE_FIELD_NUMBER: builtins.int - BOTMESSAGEINVOKERJID_FIELD_NUMBER: builtins.int - COMMENTMETADATA_FIELD_NUMBER: builtins.int - EVENTRESPONSES_FIELD_NUMBER: builtins.int - REPORTINGTOKENINFO_FIELD_NUMBER: builtins.int - NEWSLETTERSERVERID_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - @property - def message(self) -> global___Message: ... - messageTimestamp: builtins.int - status: global___WebMessageInfo.Status.ValueType - participant: builtins.str - messageC2STimestamp: builtins.int - ignore: builtins.bool - starred: builtins.bool - broadcast: builtins.bool - pushName: builtins.str - mediaCiphertextSha256: builtins.bytes - multicast: builtins.bool - urlText: builtins.bool - urlNumber: builtins.bool - messageStubType: global___WebMessageInfo.StubType.ValueType - clearMedia: builtins.bool - @property - def messageStubParameters(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - duration: builtins.int - @property - def labels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def paymentInfo(self) -> global___PaymentInfo: ... - @property - def finalLiveLocation(self) -> global___LiveLocationMessage: ... - @property - def quotedPaymentInfo(self) -> global___PaymentInfo: ... - ephemeralStartTimestamp: builtins.int - ephemeralDuration: builtins.int - ephemeralOffToOn: builtins.bool - ephemeralOutOfSync: builtins.bool - bizPrivacyStatus: global___WebMessageInfo.BizPrivacyStatus.ValueType - verifiedBizName: builtins.str - @property - def mediaData(self) -> global___MediaData: ... - @property - def photoChange(self) -> global___PhotoChange: ... - @property - def userReceipt(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserReceipt]: ... - @property - def reactions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Reaction]: ... - @property - def quotedStickerData(self) -> global___MediaData: ... - futureproofData: builtins.bytes - @property - def statusPsa(self) -> global___StatusPSA: ... - @property - def pollUpdates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PollUpdate]: ... - @property - def pollAdditionalMetadata(self) -> global___PollAdditionalMetadata: ... - agentId: builtins.str - statusAlreadyViewed: builtins.bool - messageSecret: builtins.bytes - @property - def keepInChat(self) -> global___KeepInChat: ... - originalSelfAuthorUserJidString: builtins.str - revokeMessageTimestamp: builtins.int - @property - def pinInChat(self) -> global___PinInChat: ... - @property - def premiumMessageInfo(self) -> global___PremiumMessageInfo: ... - is1PBizBotMessage: builtins.bool - isGroupHistoryMessage: builtins.bool - botMessageInvokerJid: builtins.str - @property - def commentMetadata(self) -> global___CommentMetadata: ... - @property - def eventResponses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EventResponse]: ... - @property - def reportingTokenInfo(self) -> global___ReportingTokenInfo: ... - newsletterServerId: builtins.int - def __init__( - self, - *, - key: global___MessageKey | None = ..., - message: global___Message | None = ..., - messageTimestamp: builtins.int | None = ..., - status: global___WebMessageInfo.Status.ValueType | None = ..., - participant: builtins.str | None = ..., - messageC2STimestamp: builtins.int | None = ..., - ignore: builtins.bool | None = ..., - starred: builtins.bool | None = ..., - broadcast: builtins.bool | None = ..., - pushName: builtins.str | None = ..., - mediaCiphertextSha256: builtins.bytes | None = ..., - multicast: builtins.bool | None = ..., - urlText: builtins.bool | None = ..., - urlNumber: builtins.bool | None = ..., - messageStubType: global___WebMessageInfo.StubType.ValueType | None = ..., - clearMedia: builtins.bool | None = ..., - messageStubParameters: collections.abc.Iterable[builtins.str] | None = ..., - duration: builtins.int | None = ..., - labels: collections.abc.Iterable[builtins.str] | None = ..., - paymentInfo: global___PaymentInfo | None = ..., - finalLiveLocation: global___LiveLocationMessage | None = ..., - quotedPaymentInfo: global___PaymentInfo | None = ..., - ephemeralStartTimestamp: builtins.int | None = ..., - ephemeralDuration: builtins.int | None = ..., - ephemeralOffToOn: builtins.bool | None = ..., - ephemeralOutOfSync: builtins.bool | None = ..., - bizPrivacyStatus: global___WebMessageInfo.BizPrivacyStatus.ValueType | None = ..., - verifiedBizName: builtins.str | None = ..., - mediaData: global___MediaData | None = ..., - photoChange: global___PhotoChange | None = ..., - userReceipt: collections.abc.Iterable[global___UserReceipt] | None = ..., - reactions: collections.abc.Iterable[global___Reaction] | None = ..., - quotedStickerData: global___MediaData | None = ..., - futureproofData: builtins.bytes | None = ..., - statusPsa: global___StatusPSA | None = ..., - pollUpdates: collections.abc.Iterable[global___PollUpdate] | None = ..., - pollAdditionalMetadata: global___PollAdditionalMetadata | None = ..., - agentId: builtins.str | None = ..., - statusAlreadyViewed: builtins.bool | None = ..., - messageSecret: builtins.bytes | None = ..., - keepInChat: global___KeepInChat | None = ..., - originalSelfAuthorUserJidString: builtins.str | None = ..., - revokeMessageTimestamp: builtins.int | None = ..., - pinInChat: global___PinInChat | None = ..., - premiumMessageInfo: global___PremiumMessageInfo | None = ..., - is1PBizBotMessage: builtins.bool | None = ..., - isGroupHistoryMessage: builtins.bool | None = ..., - botMessageInvokerJid: builtins.str | None = ..., - commentMetadata: global___CommentMetadata | None = ..., - eventResponses: collections.abc.Iterable[global___EventResponse] | None = ..., - reportingTokenInfo: global___ReportingTokenInfo | None = ..., - newsletterServerId: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["agentId", b"agentId", "bizPrivacyStatus", b"bizPrivacyStatus", "botMessageInvokerJid", b"botMessageInvokerJid", "broadcast", b"broadcast", "clearMedia", b"clearMedia", "commentMetadata", b"commentMetadata", "duration", b"duration", "ephemeralDuration", b"ephemeralDuration", "ephemeralOffToOn", b"ephemeralOffToOn", "ephemeralOutOfSync", b"ephemeralOutOfSync", "ephemeralStartTimestamp", b"ephemeralStartTimestamp", "finalLiveLocation", b"finalLiveLocation", "futureproofData", b"futureproofData", "ignore", b"ignore", "is1PBizBotMessage", b"is1PBizBotMessage", "isGroupHistoryMessage", b"isGroupHistoryMessage", "keepInChat", b"keepInChat", "key", b"key", "mediaCiphertextSha256", b"mediaCiphertextSha256", "mediaData", b"mediaData", "message", b"message", "messageC2STimestamp", b"messageC2STimestamp", "messageSecret", b"messageSecret", "messageStubType", b"messageStubType", "messageTimestamp", b"messageTimestamp", "multicast", b"multicast", "newsletterServerId", b"newsletterServerId", "originalSelfAuthorUserJidString", b"originalSelfAuthorUserJidString", "participant", b"participant", "paymentInfo", b"paymentInfo", "photoChange", b"photoChange", "pinInChat", b"pinInChat", "pollAdditionalMetadata", b"pollAdditionalMetadata", "premiumMessageInfo", b"premiumMessageInfo", "pushName", b"pushName", "quotedPaymentInfo", b"quotedPaymentInfo", "quotedStickerData", b"quotedStickerData", "reportingTokenInfo", b"reportingTokenInfo", "revokeMessageTimestamp", b"revokeMessageTimestamp", "starred", b"starred", "status", b"status", "statusAlreadyViewed", b"statusAlreadyViewed", "statusPsa", b"statusPsa", "urlNumber", b"urlNumber", "urlText", b"urlText", "verifiedBizName", b"verifiedBizName"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["agentId", b"agentId", "bizPrivacyStatus", b"bizPrivacyStatus", "botMessageInvokerJid", b"botMessageInvokerJid", "broadcast", b"broadcast", "clearMedia", b"clearMedia", "commentMetadata", b"commentMetadata", "duration", b"duration", "ephemeralDuration", b"ephemeralDuration", "ephemeralOffToOn", b"ephemeralOffToOn", "ephemeralOutOfSync", b"ephemeralOutOfSync", "ephemeralStartTimestamp", b"ephemeralStartTimestamp", "eventResponses", b"eventResponses", "finalLiveLocation", b"finalLiveLocation", "futureproofData", b"futureproofData", "ignore", b"ignore", "is1PBizBotMessage", b"is1PBizBotMessage", "isGroupHistoryMessage", b"isGroupHistoryMessage", "keepInChat", b"keepInChat", "key", b"key", "labels", b"labels", "mediaCiphertextSha256", b"mediaCiphertextSha256", "mediaData", b"mediaData", "message", b"message", "messageC2STimestamp", b"messageC2STimestamp", "messageSecret", b"messageSecret", "messageStubParameters", b"messageStubParameters", "messageStubType", b"messageStubType", "messageTimestamp", b"messageTimestamp", "multicast", b"multicast", "newsletterServerId", b"newsletterServerId", "originalSelfAuthorUserJidString", b"originalSelfAuthorUserJidString", "participant", b"participant", "paymentInfo", b"paymentInfo", "photoChange", b"photoChange", "pinInChat", b"pinInChat", "pollAdditionalMetadata", b"pollAdditionalMetadata", "pollUpdates", b"pollUpdates", "premiumMessageInfo", b"premiumMessageInfo", "pushName", b"pushName", "quotedPaymentInfo", b"quotedPaymentInfo", "quotedStickerData", b"quotedStickerData", "reactions", b"reactions", "reportingTokenInfo", b"reportingTokenInfo", "revokeMessageTimestamp", b"revokeMessageTimestamp", "starred", b"starred", "status", b"status", "statusAlreadyViewed", b"statusAlreadyViewed", "statusPsa", b"statusPsa", "urlNumber", b"urlNumber", "urlText", b"urlText", "userReceipt", b"userReceipt", "verifiedBizName", b"verifiedBizName"]) -> None: ... - -global___WebMessageInfo = WebMessageInfo - -@typing_extensions.final -class WebFeatures(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Flag: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _FlagEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WebFeatures._Flag.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - NOT_STARTED: WebFeatures._Flag.ValueType # 0 - FORCE_UPGRADE: WebFeatures._Flag.ValueType # 1 - DEVELOPMENT: WebFeatures._Flag.ValueType # 2 - PRODUCTION: WebFeatures._Flag.ValueType # 3 - - class Flag(_Flag, metaclass=_FlagEnumTypeWrapper): ... - NOT_STARTED: WebFeatures.Flag.ValueType # 0 - FORCE_UPGRADE: WebFeatures.Flag.ValueType # 1 - DEVELOPMENT: WebFeatures.Flag.ValueType # 2 - PRODUCTION: WebFeatures.Flag.ValueType # 3 - - LABELSDISPLAY_FIELD_NUMBER: builtins.int - VOIPINDIVIDUALOUTGOING_FIELD_NUMBER: builtins.int - GROUPSV3_FIELD_NUMBER: builtins.int - GROUPSV3CREATE_FIELD_NUMBER: builtins.int - CHANGENUMBERV2_FIELD_NUMBER: builtins.int - QUERYSTATUSV3THUMBNAIL_FIELD_NUMBER: builtins.int - LIVELOCATIONS_FIELD_NUMBER: builtins.int - QUERYVNAME_FIELD_NUMBER: builtins.int - VOIPINDIVIDUALINCOMING_FIELD_NUMBER: builtins.int - QUICKREPLIESQUERY_FIELD_NUMBER: builtins.int - PAYMENTS_FIELD_NUMBER: builtins.int - STICKERPACKQUERY_FIELD_NUMBER: builtins.int - LIVELOCATIONSFINAL_FIELD_NUMBER: builtins.int - LABELSEDIT_FIELD_NUMBER: builtins.int - MEDIAUPLOAD_FIELD_NUMBER: builtins.int - MEDIAUPLOADRICHQUICKREPLIES_FIELD_NUMBER: builtins.int - VNAMEV2_FIELD_NUMBER: builtins.int - VIDEOPLAYBACKURL_FIELD_NUMBER: builtins.int - STATUSRANKING_FIELD_NUMBER: builtins.int - VOIPINDIVIDUALVIDEO_FIELD_NUMBER: builtins.int - THIRDPARTYSTICKERS_FIELD_NUMBER: builtins.int - FREQUENTLYFORWARDEDSETTING_FIELD_NUMBER: builtins.int - GROUPSV4JOINPERMISSION_FIELD_NUMBER: builtins.int - RECENTSTICKERS_FIELD_NUMBER: builtins.int - CATALOG_FIELD_NUMBER: builtins.int - STARREDSTICKERS_FIELD_NUMBER: builtins.int - VOIPGROUPCALL_FIELD_NUMBER: builtins.int - TEMPLATEMESSAGE_FIELD_NUMBER: builtins.int - TEMPLATEMESSAGEINTERACTIVITY_FIELD_NUMBER: builtins.int - EPHEMERALMESSAGES_FIELD_NUMBER: builtins.int - E2ENOTIFICATIONSYNC_FIELD_NUMBER: builtins.int - RECENTSTICKERSV2_FIELD_NUMBER: builtins.int - RECENTSTICKERSV3_FIELD_NUMBER: builtins.int - USERNOTICE_FIELD_NUMBER: builtins.int - SUPPORT_FIELD_NUMBER: builtins.int - GROUPUIICLEANUP_FIELD_NUMBER: builtins.int - GROUPDOGFOODINGINTERNALONLY_FIELD_NUMBER: builtins.int - SETTINGSSYNC_FIELD_NUMBER: builtins.int - ARCHIVEV2_FIELD_NUMBER: builtins.int - EPHEMERALALLOWGROUPMEMBERS_FIELD_NUMBER: builtins.int - EPHEMERAL24HDURATION_FIELD_NUMBER: builtins.int - MDFORCEUPGRADE_FIELD_NUMBER: builtins.int - DISAPPEARINGMODE_FIELD_NUMBER: builtins.int - EXTERNALMDOPTINAVAILABLE_FIELD_NUMBER: builtins.int - NODELETEMESSAGETIMELIMIT_FIELD_NUMBER: builtins.int - labelsDisplay: global___WebFeatures.Flag.ValueType - voipIndividualOutgoing: global___WebFeatures.Flag.ValueType - groupsV3: global___WebFeatures.Flag.ValueType - groupsV3Create: global___WebFeatures.Flag.ValueType - changeNumberV2: global___WebFeatures.Flag.ValueType - queryStatusV3Thumbnail: global___WebFeatures.Flag.ValueType - liveLocations: global___WebFeatures.Flag.ValueType - queryVname: global___WebFeatures.Flag.ValueType - voipIndividualIncoming: global___WebFeatures.Flag.ValueType - quickRepliesQuery: global___WebFeatures.Flag.ValueType - payments: global___WebFeatures.Flag.ValueType - stickerPackQuery: global___WebFeatures.Flag.ValueType - liveLocationsFinal: global___WebFeatures.Flag.ValueType - labelsEdit: global___WebFeatures.Flag.ValueType - mediaUpload: global___WebFeatures.Flag.ValueType - mediaUploadRichQuickReplies: global___WebFeatures.Flag.ValueType - vnameV2: global___WebFeatures.Flag.ValueType - videoPlaybackUrl: global___WebFeatures.Flag.ValueType - statusRanking: global___WebFeatures.Flag.ValueType - voipIndividualVideo: global___WebFeatures.Flag.ValueType - thirdPartyStickers: global___WebFeatures.Flag.ValueType - frequentlyForwardedSetting: global___WebFeatures.Flag.ValueType - groupsV4JoinPermission: global___WebFeatures.Flag.ValueType - recentStickers: global___WebFeatures.Flag.ValueType - catalog: global___WebFeatures.Flag.ValueType - starredStickers: global___WebFeatures.Flag.ValueType - voipGroupCall: global___WebFeatures.Flag.ValueType - templateMessage: global___WebFeatures.Flag.ValueType - templateMessageInteractivity: global___WebFeatures.Flag.ValueType - ephemeralMessages: global___WebFeatures.Flag.ValueType - e2ENotificationSync: global___WebFeatures.Flag.ValueType - recentStickersV2: global___WebFeatures.Flag.ValueType - recentStickersV3: global___WebFeatures.Flag.ValueType - userNotice: global___WebFeatures.Flag.ValueType - support: global___WebFeatures.Flag.ValueType - groupUiiCleanup: global___WebFeatures.Flag.ValueType - groupDogfoodingInternalOnly: global___WebFeatures.Flag.ValueType - settingsSync: global___WebFeatures.Flag.ValueType - archiveV2: global___WebFeatures.Flag.ValueType - ephemeralAllowGroupMembers: global___WebFeatures.Flag.ValueType - ephemeral24HDuration: global___WebFeatures.Flag.ValueType - mdForceUpgrade: global___WebFeatures.Flag.ValueType - disappearingMode: global___WebFeatures.Flag.ValueType - externalMdOptInAvailable: global___WebFeatures.Flag.ValueType - noDeleteMessageTimeLimit: global___WebFeatures.Flag.ValueType - def __init__( - self, - *, - labelsDisplay: global___WebFeatures.Flag.ValueType | None = ..., - voipIndividualOutgoing: global___WebFeatures.Flag.ValueType | None = ..., - groupsV3: global___WebFeatures.Flag.ValueType | None = ..., - groupsV3Create: global___WebFeatures.Flag.ValueType | None = ..., - changeNumberV2: global___WebFeatures.Flag.ValueType | None = ..., - queryStatusV3Thumbnail: global___WebFeatures.Flag.ValueType | None = ..., - liveLocations: global___WebFeatures.Flag.ValueType | None = ..., - queryVname: global___WebFeatures.Flag.ValueType | None = ..., - voipIndividualIncoming: global___WebFeatures.Flag.ValueType | None = ..., - quickRepliesQuery: global___WebFeatures.Flag.ValueType | None = ..., - payments: global___WebFeatures.Flag.ValueType | None = ..., - stickerPackQuery: global___WebFeatures.Flag.ValueType | None = ..., - liveLocationsFinal: global___WebFeatures.Flag.ValueType | None = ..., - labelsEdit: global___WebFeatures.Flag.ValueType | None = ..., - mediaUpload: global___WebFeatures.Flag.ValueType | None = ..., - mediaUploadRichQuickReplies: global___WebFeatures.Flag.ValueType | None = ..., - vnameV2: global___WebFeatures.Flag.ValueType | None = ..., - videoPlaybackUrl: global___WebFeatures.Flag.ValueType | None = ..., - statusRanking: global___WebFeatures.Flag.ValueType | None = ..., - voipIndividualVideo: global___WebFeatures.Flag.ValueType | None = ..., - thirdPartyStickers: global___WebFeatures.Flag.ValueType | None = ..., - frequentlyForwardedSetting: global___WebFeatures.Flag.ValueType | None = ..., - groupsV4JoinPermission: global___WebFeatures.Flag.ValueType | None = ..., - recentStickers: global___WebFeatures.Flag.ValueType | None = ..., - catalog: global___WebFeatures.Flag.ValueType | None = ..., - starredStickers: global___WebFeatures.Flag.ValueType | None = ..., - voipGroupCall: global___WebFeatures.Flag.ValueType | None = ..., - templateMessage: global___WebFeatures.Flag.ValueType | None = ..., - templateMessageInteractivity: global___WebFeatures.Flag.ValueType | None = ..., - ephemeralMessages: global___WebFeatures.Flag.ValueType | None = ..., - e2ENotificationSync: global___WebFeatures.Flag.ValueType | None = ..., - recentStickersV2: global___WebFeatures.Flag.ValueType | None = ..., - recentStickersV3: global___WebFeatures.Flag.ValueType | None = ..., - userNotice: global___WebFeatures.Flag.ValueType | None = ..., - support: global___WebFeatures.Flag.ValueType | None = ..., - groupUiiCleanup: global___WebFeatures.Flag.ValueType | None = ..., - groupDogfoodingInternalOnly: global___WebFeatures.Flag.ValueType | None = ..., - settingsSync: global___WebFeatures.Flag.ValueType | None = ..., - archiveV2: global___WebFeatures.Flag.ValueType | None = ..., - ephemeralAllowGroupMembers: global___WebFeatures.Flag.ValueType | None = ..., - ephemeral24HDuration: global___WebFeatures.Flag.ValueType | None = ..., - mdForceUpgrade: global___WebFeatures.Flag.ValueType | None = ..., - disappearingMode: global___WebFeatures.Flag.ValueType | None = ..., - externalMdOptInAvailable: global___WebFeatures.Flag.ValueType | None = ..., - noDeleteMessageTimeLimit: global___WebFeatures.Flag.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["archiveV2", b"archiveV2", "catalog", b"catalog", "changeNumberV2", b"changeNumberV2", "disappearingMode", b"disappearingMode", "e2ENotificationSync", b"e2ENotificationSync", "ephemeral24HDuration", b"ephemeral24HDuration", "ephemeralAllowGroupMembers", b"ephemeralAllowGroupMembers", "ephemeralMessages", b"ephemeralMessages", "externalMdOptInAvailable", b"externalMdOptInAvailable", "frequentlyForwardedSetting", b"frequentlyForwardedSetting", "groupDogfoodingInternalOnly", b"groupDogfoodingInternalOnly", "groupUiiCleanup", b"groupUiiCleanup", "groupsV3", b"groupsV3", "groupsV3Create", b"groupsV3Create", "groupsV4JoinPermission", b"groupsV4JoinPermission", "labelsDisplay", b"labelsDisplay", "labelsEdit", b"labelsEdit", "liveLocations", b"liveLocations", "liveLocationsFinal", b"liveLocationsFinal", "mdForceUpgrade", b"mdForceUpgrade", "mediaUpload", b"mediaUpload", "mediaUploadRichQuickReplies", b"mediaUploadRichQuickReplies", "noDeleteMessageTimeLimit", b"noDeleteMessageTimeLimit", "payments", b"payments", "queryStatusV3Thumbnail", b"queryStatusV3Thumbnail", "queryVname", b"queryVname", "quickRepliesQuery", b"quickRepliesQuery", "recentStickers", b"recentStickers", "recentStickersV2", b"recentStickersV2", "recentStickersV3", b"recentStickersV3", "settingsSync", b"settingsSync", "starredStickers", b"starredStickers", "statusRanking", b"statusRanking", "stickerPackQuery", b"stickerPackQuery", "support", b"support", "templateMessage", b"templateMessage", "templateMessageInteractivity", b"templateMessageInteractivity", "thirdPartyStickers", b"thirdPartyStickers", "userNotice", b"userNotice", "videoPlaybackUrl", b"videoPlaybackUrl", "vnameV2", b"vnameV2", "voipGroupCall", b"voipGroupCall", "voipIndividualIncoming", b"voipIndividualIncoming", "voipIndividualOutgoing", b"voipIndividualOutgoing", "voipIndividualVideo", b"voipIndividualVideo"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["archiveV2", b"archiveV2", "catalog", b"catalog", "changeNumberV2", b"changeNumberV2", "disappearingMode", b"disappearingMode", "e2ENotificationSync", b"e2ENotificationSync", "ephemeral24HDuration", b"ephemeral24HDuration", "ephemeralAllowGroupMembers", b"ephemeralAllowGroupMembers", "ephemeralMessages", b"ephemeralMessages", "externalMdOptInAvailable", b"externalMdOptInAvailable", "frequentlyForwardedSetting", b"frequentlyForwardedSetting", "groupDogfoodingInternalOnly", b"groupDogfoodingInternalOnly", "groupUiiCleanup", b"groupUiiCleanup", "groupsV3", b"groupsV3", "groupsV3Create", b"groupsV3Create", "groupsV4JoinPermission", b"groupsV4JoinPermission", "labelsDisplay", b"labelsDisplay", "labelsEdit", b"labelsEdit", "liveLocations", b"liveLocations", "liveLocationsFinal", b"liveLocationsFinal", "mdForceUpgrade", b"mdForceUpgrade", "mediaUpload", b"mediaUpload", "mediaUploadRichQuickReplies", b"mediaUploadRichQuickReplies", "noDeleteMessageTimeLimit", b"noDeleteMessageTimeLimit", "payments", b"payments", "queryStatusV3Thumbnail", b"queryStatusV3Thumbnail", "queryVname", b"queryVname", "quickRepliesQuery", b"quickRepliesQuery", "recentStickers", b"recentStickers", "recentStickersV2", b"recentStickersV2", "recentStickersV3", b"recentStickersV3", "settingsSync", b"settingsSync", "starredStickers", b"starredStickers", "statusRanking", b"statusRanking", "stickerPackQuery", b"stickerPackQuery", "support", b"support", "templateMessage", b"templateMessage", "templateMessageInteractivity", b"templateMessageInteractivity", "thirdPartyStickers", b"thirdPartyStickers", "userNotice", b"userNotice", "videoPlaybackUrl", b"videoPlaybackUrl", "vnameV2", b"vnameV2", "voipGroupCall", b"voipGroupCall", "voipIndividualIncoming", b"voipIndividualIncoming", "voipIndividualOutgoing", b"voipIndividualOutgoing", "voipIndividualVideo", b"voipIndividualVideo"]) -> None: ... - -global___WebFeatures = WebFeatures - -@typing_extensions.final -class UserReceipt(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USERJID_FIELD_NUMBER: builtins.int - RECEIPTTIMESTAMP_FIELD_NUMBER: builtins.int - READTIMESTAMP_FIELD_NUMBER: builtins.int - PLAYEDTIMESTAMP_FIELD_NUMBER: builtins.int - PENDINGDEVICEJID_FIELD_NUMBER: builtins.int - DELIVEREDDEVICEJID_FIELD_NUMBER: builtins.int - userJid: builtins.str - receiptTimestamp: builtins.int - readTimestamp: builtins.int - playedTimestamp: builtins.int - @property - def pendingDeviceJid(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - @property - def deliveredDeviceJid(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - userJid: builtins.str | None = ..., - receiptTimestamp: builtins.int | None = ..., - readTimestamp: builtins.int | None = ..., - playedTimestamp: builtins.int | None = ..., - pendingDeviceJid: collections.abc.Iterable[builtins.str] | None = ..., - deliveredDeviceJid: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["playedTimestamp", b"playedTimestamp", "readTimestamp", b"readTimestamp", "receiptTimestamp", b"receiptTimestamp", "userJid", b"userJid"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["deliveredDeviceJid", b"deliveredDeviceJid", "pendingDeviceJid", b"pendingDeviceJid", "playedTimestamp", b"playedTimestamp", "readTimestamp", b"readTimestamp", "receiptTimestamp", b"receiptTimestamp", "userJid", b"userJid"]) -> None: ... - -global___UserReceipt = UserReceipt - -@typing_extensions.final -class StatusPSA(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CAMPAIGNID_FIELD_NUMBER: builtins.int - CAMPAIGNEXPIRATIONTIMESTAMP_FIELD_NUMBER: builtins.int - campaignId: builtins.int - campaignExpirationTimestamp: builtins.int - def __init__( - self, - *, - campaignId: builtins.int | None = ..., - campaignExpirationTimestamp: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["campaignExpirationTimestamp", b"campaignExpirationTimestamp", "campaignId", b"campaignId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["campaignExpirationTimestamp", b"campaignExpirationTimestamp", "campaignId", b"campaignId"]) -> None: ... - -global___StatusPSA = StatusPSA - -@typing_extensions.final -class ReportingTokenInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - REPORTINGTAG_FIELD_NUMBER: builtins.int - reportingTag: builtins.bytes - def __init__( - self, - *, - reportingTag: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["reportingTag", b"reportingTag"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["reportingTag", b"reportingTag"]) -> None: ... - -global___ReportingTokenInfo = ReportingTokenInfo - -@typing_extensions.final -class Reaction(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - TEXT_FIELD_NUMBER: builtins.int - GROUPINGKEY_FIELD_NUMBER: builtins.int - SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int - UNREAD_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - text: builtins.str - groupingKey: builtins.str - senderTimestampMs: builtins.int - unread: builtins.bool - def __init__( - self, - *, - key: global___MessageKey | None = ..., - text: builtins.str | None = ..., - groupingKey: builtins.str | None = ..., - senderTimestampMs: builtins.int | None = ..., - unread: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["groupingKey", b"groupingKey", "key", b"key", "senderTimestampMs", b"senderTimestampMs", "text", b"text", "unread", b"unread"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["groupingKey", b"groupingKey", "key", b"key", "senderTimestampMs", b"senderTimestampMs", "text", b"text", "unread", b"unread"]) -> None: ... - -global___Reaction = Reaction - -@typing_extensions.final -class PremiumMessageInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SERVERCAMPAIGNID_FIELD_NUMBER: builtins.int - serverCampaignId: builtins.str - def __init__( - self, - *, - serverCampaignId: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["serverCampaignId", b"serverCampaignId"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["serverCampaignId", b"serverCampaignId"]) -> None: ... - -global___PremiumMessageInfo = PremiumMessageInfo - -@typing_extensions.final -class PollUpdate(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLLUPDATEMESSAGEKEY_FIELD_NUMBER: builtins.int - VOTE_FIELD_NUMBER: builtins.int - SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int - SERVERTIMESTAMPMS_FIELD_NUMBER: builtins.int - UNREAD_FIELD_NUMBER: builtins.int - @property - def pollUpdateMessageKey(self) -> global___MessageKey: ... - @property - def vote(self) -> global___PollVoteMessage: ... - senderTimestampMs: builtins.int - serverTimestampMs: builtins.int - unread: builtins.bool - def __init__( - self, - *, - pollUpdateMessageKey: global___MessageKey | None = ..., - vote: global___PollVoteMessage | None = ..., - senderTimestampMs: builtins.int | None = ..., - serverTimestampMs: builtins.int | None = ..., - unread: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["pollUpdateMessageKey", b"pollUpdateMessageKey", "senderTimestampMs", b"senderTimestampMs", "serverTimestampMs", b"serverTimestampMs", "unread", b"unread", "vote", b"vote"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["pollUpdateMessageKey", b"pollUpdateMessageKey", "senderTimestampMs", b"senderTimestampMs", "serverTimestampMs", b"serverTimestampMs", "unread", b"unread", "vote", b"vote"]) -> None: ... - -global___PollUpdate = PollUpdate - -@typing_extensions.final -class PollAdditionalMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLLINVALIDATED_FIELD_NUMBER: builtins.int - pollInvalidated: builtins.bool - def __init__( - self, - *, - pollInvalidated: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["pollInvalidated", b"pollInvalidated"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["pollInvalidated", b"pollInvalidated"]) -> None: ... - -global___PollAdditionalMetadata = PollAdditionalMetadata - -@typing_extensions.final -class PinInChat(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _Type: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PinInChat._Type.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN_TYPE: PinInChat._Type.ValueType # 0 - PIN_FOR_ALL: PinInChat._Type.ValueType # 1 - UNPIN_FOR_ALL: PinInChat._Type.ValueType # 2 - - class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... - UNKNOWN_TYPE: PinInChat.Type.ValueType # 0 - PIN_FOR_ALL: PinInChat.Type.ValueType # 1 - UNPIN_FOR_ALL: PinInChat.Type.ValueType # 2 - - TYPE_FIELD_NUMBER: builtins.int - KEY_FIELD_NUMBER: builtins.int - SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int - SERVERTIMESTAMPMS_FIELD_NUMBER: builtins.int - MESSAGEADDONCONTEXTINFO_FIELD_NUMBER: builtins.int - type: global___PinInChat.Type.ValueType - @property - def key(self) -> global___MessageKey: ... - senderTimestampMs: builtins.int - serverTimestampMs: builtins.int - @property - def messageAddOnContextInfo(self) -> global___MessageAddOnContextInfo: ... - def __init__( - self, - *, - type: global___PinInChat.Type.ValueType | None = ..., - key: global___MessageKey | None = ..., - senderTimestampMs: builtins.int | None = ..., - serverTimestampMs: builtins.int | None = ..., - messageAddOnContextInfo: global___MessageAddOnContextInfo | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key", "messageAddOnContextInfo", b"messageAddOnContextInfo", "senderTimestampMs", b"senderTimestampMs", "serverTimestampMs", b"serverTimestampMs", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "messageAddOnContextInfo", b"messageAddOnContextInfo", "senderTimestampMs", b"senderTimestampMs", "serverTimestampMs", b"serverTimestampMs", "type", b"type"]) -> None: ... - -global___PinInChat = PinInChat - -@typing_extensions.final -class PhotoChange(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - OLDPHOTO_FIELD_NUMBER: builtins.int - NEWPHOTO_FIELD_NUMBER: builtins.int - NEWPHOTOID_FIELD_NUMBER: builtins.int - oldPhoto: builtins.bytes - newPhoto: builtins.bytes - newPhotoId: builtins.int - def __init__( - self, - *, - oldPhoto: builtins.bytes | None = ..., - newPhoto: builtins.bytes | None = ..., - newPhotoId: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["newPhoto", b"newPhoto", "newPhotoId", b"newPhotoId", "oldPhoto", b"oldPhoto"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["newPhoto", b"newPhoto", "newPhotoId", b"newPhotoId", "oldPhoto", b"oldPhoto"]) -> None: ... - -global___PhotoChange = PhotoChange - -@typing_extensions.final -class PaymentInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _TxnStatus: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _TxnStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentInfo._TxnStatus.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN: PaymentInfo._TxnStatus.ValueType # 0 - PENDING_SETUP: PaymentInfo._TxnStatus.ValueType # 1 - PENDING_RECEIVER_SETUP: PaymentInfo._TxnStatus.ValueType # 2 - INIT: PaymentInfo._TxnStatus.ValueType # 3 - SUCCESS: PaymentInfo._TxnStatus.ValueType # 4 - COMPLETED: PaymentInfo._TxnStatus.ValueType # 5 - FAILED: PaymentInfo._TxnStatus.ValueType # 6 - FAILED_RISK: PaymentInfo._TxnStatus.ValueType # 7 - FAILED_PROCESSING: PaymentInfo._TxnStatus.ValueType # 8 - FAILED_RECEIVER_PROCESSING: PaymentInfo._TxnStatus.ValueType # 9 - FAILED_DA: PaymentInfo._TxnStatus.ValueType # 10 - FAILED_DA_FINAL: PaymentInfo._TxnStatus.ValueType # 11 - REFUNDED_TXN: PaymentInfo._TxnStatus.ValueType # 12 - REFUND_FAILED: PaymentInfo._TxnStatus.ValueType # 13 - REFUND_FAILED_PROCESSING: PaymentInfo._TxnStatus.ValueType # 14 - REFUND_FAILED_DA: PaymentInfo._TxnStatus.ValueType # 15 - EXPIRED_TXN: PaymentInfo._TxnStatus.ValueType # 16 - AUTH_CANCELED: PaymentInfo._TxnStatus.ValueType # 17 - AUTH_CANCEL_FAILED_PROCESSING: PaymentInfo._TxnStatus.ValueType # 18 - AUTH_CANCEL_FAILED: PaymentInfo._TxnStatus.ValueType # 19 - COLLECT_INIT: PaymentInfo._TxnStatus.ValueType # 20 - COLLECT_SUCCESS: PaymentInfo._TxnStatus.ValueType # 21 - COLLECT_FAILED: PaymentInfo._TxnStatus.ValueType # 22 - COLLECT_FAILED_RISK: PaymentInfo._TxnStatus.ValueType # 23 - COLLECT_REJECTED: PaymentInfo._TxnStatus.ValueType # 24 - COLLECT_EXPIRED: PaymentInfo._TxnStatus.ValueType # 25 - COLLECT_CANCELED: PaymentInfo._TxnStatus.ValueType # 26 - COLLECT_CANCELLING: PaymentInfo._TxnStatus.ValueType # 27 - IN_REVIEW: PaymentInfo._TxnStatus.ValueType # 28 - REVERSAL_SUCCESS: PaymentInfo._TxnStatus.ValueType # 29 - REVERSAL_PENDING: PaymentInfo._TxnStatus.ValueType # 30 - REFUND_PENDING: PaymentInfo._TxnStatus.ValueType # 31 - - class TxnStatus(_TxnStatus, metaclass=_TxnStatusEnumTypeWrapper): ... - UNKNOWN: PaymentInfo.TxnStatus.ValueType # 0 - PENDING_SETUP: PaymentInfo.TxnStatus.ValueType # 1 - PENDING_RECEIVER_SETUP: PaymentInfo.TxnStatus.ValueType # 2 - INIT: PaymentInfo.TxnStatus.ValueType # 3 - SUCCESS: PaymentInfo.TxnStatus.ValueType # 4 - COMPLETED: PaymentInfo.TxnStatus.ValueType # 5 - FAILED: PaymentInfo.TxnStatus.ValueType # 6 - FAILED_RISK: PaymentInfo.TxnStatus.ValueType # 7 - FAILED_PROCESSING: PaymentInfo.TxnStatus.ValueType # 8 - FAILED_RECEIVER_PROCESSING: PaymentInfo.TxnStatus.ValueType # 9 - FAILED_DA: PaymentInfo.TxnStatus.ValueType # 10 - FAILED_DA_FINAL: PaymentInfo.TxnStatus.ValueType # 11 - REFUNDED_TXN: PaymentInfo.TxnStatus.ValueType # 12 - REFUND_FAILED: PaymentInfo.TxnStatus.ValueType # 13 - REFUND_FAILED_PROCESSING: PaymentInfo.TxnStatus.ValueType # 14 - REFUND_FAILED_DA: PaymentInfo.TxnStatus.ValueType # 15 - EXPIRED_TXN: PaymentInfo.TxnStatus.ValueType # 16 - AUTH_CANCELED: PaymentInfo.TxnStatus.ValueType # 17 - AUTH_CANCEL_FAILED_PROCESSING: PaymentInfo.TxnStatus.ValueType # 18 - AUTH_CANCEL_FAILED: PaymentInfo.TxnStatus.ValueType # 19 - COLLECT_INIT: PaymentInfo.TxnStatus.ValueType # 20 - COLLECT_SUCCESS: PaymentInfo.TxnStatus.ValueType # 21 - COLLECT_FAILED: PaymentInfo.TxnStatus.ValueType # 22 - COLLECT_FAILED_RISK: PaymentInfo.TxnStatus.ValueType # 23 - COLLECT_REJECTED: PaymentInfo.TxnStatus.ValueType # 24 - COLLECT_EXPIRED: PaymentInfo.TxnStatus.ValueType # 25 - COLLECT_CANCELED: PaymentInfo.TxnStatus.ValueType # 26 - COLLECT_CANCELLING: PaymentInfo.TxnStatus.ValueType # 27 - IN_REVIEW: PaymentInfo.TxnStatus.ValueType # 28 - REVERSAL_SUCCESS: PaymentInfo.TxnStatus.ValueType # 29 - REVERSAL_PENDING: PaymentInfo.TxnStatus.ValueType # 30 - REFUND_PENDING: PaymentInfo.TxnStatus.ValueType # 31 - - class _Status: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _StatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentInfo._Status.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN_STATUS: PaymentInfo._Status.ValueType # 0 - PROCESSING: PaymentInfo._Status.ValueType # 1 - SENT: PaymentInfo._Status.ValueType # 2 - NEED_TO_ACCEPT: PaymentInfo._Status.ValueType # 3 - COMPLETE: PaymentInfo._Status.ValueType # 4 - COULD_NOT_COMPLETE: PaymentInfo._Status.ValueType # 5 - REFUNDED: PaymentInfo._Status.ValueType # 6 - EXPIRED: PaymentInfo._Status.ValueType # 7 - REJECTED: PaymentInfo._Status.ValueType # 8 - CANCELLED: PaymentInfo._Status.ValueType # 9 - WAITING_FOR_PAYER: PaymentInfo._Status.ValueType # 10 - WAITING: PaymentInfo._Status.ValueType # 11 - - class Status(_Status, metaclass=_StatusEnumTypeWrapper): ... - UNKNOWN_STATUS: PaymentInfo.Status.ValueType # 0 - PROCESSING: PaymentInfo.Status.ValueType # 1 - SENT: PaymentInfo.Status.ValueType # 2 - NEED_TO_ACCEPT: PaymentInfo.Status.ValueType # 3 - COMPLETE: PaymentInfo.Status.ValueType # 4 - COULD_NOT_COMPLETE: PaymentInfo.Status.ValueType # 5 - REFUNDED: PaymentInfo.Status.ValueType # 6 - EXPIRED: PaymentInfo.Status.ValueType # 7 - REJECTED: PaymentInfo.Status.ValueType # 8 - CANCELLED: PaymentInfo.Status.ValueType # 9 - WAITING_FOR_PAYER: PaymentInfo.Status.ValueType # 10 - WAITING: PaymentInfo.Status.ValueType # 11 - - class _Currency: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _CurrencyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentInfo._Currency.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - UNKNOWN_CURRENCY: PaymentInfo._Currency.ValueType # 0 - INR: PaymentInfo._Currency.ValueType # 1 - - class Currency(_Currency, metaclass=_CurrencyEnumTypeWrapper): ... - UNKNOWN_CURRENCY: PaymentInfo.Currency.ValueType # 0 - INR: PaymentInfo.Currency.ValueType # 1 - - CURRENCYDEPRECATED_FIELD_NUMBER: builtins.int - AMOUNT1000_FIELD_NUMBER: builtins.int - RECEIVERJID_FIELD_NUMBER: builtins.int - STATUS_FIELD_NUMBER: builtins.int - TRANSACTIONTIMESTAMP_FIELD_NUMBER: builtins.int - REQUESTMESSAGEKEY_FIELD_NUMBER: builtins.int - EXPIRYTIMESTAMP_FIELD_NUMBER: builtins.int - FUTUREPROOFED_FIELD_NUMBER: builtins.int - CURRENCY_FIELD_NUMBER: builtins.int - TXNSTATUS_FIELD_NUMBER: builtins.int - USENOVIFIATFORMAT_FIELD_NUMBER: builtins.int - PRIMARYAMOUNT_FIELD_NUMBER: builtins.int - EXCHANGEAMOUNT_FIELD_NUMBER: builtins.int - currencyDeprecated: global___PaymentInfo.Currency.ValueType - amount1000: builtins.int - receiverJid: builtins.str - status: global___PaymentInfo.Status.ValueType - transactionTimestamp: builtins.int - @property - def requestMessageKey(self) -> global___MessageKey: ... - expiryTimestamp: builtins.int - futureproofed: builtins.bool - currency: builtins.str - txnStatus: global___PaymentInfo.TxnStatus.ValueType - useNoviFiatFormat: builtins.bool - @property - def primaryAmount(self) -> global___Money: ... - @property - def exchangeAmount(self) -> global___Money: ... - def __init__( - self, - *, - currencyDeprecated: global___PaymentInfo.Currency.ValueType | None = ..., - amount1000: builtins.int | None = ..., - receiverJid: builtins.str | None = ..., - status: global___PaymentInfo.Status.ValueType | None = ..., - transactionTimestamp: builtins.int | None = ..., - requestMessageKey: global___MessageKey | None = ..., - expiryTimestamp: builtins.int | None = ..., - futureproofed: builtins.bool | None = ..., - currency: builtins.str | None = ..., - txnStatus: global___PaymentInfo.TxnStatus.ValueType | None = ..., - useNoviFiatFormat: builtins.bool | None = ..., - primaryAmount: global___Money | None = ..., - exchangeAmount: global___Money | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["amount1000", b"amount1000", "currency", b"currency", "currencyDeprecated", b"currencyDeprecated", "exchangeAmount", b"exchangeAmount", "expiryTimestamp", b"expiryTimestamp", "futureproofed", b"futureproofed", "primaryAmount", b"primaryAmount", "receiverJid", b"receiverJid", "requestMessageKey", b"requestMessageKey", "status", b"status", "transactionTimestamp", b"transactionTimestamp", "txnStatus", b"txnStatus", "useNoviFiatFormat", b"useNoviFiatFormat"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["amount1000", b"amount1000", "currency", b"currency", "currencyDeprecated", b"currencyDeprecated", "exchangeAmount", b"exchangeAmount", "expiryTimestamp", b"expiryTimestamp", "futureproofed", b"futureproofed", "primaryAmount", b"primaryAmount", "receiverJid", b"receiverJid", "requestMessageKey", b"requestMessageKey", "status", b"status", "transactionTimestamp", b"transactionTimestamp", "txnStatus", b"txnStatus", "useNoviFiatFormat", b"useNoviFiatFormat"]) -> None: ... - -global___PaymentInfo = PaymentInfo - -@typing_extensions.final -class NotificationMessageInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - MESSAGETIMESTAMP_FIELD_NUMBER: builtins.int - PARTICIPANT_FIELD_NUMBER: builtins.int - @property - def key(self) -> global___MessageKey: ... - @property - def message(self) -> global___Message: ... - messageTimestamp: builtins.int - participant: builtins.str - def __init__( - self, - *, - key: global___MessageKey | None = ..., - message: global___Message | None = ..., - messageTimestamp: builtins.int | None = ..., - participant: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key", "message", b"message", "messageTimestamp", b"messageTimestamp", "participant", b"participant"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "message", b"message", "messageTimestamp", b"messageTimestamp", "participant", b"participant"]) -> None: ... - -global___NotificationMessageInfo = NotificationMessageInfo - -@typing_extensions.final -class MessageAddOnContextInfo(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - MESSAGEADDONDURATIONINSECS_FIELD_NUMBER: builtins.int - messageAddOnDurationInSecs: builtins.int - def __init__( - self, - *, - messageAddOnDurationInSecs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["messageAddOnDurationInSecs", b"messageAddOnDurationInSecs"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["messageAddOnDurationInSecs", b"messageAddOnDurationInSecs"]) -> None: ... - -global___MessageAddOnContextInfo = MessageAddOnContextInfo - -@typing_extensions.final -class MediaData(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - LOCALPATH_FIELD_NUMBER: builtins.int - localPath: builtins.str - def __init__( - self, - *, - localPath: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["localPath", b"localPath"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["localPath", b"localPath"]) -> None: ... - -global___MediaData = MediaData - -@typing_extensions.final -class KeepInChat(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEEPTYPE_FIELD_NUMBER: builtins.int - SERVERTIMESTAMP_FIELD_NUMBER: builtins.int - KEY_FIELD_NUMBER: builtins.int - DEVICEJID_FIELD_NUMBER: builtins.int - CLIENTTIMESTAMPMS_FIELD_NUMBER: builtins.int - SERVERTIMESTAMPMS_FIELD_NUMBER: builtins.int - keepType: global___KeepType.ValueType - serverTimestamp: builtins.int - @property - def key(self) -> global___MessageKey: ... - deviceJid: builtins.str - clientTimestampMs: builtins.int - serverTimestampMs: builtins.int - def __init__( - self, - *, - keepType: global___KeepType.ValueType | None = ..., - serverTimestamp: builtins.int | None = ..., - key: global___MessageKey | None = ..., - deviceJid: builtins.str | None = ..., - clientTimestampMs: builtins.int | None = ..., - serverTimestampMs: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["clientTimestampMs", b"clientTimestampMs", "deviceJid", b"deviceJid", "keepType", b"keepType", "key", b"key", "serverTimestamp", b"serverTimestamp", "serverTimestampMs", b"serverTimestampMs"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["clientTimestampMs", b"clientTimestampMs", "deviceJid", b"deviceJid", "keepType", b"keepType", "key", b"key", "serverTimestamp", b"serverTimestamp", "serverTimestampMs", b"serverTimestampMs"]) -> None: ... - -global___KeepInChat = KeepInChat - -@typing_extensions.final -class EventResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - EVENTRESPONSEMESSAGEKEY_FIELD_NUMBER: builtins.int - TIMESTAMPMS_FIELD_NUMBER: builtins.int - EVENTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int - UNREAD_FIELD_NUMBER: builtins.int - @property - def eventResponseMessageKey(self) -> global___MessageKey: ... - timestampMs: builtins.int - @property - def eventResponseMessage(self) -> global___EventResponseMessage: ... - unread: builtins.bool - def __init__( - self, - *, - eventResponseMessageKey: global___MessageKey | None = ..., - timestampMs: builtins.int | None = ..., - eventResponseMessage: global___EventResponseMessage | None = ..., - unread: builtins.bool | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["eventResponseMessage", b"eventResponseMessage", "eventResponseMessageKey", b"eventResponseMessageKey", "timestampMs", b"timestampMs", "unread", b"unread"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["eventResponseMessage", b"eventResponseMessage", "eventResponseMessageKey", b"eventResponseMessageKey", "timestampMs", b"timestampMs", "unread", b"unread"]) -> None: ... - -global___EventResponse = EventResponse - -@typing_extensions.final -class CommentMetadata(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - COMMENTPARENTKEY_FIELD_NUMBER: builtins.int - REPLYCOUNT_FIELD_NUMBER: builtins.int - @property - def commentParentKey(self) -> global___MessageKey: ... - replyCount: builtins.int - def __init__( - self, - *, - commentParentKey: global___MessageKey | None = ..., - replyCount: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["commentParentKey", b"commentParentKey", "replyCount", b"replyCount"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["commentParentKey", b"commentParentKey", "replyCount", b"replyCount"]) -> None: ... - -global___CommentMetadata = CommentMetadata - -@typing_extensions.final -class NoiseCertificate(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class Details(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SERIAL_FIELD_NUMBER: builtins.int - ISSUER_FIELD_NUMBER: builtins.int - EXPIRES_FIELD_NUMBER: builtins.int - SUBJECT_FIELD_NUMBER: builtins.int - KEY_FIELD_NUMBER: builtins.int - serial: builtins.int - issuer: builtins.str - expires: builtins.int - subject: builtins.str - key: builtins.bytes - def __init__( - self, - *, - serial: builtins.int | None = ..., - issuer: builtins.str | None = ..., - expires: builtins.int | None = ..., - subject: builtins.str | None = ..., - key: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["expires", b"expires", "issuer", b"issuer", "key", b"key", "serial", b"serial", "subject", b"subject"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["expires", b"expires", "issuer", b"issuer", "key", b"key", "serial", b"serial", "subject", b"subject"]) -> None: ... - - DETAILS_FIELD_NUMBER: builtins.int - SIGNATURE_FIELD_NUMBER: builtins.int - details: builtins.bytes - signature: builtins.bytes - def __init__( - self, - *, - details: builtins.bytes | None = ..., - signature: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["details", b"details", "signature", b"signature"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["details", b"details", "signature", b"signature"]) -> None: ... - -global___NoiseCertificate = NoiseCertificate - -@typing_extensions.final -class CertChain(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class NoiseCertificate(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing_extensions.final - class Details(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - SERIAL_FIELD_NUMBER: builtins.int - ISSUERSERIAL_FIELD_NUMBER: builtins.int - KEY_FIELD_NUMBER: builtins.int - NOTBEFORE_FIELD_NUMBER: builtins.int - NOTAFTER_FIELD_NUMBER: builtins.int - serial: builtins.int - issuerSerial: builtins.int - key: builtins.bytes - notBefore: builtins.int - notAfter: builtins.int - def __init__( - self, - *, - serial: builtins.int | None = ..., - issuerSerial: builtins.int | None = ..., - key: builtins.bytes | None = ..., - notBefore: builtins.int | None = ..., - notAfter: builtins.int | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["issuerSerial", b"issuerSerial", "key", b"key", "notAfter", b"notAfter", "notBefore", b"notBefore", "serial", b"serial"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["issuerSerial", b"issuerSerial", "key", b"key", "notAfter", b"notAfter", "notBefore", b"notBefore", "serial", b"serial"]) -> None: ... - - DETAILS_FIELD_NUMBER: builtins.int - SIGNATURE_FIELD_NUMBER: builtins.int - details: builtins.bytes - signature: builtins.bytes - def __init__( - self, - *, - details: builtins.bytes | None = ..., - signature: builtins.bytes | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["details", b"details", "signature", b"signature"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["details", b"details", "signature", b"signature"]) -> None: ... - - LEAF_FIELD_NUMBER: builtins.int - INTERMEDIATE_FIELD_NUMBER: builtins.int - @property - def leaf(self) -> global___CertChain.NoiseCertificate: ... - @property - def intermediate(self) -> global___CertChain.NoiseCertificate: ... - def __init__( - self, - *, - leaf: global___CertChain.NoiseCertificate | None = ..., - intermediate: global___CertChain.NoiseCertificate | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["intermediate", b"intermediate", "leaf", b"leaf"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["intermediate", b"intermediate", "leaf", b"leaf"]) -> None: ... - -global___CertChain = CertChain - -@typing_extensions.final -class QP(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - class _FilterResult: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _FilterResultEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[QP._FilterResult.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - TRUE: QP._FilterResult.ValueType # 1 - FALSE: QP._FilterResult.ValueType # 2 - UNKNOWN: QP._FilterResult.ValueType # 3 - - class FilterResult(_FilterResult, metaclass=_FilterResultEnumTypeWrapper): ... - TRUE: QP.FilterResult.ValueType # 1 - FALSE: QP.FilterResult.ValueType # 2 - UNKNOWN: QP.FilterResult.ValueType # 3 - - class _FilterClientNotSupportedConfig: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _FilterClientNotSupportedConfigEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[QP._FilterClientNotSupportedConfig.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - PASS_BY_DEFAULT: QP._FilterClientNotSupportedConfig.ValueType # 1 - FAIL_BY_DEFAULT: QP._FilterClientNotSupportedConfig.ValueType # 2 - - class FilterClientNotSupportedConfig(_FilterClientNotSupportedConfig, metaclass=_FilterClientNotSupportedConfigEnumTypeWrapper): ... - PASS_BY_DEFAULT: QP.FilterClientNotSupportedConfig.ValueType # 1 - FAIL_BY_DEFAULT: QP.FilterClientNotSupportedConfig.ValueType # 2 - - class _ClauseType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - - class _ClauseTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[QP._ClauseType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - AND: QP._ClauseType.ValueType # 1 - OR: QP._ClauseType.ValueType # 2 - NOR: QP._ClauseType.ValueType # 3 - - class ClauseType(_ClauseType, metaclass=_ClauseTypeEnumTypeWrapper): ... - AND: QP.ClauseType.ValueType # 1 - OR: QP.ClauseType.ValueType # 2 - NOR: QP.ClauseType.ValueType # 3 - - @typing_extensions.final - class Filter(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - FILTERNAME_FIELD_NUMBER: builtins.int - PARAMETERS_FIELD_NUMBER: builtins.int - FILTERRESULT_FIELD_NUMBER: builtins.int - CLIENTNOTSUPPORTEDCONFIG_FIELD_NUMBER: builtins.int - filterName: builtins.str - @property - def parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QP.FilterParameters]: ... - filterResult: global___QP.FilterResult.ValueType - clientNotSupportedConfig: global___QP.FilterClientNotSupportedConfig.ValueType - def __init__( - self, - *, - filterName: builtins.str | None = ..., - parameters: collections.abc.Iterable[global___QP.FilterParameters] | None = ..., - filterResult: global___QP.FilterResult.ValueType | None = ..., - clientNotSupportedConfig: global___QP.FilterClientNotSupportedConfig.ValueType | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["clientNotSupportedConfig", b"clientNotSupportedConfig", "filterName", b"filterName", "filterResult", b"filterResult"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["clientNotSupportedConfig", b"clientNotSupportedConfig", "filterName", b"filterName", "filterResult", b"filterResult", "parameters", b"parameters"]) -> None: ... - - @typing_extensions.final - class FilterParameters(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - KEY_FIELD_NUMBER: builtins.int - VALUE_FIELD_NUMBER: builtins.int - key: builtins.str - value: builtins.str - def __init__( - self, - *, - key: builtins.str | None = ..., - value: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ... - - @typing_extensions.final - class FilterClause(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CLAUSETYPE_FIELD_NUMBER: builtins.int - CLAUSES_FIELD_NUMBER: builtins.int - FILTERS_FIELD_NUMBER: builtins.int - clauseType: global___QP.ClauseType.ValueType - @property - def clauses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QP.FilterClause]: ... - @property - def filters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QP.Filter]: ... - def __init__( - self, - *, - clauseType: global___QP.ClauseType.ValueType | None = ..., - clauses: collections.abc.Iterable[global___QP.FilterClause] | None = ..., - filters: collections.abc.Iterable[global___QP.Filter] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["clauseType", b"clauseType"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["clauseType", b"clauseType", "clauses", b"clauses", "filters", b"filters"]) -> None: ... - - def __init__( - self, - ) -> None: ... - -global___QP = QP diff --git a/neonize/proto/instamadilloAddMessage/InstamadilloAddMessage_pb2.py b/neonize/proto/instamadilloAddMessage/InstamadilloAddMessage_pb2.py new file mode 100644 index 00000000..7de17cdc --- /dev/null +++ b/neonize/proto/instamadilloAddMessage/InstamadilloAddMessage_pb2.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloAddMessage/InstamadilloAddMessage.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloAddMessage/InstamadilloAddMessage.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from instamadilloCoreTypeActionLog import InstamadilloCoreTypeActionLog_pb2 as instamadilloCoreTypeActionLog_dot_InstamadilloCoreTypeActionLog__pb2 +from instamadilloCoreTypeAdminMessage import InstamadilloCoreTypeAdminMessage_pb2 as instamadilloCoreTypeAdminMessage_dot_InstamadilloCoreTypeAdminMessage__pb2 +from instamadilloCoreTypeCollection import InstamadilloCoreTypeCollection_pb2 as instamadilloCoreTypeCollection_dot_InstamadilloCoreTypeCollection__pb2 +from instamadilloCoreTypeLink import InstamadilloCoreTypeLink_pb2 as instamadilloCoreTypeLink_dot_InstamadilloCoreTypeLink__pb2 +from instamadilloCoreTypeMedia import InstamadilloCoreTypeMedia_pb2 as instamadilloCoreTypeMedia_dot_InstamadilloCoreTypeMedia__pb2 +from instamadilloCoreTypeText import InstamadilloCoreTypeText_pb2 as instamadilloCoreTypeText_dot_InstamadilloCoreTypeText__pb2 +from instamadilloXmaContentRef import InstamadilloXmaContentRef_pb2 as instamadilloXmaContentRef_dot_InstamadilloXmaContentRef__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3instamadilloAddMessage/InstamadilloAddMessage.proto\x12\x16InstamadilloAddMessage\x1a\x41instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto\x1aGinstamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto\x1a\x43instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto\x1a\x37instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto\x1a\x39instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto\x1a\x37instamadilloCoreTypeText/InstamadilloCoreTypeText.proto\x1a\x39instamadilloXmaContentRef/InstamadilloXmaContentRef.proto\"\x8d\x01\n\x11\x41\x64\x64MessagePayload\x12:\n\x07\x63ontent\x18\x01 \x01(\x0b\x32).InstamadilloAddMessage.AddMessageContent\x12<\n\x08metadata\x18\x02 \x01(\x0b\x32*.InstamadilloAddMessage.AddMessageMetadata\"\xb4\x04\n\x11\x41\x64\x64MessageContent\x12.\n\x04text\x18\x01 \x01(\x0b\x32\x1e.InstamadilloCoreTypeText.TextH\x00\x12,\n\x04like\x18\x02 \x01(\x0b\x32\x1c.InstamadilloAddMessage.LikeH\x00\x12.\n\x04link\x18\x03 \x01(\x0b\x32\x1e.InstamadilloCoreTypeLink.LinkH\x00\x12\x44\n\x10receiverFetchXma\x18\x04 \x01(\x0b\x32(.InstamadilloAddMessage.ReceiverFetchXmaH\x00\x12\x31\n\x05media\x18\x05 \x01(\x0b\x32 .InstamadilloCoreTypeMedia.MediaH\x00\x12:\n\x0bplaceholder\x18\x06 \x01(\x0b\x32#.InstamadilloAddMessage.PlaceholderH\x00\x12@\n\ncollection\x18\x07 \x01(\x0b\x32*.InstamadilloCoreTypeCollection.CollectionH\x00\x12\x46\n\x0c\x61\x64minMessage\x18\x08 \x01(\x0b\x32..InstamadilloCoreTypeAdminMessage.AdminMessageH\x00\x12=\n\tactionLog\x18\t \x01(\x0b\x32(.InstamadilloCoreTypeActionLog.ActionLogH\x00\x42\x13\n\x11\x61\x64\x64MessageContent\"\xbe\x02\n\x12\x41\x64\x64MessageMetadata\x12\x14\n\x0csendSilently\x18\x01 \x01(\x08\x12\x42\n\x10privateReplyInfo\x18\x02 \x01(\x0b\x32(.InstamadilloAddMessage.PrivateReplyInfo\x12\x42\n\x10repliedToMessage\x18\x03 \x01(\x0b\x32(.InstamadilloAddMessage.RepliedToMessage\x12\x42\n\x10\x66orwardingParams\x18\x04 \x01(\x0b\x32(.InstamadilloAddMessage.ForwardingParams\x12\x46\n\x12\x65phemeralityParams\x18\x05 \x01(\x0b\x32*.InstamadilloAddMessage.EphemeralityParams\"\xd2\x01\n\x10RepliedToMessage\x12\x1c\n\x14repliedToMessageOtid\x18\x01 \x01(\t\x12\'\n\x1frepliedToMessageWaServerTimeSec\x18\x02 \x01(\t\x12(\n repliedToMessageCollectionItemID\x18\x03 \x01(\t\x12M\n\x0comMicroSecTS\x18\x04 \x01(\x0b\x32\x37.InstamadilloAddMessage.OpenMessageMicroSecondTimestamp\"P\n\x1fOpenMessageMicroSecondTimestamp\x12\x13\n\x0btimestampMS\x18\x01 \x01(\x03\x12\x18\n\x10microSecondsBits\x18\x02 \x01(\x05\"7\n\x10PrivateReplyInfo\x12\x11\n\tcommentID\x18\x01 \x01(\t\x12\x10\n\x08postLink\x18\x02 \x01(\t\"-\n\x10\x46orwardingParams\x12\x19\n\x11\x66orwardedThreadID\x18\x01 \x01(\t\"2\n\x12\x45phemeralityParams\x12\x1c\n\x14\x65phemeralDurationSec\x18\x01 \x01(\x03\"\x06\n\x04Like\"\xa6\x01\n\x10ReceiverFetchXma\x12\x12\n\ncontentRef\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12/\n\x05media\x18\x03 \x01(\x0b\x32 .InstamadilloCoreTypeMedia.Media\x12?\n\rxmaContentRef\x18\x04 \x01(\x0b\x32(.InstamadilloXmaContentRef.XmaContentRef\"\xaa\x02\n\x0bPlaceholder\x12\x41\n\x0fplaceholderType\x18\x01 \x01(\x0e\x32(.InstamadilloAddMessage.Placeholder.Type\"\xd7\x01\n\x04Type\x12\x19\n\x15PLACEHOLDER_TYPE_NONE\x10\x00\x12\'\n#PLACEHOLDER_TYPE_DECRYPTION_FAILURE\x10\x01\x12.\n*PLACEHOLDER_TYPE_NOT_SUPPORTED_NEED_UPDATE\x10\x02\x12\'\n#PLACEHOLDER_TYPE_DEVICE_UNAVAILABLE\x10\x03\x12\x32\n.PLACEHOLDER_TYPE_NOT_SUPPORTED_NOT_RECOVERABLE\x10\x04\x42\x32Z0go.mau.fi/whatsmeow/proto/instamadilloAddMessage') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'instamadilloAddMessage.InstamadilloAddMessage_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z0go.mau.fi/whatsmeow/proto/instamadilloAddMessage' + _globals['_ADDMESSAGEPAYLOAD']._serialized_start=521 + _globals['_ADDMESSAGEPAYLOAD']._serialized_end=662 + _globals['_ADDMESSAGECONTENT']._serialized_start=665 + _globals['_ADDMESSAGECONTENT']._serialized_end=1229 + _globals['_ADDMESSAGEMETADATA']._serialized_start=1232 + _globals['_ADDMESSAGEMETADATA']._serialized_end=1550 + _globals['_REPLIEDTOMESSAGE']._serialized_start=1553 + _globals['_REPLIEDTOMESSAGE']._serialized_end=1763 + _globals['_OPENMESSAGEMICROSECONDTIMESTAMP']._serialized_start=1765 + _globals['_OPENMESSAGEMICROSECONDTIMESTAMP']._serialized_end=1845 + _globals['_PRIVATEREPLYINFO']._serialized_start=1847 + _globals['_PRIVATEREPLYINFO']._serialized_end=1902 + _globals['_FORWARDINGPARAMS']._serialized_start=1904 + _globals['_FORWARDINGPARAMS']._serialized_end=1949 + _globals['_EPHEMERALITYPARAMS']._serialized_start=1951 + _globals['_EPHEMERALITYPARAMS']._serialized_end=2001 + _globals['_LIKE']._serialized_start=2003 + _globals['_LIKE']._serialized_end=2009 + _globals['_RECEIVERFETCHXMA']._serialized_start=2012 + _globals['_RECEIVERFETCHXMA']._serialized_end=2178 + _globals['_PLACEHOLDER']._serialized_start=2181 + _globals['_PLACEHOLDER']._serialized_end=2479 + _globals['_PLACEHOLDER_TYPE']._serialized_start=2264 + _globals['_PLACEHOLDER_TYPE']._serialized_end=2479 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/instamadilloAddMessage/InstamadilloAddMessage_pb2.pyi b/neonize/proto/instamadilloAddMessage/InstamadilloAddMessage_pb2.pyi new file mode 100644 index 00000000..d1fd854f --- /dev/null +++ b/neonize/proto/instamadilloAddMessage/InstamadilloAddMessage_pb2.pyi @@ -0,0 +1,296 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import instamadilloCoreTypeActionLog.InstamadilloCoreTypeActionLog_pb2 +import instamadilloCoreTypeAdminMessage.InstamadilloCoreTypeAdminMessage_pb2 +import instamadilloCoreTypeCollection.InstamadilloCoreTypeCollection_pb2 +import instamadilloCoreTypeLink.InstamadilloCoreTypeLink_pb2 +import instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2 +import instamadilloCoreTypeText.InstamadilloCoreTypeText_pb2 +import instamadilloXmaContentRef.InstamadilloXmaContentRef_pb2 +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class AddMessagePayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTENT_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + @property + def content(self) -> global___AddMessageContent: ... + @property + def metadata(self) -> global___AddMessageMetadata: ... + def __init__( + self, + *, + content: global___AddMessageContent | None = ..., + metadata: global___AddMessageMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["content", b"content", "metadata", b"metadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["content", b"content", "metadata", b"metadata"]) -> None: ... + +global___AddMessagePayload = AddMessagePayload + +@typing.final +class AddMessageContent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TEXT_FIELD_NUMBER: builtins.int + LIKE_FIELD_NUMBER: builtins.int + LINK_FIELD_NUMBER: builtins.int + RECEIVERFETCHXMA_FIELD_NUMBER: builtins.int + MEDIA_FIELD_NUMBER: builtins.int + PLACEHOLDER_FIELD_NUMBER: builtins.int + COLLECTION_FIELD_NUMBER: builtins.int + ADMINMESSAGE_FIELD_NUMBER: builtins.int + ACTIONLOG_FIELD_NUMBER: builtins.int + @property + def text(self) -> instamadilloCoreTypeText.InstamadilloCoreTypeText_pb2.Text: ... + @property + def like(self) -> global___Like: ... + @property + def link(self) -> instamadilloCoreTypeLink.InstamadilloCoreTypeLink_pb2.Link: ... + @property + def receiverFetchXma(self) -> global___ReceiverFetchXma: ... + @property + def media(self) -> instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media: ... + @property + def placeholder(self) -> global___Placeholder: ... + @property + def collection(self) -> instamadilloCoreTypeCollection.InstamadilloCoreTypeCollection_pb2.Collection: ... + @property + def adminMessage(self) -> instamadilloCoreTypeAdminMessage.InstamadilloCoreTypeAdminMessage_pb2.AdminMessage: ... + @property + def actionLog(self) -> instamadilloCoreTypeActionLog.InstamadilloCoreTypeActionLog_pb2.ActionLog: ... + def __init__( + self, + *, + text: instamadilloCoreTypeText.InstamadilloCoreTypeText_pb2.Text | None = ..., + like: global___Like | None = ..., + link: instamadilloCoreTypeLink.InstamadilloCoreTypeLink_pb2.Link | None = ..., + receiverFetchXma: global___ReceiverFetchXma | None = ..., + media: instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media | None = ..., + placeholder: global___Placeholder | None = ..., + collection: instamadilloCoreTypeCollection.InstamadilloCoreTypeCollection_pb2.Collection | None = ..., + adminMessage: instamadilloCoreTypeAdminMessage.InstamadilloCoreTypeAdminMessage_pb2.AdminMessage | None = ..., + actionLog: instamadilloCoreTypeActionLog.InstamadilloCoreTypeActionLog_pb2.ActionLog | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionLog", b"actionLog", "addMessageContent", b"addMessageContent", "adminMessage", b"adminMessage", "collection", b"collection", "like", b"like", "link", b"link", "media", b"media", "placeholder", b"placeholder", "receiverFetchXma", b"receiverFetchXma", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionLog", b"actionLog", "addMessageContent", b"addMessageContent", "adminMessage", b"adminMessage", "collection", b"collection", "like", b"like", "link", b"link", "media", b"media", "placeholder", b"placeholder", "receiverFetchXma", b"receiverFetchXma", "text", b"text"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["addMessageContent", b"addMessageContent"]) -> typing.Literal["text", "like", "link", "receiverFetchXma", "media", "placeholder", "collection", "adminMessage", "actionLog"] | None: ... + +global___AddMessageContent = AddMessageContent + +@typing.final +class AddMessageMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SENDSILENTLY_FIELD_NUMBER: builtins.int + PRIVATEREPLYINFO_FIELD_NUMBER: builtins.int + REPLIEDTOMESSAGE_FIELD_NUMBER: builtins.int + FORWARDINGPARAMS_FIELD_NUMBER: builtins.int + EPHEMERALITYPARAMS_FIELD_NUMBER: builtins.int + sendSilently: builtins.bool + @property + def privateReplyInfo(self) -> global___PrivateReplyInfo: ... + @property + def repliedToMessage(self) -> global___RepliedToMessage: ... + @property + def forwardingParams(self) -> global___ForwardingParams: ... + @property + def ephemeralityParams(self) -> global___EphemeralityParams: ... + def __init__( + self, + *, + sendSilently: builtins.bool | None = ..., + privateReplyInfo: global___PrivateReplyInfo | None = ..., + repliedToMessage: global___RepliedToMessage | None = ..., + forwardingParams: global___ForwardingParams | None = ..., + ephemeralityParams: global___EphemeralityParams | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ephemeralityParams", b"ephemeralityParams", "forwardingParams", b"forwardingParams", "privateReplyInfo", b"privateReplyInfo", "repliedToMessage", b"repliedToMessage", "sendSilently", b"sendSilently"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ephemeralityParams", b"ephemeralityParams", "forwardingParams", b"forwardingParams", "privateReplyInfo", b"privateReplyInfo", "repliedToMessage", b"repliedToMessage", "sendSilently", b"sendSilently"]) -> None: ... + +global___AddMessageMetadata = AddMessageMetadata + +@typing.final +class RepliedToMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REPLIEDTOMESSAGEOTID_FIELD_NUMBER: builtins.int + REPLIEDTOMESSAGEWASERVERTIMESEC_FIELD_NUMBER: builtins.int + REPLIEDTOMESSAGECOLLECTIONITEMID_FIELD_NUMBER: builtins.int + OMMICROSECTS_FIELD_NUMBER: builtins.int + repliedToMessageOtid: builtins.str + repliedToMessageWaServerTimeSec: builtins.str + repliedToMessageCollectionItemID: builtins.str + @property + def omMicroSecTS(self) -> global___OpenMessageMicroSecondTimestamp: ... + def __init__( + self, + *, + repliedToMessageOtid: builtins.str | None = ..., + repliedToMessageWaServerTimeSec: builtins.str | None = ..., + repliedToMessageCollectionItemID: builtins.str | None = ..., + omMicroSecTS: global___OpenMessageMicroSecondTimestamp | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["omMicroSecTS", b"omMicroSecTS", "repliedToMessageCollectionItemID", b"repliedToMessageCollectionItemID", "repliedToMessageOtid", b"repliedToMessageOtid", "repliedToMessageWaServerTimeSec", b"repliedToMessageWaServerTimeSec"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["omMicroSecTS", b"omMicroSecTS", "repliedToMessageCollectionItemID", b"repliedToMessageCollectionItemID", "repliedToMessageOtid", b"repliedToMessageOtid", "repliedToMessageWaServerTimeSec", b"repliedToMessageWaServerTimeSec"]) -> None: ... + +global___RepliedToMessage = RepliedToMessage + +@typing.final +class OpenMessageMicroSecondTimestamp(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMPMS_FIELD_NUMBER: builtins.int + MICROSECONDSBITS_FIELD_NUMBER: builtins.int + timestampMS: builtins.int + microSecondsBits: builtins.int + def __init__( + self, + *, + timestampMS: builtins.int | None = ..., + microSecondsBits: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["microSecondsBits", b"microSecondsBits", "timestampMS", b"timestampMS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["microSecondsBits", b"microSecondsBits", "timestampMS", b"timestampMS"]) -> None: ... + +global___OpenMessageMicroSecondTimestamp = OpenMessageMicroSecondTimestamp + +@typing.final +class PrivateReplyInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COMMENTID_FIELD_NUMBER: builtins.int + POSTLINK_FIELD_NUMBER: builtins.int + commentID: builtins.str + postLink: builtins.str + def __init__( + self, + *, + commentID: builtins.str | None = ..., + postLink: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["commentID", b"commentID", "postLink", b"postLink"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["commentID", b"commentID", "postLink", b"postLink"]) -> None: ... + +global___PrivateReplyInfo = PrivateReplyInfo + +@typing.final +class ForwardingParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FORWARDEDTHREADID_FIELD_NUMBER: builtins.int + forwardedThreadID: builtins.str + def __init__( + self, + *, + forwardedThreadID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["forwardedThreadID", b"forwardedThreadID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["forwardedThreadID", b"forwardedThreadID"]) -> None: ... + +global___ForwardingParams = ForwardingParams + +@typing.final +class EphemeralityParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EPHEMERALDURATIONSEC_FIELD_NUMBER: builtins.int + ephemeralDurationSec: builtins.int + def __init__( + self, + *, + ephemeralDurationSec: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ephemeralDurationSec", b"ephemeralDurationSec"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ephemeralDurationSec", b"ephemeralDurationSec"]) -> None: ... + +global___EphemeralityParams = EphemeralityParams + +@typing.final +class Like(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___Like = Like + +@typing.final +class ReceiverFetchXma(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTENTREF_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + MEDIA_FIELD_NUMBER: builtins.int + XMACONTENTREF_FIELD_NUMBER: builtins.int + contentRef: builtins.str + text: builtins.str + @property + def media(self) -> instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media: ... + @property + def xmaContentRef(self) -> instamadilloXmaContentRef.InstamadilloXmaContentRef_pb2.XmaContentRef: ... + def __init__( + self, + *, + contentRef: builtins.str | None = ..., + text: builtins.str | None = ..., + media: instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media | None = ..., + xmaContentRef: instamadilloXmaContentRef.InstamadilloXmaContentRef_pb2.XmaContentRef | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contentRef", b"contentRef", "media", b"media", "text", b"text", "xmaContentRef", b"xmaContentRef"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contentRef", b"contentRef", "media", b"media", "text", b"text", "xmaContentRef", b"xmaContentRef"]) -> None: ... + +global___ReceiverFetchXma = ReceiverFetchXma + +@typing.final +class Placeholder(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Placeholder._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PLACEHOLDER_TYPE_NONE: Placeholder._Type.ValueType # 0 + PLACEHOLDER_TYPE_DECRYPTION_FAILURE: Placeholder._Type.ValueType # 1 + PLACEHOLDER_TYPE_NOT_SUPPORTED_NEED_UPDATE: Placeholder._Type.ValueType # 2 + PLACEHOLDER_TYPE_DEVICE_UNAVAILABLE: Placeholder._Type.ValueType # 3 + PLACEHOLDER_TYPE_NOT_SUPPORTED_NOT_RECOVERABLE: Placeholder._Type.ValueType # 4 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + PLACEHOLDER_TYPE_NONE: Placeholder.Type.ValueType # 0 + PLACEHOLDER_TYPE_DECRYPTION_FAILURE: Placeholder.Type.ValueType # 1 + PLACEHOLDER_TYPE_NOT_SUPPORTED_NEED_UPDATE: Placeholder.Type.ValueType # 2 + PLACEHOLDER_TYPE_DEVICE_UNAVAILABLE: Placeholder.Type.ValueType # 3 + PLACEHOLDER_TYPE_NOT_SUPPORTED_NOT_RECOVERABLE: Placeholder.Type.ValueType # 4 + + PLACEHOLDERTYPE_FIELD_NUMBER: builtins.int + placeholderType: global___Placeholder.Type.ValueType + def __init__( + self, + *, + placeholderType: global___Placeholder.Type.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["placeholderType", b"placeholderType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["placeholderType", b"placeholderType"]) -> None: ... + +global___Placeholder = Placeholder diff --git a/neonize/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog_pb2.py b/neonize/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog_pb2.py new file mode 100644 index 00000000..4a14178f --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nAinstamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto\x12\x1dInstamadilloCoreTypeActionLog\"n\n\tActionLog\x12M\n\x11\x61\x63tionLogReaction\x18\x01 \x01(\x0b\x32\x30.InstamadilloCoreTypeActionLog.ActionLogReactionH\x00\x42\x12\n\x10\x61\x63tionLogSubtype\")\n\x11\x41\x63tionLogReaction\x12\x14\n\x0c\x65mojiUnicode\x18\x01 \x01(\tB9Z7go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'instamadilloCoreTypeActionLog.InstamadilloCoreTypeActionLog_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z7go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog' + _globals['_ACTIONLOG']._serialized_start=100 + _globals['_ACTIONLOG']._serialized_end=210 + _globals['_ACTIONLOGREACTION']._serialized_start=212 + _globals['_ACTIONLOGREACTION']._serialized_end=253 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog_pb2.pyi b/neonize/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog_pb2.pyi new file mode 100644 index 00000000..faf41751 --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog_pb2.pyi @@ -0,0 +1,45 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class ActionLog(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ACTIONLOGREACTION_FIELD_NUMBER: builtins.int + @property + def actionLogReaction(self) -> global___ActionLogReaction: ... + def __init__( + self, + *, + actionLogReaction: global___ActionLogReaction | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionLogReaction", b"actionLogReaction", "actionLogSubtype", b"actionLogSubtype"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionLogReaction", b"actionLogReaction", "actionLogSubtype", b"actionLogSubtype"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["actionLogSubtype", b"actionLogSubtype"]) -> typing.Literal["actionLogReaction"] | None: ... + +global___ActionLog = ActionLog + +@typing.final +class ActionLogReaction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EMOJIUNICODE_FIELD_NUMBER: builtins.int + emojiUnicode: builtins.str + def __init__( + self, + *, + emojiUnicode: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["emojiUnicode", b"emojiUnicode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["emojiUnicode", b"emojiUnicode"]) -> None: ... + +global___ActionLogReaction = ActionLogReaction diff --git a/neonize/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage_pb2.py b/neonize/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage_pb2.py new file mode 100644 index 00000000..7f751bd5 --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nGinstamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto\x12 InstamadilloCoreTypeAdminMessage\"y\n\x0c\x41\x64minMessage\x12R\n\x12\x64\x65viceAdminMessage\x18\x01 \x01(\x0b\x32\x34.InstamadilloCoreTypeAdminMessage.DeviceAdminMessageH\x00\x42\x15\n\x13\x61\x64minMessageSubtype\"\x85\x03\n\x12\x44\x65viceAdminMessage\x12Y\n\x16\x64\x65viceAdminMessageType\x18\x01 \x01(\x0e\x32\x39.InstamadilloCoreTypeAdminMessage.DeviceAdminMessage.Type\x12\x12\n\ndeviceName\x18\x02 \x01(\t\"\xff\x01\n\x04Type\x12\"\n\x1e\x44\x45VICE_ADMIN_MESSAGE_TYPE_NONE\x10\x00\x12J\nFDEVICE_ADMIN_MESSAGE_TYPE_LOCAL_USER_CHANGED_IDENTITY_KEY_NAMED_DEVICE\x10\x01\x12\x43\n?DEVICE_ADMIN_MESSAGE_TYPE_SECURITY_ALERT_PARTICIPANT_KEY_CHANGE\x10\x02\x12\x42\n>DEVICE_ADMIN_MESSAGE_TYPE_SECURITY_ALERT_PARTICIPANT_NEW_LOGIN\x10\x03\x42= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class AdminMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DEVICEADMINMESSAGE_FIELD_NUMBER: builtins.int + @property + def deviceAdminMessage(self) -> global___DeviceAdminMessage: ... + def __init__( + self, + *, + deviceAdminMessage: global___DeviceAdminMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["adminMessageSubtype", b"adminMessageSubtype", "deviceAdminMessage", b"deviceAdminMessage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["adminMessageSubtype", b"adminMessageSubtype", "deviceAdminMessage", b"deviceAdminMessage"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["adminMessageSubtype", b"adminMessageSubtype"]) -> typing.Literal["deviceAdminMessage"] | None: ... + +global___AdminMessage = AdminMessage + +@typing.final +class DeviceAdminMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DeviceAdminMessage._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DEVICE_ADMIN_MESSAGE_TYPE_NONE: DeviceAdminMessage._Type.ValueType # 0 + DEVICE_ADMIN_MESSAGE_TYPE_LOCAL_USER_CHANGED_IDENTITY_KEY_NAMED_DEVICE: DeviceAdminMessage._Type.ValueType # 1 + DEVICE_ADMIN_MESSAGE_TYPE_SECURITY_ALERT_PARTICIPANT_KEY_CHANGE: DeviceAdminMessage._Type.ValueType # 2 + DEVICE_ADMIN_MESSAGE_TYPE_SECURITY_ALERT_PARTICIPANT_NEW_LOGIN: DeviceAdminMessage._Type.ValueType # 3 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + DEVICE_ADMIN_MESSAGE_TYPE_NONE: DeviceAdminMessage.Type.ValueType # 0 + DEVICE_ADMIN_MESSAGE_TYPE_LOCAL_USER_CHANGED_IDENTITY_KEY_NAMED_DEVICE: DeviceAdminMessage.Type.ValueType # 1 + DEVICE_ADMIN_MESSAGE_TYPE_SECURITY_ALERT_PARTICIPANT_KEY_CHANGE: DeviceAdminMessage.Type.ValueType # 2 + DEVICE_ADMIN_MESSAGE_TYPE_SECURITY_ALERT_PARTICIPANT_NEW_LOGIN: DeviceAdminMessage.Type.ValueType # 3 + + DEVICEADMINMESSAGETYPE_FIELD_NUMBER: builtins.int + DEVICENAME_FIELD_NUMBER: builtins.int + deviceAdminMessageType: global___DeviceAdminMessage.Type.ValueType + deviceName: builtins.str + def __init__( + self, + *, + deviceAdminMessageType: global___DeviceAdminMessage.Type.ValueType | None = ..., + deviceName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deviceAdminMessageType", b"deviceAdminMessageType", "deviceName", b"deviceName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deviceAdminMessageType", b"deviceAdminMessageType", "deviceName", b"deviceName"]) -> None: ... + +global___DeviceAdminMessage = DeviceAdminMessage diff --git a/neonize/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection_pb2.py b/neonize/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection_pb2.py new file mode 100644 index 00000000..05938361 --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from instamadilloCoreTypeMedia import InstamadilloCoreTypeMedia_pb2 as instamadilloCoreTypeMedia_dot_InstamadilloCoreTypeMedia__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nCinstamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto\x12\x1eInstamadilloCoreTypeCollection\x1a\x39instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto\"K\n\nCollection\x12\x0c\n\x04name\x18\x01 \x01(\t\x12/\n\x05media\x18\x02 \x03(\x0b\x32 .InstamadilloCoreTypeMedia.MediaB:Z8go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'instamadilloCoreTypeCollection.InstamadilloCoreTypeCollection_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z8go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection' + _globals['_COLLECTION']._serialized_start=162 + _globals['_COLLECTION']._serialized_end=237 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection_pb2.pyi b/neonize/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection_pb2.pyi new file mode 100644 index 00000000..f3f5b9fe --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection_pb2.pyi @@ -0,0 +1,34 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class Collection(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + MEDIA_FIELD_NUMBER: builtins.int + name: builtins.str + @property + def media(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media]: ... + def __init__( + self, + *, + name: builtins.str | None = ..., + media: collections.abc.Iterable[instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["name", b"name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["media", b"media", "name", b"name"]) -> None: ... + +global___Collection = Collection diff --git a/neonize/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink_pb2.py b/neonize/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink_pb2.py new file mode 100644 index 00000000..88b957cc --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from instamadilloCoreTypeMedia import InstamadilloCoreTypeMedia_pb2 as instamadilloCoreTypeMedia_dot_InstamadilloCoreTypeMedia__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto\x12\x18InstamadilloCoreTypeLink\x1a\x39instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto\"P\n\x04Link\x12\x0c\n\x04text\x18\x01 \x01(\t\x12:\n\x0blinkContext\x18\x02 \x01(\x0b\x32%.InstamadilloCoreTypeLink.LinkContext\"\xab\x02\n\x0bLinkContext\x12\x38\n\x0clinkImageURL\x18\x01 \x01(\x0b\x32\".InstamadilloCoreTypeLink.ImageUrl\x12\x18\n\x10linkPreviewTitle\x18\x02 \x01(\t\x12\x0f\n\x07linkURL\x18\x03 \x01(\t\x12\x13\n\x0blinkSummary\x18\x04 \x01(\t\x12\x1b\n\x13linkMusicPreviewURL\x18\x05 \x01(\t\x12(\n linkMusicPreviewCountriesAllowed\x18\x06 \x03(\t\x12\x42\n\x14linkPreviewThumbnail\x18\x07 \x01(\x0b\x32$.InstamadilloCoreTypeMedia.Thumbnail\x12\x17\n\x0flinkPreviewBody\x18\x08 \x01(\t\"6\n\x08ImageUrl\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x42\x34Z2go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'instamadilloCoreTypeLink.InstamadilloCoreTypeLink_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z2go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink' + _globals['_LINK']._serialized_start=144 + _globals['_LINK']._serialized_end=224 + _globals['_LINKCONTEXT']._serialized_start=227 + _globals['_LINKCONTEXT']._serialized_end=526 + _globals['_IMAGEURL']._serialized_start=528 + _globals['_IMAGEURL']._serialized_end=582 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink_pb2.pyi b/neonize/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink_pb2.pyi new file mode 100644 index 00000000..e4da0da7 --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink_pb2.pyi @@ -0,0 +1,96 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class Link(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TEXT_FIELD_NUMBER: builtins.int + LINKCONTEXT_FIELD_NUMBER: builtins.int + text: builtins.str + @property + def linkContext(self) -> global___LinkContext: ... + def __init__( + self, + *, + text: builtins.str | None = ..., + linkContext: global___LinkContext | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["linkContext", b"linkContext", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["linkContext", b"linkContext", "text", b"text"]) -> None: ... + +global___Link = Link + +@typing.final +class LinkContext(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LINKIMAGEURL_FIELD_NUMBER: builtins.int + LINKPREVIEWTITLE_FIELD_NUMBER: builtins.int + LINKURL_FIELD_NUMBER: builtins.int + LINKSUMMARY_FIELD_NUMBER: builtins.int + LINKMUSICPREVIEWURL_FIELD_NUMBER: builtins.int + LINKMUSICPREVIEWCOUNTRIESALLOWED_FIELD_NUMBER: builtins.int + LINKPREVIEWTHUMBNAIL_FIELD_NUMBER: builtins.int + LINKPREVIEWBODY_FIELD_NUMBER: builtins.int + linkPreviewTitle: builtins.str + linkURL: builtins.str + linkSummary: builtins.str + linkMusicPreviewURL: builtins.str + linkPreviewBody: builtins.str + @property + def linkImageURL(self) -> global___ImageUrl: ... + @property + def linkMusicPreviewCountriesAllowed(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def linkPreviewThumbnail(self) -> instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Thumbnail: ... + def __init__( + self, + *, + linkImageURL: global___ImageUrl | None = ..., + linkPreviewTitle: builtins.str | None = ..., + linkURL: builtins.str | None = ..., + linkSummary: builtins.str | None = ..., + linkMusicPreviewURL: builtins.str | None = ..., + linkMusicPreviewCountriesAllowed: collections.abc.Iterable[builtins.str] | None = ..., + linkPreviewThumbnail: instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Thumbnail | None = ..., + linkPreviewBody: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["linkImageURL", b"linkImageURL", "linkMusicPreviewURL", b"linkMusicPreviewURL", "linkPreviewBody", b"linkPreviewBody", "linkPreviewThumbnail", b"linkPreviewThumbnail", "linkPreviewTitle", b"linkPreviewTitle", "linkSummary", b"linkSummary", "linkURL", b"linkURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["linkImageURL", b"linkImageURL", "linkMusicPreviewCountriesAllowed", b"linkMusicPreviewCountriesAllowed", "linkMusicPreviewURL", b"linkMusicPreviewURL", "linkPreviewBody", b"linkPreviewBody", "linkPreviewThumbnail", b"linkPreviewThumbnail", "linkPreviewTitle", b"linkPreviewTitle", "linkSummary", b"linkSummary", "linkURL", b"linkURL"]) -> None: ... + +global___LinkContext = LinkContext + +@typing.final +class ImageUrl(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + URL_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + URL: builtins.str + width: builtins.int + height: builtins.int + def __init__( + self, + *, + URL: builtins.str | None = ..., + width: builtins.int | None = ..., + height: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "height", b"height", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "height", b"height", "width", b"width"]) -> None: ... + +global___ImageUrl = ImageUrl diff --git a/neonize/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia_pb2.py b/neonize/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia_pb2.py new file mode 100644 index 00000000..761693b9 --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia_pb2.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto\x12\x19InstamadilloCoreTypeMedia\"\x8d\x03\n\x05Media\x12=\n\x0bstaticPhoto\x18\x01 \x01(\x0b\x32&.InstamadilloCoreTypeMedia.StaticPhotoH\x00\x12\x31\n\x05voice\x18\x02 \x01(\x0b\x32 .InstamadilloCoreTypeMedia.VoiceH\x00\x12\x31\n\x05video\x18\x03 \x01(\x0b\x32 .InstamadilloCoreTypeMedia.VideoH\x00\x12\x31\n\x05raven\x18\x04 \x01(\x0b\x32 .InstamadilloCoreTypeMedia.RavenH\x00\x12-\n\x03gif\x18\x05 \x01(\x0b\x32\x1e.InstamadilloCoreTypeMedia.GifH\x00\x12\x41\n\ravatarSticker\x18\x06 \x01(\x0b\x32(.InstamadilloCoreTypeMedia.AvatarStickerH\x00\"1\n\x10InterventionType\x12\t\n\x05UNSET\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x08\n\x04NUDE\x10\x02\x42\x07\n\x05media\"\x9a\x02\n\x0bStaticPhoto\x12G\n\x0emediaTransport\x18\x01 \x01(\x0b\x32/.InstamadilloCoreTypeMedia.CommonMediaTransport\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05width\x18\x03 \x01(\x05\x12\x17\n\x0bscanLengths\x18\x04 \x03(\x05\x42\x02\x10\x01\x12\x37\n\tthumbnail\x18\x05 \x01(\x0b\x32$.InstamadilloCoreTypeMedia.Thumbnail\x12Q\n\x16pjpegScanConfiguration\x18\x06 \x01(\x0e\x32\x31.InstamadilloCoreTypeMedia.PjpegScanConfiguration\"\x9e\x01\n\x05Voice\x12G\n\x0emediaTransport\x18\x01 \x01(\x0b\x32/.InstamadilloCoreTypeMedia.CommonMediaTransport\x12\x10\n\x08\x64uration\x18\x02 \x01(\x05\x12\x15\n\twaveforms\x18\x03 \x03(\x02\x42\x02\x10\x01\x12#\n\x1bwaveformSamplingFrequencyHz\x18\x04 \x01(\x05\"\xf3\x01\n\x05Video\x12G\n\x0emediaTransport\x18\x01 \x01(\x0b\x32/.InstamadilloCoreTypeMedia.CommonMediaTransport\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05width\x18\x03 \x01(\x05\x12\x37\n\tthumbnail\x18\x04 \x01(\x0b\x32$.InstamadilloCoreTypeMedia.Thumbnail\x12I\n\x12videoExtraMetadata\x18\x05 \x01(\x0b\x32-.InstamadilloCoreTypeMedia.VideoExtraMetadata\"\xc6\x01\n\x03Gif\x12G\n\x0emediaTransport\x18\x01 \x01(\x0b\x32/.InstamadilloCoreTypeMedia.CommonMediaTransport\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05width\x18\x03 \x01(\x05\x12\x11\n\tisSticker\x18\x04 \x01(\x08\x12\x11\n\tstickerID\x18\x05 \x01(\t\x12\x0e\n\x06gifURL\x18\x06 \x01(\t\x12\x0f\n\x07gifSize\x18\x07 \x01(\x05\x12\x10\n\x08isRandom\x18\x08 \x01(\x08\"\xa9\x01\n\rAvatarSticker\x12G\n\x0emediaTransport\x18\x01 \x01(\x0b\x32/.InstamadilloCoreTypeMedia.CommonMediaTransport\x12\x12\n\nisAnimated\x18\x02 \x01(\x08\x12\x11\n\tstickerID\x18\x03 \x01(\t\x12\x17\n\x0fstickerTemplate\x18\x04 \x01(\t\x12\x0f\n\x07nuxType\x18\x05 \x01(\x05\"\x89\x02\n\x05Raven\x12;\n\x08viewMode\x18\x01 \x01(\x0e\x32).InstamadilloCoreTypeMedia.Raven.ViewMode\x12\x38\n\x07\x63ontent\x18\x02 \x01(\x0b\x32\'.InstamadilloCoreTypeMedia.RavenContent\"\x88\x01\n\x08ViewMode\x12 \n\x1cRAVEN_VIEW_MODEL_UNSPECIFIED\x10\x00\x12\x19\n\x15RAVEN_VIEW_MODEL_ONCE\x10\x01\x12\x1f\n\x1bRAVEN_VIEW_MODEL_REPLAYABLE\x10\x02\x12\x1e\n\x1aRAVEN_VIEW_MODEL_PERMANENT\x10\x03\"\x90\x01\n\x0cRavenContent\x12=\n\x0bstaticPhoto\x18\x01 \x01(\x0b\x32&.InstamadilloCoreTypeMedia.StaticPhotoH\x00\x12\x31\n\x05video\x18\x02 \x01(\x0b\x32 .InstamadilloCoreTypeMedia.VideoH\x00\x42\x0e\n\x0cravenContent\"s\n\tThumbnail\x12G\n\x0emediaTransport\x18\x01 \x01(\x0b\x32/.InstamadilloCoreTypeMedia.CommonMediaTransport\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05width\x18\x03 \x01(\x05\"\xdc\x01\n\x14\x43ommonMediaTransport\x12\x0f\n\x07mediaID\x18\x01 \x01(\t\x12\x12\n\nfileSHA256\x18\x02 \x01(\t\x12\x10\n\x08mediaKey\x18\x03 \x01(\t\x12\x15\n\rfileEncSHA256\x18\x04 \x01(\t\x12\x12\n\ndirectPath\x18\x05 \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x06 \x01(\t\x12\x0f\n\x07sidecar\x18\x07 \x01(\t\x12\x12\n\nfileLength\x18\x08 \x01(\x05\x12\x10\n\x08mimetype\x18\t \x01(\t\x12\x10\n\x08objectID\x18\n \x01(\t\"2\n\x12VideoExtraMetadata\x12\x1c\n\x14uploadMosClientScore\x18\x01 \x01(\x02*\xa7\x01\n\x16PjpegScanConfiguration\x12(\n$PJPEG_SCAN_CONFIGURATION_UNSPECIFIED\x10\x00\x12\x1f\n\x1bPJPEG_SCAN_CONFIGURATION_WA\x10\x01\x12 \n\x1cPJPEG_SCAN_CONFIGURATION_E15\x10\x02\x12 \n\x1cPJPEG_SCAN_CONFIGURATION_E35\x10\x03\x42\x35Z3go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z3go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia' + _globals['_STATICPHOTO'].fields_by_name['scanLengths']._loaded_options = None + _globals['_STATICPHOTO'].fields_by_name['scanLengths']._serialized_options = b'\020\001' + _globals['_VOICE'].fields_by_name['waveforms']._loaded_options = None + _globals['_VOICE'].fields_by_name['waveforms']._serialized_options = b'\020\001' + _globals['_PJPEGSCANCONFIGURATION']._serialized_start=2361 + _globals['_PJPEGSCANCONFIGURATION']._serialized_end=2528 + _globals['_MEDIA']._serialized_start=89 + _globals['_MEDIA']._serialized_end=486 + _globals['_MEDIA_INTERVENTIONTYPE']._serialized_start=428 + _globals['_MEDIA_INTERVENTIONTYPE']._serialized_end=477 + _globals['_STATICPHOTO']._serialized_start=489 + _globals['_STATICPHOTO']._serialized_end=771 + _globals['_VOICE']._serialized_start=774 + _globals['_VOICE']._serialized_end=932 + _globals['_VIDEO']._serialized_start=935 + _globals['_VIDEO']._serialized_end=1178 + _globals['_GIF']._serialized_start=1181 + _globals['_GIF']._serialized_end=1379 + _globals['_AVATARSTICKER']._serialized_start=1382 + _globals['_AVATARSTICKER']._serialized_end=1551 + _globals['_RAVEN']._serialized_start=1554 + _globals['_RAVEN']._serialized_end=1819 + _globals['_RAVEN_VIEWMODE']._serialized_start=1683 + _globals['_RAVEN_VIEWMODE']._serialized_end=1819 + _globals['_RAVENCONTENT']._serialized_start=1822 + _globals['_RAVENCONTENT']._serialized_end=1966 + _globals['_THUMBNAIL']._serialized_start=1968 + _globals['_THUMBNAIL']._serialized_end=2083 + _globals['_COMMONMEDIATRANSPORT']._serialized_start=2086 + _globals['_COMMONMEDIATRANSPORT']._serialized_end=2306 + _globals['_VIDEOEXTRAMETADATA']._serialized_start=2308 + _globals['_VIDEOEXTRAMETADATA']._serialized_end=2358 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia_pb2.pyi b/neonize/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia_pb2.pyi new file mode 100644 index 00000000..5eff8ec7 --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia_pb2.pyi @@ -0,0 +1,392 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _PjpegScanConfiguration: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _PjpegScanConfigurationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PjpegScanConfiguration.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PJPEG_SCAN_CONFIGURATION_UNSPECIFIED: _PjpegScanConfiguration.ValueType # 0 + PJPEG_SCAN_CONFIGURATION_WA: _PjpegScanConfiguration.ValueType # 1 + PJPEG_SCAN_CONFIGURATION_E15: _PjpegScanConfiguration.ValueType # 2 + PJPEG_SCAN_CONFIGURATION_E35: _PjpegScanConfiguration.ValueType # 3 + +class PjpegScanConfiguration(_PjpegScanConfiguration, metaclass=_PjpegScanConfigurationEnumTypeWrapper): ... + +PJPEG_SCAN_CONFIGURATION_UNSPECIFIED: PjpegScanConfiguration.ValueType # 0 +PJPEG_SCAN_CONFIGURATION_WA: PjpegScanConfiguration.ValueType # 1 +PJPEG_SCAN_CONFIGURATION_E15: PjpegScanConfiguration.ValueType # 2 +PJPEG_SCAN_CONFIGURATION_E35: PjpegScanConfiguration.ValueType # 3 +global___PjpegScanConfiguration = PjpegScanConfiguration + +@typing.final +class Media(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _InterventionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _InterventionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Media._InterventionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSET: Media._InterventionType.ValueType # 0 + NONE: Media._InterventionType.ValueType # 1 + NUDE: Media._InterventionType.ValueType # 2 + + class InterventionType(_InterventionType, metaclass=_InterventionTypeEnumTypeWrapper): ... + UNSET: Media.InterventionType.ValueType # 0 + NONE: Media.InterventionType.ValueType # 1 + NUDE: Media.InterventionType.ValueType # 2 + + STATICPHOTO_FIELD_NUMBER: builtins.int + VOICE_FIELD_NUMBER: builtins.int + VIDEO_FIELD_NUMBER: builtins.int + RAVEN_FIELD_NUMBER: builtins.int + GIF_FIELD_NUMBER: builtins.int + AVATARSTICKER_FIELD_NUMBER: builtins.int + @property + def staticPhoto(self) -> global___StaticPhoto: ... + @property + def voice(self) -> global___Voice: ... + @property + def video(self) -> global___Video: ... + @property + def raven(self) -> global___Raven: ... + @property + def gif(self) -> global___Gif: ... + @property + def avatarSticker(self) -> global___AvatarSticker: ... + def __init__( + self, + *, + staticPhoto: global___StaticPhoto | None = ..., + voice: global___Voice | None = ..., + video: global___Video | None = ..., + raven: global___Raven | None = ..., + gif: global___Gif | None = ..., + avatarSticker: global___AvatarSticker | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["avatarSticker", b"avatarSticker", "gif", b"gif", "media", b"media", "raven", b"raven", "staticPhoto", b"staticPhoto", "video", b"video", "voice", b"voice"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["avatarSticker", b"avatarSticker", "gif", b"gif", "media", b"media", "raven", b"raven", "staticPhoto", b"staticPhoto", "video", b"video", "voice", b"voice"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["media", b"media"]) -> typing.Literal["staticPhoto", "voice", "video", "raven", "gif", "avatarSticker"] | None: ... + +global___Media = Media + +@typing.final +class StaticPhoto(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIATRANSPORT_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + SCANLENGTHS_FIELD_NUMBER: builtins.int + THUMBNAIL_FIELD_NUMBER: builtins.int + PJPEGSCANCONFIGURATION_FIELD_NUMBER: builtins.int + height: builtins.int + width: builtins.int + pjpegScanConfiguration: global___PjpegScanConfiguration.ValueType + @property + def mediaTransport(self) -> global___CommonMediaTransport: ... + @property + def scanLengths(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + @property + def thumbnail(self) -> global___Thumbnail: ... + def __init__( + self, + *, + mediaTransport: global___CommonMediaTransport | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + scanLengths: collections.abc.Iterable[builtins.int] | None = ..., + thumbnail: global___Thumbnail | None = ..., + pjpegScanConfiguration: global___PjpegScanConfiguration.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["height", b"height", "mediaTransport", b"mediaTransport", "pjpegScanConfiguration", b"pjpegScanConfiguration", "thumbnail", b"thumbnail", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["height", b"height", "mediaTransport", b"mediaTransport", "pjpegScanConfiguration", b"pjpegScanConfiguration", "scanLengths", b"scanLengths", "thumbnail", b"thumbnail", "width", b"width"]) -> None: ... + +global___StaticPhoto = StaticPhoto + +@typing.final +class Voice(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIATRANSPORT_FIELD_NUMBER: builtins.int + DURATION_FIELD_NUMBER: builtins.int + WAVEFORMS_FIELD_NUMBER: builtins.int + WAVEFORMSAMPLINGFREQUENCYHZ_FIELD_NUMBER: builtins.int + duration: builtins.int + waveformSamplingFrequencyHz: builtins.int + @property + def mediaTransport(self) -> global___CommonMediaTransport: ... + @property + def waveforms(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ... + def __init__( + self, + *, + mediaTransport: global___CommonMediaTransport | None = ..., + duration: builtins.int | None = ..., + waveforms: collections.abc.Iterable[builtins.float] | None = ..., + waveformSamplingFrequencyHz: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["duration", b"duration", "mediaTransport", b"mediaTransport", "waveformSamplingFrequencyHz", b"waveformSamplingFrequencyHz"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["duration", b"duration", "mediaTransport", b"mediaTransport", "waveformSamplingFrequencyHz", b"waveformSamplingFrequencyHz", "waveforms", b"waveforms"]) -> None: ... + +global___Voice = Voice + +@typing.final +class Video(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIATRANSPORT_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + THUMBNAIL_FIELD_NUMBER: builtins.int + VIDEOEXTRAMETADATA_FIELD_NUMBER: builtins.int + height: builtins.int + width: builtins.int + @property + def mediaTransport(self) -> global___CommonMediaTransport: ... + @property + def thumbnail(self) -> global___Thumbnail: ... + @property + def videoExtraMetadata(self) -> global___VideoExtraMetadata: ... + def __init__( + self, + *, + mediaTransport: global___CommonMediaTransport | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + thumbnail: global___Thumbnail | None = ..., + videoExtraMetadata: global___VideoExtraMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["height", b"height", "mediaTransport", b"mediaTransport", "thumbnail", b"thumbnail", "videoExtraMetadata", b"videoExtraMetadata", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["height", b"height", "mediaTransport", b"mediaTransport", "thumbnail", b"thumbnail", "videoExtraMetadata", b"videoExtraMetadata", "width", b"width"]) -> None: ... + +global___Video = Video + +@typing.final +class Gif(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIATRANSPORT_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + ISSTICKER_FIELD_NUMBER: builtins.int + STICKERID_FIELD_NUMBER: builtins.int + GIFURL_FIELD_NUMBER: builtins.int + GIFSIZE_FIELD_NUMBER: builtins.int + ISRANDOM_FIELD_NUMBER: builtins.int + height: builtins.int + width: builtins.int + isSticker: builtins.bool + stickerID: builtins.str + gifURL: builtins.str + gifSize: builtins.int + isRandom: builtins.bool + @property + def mediaTransport(self) -> global___CommonMediaTransport: ... + def __init__( + self, + *, + mediaTransport: global___CommonMediaTransport | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + isSticker: builtins.bool | None = ..., + stickerID: builtins.str | None = ..., + gifURL: builtins.str | None = ..., + gifSize: builtins.int | None = ..., + isRandom: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["gifSize", b"gifSize", "gifURL", b"gifURL", "height", b"height", "isRandom", b"isRandom", "isSticker", b"isSticker", "mediaTransport", b"mediaTransport", "stickerID", b"stickerID", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["gifSize", b"gifSize", "gifURL", b"gifURL", "height", b"height", "isRandom", b"isRandom", "isSticker", b"isSticker", "mediaTransport", b"mediaTransport", "stickerID", b"stickerID", "width", b"width"]) -> None: ... + +global___Gif = Gif + +@typing.final +class AvatarSticker(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIATRANSPORT_FIELD_NUMBER: builtins.int + ISANIMATED_FIELD_NUMBER: builtins.int + STICKERID_FIELD_NUMBER: builtins.int + STICKERTEMPLATE_FIELD_NUMBER: builtins.int + NUXTYPE_FIELD_NUMBER: builtins.int + isAnimated: builtins.bool + stickerID: builtins.str + stickerTemplate: builtins.str + nuxType: builtins.int + @property + def mediaTransport(self) -> global___CommonMediaTransport: ... + def __init__( + self, + *, + mediaTransport: global___CommonMediaTransport | None = ..., + isAnimated: builtins.bool | None = ..., + stickerID: builtins.str | None = ..., + stickerTemplate: builtins.str | None = ..., + nuxType: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isAnimated", b"isAnimated", "mediaTransport", b"mediaTransport", "nuxType", b"nuxType", "stickerID", b"stickerID", "stickerTemplate", b"stickerTemplate"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isAnimated", b"isAnimated", "mediaTransport", b"mediaTransport", "nuxType", b"nuxType", "stickerID", b"stickerID", "stickerTemplate", b"stickerTemplate"]) -> None: ... + +global___AvatarSticker = AvatarSticker + +@typing.final +class Raven(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ViewMode: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ViewModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Raven._ViewMode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + RAVEN_VIEW_MODEL_UNSPECIFIED: Raven._ViewMode.ValueType # 0 + RAVEN_VIEW_MODEL_ONCE: Raven._ViewMode.ValueType # 1 + RAVEN_VIEW_MODEL_REPLAYABLE: Raven._ViewMode.ValueType # 2 + RAVEN_VIEW_MODEL_PERMANENT: Raven._ViewMode.ValueType # 3 + + class ViewMode(_ViewMode, metaclass=_ViewModeEnumTypeWrapper): ... + RAVEN_VIEW_MODEL_UNSPECIFIED: Raven.ViewMode.ValueType # 0 + RAVEN_VIEW_MODEL_ONCE: Raven.ViewMode.ValueType # 1 + RAVEN_VIEW_MODEL_REPLAYABLE: Raven.ViewMode.ValueType # 2 + RAVEN_VIEW_MODEL_PERMANENT: Raven.ViewMode.ValueType # 3 + + VIEWMODE_FIELD_NUMBER: builtins.int + CONTENT_FIELD_NUMBER: builtins.int + viewMode: global___Raven.ViewMode.ValueType + @property + def content(self) -> global___RavenContent: ... + def __init__( + self, + *, + viewMode: global___Raven.ViewMode.ValueType | None = ..., + content: global___RavenContent | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["content", b"content", "viewMode", b"viewMode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["content", b"content", "viewMode", b"viewMode"]) -> None: ... + +global___Raven = Raven + +@typing.final +class RavenContent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STATICPHOTO_FIELD_NUMBER: builtins.int + VIDEO_FIELD_NUMBER: builtins.int + @property + def staticPhoto(self) -> global___StaticPhoto: ... + @property + def video(self) -> global___Video: ... + def __init__( + self, + *, + staticPhoto: global___StaticPhoto | None = ..., + video: global___Video | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ravenContent", b"ravenContent", "staticPhoto", b"staticPhoto", "video", b"video"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ravenContent", b"ravenContent", "staticPhoto", b"staticPhoto", "video", b"video"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["ravenContent", b"ravenContent"]) -> typing.Literal["staticPhoto", "video"] | None: ... + +global___RavenContent = RavenContent + +@typing.final +class Thumbnail(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIATRANSPORT_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + height: builtins.int + width: builtins.int + @property + def mediaTransport(self) -> global___CommonMediaTransport: ... + def __init__( + self, + *, + mediaTransport: global___CommonMediaTransport | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["height", b"height", "mediaTransport", b"mediaTransport", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["height", b"height", "mediaTransport", b"mediaTransport", "width", b"width"]) -> None: ... + +global___Thumbnail = Thumbnail + +@typing.final +class CommonMediaTransport(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIAID_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + SIDECAR_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + OBJECTID_FIELD_NUMBER: builtins.int + mediaID: builtins.str + fileSHA256: builtins.str + mediaKey: builtins.str + fileEncSHA256: builtins.str + directPath: builtins.str + mediaKeyTimestamp: builtins.str + sidecar: builtins.str + fileLength: builtins.int + mimetype: builtins.str + objectID: builtins.str + def __init__( + self, + *, + mediaID: builtins.str | None = ..., + fileSHA256: builtins.str | None = ..., + mediaKey: builtins.str | None = ..., + fileEncSHA256: builtins.str | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.str | None = ..., + sidecar: builtins.str | None = ..., + fileLength: builtins.int | None = ..., + mimetype: builtins.str | None = ..., + objectID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "mediaID", b"mediaID", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "objectID", b"objectID", "sidecar", b"sidecar"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "mediaID", b"mediaID", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "objectID", b"objectID", "sidecar", b"sidecar"]) -> None: ... + +global___CommonMediaTransport = CommonMediaTransport + +@typing.final +class VideoExtraMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + UPLOADMOSCLIENTSCORE_FIELD_NUMBER: builtins.int + uploadMosClientScore: builtins.float + def __init__( + self, + *, + uploadMosClientScore: builtins.float | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["uploadMosClientScore", b"uploadMosClientScore"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["uploadMosClientScore", b"uploadMosClientScore"]) -> None: ... + +global___VideoExtraMetadata = VideoExtraMetadata diff --git a/neonize/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText_pb2.py b/neonize/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText_pb2.py new file mode 100644 index 00000000..af923662 --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText_pb2.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloCoreTypeText/InstamadilloCoreTypeText.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloCoreTypeText/InstamadilloCoreTypeText.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from instamadilloCoreTypeMedia import InstamadilloCoreTypeMedia_pb2 as instamadilloCoreTypeMedia_dot_InstamadilloCoreTypeMedia__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7instamadilloCoreTypeText/InstamadilloCoreTypeText.proto\x12\x18InstamadilloCoreTypeText\x1a\x39instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto\"\xf1\x03\n\x04Text\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x18\n\x10isSuggestedReply\x18\x02 \x01(\x08\x12\x17\n\x0fpostbackPayload\x18\x03 \x01(\t\x12;\n\x0bpowerUpData\x18\x04 \x01(\x0b\x32&.InstamadilloCoreTypeText.PowerUpsData\x12<\n\x08\x63ommands\x18\x05 \x03(\x0b\x32*.InstamadilloCoreTypeText.CommandRangeData\x12[\n\x1c\x61nimatedEmojiCharacterRanges\x18\x06 \x03(\x0b\x32\x35.InstamadilloCoreTypeText.AnimatedEmojiCharacterRange\"\xcf\x01\n\x0b\x46ormatStyle\x12!\n\x1dTEXT_FORMAT_STYLE_UNSPECIFIED\x10\x00\x12\x1a\n\x16TEXT_FORMAT_STYLE_BOLD\x10\x01\x12\x1c\n\x18TEXT_FORMAT_STYLE_ITALIC\x10\x02\x12#\n\x1fTEXT_FORMAT_STYLE_STRIKETHROUGH\x10\x03\x12\x1f\n\x1bTEXT_FORMAT_STYLE_UNDERLINE\x10\x04\x12\x1d\n\x19TEXT_FORMAT_STYLE_INVALID\x10\x05\"g\n\x0cPowerUpsData\x12\r\n\x05style\x18\x01 \x01(\x05\x12H\n\x0fmediaAttachment\x18\x02 \x01(\x0b\x32/.InstamadilloCoreTypeMedia.CommonMediaTransport\"h\n\x10\x43ommandRangeData\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\x0e\n\x06length\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0c\n\x04\x46\x42ID\x18\x04 \x01(\t\x12\x18\n\x10userOrThreadFbid\x18\x05 \x01(\t\"j\n\rFormattedText\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\x0e\n\x06length\x18\x02 \x01(\x05\x12\x39\n\x05style\x18\x03 \x01(\x0e\x32*.InstamadilloCoreTypeText.Text.FormatStyle\"=\n\x1b\x41nimatedEmojiCharacterRange\x12\x0e\n\x06offset\x18\x01 \x01(\x05\x12\x0e\n\x06length\x18\x02 \x01(\x05\x42\x34Z2go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'instamadilloCoreTypeText.InstamadilloCoreTypeText_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z2go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText' + _globals['_TEXT']._serialized_start=145 + _globals['_TEXT']._serialized_end=642 + _globals['_TEXT_FORMATSTYLE']._serialized_start=435 + _globals['_TEXT_FORMATSTYLE']._serialized_end=642 + _globals['_POWERUPSDATA']._serialized_start=644 + _globals['_POWERUPSDATA']._serialized_end=747 + _globals['_COMMANDRANGEDATA']._serialized_start=749 + _globals['_COMMANDRANGEDATA']._serialized_end=853 + _globals['_FORMATTEDTEXT']._serialized_start=855 + _globals['_FORMATTEDTEXT']._serialized_end=961 + _globals['_ANIMATEDEMOJICHARACTERRANGE']._serialized_start=963 + _globals['_ANIMATEDEMOJICHARACTERRANGE']._serialized_end=1024 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText_pb2.pyi b/neonize/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText_pb2.pyi new file mode 100644 index 00000000..1dd78bbb --- /dev/null +++ b/neonize/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText_pb2.pyi @@ -0,0 +1,165 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2 +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class Text(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _FormatStyle: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _FormatStyleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Text._FormatStyle.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + TEXT_FORMAT_STYLE_UNSPECIFIED: Text._FormatStyle.ValueType # 0 + TEXT_FORMAT_STYLE_BOLD: Text._FormatStyle.ValueType # 1 + TEXT_FORMAT_STYLE_ITALIC: Text._FormatStyle.ValueType # 2 + TEXT_FORMAT_STYLE_STRIKETHROUGH: Text._FormatStyle.ValueType # 3 + TEXT_FORMAT_STYLE_UNDERLINE: Text._FormatStyle.ValueType # 4 + TEXT_FORMAT_STYLE_INVALID: Text._FormatStyle.ValueType # 5 + + class FormatStyle(_FormatStyle, metaclass=_FormatStyleEnumTypeWrapper): ... + TEXT_FORMAT_STYLE_UNSPECIFIED: Text.FormatStyle.ValueType # 0 + TEXT_FORMAT_STYLE_BOLD: Text.FormatStyle.ValueType # 1 + TEXT_FORMAT_STYLE_ITALIC: Text.FormatStyle.ValueType # 2 + TEXT_FORMAT_STYLE_STRIKETHROUGH: Text.FormatStyle.ValueType # 3 + TEXT_FORMAT_STYLE_UNDERLINE: Text.FormatStyle.ValueType # 4 + TEXT_FORMAT_STYLE_INVALID: Text.FormatStyle.ValueType # 5 + + TEXT_FIELD_NUMBER: builtins.int + ISSUGGESTEDREPLY_FIELD_NUMBER: builtins.int + POSTBACKPAYLOAD_FIELD_NUMBER: builtins.int + POWERUPDATA_FIELD_NUMBER: builtins.int + COMMANDS_FIELD_NUMBER: builtins.int + ANIMATEDEMOJICHARACTERRANGES_FIELD_NUMBER: builtins.int + text: builtins.str + isSuggestedReply: builtins.bool + postbackPayload: builtins.str + @property + def powerUpData(self) -> global___PowerUpsData: ... + @property + def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommandRangeData]: ... + @property + def animatedEmojiCharacterRanges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AnimatedEmojiCharacterRange]: ... + def __init__( + self, + *, + text: builtins.str | None = ..., + isSuggestedReply: builtins.bool | None = ..., + postbackPayload: builtins.str | None = ..., + powerUpData: global___PowerUpsData | None = ..., + commands: collections.abc.Iterable[global___CommandRangeData] | None = ..., + animatedEmojiCharacterRanges: collections.abc.Iterable[global___AnimatedEmojiCharacterRange] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isSuggestedReply", b"isSuggestedReply", "postbackPayload", b"postbackPayload", "powerUpData", b"powerUpData", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["animatedEmojiCharacterRanges", b"animatedEmojiCharacterRanges", "commands", b"commands", "isSuggestedReply", b"isSuggestedReply", "postbackPayload", b"postbackPayload", "powerUpData", b"powerUpData", "text", b"text"]) -> None: ... + +global___Text = Text + +@typing.final +class PowerUpsData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STYLE_FIELD_NUMBER: builtins.int + MEDIAATTACHMENT_FIELD_NUMBER: builtins.int + style: builtins.int + @property + def mediaAttachment(self) -> instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.CommonMediaTransport: ... + def __init__( + self, + *, + style: builtins.int | None = ..., + mediaAttachment: instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.CommonMediaTransport | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["mediaAttachment", b"mediaAttachment", "style", b"style"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mediaAttachment", b"mediaAttachment", "style", b"style"]) -> None: ... + +global___PowerUpsData = PowerUpsData + +@typing.final +class CommandRangeData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OFFSET_FIELD_NUMBER: builtins.int + LENGTH_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + FBID_FIELD_NUMBER: builtins.int + USERORTHREADFBID_FIELD_NUMBER: builtins.int + offset: builtins.int + length: builtins.int + type: builtins.int + FBID: builtins.str + userOrThreadFbid: builtins.str + def __init__( + self, + *, + offset: builtins.int | None = ..., + length: builtins.int | None = ..., + type: builtins.int | None = ..., + FBID: builtins.str | None = ..., + userOrThreadFbid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["FBID", b"FBID", "length", b"length", "offset", b"offset", "type", b"type", "userOrThreadFbid", b"userOrThreadFbid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["FBID", b"FBID", "length", b"length", "offset", b"offset", "type", b"type", "userOrThreadFbid", b"userOrThreadFbid"]) -> None: ... + +global___CommandRangeData = CommandRangeData + +@typing.final +class FormattedText(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OFFSET_FIELD_NUMBER: builtins.int + LENGTH_FIELD_NUMBER: builtins.int + STYLE_FIELD_NUMBER: builtins.int + offset: builtins.int + length: builtins.int + style: global___Text.FormatStyle.ValueType + def __init__( + self, + *, + offset: builtins.int | None = ..., + length: builtins.int | None = ..., + style: global___Text.FormatStyle.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["length", b"length", "offset", b"offset", "style", b"style"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["length", b"length", "offset", b"offset", "style", b"style"]) -> None: ... + +global___FormattedText = FormattedText + +@typing.final +class AnimatedEmojiCharacterRange(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OFFSET_FIELD_NUMBER: builtins.int + LENGTH_FIELD_NUMBER: builtins.int + offset: builtins.int + length: builtins.int + def __init__( + self, + *, + offset: builtins.int | None = ..., + length: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["length", b"length", "offset", b"offset"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["length", b"length", "offset", b"offset"]) -> None: ... + +global___AnimatedEmojiCharacterRange = AnimatedEmojiCharacterRange diff --git a/neonize/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage_pb2.py b/neonize/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage_pb2.py new file mode 100644 index 00000000..07868df2 --- /dev/null +++ b/neonize/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloDeleteMessage/InstamadilloDeleteMessage.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloDeleteMessage/InstamadilloDeleteMessage.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9instamadilloDeleteMessage/InstamadilloDeleteMessage.proto\x12\x19InstamadilloDeleteMessage\"+\n\x14\x44\x65leteMessagePayload\x12\x13\n\x0bmessageOtid\x18\x01 \x01(\tB5Z3go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'instamadilloDeleteMessage.InstamadilloDeleteMessage_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z3go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage' + _globals['_DELETEMESSAGEPAYLOAD']._serialized_start=88 + _globals['_DELETEMESSAGEPAYLOAD']._serialized_end=131 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage_pb2.pyi b/neonize/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage_pb2.pyi new file mode 100644 index 00000000..e5b931d0 --- /dev/null +++ b/neonize/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage_pb2.pyi @@ -0,0 +1,27 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class DeleteMessagePayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGEOTID_FIELD_NUMBER: builtins.int + messageOtid: builtins.str + def __init__( + self, + *, + messageOtid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageOtid", b"messageOtid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageOtid", b"messageOtid"]) -> None: ... + +global___DeleteMessagePayload = DeleteMessagePayload diff --git a/neonize/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage_pb2.py b/neonize/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage_pb2.py new file mode 100644 index 00000000..9b55fb0d --- /dev/null +++ b/neonize/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage_pb2.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloSupplementMessage/InstamadilloSupplementMessage.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloSupplementMessage/InstamadilloSupplementMessage.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from instamadilloCoreTypeMedia import InstamadilloCoreTypeMedia_pb2 as instamadilloCoreTypeMedia_dot_InstamadilloCoreTypeMedia__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nAinstamadilloSupplementMessage/InstamadilloSupplementMessage.proto\x12\x1dInstamadilloSupplementMessage\x1a\x39instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto\"\xe7\x01\n\x18SupplementMessagePayload\x12\x19\n\x11targetMessageOtid\x18\x01 \x01(\t\x12&\n\x1euniquingKeyForSupplementalData\x18\x02 \x01(\t\x12H\n\x07\x63ontent\x18\x03 \x01(\x0b\x32\x37.InstamadilloSupplementMessage.SupplementMessageContent\x12$\n\x1ctargetMessageWaServerTimeSec\x18\x04 \x01(\t\x12\x18\n\x10targetWaThreadID\x18\x05 \x01(\t\"\xe8\x03\n\x18SupplementMessageContent\x12;\n\x08reaction\x18\x01 \x01(\x0b\x32\'.InstamadilloSupplementMessage.ReactionH\x00\x12\x41\n\x0b\x63ontentView\x18\x02 \x01(\x0b\x32*.InstamadilloSupplementMessage.ContentViewH\x00\x12;\n\x08\x65\x64itText\x18\x03 \x01(\x0b\x32\'.InstamadilloSupplementMessage.EditTextH\x00\x12\x45\n\rmediaReaction\x18\x04 \x01(\x0b\x32,.InstamadilloSupplementMessage.MediaReactionH\x00\x12[\n\x18originalTransportPayload\x18\x05 \x01(\x0b\x32\x37.InstamadilloSupplementMessage.OriginalTransportPayloadH\x00\x12O\n\x12mediaInterventions\x18\x06 \x01(\x0b\x32\x31.InstamadilloSupplementMessage.MediaInterventionsH\x00\x42\x1a\n\x18supplementMessageContent\"[\n\rMediaReaction\x12\x0f\n\x07mediaID\x18\x01 \x01(\t\x12\x39\n\x08reaction\x18\x02 \x01(\x0b\x32\'.InstamadilloSupplementMessage.Reaction\"v\n\x08Reaction\x12\x14\n\x0creactionType\x18\x01 \x01(\t\x12\x16\n\x0ereactionStatus\x18\x02 \x01(\t\x12\r\n\x05\x65moji\x18\x03 \x01(\t\x12\x16\n\x0esuperReactType\x18\x04 \x01(\t\x12\x15\n\ractionLogOtid\x18\x05 \x01(\t\"h\n\x0b\x43ontentView\x12\x0c\n\x04seen\x18\x01 \x01(\x08\x12\x15\n\rscreenshotted\x18\x02 \x01(\x08\x12\x10\n\x08replayed\x18\x03 \x01(\x08\x12\x10\n\x08mimetype\x18\x04 \x01(\t\x12\x10\n\x08objectID\x18\x05 \x01(\t\"1\n\x08\x45\x64itText\x12\x12\n\nnewContent\x18\x01 \x01(\t\x12\x11\n\teditCount\x18\x02 \x01(\x05\"<\n\x18OriginalTransportPayload\x12 \n\x18originalTransportPayload\x18\x01 \x01(\x0c\"r\n\x12MediaInterventions\x12\x0f\n\x07mediaID\x18\x01 \x01(\t\x12K\n\x10interventionType\x18\x02 \x01(\x0e\x32\x31.InstamadilloCoreTypeMedia.Media.InterventionTypeB9Z7go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'instamadilloSupplementMessage.InstamadilloSupplementMessage_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z7go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage' + _globals['_SUPPLEMENTMESSAGEPAYLOAD']._serialized_start=160 + _globals['_SUPPLEMENTMESSAGEPAYLOAD']._serialized_end=391 + _globals['_SUPPLEMENTMESSAGECONTENT']._serialized_start=394 + _globals['_SUPPLEMENTMESSAGECONTENT']._serialized_end=882 + _globals['_MEDIAREACTION']._serialized_start=884 + _globals['_MEDIAREACTION']._serialized_end=975 + _globals['_REACTION']._serialized_start=977 + _globals['_REACTION']._serialized_end=1095 + _globals['_CONTENTVIEW']._serialized_start=1097 + _globals['_CONTENTVIEW']._serialized_end=1201 + _globals['_EDITTEXT']._serialized_start=1203 + _globals['_EDITTEXT']._serialized_end=1252 + _globals['_ORIGINALTRANSPORTPAYLOAD']._serialized_start=1254 + _globals['_ORIGINALTRANSPORTPAYLOAD']._serialized_end=1314 + _globals['_MEDIAINTERVENTIONS']._serialized_start=1316 + _globals['_MEDIAINTERVENTIONS']._serialized_end=1430 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage_pb2.pyi b/neonize/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage_pb2.pyi new file mode 100644 index 00000000..d8f3e583 --- /dev/null +++ b/neonize/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage_pb2.pyi @@ -0,0 +1,209 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2 +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class SupplementMessagePayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TARGETMESSAGEOTID_FIELD_NUMBER: builtins.int + UNIQUINGKEYFORSUPPLEMENTALDATA_FIELD_NUMBER: builtins.int + CONTENT_FIELD_NUMBER: builtins.int + TARGETMESSAGEWASERVERTIMESEC_FIELD_NUMBER: builtins.int + TARGETWATHREADID_FIELD_NUMBER: builtins.int + targetMessageOtid: builtins.str + uniquingKeyForSupplementalData: builtins.str + targetMessageWaServerTimeSec: builtins.str + targetWaThreadID: builtins.str + @property + def content(self) -> global___SupplementMessageContent: ... + def __init__( + self, + *, + targetMessageOtid: builtins.str | None = ..., + uniquingKeyForSupplementalData: builtins.str | None = ..., + content: global___SupplementMessageContent | None = ..., + targetMessageWaServerTimeSec: builtins.str | None = ..., + targetWaThreadID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["content", b"content", "targetMessageOtid", b"targetMessageOtid", "targetMessageWaServerTimeSec", b"targetMessageWaServerTimeSec", "targetWaThreadID", b"targetWaThreadID", "uniquingKeyForSupplementalData", b"uniquingKeyForSupplementalData"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["content", b"content", "targetMessageOtid", b"targetMessageOtid", "targetMessageWaServerTimeSec", b"targetMessageWaServerTimeSec", "targetWaThreadID", b"targetWaThreadID", "uniquingKeyForSupplementalData", b"uniquingKeyForSupplementalData"]) -> None: ... + +global___SupplementMessagePayload = SupplementMessagePayload + +@typing.final +class SupplementMessageContent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REACTION_FIELD_NUMBER: builtins.int + CONTENTVIEW_FIELD_NUMBER: builtins.int + EDITTEXT_FIELD_NUMBER: builtins.int + MEDIAREACTION_FIELD_NUMBER: builtins.int + ORIGINALTRANSPORTPAYLOAD_FIELD_NUMBER: builtins.int + MEDIAINTERVENTIONS_FIELD_NUMBER: builtins.int + @property + def reaction(self) -> global___Reaction: ... + @property + def contentView(self) -> global___ContentView: ... + @property + def editText(self) -> global___EditText: ... + @property + def mediaReaction(self) -> global___MediaReaction: ... + @property + def originalTransportPayload(self) -> global___OriginalTransportPayload: ... + @property + def mediaInterventions(self) -> global___MediaInterventions: ... + def __init__( + self, + *, + reaction: global___Reaction | None = ..., + contentView: global___ContentView | None = ..., + editText: global___EditText | None = ..., + mediaReaction: global___MediaReaction | None = ..., + originalTransportPayload: global___OriginalTransportPayload | None = ..., + mediaInterventions: global___MediaInterventions | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contentView", b"contentView", "editText", b"editText", "mediaInterventions", b"mediaInterventions", "mediaReaction", b"mediaReaction", "originalTransportPayload", b"originalTransportPayload", "reaction", b"reaction", "supplementMessageContent", b"supplementMessageContent"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contentView", b"contentView", "editText", b"editText", "mediaInterventions", b"mediaInterventions", "mediaReaction", b"mediaReaction", "originalTransportPayload", b"originalTransportPayload", "reaction", b"reaction", "supplementMessageContent", b"supplementMessageContent"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["supplementMessageContent", b"supplementMessageContent"]) -> typing.Literal["reaction", "contentView", "editText", "mediaReaction", "originalTransportPayload", "mediaInterventions"] | None: ... + +global___SupplementMessageContent = SupplementMessageContent + +@typing.final +class MediaReaction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIAID_FIELD_NUMBER: builtins.int + REACTION_FIELD_NUMBER: builtins.int + mediaID: builtins.str + @property + def reaction(self) -> global___Reaction: ... + def __init__( + self, + *, + mediaID: builtins.str | None = ..., + reaction: global___Reaction | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["mediaID", b"mediaID", "reaction", b"reaction"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mediaID", b"mediaID", "reaction", b"reaction"]) -> None: ... + +global___MediaReaction = MediaReaction + +@typing.final +class Reaction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REACTIONTYPE_FIELD_NUMBER: builtins.int + REACTIONSTATUS_FIELD_NUMBER: builtins.int + EMOJI_FIELD_NUMBER: builtins.int + SUPERREACTTYPE_FIELD_NUMBER: builtins.int + ACTIONLOGOTID_FIELD_NUMBER: builtins.int + reactionType: builtins.str + reactionStatus: builtins.str + emoji: builtins.str + superReactType: builtins.str + actionLogOtid: builtins.str + def __init__( + self, + *, + reactionType: builtins.str | None = ..., + reactionStatus: builtins.str | None = ..., + emoji: builtins.str | None = ..., + superReactType: builtins.str | None = ..., + actionLogOtid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionLogOtid", b"actionLogOtid", "emoji", b"emoji", "reactionStatus", b"reactionStatus", "reactionType", b"reactionType", "superReactType", b"superReactType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionLogOtid", b"actionLogOtid", "emoji", b"emoji", "reactionStatus", b"reactionStatus", "reactionType", b"reactionType", "superReactType", b"superReactType"]) -> None: ... + +global___Reaction = Reaction + +@typing.final +class ContentView(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SEEN_FIELD_NUMBER: builtins.int + SCREENSHOTTED_FIELD_NUMBER: builtins.int + REPLAYED_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + OBJECTID_FIELD_NUMBER: builtins.int + seen: builtins.bool + screenshotted: builtins.bool + replayed: builtins.bool + mimetype: builtins.str + objectID: builtins.str + def __init__( + self, + *, + seen: builtins.bool | None = ..., + screenshotted: builtins.bool | None = ..., + replayed: builtins.bool | None = ..., + mimetype: builtins.str | None = ..., + objectID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["mimetype", b"mimetype", "objectID", b"objectID", "replayed", b"replayed", "screenshotted", b"screenshotted", "seen", b"seen"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mimetype", b"mimetype", "objectID", b"objectID", "replayed", b"replayed", "screenshotted", b"screenshotted", "seen", b"seen"]) -> None: ... + +global___ContentView = ContentView + +@typing.final +class EditText(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NEWCONTENT_FIELD_NUMBER: builtins.int + EDITCOUNT_FIELD_NUMBER: builtins.int + newContent: builtins.str + editCount: builtins.int + def __init__( + self, + *, + newContent: builtins.str | None = ..., + editCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["editCount", b"editCount", "newContent", b"newContent"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["editCount", b"editCount", "newContent", b"newContent"]) -> None: ... + +global___EditText = EditText + +@typing.final +class OriginalTransportPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ORIGINALTRANSPORTPAYLOAD_FIELD_NUMBER: builtins.int + originalTransportPayload: builtins.bytes + def __init__( + self, + *, + originalTransportPayload: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["originalTransportPayload", b"originalTransportPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["originalTransportPayload", b"originalTransportPayload"]) -> None: ... + +global___OriginalTransportPayload = OriginalTransportPayload + +@typing.final +class MediaInterventions(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIAID_FIELD_NUMBER: builtins.int + INTERVENTIONTYPE_FIELD_NUMBER: builtins.int + mediaID: builtins.str + interventionType: instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media.InterventionType.ValueType + def __init__( + self, + *, + mediaID: builtins.str | None = ..., + interventionType: instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media.InterventionType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["interventionType", b"interventionType", "mediaID", b"mediaID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["interventionType", b"interventionType", "mediaID", b"mediaID"]) -> None: ... + +global___MediaInterventions = MediaInterventions diff --git a/neonize/proto/instamadilloTransportPayload/InstamadilloTransportPayload_pb2.py b/neonize/proto/instamadilloTransportPayload/InstamadilloTransportPayload_pb2.py new file mode 100644 index 00000000..40808e89 --- /dev/null +++ b/neonize/proto/instamadilloTransportPayload/InstamadilloTransportPayload_pb2.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloTransportPayload/InstamadilloTransportPayload.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloTransportPayload/InstamadilloTransportPayload.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from instamadilloAddMessage import InstamadilloAddMessage_pb2 as instamadilloAddMessage_dot_InstamadilloAddMessage__pb2 +from instamadilloDeleteMessage import InstamadilloDeleteMessage_pb2 as instamadilloDeleteMessage_dot_InstamadilloDeleteMessage__pb2 +from instamadilloSupplementMessage import InstamadilloSupplementMessage_pb2 as instamadilloSupplementMessage_dot_InstamadilloSupplementMessage__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?instamadilloTransportPayload/InstamadilloTransportPayload.proto\x12\x1cInstamadilloTransportPayload\x1a\x33instamadilloAddMessage/InstamadilloAddMessage.proto\x1a\x39instamadilloDeleteMessage/InstamadilloDeleteMessage.proto\x1a\x41instamadilloSupplementMessage/InstamadilloSupplementMessage.proto\"\x9c\x03\n\x10TransportPayload\x12\x38\n\x03\x61\x64\x64\x18\x01 \x01(\x0b\x32).InstamadilloAddMessage.AddMessagePayloadH\x00\x12\x41\n\x06\x64\x65lete\x18\x02 \x01(\x0b\x32/.InstamadilloDeleteMessage.DeleteMessagePayloadH\x00\x12M\n\nsupplement\x18\x03 \x01(\x0b\x32\x37.InstamadilloSupplementMessage.SupplementMessagePayloadH\x00\x12\x38\n\x08\x66ranking\x18\x04 \x01(\x0b\x32&.InstamadilloTransportPayload.Franking\x12\x0e\n\x06openEb\x18\x05 \x01(\x08\x12\x18\n\x10isE2EeAttributed\x18\x06 \x01(\x08\x12\x44\n\x0epayloadCreator\x18\x07 \x01(\x0e\x32,.InstamadilloTransportPayload.PayloadCreatorB\x12\n\x10transportPayload\"8\n\x08\x46ranking\x12\x13\n\x0b\x66rankingKey\x18\x01 \x01(\x0c\x12\x17\n\x0f\x66rankingVersion\x18\x02 \x01(\x05*\x9b\x01\n\x0ePayloadCreator\x12\x1f\n\x1bPAYLOAD_CREATOR_UNSPECIFIED\x10\x00\x12\x19\n\x15PAYLOAD_CREATOR_IGIOS\x10\x01\x12\x18\n\x14PAYLOAD_CREATOR_IG4A\x10\x02\x12\x17\n\x13PAYLOAD_CREATOR_WWW\x10\x03\x12\x1a\n\x16PAYLOAD_CREATOR_IGLITE\x10\x04\x42\x38Z6go.mau.fi/whatsmeow/proto/instamadilloTransportPayload') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'instamadilloTransportPayload.InstamadilloTransportPayload_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z6go.mau.fi/whatsmeow/proto/instamadilloTransportPayload' + _globals['_PAYLOADCREATOR']._serialized_start=750 + _globals['_PAYLOADCREATOR']._serialized_end=905 + _globals['_TRANSPORTPAYLOAD']._serialized_start=277 + _globals['_TRANSPORTPAYLOAD']._serialized_end=689 + _globals['_FRANKING']._serialized_start=691 + _globals['_FRANKING']._serialized_end=747 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/instamadilloTransportPayload/InstamadilloTransportPayload_pb2.pyi b/neonize/proto/instamadilloTransportPayload/InstamadilloTransportPayload_pb2.pyi new file mode 100644 index 00000000..cc293f9d --- /dev/null +++ b/neonize/proto/instamadilloTransportPayload/InstamadilloTransportPayload_pb2.pyi @@ -0,0 +1,100 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import instamadilloAddMessage.InstamadilloAddMessage_pb2 +import instamadilloDeleteMessage.InstamadilloDeleteMessage_pb2 +import instamadilloSupplementMessage.InstamadilloSupplementMessage_pb2 +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _PayloadCreator: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _PayloadCreatorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PayloadCreator.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PAYLOAD_CREATOR_UNSPECIFIED: _PayloadCreator.ValueType # 0 + PAYLOAD_CREATOR_IGIOS: _PayloadCreator.ValueType # 1 + PAYLOAD_CREATOR_IG4A: _PayloadCreator.ValueType # 2 + PAYLOAD_CREATOR_WWW: _PayloadCreator.ValueType # 3 + PAYLOAD_CREATOR_IGLITE: _PayloadCreator.ValueType # 4 + +class PayloadCreator(_PayloadCreator, metaclass=_PayloadCreatorEnumTypeWrapper): ... + +PAYLOAD_CREATOR_UNSPECIFIED: PayloadCreator.ValueType # 0 +PAYLOAD_CREATOR_IGIOS: PayloadCreator.ValueType # 1 +PAYLOAD_CREATOR_IG4A: PayloadCreator.ValueType # 2 +PAYLOAD_CREATOR_WWW: PayloadCreator.ValueType # 3 +PAYLOAD_CREATOR_IGLITE: PayloadCreator.ValueType # 4 +global___PayloadCreator = PayloadCreator + +@typing.final +class TransportPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ADD_FIELD_NUMBER: builtins.int + DELETE_FIELD_NUMBER: builtins.int + SUPPLEMENT_FIELD_NUMBER: builtins.int + FRANKING_FIELD_NUMBER: builtins.int + OPENEB_FIELD_NUMBER: builtins.int + ISE2EEATTRIBUTED_FIELD_NUMBER: builtins.int + PAYLOADCREATOR_FIELD_NUMBER: builtins.int + openEb: builtins.bool + isE2EeAttributed: builtins.bool + payloadCreator: global___PayloadCreator.ValueType + @property + def add(self) -> instamadilloAddMessage.InstamadilloAddMessage_pb2.AddMessagePayload: ... + @property + def delete(self) -> instamadilloDeleteMessage.InstamadilloDeleteMessage_pb2.DeleteMessagePayload: ... + @property + def supplement(self) -> instamadilloSupplementMessage.InstamadilloSupplementMessage_pb2.SupplementMessagePayload: ... + @property + def franking(self) -> global___Franking: ... + def __init__( + self, + *, + add: instamadilloAddMessage.InstamadilloAddMessage_pb2.AddMessagePayload | None = ..., + delete: instamadilloDeleteMessage.InstamadilloDeleteMessage_pb2.DeleteMessagePayload | None = ..., + supplement: instamadilloSupplementMessage.InstamadilloSupplementMessage_pb2.SupplementMessagePayload | None = ..., + franking: global___Franking | None = ..., + openEb: builtins.bool | None = ..., + isE2EeAttributed: builtins.bool | None = ..., + payloadCreator: global___PayloadCreator.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["add", b"add", "delete", b"delete", "franking", b"franking", "isE2EeAttributed", b"isE2EeAttributed", "openEb", b"openEb", "payloadCreator", b"payloadCreator", "supplement", b"supplement", "transportPayload", b"transportPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["add", b"add", "delete", b"delete", "franking", b"franking", "isE2EeAttributed", b"isE2EeAttributed", "openEb", b"openEb", "payloadCreator", b"payloadCreator", "supplement", b"supplement", "transportPayload", b"transportPayload"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["transportPayload", b"transportPayload"]) -> typing.Literal["add", "delete", "supplement"] | None: ... + +global___TransportPayload = TransportPayload + +@typing.final +class Franking(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FRANKINGKEY_FIELD_NUMBER: builtins.int + FRANKINGVERSION_FIELD_NUMBER: builtins.int + frankingKey: builtins.bytes + frankingVersion: builtins.int + def __init__( + self, + *, + frankingKey: builtins.bytes | None = ..., + frankingVersion: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["frankingKey", b"frankingKey", "frankingVersion", b"frankingVersion"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["frankingKey", b"frankingKey", "frankingVersion", b"frankingVersion"]) -> None: ... + +global___Franking = Franking diff --git a/neonize/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef_pb2.py b/neonize/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef_pb2.py new file mode 100644 index 00000000..c3187ca1 --- /dev/null +++ b/neonize/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef_pb2.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: instamadilloXmaContentRef/InstamadilloXmaContentRef.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'instamadilloXmaContentRef/InstamadilloXmaContentRef.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9instamadilloXmaContentRef/InstamadilloXmaContentRef.proto\x12\x19InstamadilloXmaContentRef\"\x9c\x02\n\rXmaContentRef\x12<\n\nactionType\x18\x01 \x01(\x0e\x32(.InstamadilloXmaContentRef.XmaActionType\x12H\n\x0b\x63ontentType\x18\x02 \x01(\x0e\x32\x33.InstamadilloXmaContentRef.ReceiverFetchContentType\x12\x11\n\ttargetURL\x18\x03 \x01(\t\x12\x10\n\x08userName\x18\x04 \x01(\t\x12\x11\n\townerFbid\x18\x05 \x01(\t\x12K\n\x0b\x66\x65tchParams\x18\x06 \x01(\x0b\x32\x36.InstamadilloXmaContentRef.ReceiverFetchXmaFetchParams\"\xc1\x08\n\x1bReceiverFetchXmaFetchParams\x12U\n\x0fnoteFetchParams\x18\x01 \x01(\x0b\x32:.InstamadilloXmaContentRef.ReceiverFetchXmaNoteFetchParamsH\x00\x12W\n\x10storyFetchParams\x18\x02 \x01(\x0b\x32;.InstamadilloXmaContentRef.ReceiverFetchXmaStoryFetchParamsH\x00\x12[\n\x12profileFetchParams\x18\x03 \x01(\x0b\x32=.InstamadilloXmaContentRef.ReceiverFetchXmaProfileFetchParamsH\x00\x12U\n\x0f\x63lipFetchParams\x18\x04 \x01(\x0b\x32:.InstamadilloXmaContentRef.ReceiverFetchXmaClipFetchParamsH\x00\x12U\n\x0f\x66\x65\x65\x64\x46\x65tchParams\x18\x05 \x01(\x0b\x32:.InstamadilloXmaContentRef.ReceiverFetchXmaFeedFetchParamsH\x00\x12U\n\x0fliveFetchParams\x18\x06 \x01(\x0b\x32:.InstamadilloXmaContentRef.ReceiverFetchXmaLiveFetchParamsH\x00\x12[\n\x12\x63ommentFetchParams\x18\x07 \x01(\x0b\x32=.InstamadilloXmaContentRef.ReceiverFetchXmaCommentFetchParamsH\x00\x12g\n\x18locationShareFetchParams\x18\x08 \x01(\x0b\x32\x43.InstamadilloXmaContentRef.ReceiverFetchXmaLocationShareFetchParamsH\x00\x12\x61\n\x15reelsAudioFetchParams\x18\t \x01(\x0b\x32@.InstamadilloXmaContentRef.ReceiverFetchXmaReelsAudioFetchParamsH\x00\x12_\n\x14mediaNoteFetchParams\x18\n \x01(\x0b\x32?.InstamadilloXmaContentRef.ReceiverFetchXmaMediaNoteFetchParamsH\x00\x12g\n\x18socialContextFetchParams\x18\x0b \x01(\x0b\x32\x43.InstamadilloXmaContentRef.ReceiverFetchXmaSocialContextFetchParamsH\x00\x42\x1d\n\x1breceiverFetchXmaFetchParams\"3\n\x1fReceiverFetchXmaNoteFetchParams\x12\x10\n\x08noteIgid\x18\x01 \x01(\t\"E\n ReceiverFetchXmaStoryFetchParams\x12\x11\n\tstoryIgid\x18\x01 \x01(\t\x12\x0e\n\x06reelID\x18\x02 \x01(\t\"9\n\"ReceiverFetchXmaProfileFetchParams\x12\x13\n\x0bprofileIgid\x18\x01 \x01(\t\"4\n\x1fReceiverFetchXmaClipFetchParams\x12\x11\n\tmediaIgid\x18\x01 \x01(\t\"Y\n\x1fReceiverFetchXmaFeedFetchParams\x12\x11\n\tmediaIgid\x18\x01 \x01(\t\x12#\n\x1b\x63\x61rouselShareChildMediaIgid\x18\x02 \x01(\t\"3\n\x1fReceiverFetchXmaLiveFetchParams\x12\x10\n\x08liveIgid\x18\x01 \x01(\t\"9\n\"ReceiverFetchXmaCommentFetchParams\x12\x13\n\x0b\x63ommentFbid\x18\x01 \x01(\t\"@\n(ReceiverFetchXmaLocationShareFetchParams\x12\x14\n\x0clocationIgid\x18\x01 \x01(\t\":\n%ReceiverFetchXmaReelsAudioFetchParams\x12\x11\n\taudioIgid\x18\x01 \x01(\t\"\x8e\x01\n$ReceiverFetchXmaMediaNoteFetchParams\x12\x15\n\rmediaNoteIgid\x18\x01 \x01(\t\x12O\n\x0bmessageType\x18\x02 \x01(\x0e\x32:.InstamadilloXmaContentRef.MediaNoteFetchParamsMessageType\"=\n(ReceiverFetchXmaSocialContextFetchParams\x12\x11\n\tmediaIgid\x18\x01 \x01(\t*\x9e\x01\n\rXmaActionType\x12\x1f\n\x1bXMA_ACTION_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15XMA_ACTION_TYPE_SHARE\x10\x01\x12\x19\n\x15XMA_ACTION_TYPE_REPLY\x10\x02\x12\x19\n\x15XMA_ACTION_TYPE_REACT\x10\x03\x12\x1b\n\x17XMA_ACTION_TYPE_MENTION\x10\x04*\xc2\x04\n\x18ReceiverFetchContentType\x12+\n\'RECEIVER_FETCH_CONTENT_TYPE_UNSPECIFIED\x10\x00\x12$\n RECEIVER_FETCH_CONTENT_TYPE_NOTE\x10\x01\x12%\n!RECEIVER_FETCH_CONTENT_TYPE_STORY\x10\x02\x12\'\n#RECEIVER_FETCH_CONTENT_TYPE_PROFILE\x10\x03\x12$\n RECEIVER_FETCH_CONTENT_TYPE_CLIP\x10\x04\x12$\n RECEIVER_FETCH_CONTENT_TYPE_FEED\x10\x05\x12$\n RECEIVER_FETCH_CONTENT_TYPE_LIVE\x10\x06\x12\'\n#RECEIVER_FETCH_CONTENT_TYPE_COMMENT\x10\x07\x12.\n*RECEIVER_FETCH_CONTENT_TYPE_LOCATION_SHARE\x10\x08\x12+\n\'RECEIVER_FETCH_CONTENT_TYPE_REELS_AUDIO\x10\t\x12*\n&RECEIVER_FETCH_CONTENT_TYPE_MEDIA_NOTE\x10\n\x12/\n+RECEIVER_FETCH_CONTENT_TYPE_STORY_HIGHLIGHT\x10\x0b\x12.\n*RECEIVER_FETCH_CONTENT_TYPE_SOCIAL_CONTEXT\x10\x0c*\xb9\x01\n\x1fMediaNoteFetchParamsMessageType\x12\x34\n0MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_UNSPECIFIED\x10\x00\x12\x30\n,MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_MENTION\x10\x01\x12.\n*MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_REPLY\x10\x02\x42\x35Z3go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'instamadilloXmaContentRef.InstamadilloXmaContentRef_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z3go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef' + _globals['_XMAACTIONTYPE']._serialized_start=2242 + _globals['_XMAACTIONTYPE']._serialized_end=2400 + _globals['_RECEIVERFETCHCONTENTTYPE']._serialized_start=2403 + _globals['_RECEIVERFETCHCONTENTTYPE']._serialized_end=2981 + _globals['_MEDIANOTEFETCHPARAMSMESSAGETYPE']._serialized_start=2984 + _globals['_MEDIANOTEFETCHPARAMSMESSAGETYPE']._serialized_end=3169 + _globals['_XMACONTENTREF']._serialized_start=89 + _globals['_XMACONTENTREF']._serialized_end=373 + _globals['_RECEIVERFETCHXMAFETCHPARAMS']._serialized_start=376 + _globals['_RECEIVERFETCHXMAFETCHPARAMS']._serialized_end=1465 + _globals['_RECEIVERFETCHXMANOTEFETCHPARAMS']._serialized_start=1467 + _globals['_RECEIVERFETCHXMANOTEFETCHPARAMS']._serialized_end=1518 + _globals['_RECEIVERFETCHXMASTORYFETCHPARAMS']._serialized_start=1520 + _globals['_RECEIVERFETCHXMASTORYFETCHPARAMS']._serialized_end=1589 + _globals['_RECEIVERFETCHXMAPROFILEFETCHPARAMS']._serialized_start=1591 + _globals['_RECEIVERFETCHXMAPROFILEFETCHPARAMS']._serialized_end=1648 + _globals['_RECEIVERFETCHXMACLIPFETCHPARAMS']._serialized_start=1650 + _globals['_RECEIVERFETCHXMACLIPFETCHPARAMS']._serialized_end=1702 + _globals['_RECEIVERFETCHXMAFEEDFETCHPARAMS']._serialized_start=1704 + _globals['_RECEIVERFETCHXMAFEEDFETCHPARAMS']._serialized_end=1793 + _globals['_RECEIVERFETCHXMALIVEFETCHPARAMS']._serialized_start=1795 + _globals['_RECEIVERFETCHXMALIVEFETCHPARAMS']._serialized_end=1846 + _globals['_RECEIVERFETCHXMACOMMENTFETCHPARAMS']._serialized_start=1848 + _globals['_RECEIVERFETCHXMACOMMENTFETCHPARAMS']._serialized_end=1905 + _globals['_RECEIVERFETCHXMALOCATIONSHAREFETCHPARAMS']._serialized_start=1907 + _globals['_RECEIVERFETCHXMALOCATIONSHAREFETCHPARAMS']._serialized_end=1971 + _globals['_RECEIVERFETCHXMAREELSAUDIOFETCHPARAMS']._serialized_start=1973 + _globals['_RECEIVERFETCHXMAREELSAUDIOFETCHPARAMS']._serialized_end=2031 + _globals['_RECEIVERFETCHXMAMEDIANOTEFETCHPARAMS']._serialized_start=2034 + _globals['_RECEIVERFETCHXMAMEDIANOTEFETCHPARAMS']._serialized_end=2176 + _globals['_RECEIVERFETCHXMASOCIALCONTEXTFETCHPARAMS']._serialized_start=2178 + _globals['_RECEIVERFETCHXMASOCIALCONTEXTFETCHPARAMS']._serialized_end=2239 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef_pb2.pyi b/neonize/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef_pb2.pyi new file mode 100644 index 00000000..7c8bee8f --- /dev/null +++ b/neonize/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef_pb2.pyi @@ -0,0 +1,368 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _XmaActionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _XmaActionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_XmaActionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + XMA_ACTION_TYPE_UNSPECIFIED: _XmaActionType.ValueType # 0 + XMA_ACTION_TYPE_SHARE: _XmaActionType.ValueType # 1 + XMA_ACTION_TYPE_REPLY: _XmaActionType.ValueType # 2 + XMA_ACTION_TYPE_REACT: _XmaActionType.ValueType # 3 + XMA_ACTION_TYPE_MENTION: _XmaActionType.ValueType # 4 + +class XmaActionType(_XmaActionType, metaclass=_XmaActionTypeEnumTypeWrapper): ... + +XMA_ACTION_TYPE_UNSPECIFIED: XmaActionType.ValueType # 0 +XMA_ACTION_TYPE_SHARE: XmaActionType.ValueType # 1 +XMA_ACTION_TYPE_REPLY: XmaActionType.ValueType # 2 +XMA_ACTION_TYPE_REACT: XmaActionType.ValueType # 3 +XMA_ACTION_TYPE_MENTION: XmaActionType.ValueType # 4 +global___XmaActionType = XmaActionType + +class _ReceiverFetchContentType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _ReceiverFetchContentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ReceiverFetchContentType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + RECEIVER_FETCH_CONTENT_TYPE_UNSPECIFIED: _ReceiverFetchContentType.ValueType # 0 + RECEIVER_FETCH_CONTENT_TYPE_NOTE: _ReceiverFetchContentType.ValueType # 1 + RECEIVER_FETCH_CONTENT_TYPE_STORY: _ReceiverFetchContentType.ValueType # 2 + RECEIVER_FETCH_CONTENT_TYPE_PROFILE: _ReceiverFetchContentType.ValueType # 3 + RECEIVER_FETCH_CONTENT_TYPE_CLIP: _ReceiverFetchContentType.ValueType # 4 + RECEIVER_FETCH_CONTENT_TYPE_FEED: _ReceiverFetchContentType.ValueType # 5 + RECEIVER_FETCH_CONTENT_TYPE_LIVE: _ReceiverFetchContentType.ValueType # 6 + RECEIVER_FETCH_CONTENT_TYPE_COMMENT: _ReceiverFetchContentType.ValueType # 7 + RECEIVER_FETCH_CONTENT_TYPE_LOCATION_SHARE: _ReceiverFetchContentType.ValueType # 8 + RECEIVER_FETCH_CONTENT_TYPE_REELS_AUDIO: _ReceiverFetchContentType.ValueType # 9 + RECEIVER_FETCH_CONTENT_TYPE_MEDIA_NOTE: _ReceiverFetchContentType.ValueType # 10 + RECEIVER_FETCH_CONTENT_TYPE_STORY_HIGHLIGHT: _ReceiverFetchContentType.ValueType # 11 + RECEIVER_FETCH_CONTENT_TYPE_SOCIAL_CONTEXT: _ReceiverFetchContentType.ValueType # 12 + +class ReceiverFetchContentType(_ReceiverFetchContentType, metaclass=_ReceiverFetchContentTypeEnumTypeWrapper): ... + +RECEIVER_FETCH_CONTENT_TYPE_UNSPECIFIED: ReceiverFetchContentType.ValueType # 0 +RECEIVER_FETCH_CONTENT_TYPE_NOTE: ReceiverFetchContentType.ValueType # 1 +RECEIVER_FETCH_CONTENT_TYPE_STORY: ReceiverFetchContentType.ValueType # 2 +RECEIVER_FETCH_CONTENT_TYPE_PROFILE: ReceiverFetchContentType.ValueType # 3 +RECEIVER_FETCH_CONTENT_TYPE_CLIP: ReceiverFetchContentType.ValueType # 4 +RECEIVER_FETCH_CONTENT_TYPE_FEED: ReceiverFetchContentType.ValueType # 5 +RECEIVER_FETCH_CONTENT_TYPE_LIVE: ReceiverFetchContentType.ValueType # 6 +RECEIVER_FETCH_CONTENT_TYPE_COMMENT: ReceiverFetchContentType.ValueType # 7 +RECEIVER_FETCH_CONTENT_TYPE_LOCATION_SHARE: ReceiverFetchContentType.ValueType # 8 +RECEIVER_FETCH_CONTENT_TYPE_REELS_AUDIO: ReceiverFetchContentType.ValueType # 9 +RECEIVER_FETCH_CONTENT_TYPE_MEDIA_NOTE: ReceiverFetchContentType.ValueType # 10 +RECEIVER_FETCH_CONTENT_TYPE_STORY_HIGHLIGHT: ReceiverFetchContentType.ValueType # 11 +RECEIVER_FETCH_CONTENT_TYPE_SOCIAL_CONTEXT: ReceiverFetchContentType.ValueType # 12 +global___ReceiverFetchContentType = ReceiverFetchContentType + +class _MediaNoteFetchParamsMessageType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _MediaNoteFetchParamsMessageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MediaNoteFetchParamsMessageType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_UNSPECIFIED: _MediaNoteFetchParamsMessageType.ValueType # 0 + MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_MENTION: _MediaNoteFetchParamsMessageType.ValueType # 1 + MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_REPLY: _MediaNoteFetchParamsMessageType.ValueType # 2 + +class MediaNoteFetchParamsMessageType(_MediaNoteFetchParamsMessageType, metaclass=_MediaNoteFetchParamsMessageTypeEnumTypeWrapper): ... + +MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_UNSPECIFIED: MediaNoteFetchParamsMessageType.ValueType # 0 +MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_MENTION: MediaNoteFetchParamsMessageType.ValueType # 1 +MEDIA_NOTE_FETCH_PARAMS_MESSAGE_TYPE_REPLY: MediaNoteFetchParamsMessageType.ValueType # 2 +global___MediaNoteFetchParamsMessageType = MediaNoteFetchParamsMessageType + +@typing.final +class XmaContentRef(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ACTIONTYPE_FIELD_NUMBER: builtins.int + CONTENTTYPE_FIELD_NUMBER: builtins.int + TARGETURL_FIELD_NUMBER: builtins.int + USERNAME_FIELD_NUMBER: builtins.int + OWNERFBID_FIELD_NUMBER: builtins.int + FETCHPARAMS_FIELD_NUMBER: builtins.int + actionType: global___XmaActionType.ValueType + contentType: global___ReceiverFetchContentType.ValueType + targetURL: builtins.str + userName: builtins.str + ownerFbid: builtins.str + @property + def fetchParams(self) -> global___ReceiverFetchXmaFetchParams: ... + def __init__( + self, + *, + actionType: global___XmaActionType.ValueType | None = ..., + contentType: global___ReceiverFetchContentType.ValueType | None = ..., + targetURL: builtins.str | None = ..., + userName: builtins.str | None = ..., + ownerFbid: builtins.str | None = ..., + fetchParams: global___ReceiverFetchXmaFetchParams | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionType", b"actionType", "contentType", b"contentType", "fetchParams", b"fetchParams", "ownerFbid", b"ownerFbid", "targetURL", b"targetURL", "userName", b"userName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionType", b"actionType", "contentType", b"contentType", "fetchParams", b"fetchParams", "ownerFbid", b"ownerFbid", "targetURL", b"targetURL", "userName", b"userName"]) -> None: ... + +global___XmaContentRef = XmaContentRef + +@typing.final +class ReceiverFetchXmaFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NOTEFETCHPARAMS_FIELD_NUMBER: builtins.int + STORYFETCHPARAMS_FIELD_NUMBER: builtins.int + PROFILEFETCHPARAMS_FIELD_NUMBER: builtins.int + CLIPFETCHPARAMS_FIELD_NUMBER: builtins.int + FEEDFETCHPARAMS_FIELD_NUMBER: builtins.int + LIVEFETCHPARAMS_FIELD_NUMBER: builtins.int + COMMENTFETCHPARAMS_FIELD_NUMBER: builtins.int + LOCATIONSHAREFETCHPARAMS_FIELD_NUMBER: builtins.int + REELSAUDIOFETCHPARAMS_FIELD_NUMBER: builtins.int + MEDIANOTEFETCHPARAMS_FIELD_NUMBER: builtins.int + SOCIALCONTEXTFETCHPARAMS_FIELD_NUMBER: builtins.int + @property + def noteFetchParams(self) -> global___ReceiverFetchXmaNoteFetchParams: ... + @property + def storyFetchParams(self) -> global___ReceiverFetchXmaStoryFetchParams: ... + @property + def profileFetchParams(self) -> global___ReceiverFetchXmaProfileFetchParams: ... + @property + def clipFetchParams(self) -> global___ReceiverFetchXmaClipFetchParams: ... + @property + def feedFetchParams(self) -> global___ReceiverFetchXmaFeedFetchParams: ... + @property + def liveFetchParams(self) -> global___ReceiverFetchXmaLiveFetchParams: ... + @property + def commentFetchParams(self) -> global___ReceiverFetchXmaCommentFetchParams: ... + @property + def locationShareFetchParams(self) -> global___ReceiverFetchXmaLocationShareFetchParams: ... + @property + def reelsAudioFetchParams(self) -> global___ReceiverFetchXmaReelsAudioFetchParams: ... + @property + def mediaNoteFetchParams(self) -> global___ReceiverFetchXmaMediaNoteFetchParams: ... + @property + def socialContextFetchParams(self) -> global___ReceiverFetchXmaSocialContextFetchParams: ... + def __init__( + self, + *, + noteFetchParams: global___ReceiverFetchXmaNoteFetchParams | None = ..., + storyFetchParams: global___ReceiverFetchXmaStoryFetchParams | None = ..., + profileFetchParams: global___ReceiverFetchXmaProfileFetchParams | None = ..., + clipFetchParams: global___ReceiverFetchXmaClipFetchParams | None = ..., + feedFetchParams: global___ReceiverFetchXmaFeedFetchParams | None = ..., + liveFetchParams: global___ReceiverFetchXmaLiveFetchParams | None = ..., + commentFetchParams: global___ReceiverFetchXmaCommentFetchParams | None = ..., + locationShareFetchParams: global___ReceiverFetchXmaLocationShareFetchParams | None = ..., + reelsAudioFetchParams: global___ReceiverFetchXmaReelsAudioFetchParams | None = ..., + mediaNoteFetchParams: global___ReceiverFetchXmaMediaNoteFetchParams | None = ..., + socialContextFetchParams: global___ReceiverFetchXmaSocialContextFetchParams | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["clipFetchParams", b"clipFetchParams", "commentFetchParams", b"commentFetchParams", "feedFetchParams", b"feedFetchParams", "liveFetchParams", b"liveFetchParams", "locationShareFetchParams", b"locationShareFetchParams", "mediaNoteFetchParams", b"mediaNoteFetchParams", "noteFetchParams", b"noteFetchParams", "profileFetchParams", b"profileFetchParams", "receiverFetchXmaFetchParams", b"receiverFetchXmaFetchParams", "reelsAudioFetchParams", b"reelsAudioFetchParams", "socialContextFetchParams", b"socialContextFetchParams", "storyFetchParams", b"storyFetchParams"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clipFetchParams", b"clipFetchParams", "commentFetchParams", b"commentFetchParams", "feedFetchParams", b"feedFetchParams", "liveFetchParams", b"liveFetchParams", "locationShareFetchParams", b"locationShareFetchParams", "mediaNoteFetchParams", b"mediaNoteFetchParams", "noteFetchParams", b"noteFetchParams", "profileFetchParams", b"profileFetchParams", "receiverFetchXmaFetchParams", b"receiverFetchXmaFetchParams", "reelsAudioFetchParams", b"reelsAudioFetchParams", "socialContextFetchParams", b"socialContextFetchParams", "storyFetchParams", b"storyFetchParams"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["receiverFetchXmaFetchParams", b"receiverFetchXmaFetchParams"]) -> typing.Literal["noteFetchParams", "storyFetchParams", "profileFetchParams", "clipFetchParams", "feedFetchParams", "liveFetchParams", "commentFetchParams", "locationShareFetchParams", "reelsAudioFetchParams", "mediaNoteFetchParams", "socialContextFetchParams"] | None: ... + +global___ReceiverFetchXmaFetchParams = ReceiverFetchXmaFetchParams + +@typing.final +class ReceiverFetchXmaNoteFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NOTEIGID_FIELD_NUMBER: builtins.int + noteIgid: builtins.str + def __init__( + self, + *, + noteIgid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["noteIgid", b"noteIgid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["noteIgid", b"noteIgid"]) -> None: ... + +global___ReceiverFetchXmaNoteFetchParams = ReceiverFetchXmaNoteFetchParams + +@typing.final +class ReceiverFetchXmaStoryFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STORYIGID_FIELD_NUMBER: builtins.int + REELID_FIELD_NUMBER: builtins.int + storyIgid: builtins.str + reelID: builtins.str + def __init__( + self, + *, + storyIgid: builtins.str | None = ..., + reelID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["reelID", b"reelID", "storyIgid", b"storyIgid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["reelID", b"reelID", "storyIgid", b"storyIgid"]) -> None: ... + +global___ReceiverFetchXmaStoryFetchParams = ReceiverFetchXmaStoryFetchParams + +@typing.final +class ReceiverFetchXmaProfileFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PROFILEIGID_FIELD_NUMBER: builtins.int + profileIgid: builtins.str + def __init__( + self, + *, + profileIgid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["profileIgid", b"profileIgid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["profileIgid", b"profileIgid"]) -> None: ... + +global___ReceiverFetchXmaProfileFetchParams = ReceiverFetchXmaProfileFetchParams + +@typing.final +class ReceiverFetchXmaClipFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIAIGID_FIELD_NUMBER: builtins.int + mediaIgid: builtins.str + def __init__( + self, + *, + mediaIgid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["mediaIgid", b"mediaIgid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mediaIgid", b"mediaIgid"]) -> None: ... + +global___ReceiverFetchXmaClipFetchParams = ReceiverFetchXmaClipFetchParams + +@typing.final +class ReceiverFetchXmaFeedFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIAIGID_FIELD_NUMBER: builtins.int + CAROUSELSHARECHILDMEDIAIGID_FIELD_NUMBER: builtins.int + mediaIgid: builtins.str + carouselShareChildMediaIgid: builtins.str + def __init__( + self, + *, + mediaIgid: builtins.str | None = ..., + carouselShareChildMediaIgid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["carouselShareChildMediaIgid", b"carouselShareChildMediaIgid", "mediaIgid", b"mediaIgid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["carouselShareChildMediaIgid", b"carouselShareChildMediaIgid", "mediaIgid", b"mediaIgid"]) -> None: ... + +global___ReceiverFetchXmaFeedFetchParams = ReceiverFetchXmaFeedFetchParams + +@typing.final +class ReceiverFetchXmaLiveFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LIVEIGID_FIELD_NUMBER: builtins.int + liveIgid: builtins.str + def __init__( + self, + *, + liveIgid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["liveIgid", b"liveIgid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["liveIgid", b"liveIgid"]) -> None: ... + +global___ReceiverFetchXmaLiveFetchParams = ReceiverFetchXmaLiveFetchParams + +@typing.final +class ReceiverFetchXmaCommentFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COMMENTFBID_FIELD_NUMBER: builtins.int + commentFbid: builtins.str + def __init__( + self, + *, + commentFbid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["commentFbid", b"commentFbid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["commentFbid", b"commentFbid"]) -> None: ... + +global___ReceiverFetchXmaCommentFetchParams = ReceiverFetchXmaCommentFetchParams + +@typing.final +class ReceiverFetchXmaLocationShareFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCATIONIGID_FIELD_NUMBER: builtins.int + locationIgid: builtins.str + def __init__( + self, + *, + locationIgid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["locationIgid", b"locationIgid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["locationIgid", b"locationIgid"]) -> None: ... + +global___ReceiverFetchXmaLocationShareFetchParams = ReceiverFetchXmaLocationShareFetchParams + +@typing.final +class ReceiverFetchXmaReelsAudioFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AUDIOIGID_FIELD_NUMBER: builtins.int + audioIgid: builtins.str + def __init__( + self, + *, + audioIgid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["audioIgid", b"audioIgid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audioIgid", b"audioIgid"]) -> None: ... + +global___ReceiverFetchXmaReelsAudioFetchParams = ReceiverFetchXmaReelsAudioFetchParams + +@typing.final +class ReceiverFetchXmaMediaNoteFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIANOTEIGID_FIELD_NUMBER: builtins.int + MESSAGETYPE_FIELD_NUMBER: builtins.int + mediaNoteIgid: builtins.str + messageType: global___MediaNoteFetchParamsMessageType.ValueType + def __init__( + self, + *, + mediaNoteIgid: builtins.str | None = ..., + messageType: global___MediaNoteFetchParamsMessageType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["mediaNoteIgid", b"mediaNoteIgid", "messageType", b"messageType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mediaNoteIgid", b"mediaNoteIgid", "messageType", b"messageType"]) -> None: ... + +global___ReceiverFetchXmaMediaNoteFetchParams = ReceiverFetchXmaMediaNoteFetchParams + +@typing.final +class ReceiverFetchXmaSocialContextFetchParams(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIAIGID_FIELD_NUMBER: builtins.int + mediaIgid: builtins.str + def __init__( + self, + *, + mediaIgid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["mediaIgid", b"mediaIgid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mediaIgid", b"mediaIgid"]) -> None: ... + +global___ReceiverFetchXmaSocialContextFetchParams = ReceiverFetchXmaSocialContextFetchParams diff --git a/neonize/proto/waAICommon/WAAICommon_pb2.py b/neonize/proto/waAICommon/WAAICommon_pb2.py new file mode 100644 index 00000000..f3607a10 --- /dev/null +++ b/neonize/proto/waAICommon/WAAICommon_pb2.py @@ -0,0 +1,240 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waAICommon/WAAICommon.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waAICommon/WAAICommon.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bwaAICommon/WAAICommon.proto\x12\nWAAICommon\x1a\x17waCommon/WACommon.proto\"\xf9\x04\n\x11\x42otPluginMetadata\x12>\n\x08provider\x18\x01 \x01(\x0e\x32,.WAAICommon.BotPluginMetadata.SearchProvider\x12<\n\npluginType\x18\x02 \x01(\x0e\x32(.WAAICommon.BotPluginMetadata.PluginType\x12\x17\n\x0fthumbnailCDNURL\x18\x03 \x01(\t\x12\x1a\n\x12profilePhotoCDNURL\x18\x04 \x01(\t\x12\x19\n\x11searchProviderURL\x18\x05 \x01(\t\x12\x16\n\x0ereferenceIndex\x18\x06 \x01(\r\x12\x1a\n\x12\x65xpectedLinksCount\x18\x07 \x01(\r\x12\x13\n\x0bsearchQuery\x18\t \x01(\t\x12\x34\n\x16parentPluginMessageKey\x18\n \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x41\n\x0f\x64\x65precatedField\x18\x0b \x01(\x0e\x32(.WAAICommon.BotPluginMetadata.PluginType\x12\x42\n\x10parentPluginType\x18\x0c \x01(\x0e\x32(.WAAICommon.BotPluginMetadata.PluginType\x12\x15\n\rfaviconCDNURL\x18\r \x01(\t\"7\n\nPluginType\x12\x12\n\x0eUNKNOWN_PLUGIN\x10\x00\x12\t\n\x05REELS\x10\x01\x12\n\n\x06SEARCH\x10\x02\"@\n\x0eSearchProvider\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x42ING\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x0b\n\x07SUPPORT\x10\x03\"\x8b\x01\n\x10\x42otLinkedAccount\x12?\n\x04type\x18\x01 \x01(\x0e\x32\x31.WAAICommon.BotLinkedAccount.BotLinkedAccountType\"6\n\x14\x42otLinkedAccountType\x12\x1e\n\x1a\x42OT_LINKED_ACCOUNT_TYPE_1P\x10\x00\"\xf3\x01\n$BotSignatureVerificationUseCaseProof\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12U\n\x07useCase\x18\x02 \x01(\x0e\x32\x44.WAAICommon.BotSignatureVerificationUseCaseProof.BotSignatureUseCase\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x18\n\x10\x63\x65rtificateChain\x18\x04 \x03(\x0c\"6\n\x13\x42otSignatureUseCase\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nWA_BOT_MSG\x10\x01\"\xc7\x01\n\x1b\x42otPromotionMessageMetadata\x12O\n\rpromotionType\x18\x01 \x01(\x0e\x32\x38.WAAICommon.BotPromotionMessageMetadata.BotPromotionType\x12\x13\n\x0b\x62uttonTitle\x18\x02 \x01(\t\"B\n\x10\x42otPromotionType\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\x07\n\x03\x43\x35\x30\x10\x01\x12\x13\n\x0fSURVEY_PLATFORM\x10\x02\"\x8b\x02\n\x10\x42otMediaMetadata\x12\x12\n\nfileSHA256\x18\x01 \x01(\t\x12\x10\n\x08mediaKey\x18\x02 \x01(\t\x12\x15\n\rfileEncSHA256\x18\x03 \x01(\t\x12\x12\n\ndirectPath\x18\x04 \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x05 \x01(\x03\x12\x10\n\x08mimetype\x18\x06 \x01(\t\x12\x45\n\x0forientationType\x18\x07 \x01(\x0e\x32,.WAAICommon.BotMediaMetadata.OrientationType\"2\n\x0fOrientationType\x12\n\n\x06\x43\x45NTER\x10\x01\x12\x08\n\x04LEFT\x10\x02\x12\t\n\x05RIGHT\x10\x03\"\x8b\x03\n\x13\x42otReminderMetadata\x12/\n\x11requestMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12>\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32..WAAICommon.BotReminderMetadata.ReminderAction\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x1c\n\x14nextTriggerTimestamp\x18\x04 \x01(\x04\x12\x44\n\tfrequency\x18\x05 \x01(\x0e\x32\x31.WAAICommon.BotReminderMetadata.ReminderFrequency\"O\n\x11ReminderFrequency\x12\x08\n\x04ONCE\x10\x01\x12\t\n\x05\x44\x41ILY\x10\x02\x12\n\n\x06WEEKLY\x10\x03\x12\x0c\n\x08\x42IWEEKLY\x10\x04\x12\x0b\n\x07MONTHLY\x10\x05\"@\n\x0eReminderAction\x12\n\n\x06NOTIFY\x10\x01\x12\n\n\x06\x43REATE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\x12\n\n\x06UPDATE\x10\x04\"\xb2\x02\n\x10\x42otModelMetadata\x12\x39\n\tmodelType\x18\x01 \x01(\x0e\x32&.WAAICommon.BotModelMetadata.ModelType\x12K\n\x12premiumModelStatus\x18\x02 \x01(\x0e\x32/.WAAICommon.BotModelMetadata.PremiumModelStatus\"O\n\x12PremiumModelStatus\x12\x12\n\x0eUNKNOWN_STATUS\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\x16\n\x12QUOTA_EXCEED_LIMIT\x10\x02\"E\n\tModelType\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\x0e\n\nLLAMA_PROD\x10\x01\x12\x16\n\x12LLAMA_PROD_PREMIUM\x10\x02\"\xbf\x0b\n\x1c\x42otProgressIndicatorMetadata\x12\x1b\n\x13progressDescription\x18\x01 \x01(\t\x12W\n\rstepsMetadata\x18\x02 \x03(\x0b\x32@.WAAICommon.BotProgressIndicatorMetadata.BotPlanningStepMetadata\x1a\xa8\n\n\x17\x42otPlanningStepMetadata\x12\x13\n\x0bstatusTitle\x18\x01 \x01(\t\x12\x12\n\nstatusBody\x18\x02 \x01(\t\x12z\n\x0fsourcesMetadata\x18\x03 \x03(\x0b\x32\x61.WAAICommon.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata\x12\x63\n\x06status\x18\x04 \x01(\x0e\x32S.WAAICommon.BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus\x12\x13\n\x0bisReasoning\x18\x05 \x01(\x08\x12\x18\n\x10isEnhancedSearch\x18\x06 \x01(\x08\x12q\n\x08sections\x18\x07 \x03(\x0b\x32_.WAAICommon.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata\x1a\xb2\x02\n BotPlanningSearchSourcesMetadata\x12\x13\n\x0bsourceTitle\x18\x01 \x01(\t\x12\x94\x01\n\x08provider\x18\x02 \x01(\x0e\x32\x81\x01.WAAICommon.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider\x12\x11\n\tsourceURL\x18\x03 \x01(\t\"O\n\x1f\x42otPlanningSearchSourceProvider\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05OTHER\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x08\n\x04\x42ING\x10\x03\x1a\xc6\x01\n\x1e\x42otPlanningStepSectionMetadata\x12\x14\n\x0csectionTitle\x18\x01 \x01(\t\x12\x13\n\x0bsectionBody\x18\x02 \x01(\t\x12y\n\x0fsourcesMetadata\x18\x03 \x03(\x0b\x32`.WAAICommon.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata\x1a\xc3\x01\n\x1f\x42otPlanningSearchSourceMetadata\x12\r\n\x05title\x18\x01 \x01(\t\x12j\n\x08provider\x18\x02 \x01(\x0e\x32X.WAAICommon.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider\x12\x11\n\tsourceURL\x18\x03 \x01(\t\x12\x12\n\nfavIconURL\x18\x04 \x01(\t\"P\n\x17\x42otSearchSourceProvider\x12\x14\n\x10UNKNOWN_PROVIDER\x10\x00\x12\t\n\x05OTHER\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x08\n\x04\x42ING\x10\x03\"K\n\x12PlanningStepStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PLANNED\x10\x01\x12\r\n\tEXECUTING\x10\x02\x12\x0c\n\x08\x46INISHED\x10\x03\"\xaf\x0c\n\x15\x42otCapabilityMetadata\x12I\n\x0c\x63\x61pabilities\x18\x01 \x03(\x0e\x32\x33.WAAICommon.BotCapabilityMetadata.BotCapabilityType\"\xca\x0b\n\x11\x42otCapabilityType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x16\n\x12PROGRESS_INDICATOR\x10\x01\x12\x19\n\x15RICH_RESPONSE_HEADING\x10\x02\x12\x1d\n\x19RICH_RESPONSE_NESTED_LIST\x10\x03\x12\r\n\tAI_MEMORY\x10\x04\x12 \n\x1cRICH_RESPONSE_THREAD_SURFING\x10\x05\x12\x17\n\x13RICH_RESPONSE_TABLE\x10\x06\x12\x16\n\x12RICH_RESPONSE_CODE\x10\x07\x12%\n!RICH_RESPONSE_STRUCTURED_RESPONSE\x10\x08\x12\x1e\n\x1aRICH_RESPONSE_INLINE_IMAGE\x10\t\x12#\n\x1fWA_IG_1P_PLUGIN_RANKING_CONTROL\x10\n\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_1\x10\x0b\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_2\x10\x0c\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_3\x10\r\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_4\x10\x0e\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_5\x10\x0f\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_6\x10\x10\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_7\x10\x11\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_8\x10\x12\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_9\x10\x13\x12%\n!WA_IG_1P_PLUGIN_RANKING_UPDATE_10\x10\x14\x12\x1d\n\x19RICH_RESPONSE_SUB_HEADING\x10\x15\x12\x1c\n\x18RICH_RESPONSE_GRID_IMAGE\x10\x16\x12\x18\n\x14\x41I_STUDIO_UGC_MEMORY\x10\x17\x12\x17\n\x13RICH_RESPONSE_LATEX\x10\x18\x12\x16\n\x12RICH_RESPONSE_MAPS\x10\x19\x12\x1e\n\x1aRICH_RESPONSE_INLINE_REELS\x10\x1a\x12\x14\n\x10\x41GENTIC_PLANNING\x10\x1b\x12\x13\n\x0f\x41\x43\x43OUNT_LINKING\x10\x1c\x12\x1c\n\x18STREAMING_DISAGGREGATION\x10\x1d\x12\x1f\n\x1bRICH_RESPONSE_GRID_IMAGE_3P\x10\x1e\x12\x1e\n\x1aRICH_RESPONSE_LATEX_INLINE\x10\x1f\x12\x0e\n\nQUERY_PLAN\x10 \x12\x15\n\x11PROACTIVE_MESSAGE\x10!\x12\"\n\x1eRICH_RESPONSE_UNIFIED_RESPONSE\x10\"\x12\x15\n\x11PROMOTION_MESSAGE\x10#\x12\x1b\n\x17SIMPLIFIED_PROFILE_PAGE\x10$\x12$\n RICH_RESPONSE_SOURCES_IN_MESSAGE\x10%\x12%\n!RICH_RESPONSE_SIDE_BY_SIDE_SURVEY\x10&\x12(\n$RICH_RESPONSE_UNIFIED_TEXT_COMPONENT\x10\'\x12\x14\n\x10\x41I_SHARED_MEMORY\x10(\x12!\n\x1dRICH_RESPONSE_UNIFIED_SOURCES\x10)\x12*\n&RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS\x10*\x12)\n%RICH_RESPONSE_UR_INLINE_REELS_ENABLED\x10+\x12\'\n#RICH_RESPONSE_UR_MEDIA_GRID_ENABLED\x10,\x12*\n&RICH_RESPONSE_UR_TIMESTAMP_PLACEHOLDER\x10-\"\xa1\x01\n\x18\x42otModeSelectionMetadata\x12G\n\x04mode\x18\x01 \x03(\x0e\x32\x39.WAAICommon.BotModeSelectionMetadata.BotUserSelectionMode\"<\n\x14\x42otUserSelectionMode\x12\x10\n\x0cUNKNOWN_MODE\x10\x00\x12\x12\n\x0eREASONING_MODE\x10\x01\"\xd2\x02\n\x10\x42otQuotaMetadata\x12U\n\x17\x62otFeatureQuotaMetadata\x18\x01 \x03(\x0b\x32\x34.WAAICommon.BotQuotaMetadata.BotFeatureQuotaMetadata\x1a\xe6\x01\n\x17\x42otFeatureQuotaMetadata\x12X\n\x0b\x66\x65\x61tureType\x18\x01 \x01(\x0e\x32\x43.WAAICommon.BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType\x12\x16\n\x0eremainingQuota\x18\x02 \x01(\r\x12\x1b\n\x13\x65xpirationTimestamp\x18\x03 \x01(\x04\"<\n\x0e\x42otFeatureType\x12\x13\n\x0fUNKNOWN_FEATURE\x10\x00\x12\x15\n\x11REASONING_FEATURE\x10\x01\"\x9d\x01\n\x12\x42otImagineMetadata\x12?\n\x0bimagineType\x18\x01 \x01(\x0e\x32*.WAAICommon.BotImagineMetadata.ImagineType\"F\n\x0bImagineType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07IMAGINE\x10\x01\x12\x08\n\x04MEMU\x10\x02\x12\t\n\x05\x46LASH\x10\x03\x12\x08\n\x04\x45\x44IT\x10\x04\"\xe9\x01\n\x18\x42otAgeCollectionMetadata\x12\x1d\n\x15\x61geCollectionEligible\x18\x01 \x01(\x08\x12*\n\"shouldTriggerAgeCollectionOnClient\x18\x02 \x01(\x08\x12Q\n\x11\x61geCollectionType\x18\x03 \x01(\x0e\x32\x36.WAAICommon.BotAgeCollectionMetadata.AgeCollectionType\"/\n\x11\x41geCollectionType\x12\x0e\n\nO18_BINARY\x10\x00\x12\n\n\x06WAFFLE\x10\x01\"\x8e\x03\n\x12\x42otSourcesMetadata\x12=\n\x07sources\x18\x01 \x03(\x0b\x32,.WAAICommon.BotSourcesMetadata.BotSourceItem\x1a\xb8\x02\n\rBotSourceItem\x12M\n\x08provider\x18\x01 \x01(\x0e\x32;.WAAICommon.BotSourcesMetadata.BotSourceItem.SourceProvider\x12\x17\n\x0fthumbnailCDNURL\x18\x02 \x01(\t\x12\x19\n\x11sourceProviderURL\x18\x03 \x01(\t\x12\x13\n\x0bsourceQuery\x18\x04 \x01(\t\x12\x15\n\rfaviconCDNURL\x18\x05 \x01(\t\x12\x16\n\x0e\x63itationNumber\x18\x06 \x01(\r\x12\x13\n\x0bsourceTitle\x18\x07 \x01(\t\"K\n\x0eSourceProvider\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x42ING\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x0b\n\x07SUPPORT\x10\x03\x12\t\n\x05OTHER\x10\x04\"\x95\x01\n\x10\x42otMessageOrigin\x12?\n\x04type\x18\x01 \x01(\x0e\x32\x31.WAAICommon.BotMessageOrigin.BotMessageOriginType\"@\n\x14\x42otMessageOriginType\x12(\n$BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED\x10\x00\"\xcd\x02\n\x0c\x41IThreadInfo\x12?\n\nserverInfo\x18\x01 \x01(\x0b\x32+.WAAICommon.AIThreadInfo.AIThreadServerInfo\x12?\n\nclientInfo\x18\x02 \x01(\x0b\x32+.WAAICommon.AIThreadInfo.AIThreadClientInfo\x1a\x95\x01\n\x12\x41IThreadClientInfo\x12\x46\n\x04type\x18\x01 \x01(\x0e\x32\x38.WAAICommon.AIThreadInfo.AIThreadClientInfo.AIThreadType\"7\n\x0c\x41IThreadType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\r\n\tINCOGNITO\x10\x02\x1a#\n\x12\x41IThreadServerInfo\x12\r\n\x05title\x18\x01 \x01(\t\"\x82\x0f\n\x12\x42otFeedbackMessage\x12(\n\nmessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12<\n\x04kind\x18\x02 \x01(\x0e\x32..WAAICommon.BotFeedbackMessage.BotFeedbackKind\x12\x0c\n\x04text\x18\x03 \x01(\t\x12\x14\n\x0ckindNegative\x18\x04 \x01(\x04\x12\x14\n\x0ckindPositive\x18\x05 \x01(\x04\x12=\n\nkindReport\x18\x06 \x01(\x0e\x32).WAAICommon.BotFeedbackMessage.ReportKind\x12Y\n\x18sideBySideSurveyMetadata\x18\x07 \x01(\x0b\x32\x37.WAAICommon.BotFeedbackMessage.SideBySideSurveyMetadata\x1a\x93\x03\n\x18SideBySideSurveyMetadata\x12\x19\n\x11selectedRequestID\x18\x01 \x01(\t\x12\x10\n\x08surveyID\x18\x02 \x01(\r\x12\x18\n\x10simonSessionFbid\x18\x03 \x01(\t\x12\x14\n\x0cresponseOtid\x18\x04 \x01(\t\x12!\n\x19responseTimestampMSString\x18\x05 \x01(\t\x12!\n\x19isSelectedResponsePrimary\x18\x06 \x01(\x08\x12\x17\n\x0fmessageIDToEdit\x18\x07 \x01(\t\x12l\n\ranalyticsData\x18\x08 \x01(\x0b\x32U.WAAICommon.BotFeedbackMessage.SideBySideSurveyMetadata.SideBySideSurveyAnalyticsData\x1aM\n\x1dSideBySideSurveyAnalyticsData\x12\x12\n\ntessaEvent\x18\x01 \x01(\t\x12\x18\n\x10tessaSessionFbid\x18\x02 \x01(\t\"#\n\nReportKind\x12\x08\n\x04NONE\x10\x00\x12\x0b\n\x07GENERIC\x10\x01\"M\n\x1f\x42otFeedbackKindMultiplePositive\x12*\n&BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC\x10\x01\"\xcb\x03\n\x1f\x42otFeedbackKindMultipleNegative\x12*\n&BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC\x10\x01\x12*\n&BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL\x10\x02\x12.\n*BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING\x10\x04\x12+\n\'BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE\x10\x08\x12\'\n#BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE\x10\x10\x12(\n$BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER\x10 \x12*\n&BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED\x10@\x12:\n5BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING\x10\x80\x01\x12\x38\n3BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT\x10\x80\x02\"\xd7\x04\n\x0f\x42otFeedbackKind\x12\x19\n\x15\x42OT_FEEDBACK_POSITIVE\x10\x00\x12!\n\x1d\x42OT_FEEDBACK_NEGATIVE_GENERIC\x10\x01\x12!\n\x1d\x42OT_FEEDBACK_NEGATIVE_HELPFUL\x10\x02\x12%\n!BOT_FEEDBACK_NEGATIVE_INTERESTING\x10\x03\x12\"\n\x1e\x42OT_FEEDBACK_NEGATIVE_ACCURATE\x10\x04\x12\x1e\n\x1a\x42OT_FEEDBACK_NEGATIVE_SAFE\x10\x05\x12\x1f\n\x1b\x42OT_FEEDBACK_NEGATIVE_OTHER\x10\x06\x12!\n\x1d\x42OT_FEEDBACK_NEGATIVE_REFUSED\x10\x07\x12\x30\n,BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING\x10\x08\x12.\n*BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT\x10\t\x12&\n\"BOT_FEEDBACK_NEGATIVE_PERSONALIZED\x10\n\x12!\n\x1d\x42OT_FEEDBACK_NEGATIVE_CLARITY\x10\x0b\x12\x35\n1BOT_FEEDBACK_NEGATIVE_DOESNT_LOOK_LIKE_THE_PERSON\x10\x0c\x12\x35\n1BOT_FEEDBACK_NEGATIVE_HALLUCINATION_INTERNAL_ONLY\x10\r\x12\x19\n\x15\x42OT_FEEDBACK_NEGATIVE\x10\x0e\"\x99\x03\n!AIRichResponseInlineImageMetadata\x12\x34\n\x08imageURL\x18\x01 \x01(\x0b\x32\".WAAICommon.AIRichResponseImageURL\x12\x11\n\timageText\x18\x02 \x01(\t\x12]\n\talignment\x18\x03 \x01(\x0e\x32J.WAAICommon.AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment\x12\x12\n\ntapLinkURL\x18\x04 \x01(\t\"\xb7\x01\n\x1c\x41IRichResponseImageAlignment\x12\x31\n-AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED\x10\x00\x12\x32\n.AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED\x10\x01\x12\x30\n,AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED\x10\x02\"\xc5\x04\n\x1a\x41IRichResponseCodeMetadata\x12\x14\n\x0c\x63odeLanguage\x18\x01 \x01(\t\x12R\n\ncodeBlocks\x18\x02 \x03(\x0b\x32>.WAAICommon.AIRichResponseCodeMetadata.AIRichResponseCodeBlock\x1a\x8d\x01\n\x17\x41IRichResponseCodeBlock\x12]\n\rhighlightType\x18\x01 \x01(\x0e\x32\x46.WAAICommon.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType\x12\x13\n\x0b\x63odeContent\x18\x02 \x01(\t\"\xac\x02\n\x1f\x41IRichResponseCodeHighlightType\x12+\n\'AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT\x10\x00\x12+\n\'AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD\x10\x01\x12*\n&AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD\x10\x02\x12*\n&AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING\x10\x03\x12*\n&AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER\x10\x04\x12+\n\'AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT\x10\x05\"\xe7\x02\n\x1d\x41IRichResponseDynamicMetadata\x12Y\n\x04type\x18\x01 \x01(\x0e\x32K.WAAICommon.AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType\x12\x0f\n\x07version\x18\x02 \x01(\x04\x12\x0b\n\x03URL\x18\x03 \x01(\t\x12\x11\n\tloopCount\x18\x04 \x01(\r\"\xb9\x01\n!AIRichResponseDynamicMetadataType\x12\x32\n.AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN\x10\x00\x12\x30\n,AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE\x10\x01\x12.\n*AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF\x10\x02\"\x8f\x04\n\"AIRichResponseContentItemsMetadata\x12g\n\ritemsMetadata\x18\x01 \x03(\x0b\x32P.WAAICommon.AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata\x12O\n\x0b\x63ontentType\x18\x02 \x01(\x0e\x32:.WAAICommon.AIRichResponseContentItemsMetadata.ContentType\x1a\x9b\x01\n!AIRichResponseContentItemMetadata\x12Y\n\x08reelItem\x18\x01 \x01(\x0b\x32\x45.WAAICommon.AIRichResponseContentItemsMetadata.AIRichResponseReelItemH\x00\x42\x1b\n\x19\x61IRichResponseContentItem\x1ag\n\x16\x41IRichResponseReelItem\x12\r\n\x05title\x18\x01 \x01(\t\x12\x16\n\x0eprofileIconURL\x18\x02 \x01(\t\x12\x14\n\x0cthumbnailURL\x18\x03 \x01(\t\x12\x10\n\x08videoURL\x18\x04 \x01(\t\"(\n\x0b\x43ontentType\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0c\n\x08\x43\x41ROUSEL\x10\x01\"s\n\x11\x42otAvatarMetadata\x12\x11\n\tsentiment\x18\x01 \x01(\r\x12\x15\n\rbehaviorGraph\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\r\x12\x11\n\tintensity\x18\x04 \x01(\r\x12\x11\n\twordCount\x18\x05 \x01(\r\"\xaa\x01\n\x1a\x42otSuggestedPromptMetadata\x12\x18\n\x10suggestedPrompts\x18\x01 \x03(\t\x12\x1b\n\x13selectedPromptIndex\x18\x02 \x01(\r\x12;\n\x11promptSuggestions\x18\x03 \x01(\x0b\x32 .WAAICommon.BotPromptSuggestions\x12\x18\n\x10selectedPromptID\x18\x04 \x01(\t\"L\n\x14\x42otPromptSuggestions\x12\x34\n\x0bsuggestions\x18\x01 \x03(\x0b\x32\x1f.WAAICommon.BotPromptSuggestion\"7\n\x13\x42otPromptSuggestion\x12\x0e\n\x06prompt\x18\x01 \x01(\t\x12\x10\n\x08promptID\x18\x02 \x01(\t\"v\n\x19\x42otLinkedAccountsMetadata\x12.\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1c.WAAICommon.BotLinkedAccount\x12\x14\n\x0c\x61\x63\x41uthTokens\x18\x02 \x01(\x0c\x12\x13\n\x0b\x61\x63\x45rrorCode\x18\x03 \x01(\x05\"\x87\x01\n\x11\x42otMemoryMetadata\x12-\n\naddedFacts\x18\x01 \x03(\x0b\x32\x19.WAAICommon.BotMemoryFact\x12/\n\x0cremovedFacts\x18\x02 \x03(\x0b\x32\x19.WAAICommon.BotMemoryFact\x12\x12\n\ndisclaimer\x18\x03 \x01(\t\"-\n\rBotMemoryFact\x12\x0c\n\x04\x66\x61\x63t\x18\x01 \x01(\t\x12\x0e\n\x06\x66\x61\x63tID\x18\x02 \x01(\t\"d\n BotSignatureVerificationMetadata\x12@\n\x06proofs\x18\x01 \x03(\x0b\x32\x30.WAAICommon.BotSignatureVerificationUseCaseProof\"\x87\x01\n\x14\x42otRenderingMetadata\x12:\n\x08keywords\x18\x01 \x03(\x0b\x32(.WAAICommon.BotRenderingMetadata.Keyword\x1a\x33\n\x07Keyword\x12\r\n\x05value\x18\x01 \x01(\t\x12\x19\n\x11\x61ssociatedPrompts\x18\x02 \x03(\t\"\xaa\x01\n\x12\x42otMetricsMetadata\x12\x15\n\rdestinationID\x18\x01 \x01(\t\x12?\n\x15\x64\x65stinationEntryPoint\x18\x02 \x01(\x0e\x32 .WAAICommon.BotMetricsEntryPoint\x12<\n\x0cthreadOrigin\x18\x03 \x01(\x0e\x32&.WAAICommon.BotMetricsThreadEntryPoint\"\\\n\x12\x42otSessionMetadata\x12\x11\n\tsessionID\x18\x01 \x01(\t\x12\x33\n\rsessionSource\x18\x02 \x01(\x0e\x32\x1c.WAAICommon.BotSessionSource\"C\n\x0f\x42otMemuMetadata\x12\x30\n\nfaceImages\x18\x01 \x03(\x0b\x32\x1c.WAAICommon.BotMediaMetadata\"\x81\x07\n\x16InThreadSurveyMetadata\x12\x16\n\x0etessaSessionID\x18\x01 \x01(\t\x12\x16\n\x0esimonSessionID\x18\x02 \x01(\t\x12\x15\n\rsimonSurveyID\x18\x03 \x01(\t\x12\x13\n\x0btessaRootID\x18\x04 \x01(\t\x12\x11\n\trequestID\x18\x05 \x01(\t\x12\x12\n\ntessaEvent\x18\x06 \x01(\t\x12\x1c\n\x14invitationHeaderText\x18\x07 \x01(\t\x12\x1a\n\x12invitationBodyText\x18\x08 \x01(\t\x12\x19\n\x11invitationCtaText\x18\t \x01(\t\x12\x18\n\x10invitationCtaURL\x18\n \x01(\t\x12\x13\n\x0bsurveyTitle\x18\x0b \x01(\t\x12L\n\tquestions\x18\x0c \x03(\x0b\x32\x39.WAAICommon.InThreadSurveyMetadata.InThreadSurveyQuestion\x12 \n\x18surveyContinueButtonText\x18\r \x01(\t\x12\x1e\n\x16surveySubmitButtonText\x18\x0e \x01(\t\x12\x1c\n\x14privacyStatementFull\x18\x0f \x01(\t\x12\x64\n\x15privacyStatementParts\x18\x10 \x03(\x0b\x32\x45.WAAICommon.InThreadSurveyMetadata.InThreadSurveyPrivacyStatementPart\x12\x19\n\x11\x66\x65\x65\x64\x62\x61\x63kToastText\x18\x11 \x01(\t\x1a?\n\"InThreadSurveyPrivacyStatementPart\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x0b\n\x03URL\x18\x02 \x01(\t\x1aY\n\x14InThreadSurveyOption\x12\x13\n\x0bstringValue\x18\x01 \x01(\t\x12\x14\n\x0cnumericValue\x18\x02 \x01(\r\x12\x16\n\x0etextTranslated\x18\x03 \x01(\t\x1a\x94\x01\n\x16InThreadSurveyQuestion\x12\x14\n\x0cquestionText\x18\x01 \x01(\t\x12\x12\n\nquestionID\x18\x02 \x01(\t\x12P\n\x0fquestionOptions\x18\x03 \x03(\x0b\x32\x37.WAAICommon.InThreadSurveyMetadata.InThreadSurveyOption\"I\n\x18\x42otMessageOriginMetadata\x12-\n\x07origins\x18\x01 \x03(\x0b\x32\x1c.WAAICommon.BotMessageOrigin\"\x89\x03\n\x1a\x42otUnifiedResponseMutation\x12N\n\x0bsbsMetadata\x18\x01 \x01(\x0b\x32\x39.WAAICommon.BotUnifiedResponseMutation.SideBySideMetadata\x12]\n\x18mediaDetailsMetadataList\x18\x02 \x03(\x0b\x32;.WAAICommon.BotUnifiedResponseMutation.MediaDetailsMetadata\x1a\x8a\x01\n\x14MediaDetailsMetadata\x12\n\n\x02ID\x18\x01 \x01(\t\x12\x32\n\x0chighResMedia\x18\x02 \x01(\x0b\x32\x1c.WAAICommon.BotMediaMetadata\x12\x32\n\x0cpreviewMedia\x18\x03 \x01(\x0b\x32\x1c.WAAICommon.BotMediaMetadata\x1a/\n\x12SideBySideMetadata\x12\x19\n\x11primaryResponseID\x18\x01 \x01(\t\"\xda\r\n\x0b\x42otMetadata\x12\x35\n\x0e\x61vatarMetadata\x18\x01 \x01(\x0b\x32\x1d.WAAICommon.BotAvatarMetadata\x12\x11\n\tpersonaID\x18\x02 \x01(\t\x12\x35\n\x0epluginMetadata\x18\x03 \x01(\x0b\x32\x1d.WAAICommon.BotPluginMetadata\x12G\n\x17suggestedPromptMetadata\x18\x04 \x01(\x0b\x32&.WAAICommon.BotSuggestedPromptMetadata\x12\x12\n\ninvokerJID\x18\x05 \x01(\t\x12\x37\n\x0fsessionMetadata\x18\x06 \x01(\x0b\x32\x1e.WAAICommon.BotSessionMetadata\x12\x31\n\x0cmemuMetadata\x18\x07 \x01(\x0b\x32\x1b.WAAICommon.BotMemuMetadata\x12\x10\n\x08timezone\x18\x08 \x01(\t\x12\x39\n\x10reminderMetadata\x18\t \x01(\x0b\x32\x1f.WAAICommon.BotReminderMetadata\x12\x33\n\rmodelMetadata\x18\n \x01(\x0b\x32\x1c.WAAICommon.BotModelMetadata\x12\x1d\n\x15messageDisclaimerText\x18\x0b \x01(\t\x12K\n\x19progressIndicatorMetadata\x18\x0c \x01(\x0b\x32(.WAAICommon.BotProgressIndicatorMetadata\x12=\n\x12\x63\x61pabilityMetadata\x18\r \x01(\x0b\x32!.WAAICommon.BotCapabilityMetadata\x12\x37\n\x0fimagineMetadata\x18\x0e \x01(\x0b\x32\x1e.WAAICommon.BotImagineMetadata\x12\x35\n\x0ememoryMetadata\x18\x0f \x01(\x0b\x32\x1d.WAAICommon.BotMemoryMetadata\x12;\n\x11renderingMetadata\x18\x10 \x01(\x0b\x32 .WAAICommon.BotRenderingMetadata\x12:\n\x12\x62otMetricsMetadata\x18\x11 \x01(\x0b\x32\x1e.WAAICommon.BotMetricsMetadata\x12H\n\x19\x62otLinkedAccountsMetadata\x18\x12 \x01(\x0b\x32%.WAAICommon.BotLinkedAccountsMetadata\x12\x43\n\x1brichResponseSourcesMetadata\x18\x13 \x01(\x0b\x32\x1e.WAAICommon.BotSourcesMetadata\x12\x1d\n\x15\x61iConversationContext\x18\x14 \x01(\x0c\x12L\n\x1b\x62otPromotionMessageMetadata\x18\x15 \x01(\x0b\x32\'.WAAICommon.BotPromotionMessageMetadata\x12\x46\n\x18\x62otModeSelectionMetadata\x18\x16 \x01(\x0b\x32$.WAAICommon.BotModeSelectionMetadata\x12\x36\n\x10\x62otQuotaMetadata\x18\x17 \x01(\x0b\x32\x1c.WAAICommon.BotQuotaMetadata\x12\x46\n\x18\x62otAgeCollectionMetadata\x18\x18 \x01(\x0b\x32$.WAAICommon.BotAgeCollectionMetadata\x12#\n\x1b\x63onversationStarterPromptID\x18\x19 \x01(\t\x12\x15\n\rbotResponseID\x18\x1a \x01(\t\x12J\n\x14verificationMetadata\x18\x1b \x01(\x0b\x32,.WAAICommon.BotSignatureVerificationMetadata\x12G\n\x17unifiedResponseMutation\x18\x1c \x01(\x0b\x32&.WAAICommon.BotUnifiedResponseMutation\x12\x46\n\x18\x62otMessageOriginMetadata\x18\x1d \x01(\x0b\x32$.WAAICommon.BotMessageOriginMetadata\x12\x42\n\x16inThreadSurveyMetadata\x18\x1e \x01(\x0b\x32\".WAAICommon.InThreadSurveyMetadata\x12/\n\rbotThreadInfo\x18\x1f \x01(\x0b\x32\x18.WAAICommon.AIThreadInfo\x12\x19\n\x10internalMetadata\x18\xe7\x07 \x01(\x0c\"Q\n\x19\x46orwardedAIBotMessageInfo\x12\x0f\n\x07\x62otName\x18\x01 \x01(\t\x12\x0e\n\x06\x62otJID\x18\x02 \x01(\t\x12\x13\n\x0b\x63reatorName\x18\x03 \x01(\t\"l\n\x15\x42otMessageSharingInfo\x12=\n\x13\x62otEntryPointOrigin\x18\x01 \x01(\x0e\x32 .WAAICommon.BotMetricsEntryPoint\x12\x14\n\x0c\x66orwardScore\x18\x02 \x01(\r\"]\n\x16\x41IRichResponseImageURL\x12\x17\n\x0fimagePreviewURL\x18\x01 \x01(\t\x12\x17\n\x0fimageHighResURL\x18\x02 \x01(\t\x12\x11\n\tsourceURL\x18\x03 \x01(\t\"\x92\x01\n\x1f\x41IRichResponseGridImageMetadata\x12\x38\n\x0cgridImageURL\x18\x01 \x01(\x0b\x32\".WAAICommon.AIRichResponseImageURL\x12\x35\n\timageURLs\x18\x02 \x03(\x0b\x32\".WAAICommon.AIRichResponseImageURL\"\xb6\x01\n\x1b\x41IRichResponseTableMetadata\x12L\n\x04rows\x18\x01 \x03(\x0b\x32>.WAAICommon.AIRichResponseTableMetadata.AIRichResponseTableRow\x12\r\n\x05title\x18\x02 \x01(\t\x1a:\n\x16\x41IRichResponseTableRow\x12\r\n\x05items\x18\x01 \x03(\t\x12\x11\n\tisHeading\x18\x02 \x01(\x08\"-\n\x1d\x41IRichResponseUnifiedResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\xf2\x02\n\x1b\x41IRichResponseLatexMetadata\x12\x0c\n\x04text\x18\x01 \x01(\t\x12Z\n\x0b\x65xpressions\x18\x02 \x03(\x0b\x32\x45.WAAICommon.AIRichResponseLatexMetadata.AIRichResponseLatexExpression\x1a\xe8\x01\n\x1d\x41IRichResponseLatexExpression\x12\x17\n\x0flatexExpression\x18\x01 \x01(\t\x12\x0b\n\x03URL\x18\x02 \x01(\t\x12\r\n\x05width\x18\x03 \x01(\x01\x12\x0e\n\x06height\x18\x04 \x01(\x01\x12\x12\n\nfontHeight\x18\x05 \x01(\x01\x12\x17\n\x0fimageTopPadding\x18\x06 \x01(\x01\x12\x1b\n\x13imageLeadingPadding\x18\x07 \x01(\x01\x12\x1a\n\x12imageBottomPadding\x18\x08 \x01(\x01\x12\x1c\n\x14imageTrailingPadding\x18\t \x01(\x01\"\xe4\x02\n\x19\x41IRichResponseMapMetadata\x12\x16\n\x0e\x63\x65nterLatitude\x18\x01 \x01(\x01\x12\x17\n\x0f\x63\x65nterLongitude\x18\x02 \x01(\x01\x12\x15\n\rlatitudeDelta\x18\x03 \x01(\x01\x12\x16\n\x0elongitudeDelta\x18\x04 \x01(\x01\x12V\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32\x41.WAAICommon.AIRichResponseMapMetadata.AIRichResponseMapAnnotation\x12\x14\n\x0cshowInfoList\x18\x06 \x01(\x08\x1ay\n\x1b\x41IRichResponseMapAnnotation\x12\x18\n\x10\x61nnotationNumber\x18\x01 \x01(\r\x12\x10\n\x08latitude\x18\x02 \x01(\x01\x12\x11\n\tlongitude\x18\x03 \x01(\x01\x12\r\n\x05title\x18\x04 \x01(\t\x12\x0c\n\x04\x62ody\x18\x05 \x01(\t\"\x88\x05\n\x18\x41IRichResponseSubMessage\x12=\n\x0bmessageType\x18\x01 \x01(\x0e\x32(.WAAICommon.AIRichResponseSubMessageType\x12\x46\n\x11gridImageMetadata\x18\x02 \x01(\x0b\x32+.WAAICommon.AIRichResponseGridImageMetadata\x12\x13\n\x0bmessageText\x18\x03 \x01(\t\x12\x44\n\rimageMetadata\x18\x04 \x01(\x0b\x32-.WAAICommon.AIRichResponseInlineImageMetadata\x12<\n\x0c\x63odeMetadata\x18\x05 \x01(\x0b\x32&.WAAICommon.AIRichResponseCodeMetadata\x12>\n\rtableMetadata\x18\x06 \x01(\x0b\x32\'.WAAICommon.AIRichResponseTableMetadata\x12\x42\n\x0f\x64ynamicMetadata\x18\x07 \x01(\x0b\x32).WAAICommon.AIRichResponseDynamicMetadata\x12>\n\rlatexMetadata\x18\x08 \x01(\x0b\x32\'.WAAICommon.AIRichResponseLatexMetadata\x12:\n\x0bmapMetadata\x18\t \x01(\x0b\x32%.WAAICommon.AIRichResponseMapMetadata\x12L\n\x14\x63ontentItemsMetadata\x18\n \x01(\x0b\x32..WAAICommon.AIRichResponseContentItemsMetadata*\xec\x07\n\x14\x42otMetricsEntryPoint\x12\x19\n\x15UNDEFINED_ENTRY_POINT\x10\x00\x12\x0b\n\x07\x46\x41VICON\x10\x01\x12\x0c\n\x08\x43HATLIST\x10\x02\x12#\n\x1f\x41ISEARCH_NULL_STATE_PAPER_PLANE\x10\x03\x12\"\n\x1e\x41ISEARCH_NULL_STATE_SUGGESTION\x10\x04\x12\"\n\x1e\x41ISEARCH_TYPE_AHEAD_SUGGESTION\x10\x05\x12#\n\x1f\x41ISEARCH_TYPE_AHEAD_PAPER_PLANE\x10\x06\x12\'\n#AISEARCH_TYPE_AHEAD_RESULT_CHATLIST\x10\x07\x12\'\n#AISEARCH_TYPE_AHEAD_RESULT_MESSAGES\x10\x08\x12\x16\n\x12\x41IVOICE_SEARCH_BAR\x10\t\x12\x13\n\x0f\x41IVOICE_FAVICON\x10\n\x12\x0c\n\x08\x41ISTUDIO\x10\x0b\x12\x0c\n\x08\x44\x45\x45PLINK\x10\x0c\x12\x10\n\x0cNOTIFICATION\x10\r\x12\x1a\n\x16PROFILE_MESSAGE_BUTTON\x10\x0e\x12\x0b\n\x07\x46ORWARD\x10\x0f\x12\x10\n\x0c\x41PP_SHORTCUT\x10\x10\x12\r\n\tFF_FAMILY\x10\x11\x12\n\n\x06\x41I_TAB\x10\x12\x12\x0b\n\x07\x41I_HOME\x10\x13\x12\x19\n\x15\x41I_DEEPLINK_IMMERSIVE\x10\x14\x12\x0f\n\x0b\x41I_DEEPLINK\x10\x15\x12#\n\x1fMETA_AI_CHAT_SHORTCUT_AI_STUDIO\x10\x16\x12\x1f\n\x1bUGC_CHAT_SHORTCUT_AI_STUDIO\x10\x17\x12\x16\n\x12NEW_CHAT_AI_STUDIO\x10\x18\x12 \n\x1c\x41IVOICE_FAVICON_CALL_HISTORY\x10\x19\x12\x1c\n\x18\x41SK_META_AI_CONTEXT_MENU\x10\x1a\x12!\n\x1d\x41SK_META_AI_CONTEXT_MENU_1ON1\x10\x1b\x12\"\n\x1e\x41SK_META_AI_CONTEXT_MENU_GROUP\x10\x1c\x12\x17\n\x13INVOKE_META_AI_1ON1\x10\x1d\x12\x18\n\x14INVOKE_META_AI_GROUP\x10\x1e\x12\x13\n\x0fMETA_AI_FORWARD\x10\x1f\x12\x17\n\x13NEW_CHAT_AI_CONTACT\x10 \x12$\n MESSAGE_QUICK_ACTION_1_ON_1_CHAT\x10!\x12#\n\x1fMESSAGE_QUICK_ACTION_GROUP_CHAT\x10\"\x12\x1f\n\x1b\x41TTACHMENT_TRAY_1_ON_1_CHAT\x10#\x12\x1e\n\x1a\x41TTACHMENT_TRAY_GROUP_CHAT\x10$*\xa2\x01\n\x1a\x42otMetricsThreadEntryPoint\x12\x11\n\rAI_TAB_THREAD\x10\x01\x12\x12\n\x0e\x41I_HOME_THREAD\x10\x02\x12 \n\x1c\x41I_DEEPLINK_IMMERSIVE_THREAD\x10\x03\x12\x16\n\x12\x41I_DEEPLINK_THREAD\x10\x04\x12#\n\x1f\x41SK_META_AI_CONTEXT_MENU_THREAD\x10\x05*}\n\x10\x42otSessionSource\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nNULL_STATE\x10\x01\x12\r\n\tTYPEAHEAD\x10\x02\x12\x0e\n\nUSER_INPUT\x10\x03\x12\r\n\tEMU_FLASH\x10\x04\x12\x16\n\x12\x45MU_FLASH_FOLLOWUP\x10\x05\x12\t\n\x05VOICE\x10\x06*b\n\x19\x41IRichResponseMessageType\x12!\n\x1d\x41I_RICH_RESPONSE_TYPE_UNKNOWN\x10\x00\x12\"\n\x1e\x41I_RICH_RESPONSE_TYPE_STANDARD\x10\x01*\xca\x02\n\x1c\x41IRichResponseSubMessageType\x12\x1c\n\x18\x41I_RICH_RESPONSE_UNKNOWN\x10\x00\x12\x1f\n\x1b\x41I_RICH_RESPONSE_GRID_IMAGE\x10\x01\x12\x19\n\x15\x41I_RICH_RESPONSE_TEXT\x10\x02\x12!\n\x1d\x41I_RICH_RESPONSE_INLINE_IMAGE\x10\x03\x12\x1a\n\x16\x41I_RICH_RESPONSE_TABLE\x10\x04\x12\x19\n\x15\x41I_RICH_RESPONSE_CODE\x10\x05\x12\x1c\n\x18\x41I_RICH_RESPONSE_DYNAMIC\x10\x06\x12\x18\n\x14\x41I_RICH_RESPONSE_MAP\x10\x07\x12\x1a\n\x16\x41I_RICH_RESPONSE_LATEX\x10\x08\x12\"\n\x1e\x41I_RICH_RESPONSE_CONTENT_ITEMS\x10\tB&Z$go.mau.fi/whatsmeow/proto/waAICommon') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waAICommon.WAAICommon_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z$go.mau.fi/whatsmeow/proto/waAICommon' + _globals['_BOTMETRICSENTRYPOINT']._serialized_start=17421 + _globals['_BOTMETRICSENTRYPOINT']._serialized_end=18425 + _globals['_BOTMETRICSTHREADENTRYPOINT']._serialized_start=18428 + _globals['_BOTMETRICSTHREADENTRYPOINT']._serialized_end=18590 + _globals['_BOTSESSIONSOURCE']._serialized_start=18592 + _globals['_BOTSESSIONSOURCE']._serialized_end=18717 + _globals['_AIRICHRESPONSEMESSAGETYPE']._serialized_start=18719 + _globals['_AIRICHRESPONSEMESSAGETYPE']._serialized_end=18817 + _globals['_AIRICHRESPONSESUBMESSAGETYPE']._serialized_start=18820 + _globals['_AIRICHRESPONSESUBMESSAGETYPE']._serialized_end=19150 + _globals['_BOTPLUGINMETADATA']._serialized_start=69 + _globals['_BOTPLUGINMETADATA']._serialized_end=702 + _globals['_BOTPLUGINMETADATA_PLUGINTYPE']._serialized_start=581 + _globals['_BOTPLUGINMETADATA_PLUGINTYPE']._serialized_end=636 + _globals['_BOTPLUGINMETADATA_SEARCHPROVIDER']._serialized_start=638 + _globals['_BOTPLUGINMETADATA_SEARCHPROVIDER']._serialized_end=702 + _globals['_BOTLINKEDACCOUNT']._serialized_start=705 + _globals['_BOTLINKEDACCOUNT']._serialized_end=844 + _globals['_BOTLINKEDACCOUNT_BOTLINKEDACCOUNTTYPE']._serialized_start=790 + _globals['_BOTLINKEDACCOUNT_BOTLINKEDACCOUNTTYPE']._serialized_end=844 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF']._serialized_start=847 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF']._serialized_end=1090 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF_BOTSIGNATUREUSECASE']._serialized_start=1036 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF_BOTSIGNATUREUSECASE']._serialized_end=1090 + _globals['_BOTPROMOTIONMESSAGEMETADATA']._serialized_start=1093 + _globals['_BOTPROMOTIONMESSAGEMETADATA']._serialized_end=1292 + _globals['_BOTPROMOTIONMESSAGEMETADATA_BOTPROMOTIONTYPE']._serialized_start=1226 + _globals['_BOTPROMOTIONMESSAGEMETADATA_BOTPROMOTIONTYPE']._serialized_end=1292 + _globals['_BOTMEDIAMETADATA']._serialized_start=1295 + _globals['_BOTMEDIAMETADATA']._serialized_end=1562 + _globals['_BOTMEDIAMETADATA_ORIENTATIONTYPE']._serialized_start=1512 + _globals['_BOTMEDIAMETADATA_ORIENTATIONTYPE']._serialized_end=1562 + _globals['_BOTREMINDERMETADATA']._serialized_start=1565 + _globals['_BOTREMINDERMETADATA']._serialized_end=1960 + _globals['_BOTREMINDERMETADATA_REMINDERFREQUENCY']._serialized_start=1815 + _globals['_BOTREMINDERMETADATA_REMINDERFREQUENCY']._serialized_end=1894 + _globals['_BOTREMINDERMETADATA_REMINDERACTION']._serialized_start=1896 + _globals['_BOTREMINDERMETADATA_REMINDERACTION']._serialized_end=1960 + _globals['_BOTMODELMETADATA']._serialized_start=1963 + _globals['_BOTMODELMETADATA']._serialized_end=2269 + _globals['_BOTMODELMETADATA_PREMIUMMODELSTATUS']._serialized_start=2119 + _globals['_BOTMODELMETADATA_PREMIUMMODELSTATUS']._serialized_end=2198 + _globals['_BOTMODELMETADATA_MODELTYPE']._serialized_start=2200 + _globals['_BOTMODELMETADATA_MODELTYPE']._serialized_end=2269 + _globals['_BOTPROGRESSINDICATORMETADATA']._serialized_start=2272 + _globals['_BOTPROGRESSINDICATORMETADATA']._serialized_end=3743 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA']._serialized_start=2423 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA']._serialized_end=3743 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA']._serialized_start=2879 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA']._serialized_end=3185 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA_BOTPLANNINGSEARCHSOURCEPROVIDER']._serialized_start=3106 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA_BOTPLANNINGSEARCHSOURCEPROVIDER']._serialized_end=3185 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSTEPSECTIONMETADATA']._serialized_start=3188 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSTEPSECTIONMETADATA']._serialized_end=3386 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCEMETADATA']._serialized_start=3389 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCEMETADATA']._serialized_end=3584 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTSEARCHSOURCEPROVIDER']._serialized_start=3586 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTSEARCHSOURCEPROVIDER']._serialized_end=3666 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_PLANNINGSTEPSTATUS']._serialized_start=3668 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_PLANNINGSTEPSTATUS']._serialized_end=3743 + _globals['_BOTCAPABILITYMETADATA']._serialized_start=3746 + _globals['_BOTCAPABILITYMETADATA']._serialized_end=5329 + _globals['_BOTCAPABILITYMETADATA_BOTCAPABILITYTYPE']._serialized_start=3847 + _globals['_BOTCAPABILITYMETADATA_BOTCAPABILITYTYPE']._serialized_end=5329 + _globals['_BOTMODESELECTIONMETADATA']._serialized_start=5332 + _globals['_BOTMODESELECTIONMETADATA']._serialized_end=5493 + _globals['_BOTMODESELECTIONMETADATA_BOTUSERSELECTIONMODE']._serialized_start=5433 + _globals['_BOTMODESELECTIONMETADATA_BOTUSERSELECTIONMODE']._serialized_end=5493 + _globals['_BOTQUOTAMETADATA']._serialized_start=5496 + _globals['_BOTQUOTAMETADATA']._serialized_end=5834 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA']._serialized_start=5604 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA']._serialized_end=5834 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA_BOTFEATURETYPE']._serialized_start=5774 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA_BOTFEATURETYPE']._serialized_end=5834 + _globals['_BOTIMAGINEMETADATA']._serialized_start=5837 + _globals['_BOTIMAGINEMETADATA']._serialized_end=5994 + _globals['_BOTIMAGINEMETADATA_IMAGINETYPE']._serialized_start=5924 + _globals['_BOTIMAGINEMETADATA_IMAGINETYPE']._serialized_end=5994 + _globals['_BOTAGECOLLECTIONMETADATA']._serialized_start=5997 + _globals['_BOTAGECOLLECTIONMETADATA']._serialized_end=6230 + _globals['_BOTAGECOLLECTIONMETADATA_AGECOLLECTIONTYPE']._serialized_start=6183 + _globals['_BOTAGECOLLECTIONMETADATA_AGECOLLECTIONTYPE']._serialized_end=6230 + _globals['_BOTSOURCESMETADATA']._serialized_start=6233 + _globals['_BOTSOURCESMETADATA']._serialized_end=6631 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM']._serialized_start=6319 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM']._serialized_end=6631 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM_SOURCEPROVIDER']._serialized_start=6556 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM_SOURCEPROVIDER']._serialized_end=6631 + _globals['_BOTMESSAGEORIGIN']._serialized_start=6634 + _globals['_BOTMESSAGEORIGIN']._serialized_end=6783 + _globals['_BOTMESSAGEORIGIN_BOTMESSAGEORIGINTYPE']._serialized_start=6719 + _globals['_BOTMESSAGEORIGIN_BOTMESSAGEORIGINTYPE']._serialized_end=6783 + _globals['_AITHREADINFO']._serialized_start=6786 + _globals['_AITHREADINFO']._serialized_end=7119 + _globals['_AITHREADINFO_AITHREADCLIENTINFO']._serialized_start=6933 + _globals['_AITHREADINFO_AITHREADCLIENTINFO']._serialized_end=7082 + _globals['_AITHREADINFO_AITHREADCLIENTINFO_AITHREADTYPE']._serialized_start=7027 + _globals['_AITHREADINFO_AITHREADCLIENTINFO_AITHREADTYPE']._serialized_end=7082 + _globals['_AITHREADINFO_AITHREADSERVERINFO']._serialized_start=7084 + _globals['_AITHREADINFO_AITHREADSERVERINFO']._serialized_end=7119 + _globals['_BOTFEEDBACKMESSAGE']._serialized_start=7122 + _globals['_BOTFEEDBACKMESSAGE']._serialized_end=9044 + _globals['_BOTFEEDBACKMESSAGE_SIDEBYSIDESURVEYMETADATA']._serialized_start=7461 + _globals['_BOTFEEDBACKMESSAGE_SIDEBYSIDESURVEYMETADATA']._serialized_end=7864 + _globals['_BOTFEEDBACKMESSAGE_SIDEBYSIDESURVEYMETADATA_SIDEBYSIDESURVEYANALYTICSDATA']._serialized_start=7787 + _globals['_BOTFEEDBACKMESSAGE_SIDEBYSIDESURVEYMETADATA_SIDEBYSIDESURVEYANALYTICSDATA']._serialized_end=7864 + _globals['_BOTFEEDBACKMESSAGE_REPORTKIND']._serialized_start=7866 + _globals['_BOTFEEDBACKMESSAGE_REPORTKIND']._serialized_end=7901 + _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKINDMULTIPLEPOSITIVE']._serialized_start=7903 + _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKINDMULTIPLEPOSITIVE']._serialized_end=7980 + _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKINDMULTIPLENEGATIVE']._serialized_start=7983 + _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKINDMULTIPLENEGATIVE']._serialized_end=8442 + _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKIND']._serialized_start=8445 + _globals['_BOTFEEDBACKMESSAGE_BOTFEEDBACKKIND']._serialized_end=9044 + _globals['_AIRICHRESPONSEINLINEIMAGEMETADATA']._serialized_start=9047 + _globals['_AIRICHRESPONSEINLINEIMAGEMETADATA']._serialized_end=9456 + _globals['_AIRICHRESPONSEINLINEIMAGEMETADATA_AIRICHRESPONSEIMAGEALIGNMENT']._serialized_start=9273 + _globals['_AIRICHRESPONSEINLINEIMAGEMETADATA_AIRICHRESPONSEIMAGEALIGNMENT']._serialized_end=9456 + _globals['_AIRICHRESPONSECODEMETADATA']._serialized_start=9459 + _globals['_AIRICHRESPONSECODEMETADATA']._serialized_end=10040 + _globals['_AIRICHRESPONSECODEMETADATA_AIRICHRESPONSECODEBLOCK']._serialized_start=9596 + _globals['_AIRICHRESPONSECODEMETADATA_AIRICHRESPONSECODEBLOCK']._serialized_end=9737 + _globals['_AIRICHRESPONSECODEMETADATA_AIRICHRESPONSECODEHIGHLIGHTTYPE']._serialized_start=9740 + _globals['_AIRICHRESPONSECODEMETADATA_AIRICHRESPONSECODEHIGHLIGHTTYPE']._serialized_end=10040 + _globals['_AIRICHRESPONSEDYNAMICMETADATA']._serialized_start=10043 + _globals['_AIRICHRESPONSEDYNAMICMETADATA']._serialized_end=10402 + _globals['_AIRICHRESPONSEDYNAMICMETADATA_AIRICHRESPONSEDYNAMICMETADATATYPE']._serialized_start=10217 + _globals['_AIRICHRESPONSEDYNAMICMETADATA_AIRICHRESPONSEDYNAMICMETADATATYPE']._serialized_end=10402 + _globals['_AIRICHRESPONSECONTENTITEMSMETADATA']._serialized_start=10405 + _globals['_AIRICHRESPONSECONTENTITEMSMETADATA']._serialized_end=10932 + _globals['_AIRICHRESPONSECONTENTITEMSMETADATA_AIRICHRESPONSECONTENTITEMMETADATA']._serialized_start=10630 + _globals['_AIRICHRESPONSECONTENTITEMSMETADATA_AIRICHRESPONSECONTENTITEMMETADATA']._serialized_end=10785 + _globals['_AIRICHRESPONSECONTENTITEMSMETADATA_AIRICHRESPONSEREELITEM']._serialized_start=10787 + _globals['_AIRICHRESPONSECONTENTITEMSMETADATA_AIRICHRESPONSEREELITEM']._serialized_end=10890 + _globals['_AIRICHRESPONSECONTENTITEMSMETADATA_CONTENTTYPE']._serialized_start=10892 + _globals['_AIRICHRESPONSECONTENTITEMSMETADATA_CONTENTTYPE']._serialized_end=10932 + _globals['_BOTAVATARMETADATA']._serialized_start=10934 + _globals['_BOTAVATARMETADATA']._serialized_end=11049 + _globals['_BOTSUGGESTEDPROMPTMETADATA']._serialized_start=11052 + _globals['_BOTSUGGESTEDPROMPTMETADATA']._serialized_end=11222 + _globals['_BOTPROMPTSUGGESTIONS']._serialized_start=11224 + _globals['_BOTPROMPTSUGGESTIONS']._serialized_end=11300 + _globals['_BOTPROMPTSUGGESTION']._serialized_start=11302 + _globals['_BOTPROMPTSUGGESTION']._serialized_end=11357 + _globals['_BOTLINKEDACCOUNTSMETADATA']._serialized_start=11359 + _globals['_BOTLINKEDACCOUNTSMETADATA']._serialized_end=11477 + _globals['_BOTMEMORYMETADATA']._serialized_start=11480 + _globals['_BOTMEMORYMETADATA']._serialized_end=11615 + _globals['_BOTMEMORYFACT']._serialized_start=11617 + _globals['_BOTMEMORYFACT']._serialized_end=11662 + _globals['_BOTSIGNATUREVERIFICATIONMETADATA']._serialized_start=11664 + _globals['_BOTSIGNATUREVERIFICATIONMETADATA']._serialized_end=11764 + _globals['_BOTRENDERINGMETADATA']._serialized_start=11767 + _globals['_BOTRENDERINGMETADATA']._serialized_end=11902 + _globals['_BOTRENDERINGMETADATA_KEYWORD']._serialized_start=11851 + _globals['_BOTRENDERINGMETADATA_KEYWORD']._serialized_end=11902 + _globals['_BOTMETRICSMETADATA']._serialized_start=11905 + _globals['_BOTMETRICSMETADATA']._serialized_end=12075 + _globals['_BOTSESSIONMETADATA']._serialized_start=12077 + _globals['_BOTSESSIONMETADATA']._serialized_end=12169 + _globals['_BOTMEMUMETADATA']._serialized_start=12171 + _globals['_BOTMEMUMETADATA']._serialized_end=12238 + _globals['_INTHREADSURVEYMETADATA']._serialized_start=12241 + _globals['_INTHREADSURVEYMETADATA']._serialized_end=13138 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYPRIVACYSTATEMENTPART']._serialized_start=12833 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYPRIVACYSTATEMENTPART']._serialized_end=12896 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYOPTION']._serialized_start=12898 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYOPTION']._serialized_end=12987 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYQUESTION']._serialized_start=12990 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYQUESTION']._serialized_end=13138 + _globals['_BOTMESSAGEORIGINMETADATA']._serialized_start=13140 + _globals['_BOTMESSAGEORIGINMETADATA']._serialized_end=13213 + _globals['_BOTUNIFIEDRESPONSEMUTATION']._serialized_start=13216 + _globals['_BOTUNIFIEDRESPONSEMUTATION']._serialized_end=13609 + _globals['_BOTUNIFIEDRESPONSEMUTATION_MEDIADETAILSMETADATA']._serialized_start=13422 + _globals['_BOTUNIFIEDRESPONSEMUTATION_MEDIADETAILSMETADATA']._serialized_end=13560 + _globals['_BOTUNIFIEDRESPONSEMUTATION_SIDEBYSIDEMETADATA']._serialized_start=13562 + _globals['_BOTUNIFIEDRESPONSEMUTATION_SIDEBYSIDEMETADATA']._serialized_end=13609 + _globals['_BOTMETADATA']._serialized_start=13612 + _globals['_BOTMETADATA']._serialized_end=15366 + _globals['_FORWARDEDAIBOTMESSAGEINFO']._serialized_start=15368 + _globals['_FORWARDEDAIBOTMESSAGEINFO']._serialized_end=15449 + _globals['_BOTMESSAGESHARINGINFO']._serialized_start=15451 + _globals['_BOTMESSAGESHARINGINFO']._serialized_end=15559 + _globals['_AIRICHRESPONSEIMAGEURL']._serialized_start=15561 + _globals['_AIRICHRESPONSEIMAGEURL']._serialized_end=15654 + _globals['_AIRICHRESPONSEGRIDIMAGEMETADATA']._serialized_start=15657 + _globals['_AIRICHRESPONSEGRIDIMAGEMETADATA']._serialized_end=15803 + _globals['_AIRICHRESPONSETABLEMETADATA']._serialized_start=15806 + _globals['_AIRICHRESPONSETABLEMETADATA']._serialized_end=15988 + _globals['_AIRICHRESPONSETABLEMETADATA_AIRICHRESPONSETABLEROW']._serialized_start=15930 + _globals['_AIRICHRESPONSETABLEMETADATA_AIRICHRESPONSETABLEROW']._serialized_end=15988 + _globals['_AIRICHRESPONSEUNIFIEDRESPONSE']._serialized_start=15990 + _globals['_AIRICHRESPONSEUNIFIEDRESPONSE']._serialized_end=16035 + _globals['_AIRICHRESPONSELATEXMETADATA']._serialized_start=16038 + _globals['_AIRICHRESPONSELATEXMETADATA']._serialized_end=16408 + _globals['_AIRICHRESPONSELATEXMETADATA_AIRICHRESPONSELATEXEXPRESSION']._serialized_start=16176 + _globals['_AIRICHRESPONSELATEXMETADATA_AIRICHRESPONSELATEXEXPRESSION']._serialized_end=16408 + _globals['_AIRICHRESPONSEMAPMETADATA']._serialized_start=16411 + _globals['_AIRICHRESPONSEMAPMETADATA']._serialized_end=16767 + _globals['_AIRICHRESPONSEMAPMETADATA_AIRICHRESPONSEMAPANNOTATION']._serialized_start=16646 + _globals['_AIRICHRESPONSEMAPMETADATA_AIRICHRESPONSEMAPANNOTATION']._serialized_end=16767 + _globals['_AIRICHRESPONSESUBMESSAGE']._serialized_start=16770 + _globals['_AIRICHRESPONSESUBMESSAGE']._serialized_end=17418 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waAICommon/WAAICommon_pb2.pyi b/neonize/proto/waAICommon/WAAICommon_pb2.pyi new file mode 100644 index 00000000..c8705f3e --- /dev/null +++ b/neonize/proto/waAICommon/WAAICommon_pb2.pyi @@ -0,0 +1,2423 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waCommon.WACommon_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _BotMetricsEntryPoint: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _BotMetricsEntryPointEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotMetricsEntryPoint.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNDEFINED_ENTRY_POINT: _BotMetricsEntryPoint.ValueType # 0 + FAVICON: _BotMetricsEntryPoint.ValueType # 1 + CHATLIST: _BotMetricsEntryPoint.ValueType # 2 + AISEARCH_NULL_STATE_PAPER_PLANE: _BotMetricsEntryPoint.ValueType # 3 + AISEARCH_NULL_STATE_SUGGESTION: _BotMetricsEntryPoint.ValueType # 4 + AISEARCH_TYPE_AHEAD_SUGGESTION: _BotMetricsEntryPoint.ValueType # 5 + AISEARCH_TYPE_AHEAD_PAPER_PLANE: _BotMetricsEntryPoint.ValueType # 6 + AISEARCH_TYPE_AHEAD_RESULT_CHATLIST: _BotMetricsEntryPoint.ValueType # 7 + AISEARCH_TYPE_AHEAD_RESULT_MESSAGES: _BotMetricsEntryPoint.ValueType # 8 + AIVOICE_SEARCH_BAR: _BotMetricsEntryPoint.ValueType # 9 + AIVOICE_FAVICON: _BotMetricsEntryPoint.ValueType # 10 + AISTUDIO: _BotMetricsEntryPoint.ValueType # 11 + DEEPLINK: _BotMetricsEntryPoint.ValueType # 12 + NOTIFICATION: _BotMetricsEntryPoint.ValueType # 13 + PROFILE_MESSAGE_BUTTON: _BotMetricsEntryPoint.ValueType # 14 + FORWARD: _BotMetricsEntryPoint.ValueType # 15 + APP_SHORTCUT: _BotMetricsEntryPoint.ValueType # 16 + FF_FAMILY: _BotMetricsEntryPoint.ValueType # 17 + AI_TAB: _BotMetricsEntryPoint.ValueType # 18 + AI_HOME: _BotMetricsEntryPoint.ValueType # 19 + AI_DEEPLINK_IMMERSIVE: _BotMetricsEntryPoint.ValueType # 20 + AI_DEEPLINK: _BotMetricsEntryPoint.ValueType # 21 + META_AI_CHAT_SHORTCUT_AI_STUDIO: _BotMetricsEntryPoint.ValueType # 22 + UGC_CHAT_SHORTCUT_AI_STUDIO: _BotMetricsEntryPoint.ValueType # 23 + NEW_CHAT_AI_STUDIO: _BotMetricsEntryPoint.ValueType # 24 + AIVOICE_FAVICON_CALL_HISTORY: _BotMetricsEntryPoint.ValueType # 25 + ASK_META_AI_CONTEXT_MENU: _BotMetricsEntryPoint.ValueType # 26 + ASK_META_AI_CONTEXT_MENU_1ON1: _BotMetricsEntryPoint.ValueType # 27 + ASK_META_AI_CONTEXT_MENU_GROUP: _BotMetricsEntryPoint.ValueType # 28 + INVOKE_META_AI_1ON1: _BotMetricsEntryPoint.ValueType # 29 + INVOKE_META_AI_GROUP: _BotMetricsEntryPoint.ValueType # 30 + META_AI_FORWARD: _BotMetricsEntryPoint.ValueType # 31 + NEW_CHAT_AI_CONTACT: _BotMetricsEntryPoint.ValueType # 32 + MESSAGE_QUICK_ACTION_1_ON_1_CHAT: _BotMetricsEntryPoint.ValueType # 33 + MESSAGE_QUICK_ACTION_GROUP_CHAT: _BotMetricsEntryPoint.ValueType # 34 + ATTACHMENT_TRAY_1_ON_1_CHAT: _BotMetricsEntryPoint.ValueType # 35 + ATTACHMENT_TRAY_GROUP_CHAT: _BotMetricsEntryPoint.ValueType # 36 + +class BotMetricsEntryPoint(_BotMetricsEntryPoint, metaclass=_BotMetricsEntryPointEnumTypeWrapper): ... + +UNDEFINED_ENTRY_POINT: BotMetricsEntryPoint.ValueType # 0 +FAVICON: BotMetricsEntryPoint.ValueType # 1 +CHATLIST: BotMetricsEntryPoint.ValueType # 2 +AISEARCH_NULL_STATE_PAPER_PLANE: BotMetricsEntryPoint.ValueType # 3 +AISEARCH_NULL_STATE_SUGGESTION: BotMetricsEntryPoint.ValueType # 4 +AISEARCH_TYPE_AHEAD_SUGGESTION: BotMetricsEntryPoint.ValueType # 5 +AISEARCH_TYPE_AHEAD_PAPER_PLANE: BotMetricsEntryPoint.ValueType # 6 +AISEARCH_TYPE_AHEAD_RESULT_CHATLIST: BotMetricsEntryPoint.ValueType # 7 +AISEARCH_TYPE_AHEAD_RESULT_MESSAGES: BotMetricsEntryPoint.ValueType # 8 +AIVOICE_SEARCH_BAR: BotMetricsEntryPoint.ValueType # 9 +AIVOICE_FAVICON: BotMetricsEntryPoint.ValueType # 10 +AISTUDIO: BotMetricsEntryPoint.ValueType # 11 +DEEPLINK: BotMetricsEntryPoint.ValueType # 12 +NOTIFICATION: BotMetricsEntryPoint.ValueType # 13 +PROFILE_MESSAGE_BUTTON: BotMetricsEntryPoint.ValueType # 14 +FORWARD: BotMetricsEntryPoint.ValueType # 15 +APP_SHORTCUT: BotMetricsEntryPoint.ValueType # 16 +FF_FAMILY: BotMetricsEntryPoint.ValueType # 17 +AI_TAB: BotMetricsEntryPoint.ValueType # 18 +AI_HOME: BotMetricsEntryPoint.ValueType # 19 +AI_DEEPLINK_IMMERSIVE: BotMetricsEntryPoint.ValueType # 20 +AI_DEEPLINK: BotMetricsEntryPoint.ValueType # 21 +META_AI_CHAT_SHORTCUT_AI_STUDIO: BotMetricsEntryPoint.ValueType # 22 +UGC_CHAT_SHORTCUT_AI_STUDIO: BotMetricsEntryPoint.ValueType # 23 +NEW_CHAT_AI_STUDIO: BotMetricsEntryPoint.ValueType # 24 +AIVOICE_FAVICON_CALL_HISTORY: BotMetricsEntryPoint.ValueType # 25 +ASK_META_AI_CONTEXT_MENU: BotMetricsEntryPoint.ValueType # 26 +ASK_META_AI_CONTEXT_MENU_1ON1: BotMetricsEntryPoint.ValueType # 27 +ASK_META_AI_CONTEXT_MENU_GROUP: BotMetricsEntryPoint.ValueType # 28 +INVOKE_META_AI_1ON1: BotMetricsEntryPoint.ValueType # 29 +INVOKE_META_AI_GROUP: BotMetricsEntryPoint.ValueType # 30 +META_AI_FORWARD: BotMetricsEntryPoint.ValueType # 31 +NEW_CHAT_AI_CONTACT: BotMetricsEntryPoint.ValueType # 32 +MESSAGE_QUICK_ACTION_1_ON_1_CHAT: BotMetricsEntryPoint.ValueType # 33 +MESSAGE_QUICK_ACTION_GROUP_CHAT: BotMetricsEntryPoint.ValueType # 34 +ATTACHMENT_TRAY_1_ON_1_CHAT: BotMetricsEntryPoint.ValueType # 35 +ATTACHMENT_TRAY_GROUP_CHAT: BotMetricsEntryPoint.ValueType # 36 +global___BotMetricsEntryPoint = BotMetricsEntryPoint + +class _BotMetricsThreadEntryPoint: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _BotMetricsThreadEntryPointEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotMetricsThreadEntryPoint.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + AI_TAB_THREAD: _BotMetricsThreadEntryPoint.ValueType # 1 + AI_HOME_THREAD: _BotMetricsThreadEntryPoint.ValueType # 2 + AI_DEEPLINK_IMMERSIVE_THREAD: _BotMetricsThreadEntryPoint.ValueType # 3 + AI_DEEPLINK_THREAD: _BotMetricsThreadEntryPoint.ValueType # 4 + ASK_META_AI_CONTEXT_MENU_THREAD: _BotMetricsThreadEntryPoint.ValueType # 5 + +class BotMetricsThreadEntryPoint(_BotMetricsThreadEntryPoint, metaclass=_BotMetricsThreadEntryPointEnumTypeWrapper): ... + +AI_TAB_THREAD: BotMetricsThreadEntryPoint.ValueType # 1 +AI_HOME_THREAD: BotMetricsThreadEntryPoint.ValueType # 2 +AI_DEEPLINK_IMMERSIVE_THREAD: BotMetricsThreadEntryPoint.ValueType # 3 +AI_DEEPLINK_THREAD: BotMetricsThreadEntryPoint.ValueType # 4 +ASK_META_AI_CONTEXT_MENU_THREAD: BotMetricsThreadEntryPoint.ValueType # 5 +global___BotMetricsThreadEntryPoint = BotMetricsThreadEntryPoint + +class _BotSessionSource: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _BotSessionSourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotSessionSource.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: _BotSessionSource.ValueType # 0 + NULL_STATE: _BotSessionSource.ValueType # 1 + TYPEAHEAD: _BotSessionSource.ValueType # 2 + USER_INPUT: _BotSessionSource.ValueType # 3 + EMU_FLASH: _BotSessionSource.ValueType # 4 + EMU_FLASH_FOLLOWUP: _BotSessionSource.ValueType # 5 + VOICE: _BotSessionSource.ValueType # 6 + +class BotSessionSource(_BotSessionSource, metaclass=_BotSessionSourceEnumTypeWrapper): ... + +NONE: BotSessionSource.ValueType # 0 +NULL_STATE: BotSessionSource.ValueType # 1 +TYPEAHEAD: BotSessionSource.ValueType # 2 +USER_INPUT: BotSessionSource.ValueType # 3 +EMU_FLASH: BotSessionSource.ValueType # 4 +EMU_FLASH_FOLLOWUP: BotSessionSource.ValueType # 5 +VOICE: BotSessionSource.ValueType # 6 +global___BotSessionSource = BotSessionSource + +class _AIRichResponseMessageType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _AIRichResponseMessageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AIRichResponseMessageType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + AI_RICH_RESPONSE_TYPE_UNKNOWN: _AIRichResponseMessageType.ValueType # 0 + AI_RICH_RESPONSE_TYPE_STANDARD: _AIRichResponseMessageType.ValueType # 1 + +class AIRichResponseMessageType(_AIRichResponseMessageType, metaclass=_AIRichResponseMessageTypeEnumTypeWrapper): ... + +AI_RICH_RESPONSE_TYPE_UNKNOWN: AIRichResponseMessageType.ValueType # 0 +AI_RICH_RESPONSE_TYPE_STANDARD: AIRichResponseMessageType.ValueType # 1 +global___AIRichResponseMessageType = AIRichResponseMessageType + +class _AIRichResponseSubMessageType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _AIRichResponseSubMessageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AIRichResponseSubMessageType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + AI_RICH_RESPONSE_UNKNOWN: _AIRichResponseSubMessageType.ValueType # 0 + AI_RICH_RESPONSE_GRID_IMAGE: _AIRichResponseSubMessageType.ValueType # 1 + AI_RICH_RESPONSE_TEXT: _AIRichResponseSubMessageType.ValueType # 2 + AI_RICH_RESPONSE_INLINE_IMAGE: _AIRichResponseSubMessageType.ValueType # 3 + AI_RICH_RESPONSE_TABLE: _AIRichResponseSubMessageType.ValueType # 4 + AI_RICH_RESPONSE_CODE: _AIRichResponseSubMessageType.ValueType # 5 + AI_RICH_RESPONSE_DYNAMIC: _AIRichResponseSubMessageType.ValueType # 6 + AI_RICH_RESPONSE_MAP: _AIRichResponseSubMessageType.ValueType # 7 + AI_RICH_RESPONSE_LATEX: _AIRichResponseSubMessageType.ValueType # 8 + AI_RICH_RESPONSE_CONTENT_ITEMS: _AIRichResponseSubMessageType.ValueType # 9 + +class AIRichResponseSubMessageType(_AIRichResponseSubMessageType, metaclass=_AIRichResponseSubMessageTypeEnumTypeWrapper): ... + +AI_RICH_RESPONSE_UNKNOWN: AIRichResponseSubMessageType.ValueType # 0 +AI_RICH_RESPONSE_GRID_IMAGE: AIRichResponseSubMessageType.ValueType # 1 +AI_RICH_RESPONSE_TEXT: AIRichResponseSubMessageType.ValueType # 2 +AI_RICH_RESPONSE_INLINE_IMAGE: AIRichResponseSubMessageType.ValueType # 3 +AI_RICH_RESPONSE_TABLE: AIRichResponseSubMessageType.ValueType # 4 +AI_RICH_RESPONSE_CODE: AIRichResponseSubMessageType.ValueType # 5 +AI_RICH_RESPONSE_DYNAMIC: AIRichResponseSubMessageType.ValueType # 6 +AI_RICH_RESPONSE_MAP: AIRichResponseSubMessageType.ValueType # 7 +AI_RICH_RESPONSE_LATEX: AIRichResponseSubMessageType.ValueType # 8 +AI_RICH_RESPONSE_CONTENT_ITEMS: AIRichResponseSubMessageType.ValueType # 9 +global___AIRichResponseSubMessageType = AIRichResponseSubMessageType + +@typing.final +class BotPluginMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PluginType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PluginTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPluginMetadata._PluginType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_PLUGIN: BotPluginMetadata._PluginType.ValueType # 0 + REELS: BotPluginMetadata._PluginType.ValueType # 1 + SEARCH: BotPluginMetadata._PluginType.ValueType # 2 + + class PluginType(_PluginType, metaclass=_PluginTypeEnumTypeWrapper): ... + UNKNOWN_PLUGIN: BotPluginMetadata.PluginType.ValueType # 0 + REELS: BotPluginMetadata.PluginType.ValueType # 1 + SEARCH: BotPluginMetadata.PluginType.ValueType # 2 + + class _SearchProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SearchProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPluginMetadata._SearchProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotPluginMetadata._SearchProvider.ValueType # 0 + BING: BotPluginMetadata._SearchProvider.ValueType # 1 + GOOGLE: BotPluginMetadata._SearchProvider.ValueType # 2 + SUPPORT: BotPluginMetadata._SearchProvider.ValueType # 3 + + class SearchProvider(_SearchProvider, metaclass=_SearchProviderEnumTypeWrapper): ... + UNKNOWN: BotPluginMetadata.SearchProvider.ValueType # 0 + BING: BotPluginMetadata.SearchProvider.ValueType # 1 + GOOGLE: BotPluginMetadata.SearchProvider.ValueType # 2 + SUPPORT: BotPluginMetadata.SearchProvider.ValueType # 3 + + PROVIDER_FIELD_NUMBER: builtins.int + PLUGINTYPE_FIELD_NUMBER: builtins.int + THUMBNAILCDNURL_FIELD_NUMBER: builtins.int + PROFILEPHOTOCDNURL_FIELD_NUMBER: builtins.int + SEARCHPROVIDERURL_FIELD_NUMBER: builtins.int + REFERENCEINDEX_FIELD_NUMBER: builtins.int + EXPECTEDLINKSCOUNT_FIELD_NUMBER: builtins.int + SEARCHQUERY_FIELD_NUMBER: builtins.int + PARENTPLUGINMESSAGEKEY_FIELD_NUMBER: builtins.int + DEPRECATEDFIELD_FIELD_NUMBER: builtins.int + PARENTPLUGINTYPE_FIELD_NUMBER: builtins.int + FAVICONCDNURL_FIELD_NUMBER: builtins.int + provider: global___BotPluginMetadata.SearchProvider.ValueType + pluginType: global___BotPluginMetadata.PluginType.ValueType + thumbnailCDNURL: builtins.str + profilePhotoCDNURL: builtins.str + searchProviderURL: builtins.str + referenceIndex: builtins.int + expectedLinksCount: builtins.int + searchQuery: builtins.str + deprecatedField: global___BotPluginMetadata.PluginType.ValueType + parentPluginType: global___BotPluginMetadata.PluginType.ValueType + faviconCDNURL: builtins.str + @property + def parentPluginMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + provider: global___BotPluginMetadata.SearchProvider.ValueType | None = ..., + pluginType: global___BotPluginMetadata.PluginType.ValueType | None = ..., + thumbnailCDNURL: builtins.str | None = ..., + profilePhotoCDNURL: builtins.str | None = ..., + searchProviderURL: builtins.str | None = ..., + referenceIndex: builtins.int | None = ..., + expectedLinksCount: builtins.int | None = ..., + searchQuery: builtins.str | None = ..., + parentPluginMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + deprecatedField: global___BotPluginMetadata.PluginType.ValueType | None = ..., + parentPluginType: global___BotPluginMetadata.PluginType.ValueType | None = ..., + faviconCDNURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deprecatedField", b"deprecatedField", "expectedLinksCount", b"expectedLinksCount", "faviconCDNURL", b"faviconCDNURL", "parentPluginMessageKey", b"parentPluginMessageKey", "parentPluginType", b"parentPluginType", "pluginType", b"pluginType", "profilePhotoCDNURL", b"profilePhotoCDNURL", "provider", b"provider", "referenceIndex", b"referenceIndex", "searchProviderURL", b"searchProviderURL", "searchQuery", b"searchQuery", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deprecatedField", b"deprecatedField", "expectedLinksCount", b"expectedLinksCount", "faviconCDNURL", b"faviconCDNURL", "parentPluginMessageKey", b"parentPluginMessageKey", "parentPluginType", b"parentPluginType", "pluginType", b"pluginType", "profilePhotoCDNURL", b"profilePhotoCDNURL", "provider", b"provider", "referenceIndex", b"referenceIndex", "searchProviderURL", b"searchProviderURL", "searchQuery", b"searchQuery", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> None: ... + +global___BotPluginMetadata = BotPluginMetadata + +@typing.final +class BotLinkedAccount(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotLinkedAccountType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotLinkedAccountTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotLinkedAccount._BotLinkedAccountType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BOT_LINKED_ACCOUNT_TYPE_1P: BotLinkedAccount._BotLinkedAccountType.ValueType # 0 + + class BotLinkedAccountType(_BotLinkedAccountType, metaclass=_BotLinkedAccountTypeEnumTypeWrapper): ... + BOT_LINKED_ACCOUNT_TYPE_1P: BotLinkedAccount.BotLinkedAccountType.ValueType # 0 + + TYPE_FIELD_NUMBER: builtins.int + type: global___BotLinkedAccount.BotLinkedAccountType.ValueType + def __init__( + self, + *, + type: global___BotLinkedAccount.BotLinkedAccountType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + +global___BotLinkedAccount = BotLinkedAccount + +@typing.final +class BotSignatureVerificationUseCaseProof(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotSignatureUseCase: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotSignatureUseCaseEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotSignatureVerificationUseCaseProof._BotSignatureUseCase.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSPECIFIED: BotSignatureVerificationUseCaseProof._BotSignatureUseCase.ValueType # 0 + WA_BOT_MSG: BotSignatureVerificationUseCaseProof._BotSignatureUseCase.ValueType # 1 + + class BotSignatureUseCase(_BotSignatureUseCase, metaclass=_BotSignatureUseCaseEnumTypeWrapper): ... + UNSPECIFIED: BotSignatureVerificationUseCaseProof.BotSignatureUseCase.ValueType # 0 + WA_BOT_MSG: BotSignatureVerificationUseCaseProof.BotSignatureUseCase.ValueType # 1 + + VERSION_FIELD_NUMBER: builtins.int + USECASE_FIELD_NUMBER: builtins.int + SIGNATURE_FIELD_NUMBER: builtins.int + CERTIFICATECHAIN_FIELD_NUMBER: builtins.int + version: builtins.int + useCase: global___BotSignatureVerificationUseCaseProof.BotSignatureUseCase.ValueType + signature: builtins.bytes + @property + def certificateChain(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + def __init__( + self, + *, + version: builtins.int | None = ..., + useCase: global___BotSignatureVerificationUseCaseProof.BotSignatureUseCase.ValueType | None = ..., + signature: builtins.bytes | None = ..., + certificateChain: collections.abc.Iterable[builtins.bytes] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["signature", b"signature", "useCase", b"useCase", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["certificateChain", b"certificateChain", "signature", b"signature", "useCase", b"useCase", "version", b"version"]) -> None: ... + +global___BotSignatureVerificationUseCaseProof = BotSignatureVerificationUseCaseProof + +@typing.final +class BotPromotionMessageMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotPromotionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotPromotionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPromotionMessageMetadata._BotPromotionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_TYPE: BotPromotionMessageMetadata._BotPromotionType.ValueType # 0 + C50: BotPromotionMessageMetadata._BotPromotionType.ValueType # 1 + SURVEY_PLATFORM: BotPromotionMessageMetadata._BotPromotionType.ValueType # 2 + + class BotPromotionType(_BotPromotionType, metaclass=_BotPromotionTypeEnumTypeWrapper): ... + UNKNOWN_TYPE: BotPromotionMessageMetadata.BotPromotionType.ValueType # 0 + C50: BotPromotionMessageMetadata.BotPromotionType.ValueType # 1 + SURVEY_PLATFORM: BotPromotionMessageMetadata.BotPromotionType.ValueType # 2 + + PROMOTIONTYPE_FIELD_NUMBER: builtins.int + BUTTONTITLE_FIELD_NUMBER: builtins.int + promotionType: global___BotPromotionMessageMetadata.BotPromotionType.ValueType + buttonTitle: builtins.str + def __init__( + self, + *, + promotionType: global___BotPromotionMessageMetadata.BotPromotionType.ValueType | None = ..., + buttonTitle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["buttonTitle", b"buttonTitle", "promotionType", b"promotionType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buttonTitle", b"buttonTitle", "promotionType", b"promotionType"]) -> None: ... + +global___BotPromotionMessageMetadata = BotPromotionMessageMetadata + +@typing.final +class BotMediaMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _OrientationType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _OrientationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotMediaMetadata._OrientationType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CENTER: BotMediaMetadata._OrientationType.ValueType # 1 + LEFT: BotMediaMetadata._OrientationType.ValueType # 2 + RIGHT: BotMediaMetadata._OrientationType.ValueType # 3 + + class OrientationType(_OrientationType, metaclass=_OrientationTypeEnumTypeWrapper): ... + CENTER: BotMediaMetadata.OrientationType.ValueType # 1 + LEFT: BotMediaMetadata.OrientationType.ValueType # 2 + RIGHT: BotMediaMetadata.OrientationType.ValueType # 3 + + FILESHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + ORIENTATIONTYPE_FIELD_NUMBER: builtins.int + fileSHA256: builtins.str + mediaKey: builtins.str + fileEncSHA256: builtins.str + directPath: builtins.str + mediaKeyTimestamp: builtins.int + mimetype: builtins.str + orientationType: global___BotMediaMetadata.OrientationType.ValueType + def __init__( + self, + *, + fileSHA256: builtins.str | None = ..., + mediaKey: builtins.str | None = ..., + fileEncSHA256: builtins.str | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + mimetype: builtins.str | None = ..., + orientationType: global___BotMediaMetadata.OrientationType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "orientationType", b"orientationType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "orientationType", b"orientationType"]) -> None: ... + +global___BotMediaMetadata = BotMediaMetadata + +@typing.final +class BotReminderMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ReminderFrequency: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ReminderFrequencyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotReminderMetadata._ReminderFrequency.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ONCE: BotReminderMetadata._ReminderFrequency.ValueType # 1 + DAILY: BotReminderMetadata._ReminderFrequency.ValueType # 2 + WEEKLY: BotReminderMetadata._ReminderFrequency.ValueType # 3 + BIWEEKLY: BotReminderMetadata._ReminderFrequency.ValueType # 4 + MONTHLY: BotReminderMetadata._ReminderFrequency.ValueType # 5 + + class ReminderFrequency(_ReminderFrequency, metaclass=_ReminderFrequencyEnumTypeWrapper): ... + ONCE: BotReminderMetadata.ReminderFrequency.ValueType # 1 + DAILY: BotReminderMetadata.ReminderFrequency.ValueType # 2 + WEEKLY: BotReminderMetadata.ReminderFrequency.ValueType # 3 + BIWEEKLY: BotReminderMetadata.ReminderFrequency.ValueType # 4 + MONTHLY: BotReminderMetadata.ReminderFrequency.ValueType # 5 + + class _ReminderAction: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ReminderActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotReminderMetadata._ReminderAction.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NOTIFY: BotReminderMetadata._ReminderAction.ValueType # 1 + CREATE: BotReminderMetadata._ReminderAction.ValueType # 2 + DELETE: BotReminderMetadata._ReminderAction.ValueType # 3 + UPDATE: BotReminderMetadata._ReminderAction.ValueType # 4 + + class ReminderAction(_ReminderAction, metaclass=_ReminderActionEnumTypeWrapper): ... + NOTIFY: BotReminderMetadata.ReminderAction.ValueType # 1 + CREATE: BotReminderMetadata.ReminderAction.ValueType # 2 + DELETE: BotReminderMetadata.ReminderAction.ValueType # 3 + UPDATE: BotReminderMetadata.ReminderAction.ValueType # 4 + + REQUESTMESSAGEKEY_FIELD_NUMBER: builtins.int + ACTION_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + NEXTTRIGGERTIMESTAMP_FIELD_NUMBER: builtins.int + FREQUENCY_FIELD_NUMBER: builtins.int + action: global___BotReminderMetadata.ReminderAction.ValueType + name: builtins.str + nextTriggerTimestamp: builtins.int + frequency: global___BotReminderMetadata.ReminderFrequency.ValueType + @property + def requestMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + requestMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + action: global___BotReminderMetadata.ReminderAction.ValueType | None = ..., + name: builtins.str | None = ..., + nextTriggerTimestamp: builtins.int | None = ..., + frequency: global___BotReminderMetadata.ReminderFrequency.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "frequency", b"frequency", "name", b"name", "nextTriggerTimestamp", b"nextTriggerTimestamp", "requestMessageKey", b"requestMessageKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "frequency", b"frequency", "name", b"name", "nextTriggerTimestamp", b"nextTriggerTimestamp", "requestMessageKey", b"requestMessageKey"]) -> None: ... + +global___BotReminderMetadata = BotReminderMetadata + +@typing.final +class BotModelMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PremiumModelStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PremiumModelStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModelMetadata._PremiumModelStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_STATUS: BotModelMetadata._PremiumModelStatus.ValueType # 0 + AVAILABLE: BotModelMetadata._PremiumModelStatus.ValueType # 1 + QUOTA_EXCEED_LIMIT: BotModelMetadata._PremiumModelStatus.ValueType # 2 + + class PremiumModelStatus(_PremiumModelStatus, metaclass=_PremiumModelStatusEnumTypeWrapper): ... + UNKNOWN_STATUS: BotModelMetadata.PremiumModelStatus.ValueType # 0 + AVAILABLE: BotModelMetadata.PremiumModelStatus.ValueType # 1 + QUOTA_EXCEED_LIMIT: BotModelMetadata.PremiumModelStatus.ValueType # 2 + + class _ModelType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ModelTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModelMetadata._ModelType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_TYPE: BotModelMetadata._ModelType.ValueType # 0 + LLAMA_PROD: BotModelMetadata._ModelType.ValueType # 1 + LLAMA_PROD_PREMIUM: BotModelMetadata._ModelType.ValueType # 2 + + class ModelType(_ModelType, metaclass=_ModelTypeEnumTypeWrapper): ... + UNKNOWN_TYPE: BotModelMetadata.ModelType.ValueType # 0 + LLAMA_PROD: BotModelMetadata.ModelType.ValueType # 1 + LLAMA_PROD_PREMIUM: BotModelMetadata.ModelType.ValueType # 2 + + MODELTYPE_FIELD_NUMBER: builtins.int + PREMIUMMODELSTATUS_FIELD_NUMBER: builtins.int + modelType: global___BotModelMetadata.ModelType.ValueType + premiumModelStatus: global___BotModelMetadata.PremiumModelStatus.ValueType + def __init__( + self, + *, + modelType: global___BotModelMetadata.ModelType.ValueType | None = ..., + premiumModelStatus: global___BotModelMetadata.PremiumModelStatus.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["modelType", b"modelType", "premiumModelStatus", b"premiumModelStatus"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["modelType", b"modelType", "premiumModelStatus", b"premiumModelStatus"]) -> None: ... + +global___BotModelMetadata = BotModelMetadata + +@typing.final +class BotProgressIndicatorMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class BotPlanningStepMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotSearchSourceProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotSearchSourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_PROVIDER: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 3 + + class BotSearchSourceProvider(_BotSearchSourceProvider, metaclass=_BotSearchSourceProviderEnumTypeWrapper): ... + UNKNOWN_PROVIDER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 3 + + class _PlanningStepStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PlanningStepStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 0 + PLANNED: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 1 + EXECUTING: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 2 + FINISHED: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 3 + + class PlanningStepStatus(_PlanningStepStatus, metaclass=_PlanningStepStatusEnumTypeWrapper): ... + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 0 + PLANNED: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 1 + EXECUTING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 2 + FINISHED: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 3 + + @typing.final + class BotPlanningSearchSourcesMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotPlanningSearchSourceProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotPlanningSearchSourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 3 + + class BotPlanningSearchSourceProvider(_BotPlanningSearchSourceProvider, metaclass=_BotPlanningSearchSourceProviderEnumTypeWrapper): ... + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 3 + + SOURCETITLE_FIELD_NUMBER: builtins.int + PROVIDER_FIELD_NUMBER: builtins.int + SOURCEURL_FIELD_NUMBER: builtins.int + sourceTitle: builtins.str + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType + sourceURL: builtins.str + def __init__( + self, + *, + sourceTitle: builtins.str | None = ..., + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType | None = ..., + sourceURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["provider", b"provider", "sourceTitle", b"sourceTitle", "sourceURL", b"sourceURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["provider", b"provider", "sourceTitle", b"sourceTitle", "sourceURL", b"sourceURL"]) -> None: ... + + @typing.final + class BotPlanningStepSectionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SECTIONTITLE_FIELD_NUMBER: builtins.int + SECTIONBODY_FIELD_NUMBER: builtins.int + SOURCESMETADATA_FIELD_NUMBER: builtins.int + sectionTitle: builtins.str + sectionBody: builtins.str + @property + def sourcesMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata]: ... + def __init__( + self, + *, + sectionTitle: builtins.str | None = ..., + sectionBody: builtins.str | None = ..., + sourcesMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sectionBody", b"sectionBody", "sectionTitle", b"sectionTitle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sectionBody", b"sectionBody", "sectionTitle", b"sectionTitle", "sourcesMetadata", b"sourcesMetadata"]) -> None: ... + + @typing.final + class BotPlanningSearchSourceMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + PROVIDER_FIELD_NUMBER: builtins.int + SOURCEURL_FIELD_NUMBER: builtins.int + FAVICONURL_FIELD_NUMBER: builtins.int + title: builtins.str + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType + sourceURL: builtins.str + favIconURL: builtins.str + def __init__( + self, + *, + title: builtins.str | None = ..., + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType | None = ..., + sourceURL: builtins.str | None = ..., + favIconURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["favIconURL", b"favIconURL", "provider", b"provider", "sourceURL", b"sourceURL", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["favIconURL", b"favIconURL", "provider", b"provider", "sourceURL", b"sourceURL", "title", b"title"]) -> None: ... + + STATUSTITLE_FIELD_NUMBER: builtins.int + STATUSBODY_FIELD_NUMBER: builtins.int + SOURCESMETADATA_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + ISREASONING_FIELD_NUMBER: builtins.int + ISENHANCEDSEARCH_FIELD_NUMBER: builtins.int + SECTIONS_FIELD_NUMBER: builtins.int + statusTitle: builtins.str + statusBody: builtins.str + status: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType + isReasoning: builtins.bool + isEnhancedSearch: builtins.bool + @property + def sourcesMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata]: ... + @property + def sections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata]: ... + def __init__( + self, + *, + statusTitle: builtins.str | None = ..., + statusBody: builtins.str | None = ..., + sourcesMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata] | None = ..., + status: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType | None = ..., + isReasoning: builtins.bool | None = ..., + isEnhancedSearch: builtins.bool | None = ..., + sections: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isEnhancedSearch", b"isEnhancedSearch", "isReasoning", b"isReasoning", "status", b"status", "statusBody", b"statusBody", "statusTitle", b"statusTitle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isEnhancedSearch", b"isEnhancedSearch", "isReasoning", b"isReasoning", "sections", b"sections", "sourcesMetadata", b"sourcesMetadata", "status", b"status", "statusBody", b"statusBody", "statusTitle", b"statusTitle"]) -> None: ... + + PROGRESSDESCRIPTION_FIELD_NUMBER: builtins.int + STEPSMETADATA_FIELD_NUMBER: builtins.int + progressDescription: builtins.str + @property + def stepsMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata]: ... + def __init__( + self, + *, + progressDescription: builtins.str | None = ..., + stepsMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["progressDescription", b"progressDescription"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["progressDescription", b"progressDescription", "stepsMetadata", b"stepsMetadata"]) -> None: ... + +global___BotProgressIndicatorMetadata = BotProgressIndicatorMetadata + +@typing.final +class BotCapabilityMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotCapabilityType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotCapabilityTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotCapabilityMetadata._BotCapabilityType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotCapabilityMetadata._BotCapabilityType.ValueType # 0 + PROGRESS_INDICATOR: BotCapabilityMetadata._BotCapabilityType.ValueType # 1 + RICH_RESPONSE_HEADING: BotCapabilityMetadata._BotCapabilityType.ValueType # 2 + RICH_RESPONSE_NESTED_LIST: BotCapabilityMetadata._BotCapabilityType.ValueType # 3 + AI_MEMORY: BotCapabilityMetadata._BotCapabilityType.ValueType # 4 + RICH_RESPONSE_THREAD_SURFING: BotCapabilityMetadata._BotCapabilityType.ValueType # 5 + RICH_RESPONSE_TABLE: BotCapabilityMetadata._BotCapabilityType.ValueType # 6 + RICH_RESPONSE_CODE: BotCapabilityMetadata._BotCapabilityType.ValueType # 7 + RICH_RESPONSE_STRUCTURED_RESPONSE: BotCapabilityMetadata._BotCapabilityType.ValueType # 8 + RICH_RESPONSE_INLINE_IMAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 9 + WA_IG_1P_PLUGIN_RANKING_CONTROL: BotCapabilityMetadata._BotCapabilityType.ValueType # 10 + WA_IG_1P_PLUGIN_RANKING_UPDATE_1: BotCapabilityMetadata._BotCapabilityType.ValueType # 11 + WA_IG_1P_PLUGIN_RANKING_UPDATE_2: BotCapabilityMetadata._BotCapabilityType.ValueType # 12 + WA_IG_1P_PLUGIN_RANKING_UPDATE_3: BotCapabilityMetadata._BotCapabilityType.ValueType # 13 + WA_IG_1P_PLUGIN_RANKING_UPDATE_4: BotCapabilityMetadata._BotCapabilityType.ValueType # 14 + WA_IG_1P_PLUGIN_RANKING_UPDATE_5: BotCapabilityMetadata._BotCapabilityType.ValueType # 15 + WA_IG_1P_PLUGIN_RANKING_UPDATE_6: BotCapabilityMetadata._BotCapabilityType.ValueType # 16 + WA_IG_1P_PLUGIN_RANKING_UPDATE_7: BotCapabilityMetadata._BotCapabilityType.ValueType # 17 + WA_IG_1P_PLUGIN_RANKING_UPDATE_8: BotCapabilityMetadata._BotCapabilityType.ValueType # 18 + WA_IG_1P_PLUGIN_RANKING_UPDATE_9: BotCapabilityMetadata._BotCapabilityType.ValueType # 19 + WA_IG_1P_PLUGIN_RANKING_UPDATE_10: BotCapabilityMetadata._BotCapabilityType.ValueType # 20 + RICH_RESPONSE_SUB_HEADING: BotCapabilityMetadata._BotCapabilityType.ValueType # 21 + RICH_RESPONSE_GRID_IMAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 22 + AI_STUDIO_UGC_MEMORY: BotCapabilityMetadata._BotCapabilityType.ValueType # 23 + RICH_RESPONSE_LATEX: BotCapabilityMetadata._BotCapabilityType.ValueType # 24 + RICH_RESPONSE_MAPS: BotCapabilityMetadata._BotCapabilityType.ValueType # 25 + RICH_RESPONSE_INLINE_REELS: BotCapabilityMetadata._BotCapabilityType.ValueType # 26 + AGENTIC_PLANNING: BotCapabilityMetadata._BotCapabilityType.ValueType # 27 + ACCOUNT_LINKING: BotCapabilityMetadata._BotCapabilityType.ValueType # 28 + STREAMING_DISAGGREGATION: BotCapabilityMetadata._BotCapabilityType.ValueType # 29 + RICH_RESPONSE_GRID_IMAGE_3P: BotCapabilityMetadata._BotCapabilityType.ValueType # 30 + RICH_RESPONSE_LATEX_INLINE: BotCapabilityMetadata._BotCapabilityType.ValueType # 31 + QUERY_PLAN: BotCapabilityMetadata._BotCapabilityType.ValueType # 32 + PROACTIVE_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 33 + RICH_RESPONSE_UNIFIED_RESPONSE: BotCapabilityMetadata._BotCapabilityType.ValueType # 34 + PROMOTION_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 35 + SIMPLIFIED_PROFILE_PAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 36 + RICH_RESPONSE_SOURCES_IN_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 37 + RICH_RESPONSE_SIDE_BY_SIDE_SURVEY: BotCapabilityMetadata._BotCapabilityType.ValueType # 38 + RICH_RESPONSE_UNIFIED_TEXT_COMPONENT: BotCapabilityMetadata._BotCapabilityType.ValueType # 39 + AI_SHARED_MEMORY: BotCapabilityMetadata._BotCapabilityType.ValueType # 40 + RICH_RESPONSE_UNIFIED_SOURCES: BotCapabilityMetadata._BotCapabilityType.ValueType # 41 + RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS: BotCapabilityMetadata._BotCapabilityType.ValueType # 42 + RICH_RESPONSE_UR_INLINE_REELS_ENABLED: BotCapabilityMetadata._BotCapabilityType.ValueType # 43 + RICH_RESPONSE_UR_MEDIA_GRID_ENABLED: BotCapabilityMetadata._BotCapabilityType.ValueType # 44 + RICH_RESPONSE_UR_TIMESTAMP_PLACEHOLDER: BotCapabilityMetadata._BotCapabilityType.ValueType # 45 + + class BotCapabilityType(_BotCapabilityType, metaclass=_BotCapabilityTypeEnumTypeWrapper): ... + UNKNOWN: BotCapabilityMetadata.BotCapabilityType.ValueType # 0 + PROGRESS_INDICATOR: BotCapabilityMetadata.BotCapabilityType.ValueType # 1 + RICH_RESPONSE_HEADING: BotCapabilityMetadata.BotCapabilityType.ValueType # 2 + RICH_RESPONSE_NESTED_LIST: BotCapabilityMetadata.BotCapabilityType.ValueType # 3 + AI_MEMORY: BotCapabilityMetadata.BotCapabilityType.ValueType # 4 + RICH_RESPONSE_THREAD_SURFING: BotCapabilityMetadata.BotCapabilityType.ValueType # 5 + RICH_RESPONSE_TABLE: BotCapabilityMetadata.BotCapabilityType.ValueType # 6 + RICH_RESPONSE_CODE: BotCapabilityMetadata.BotCapabilityType.ValueType # 7 + RICH_RESPONSE_STRUCTURED_RESPONSE: BotCapabilityMetadata.BotCapabilityType.ValueType # 8 + RICH_RESPONSE_INLINE_IMAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 9 + WA_IG_1P_PLUGIN_RANKING_CONTROL: BotCapabilityMetadata.BotCapabilityType.ValueType # 10 + WA_IG_1P_PLUGIN_RANKING_UPDATE_1: BotCapabilityMetadata.BotCapabilityType.ValueType # 11 + WA_IG_1P_PLUGIN_RANKING_UPDATE_2: BotCapabilityMetadata.BotCapabilityType.ValueType # 12 + WA_IG_1P_PLUGIN_RANKING_UPDATE_3: BotCapabilityMetadata.BotCapabilityType.ValueType # 13 + WA_IG_1P_PLUGIN_RANKING_UPDATE_4: BotCapabilityMetadata.BotCapabilityType.ValueType # 14 + WA_IG_1P_PLUGIN_RANKING_UPDATE_5: BotCapabilityMetadata.BotCapabilityType.ValueType # 15 + WA_IG_1P_PLUGIN_RANKING_UPDATE_6: BotCapabilityMetadata.BotCapabilityType.ValueType # 16 + WA_IG_1P_PLUGIN_RANKING_UPDATE_7: BotCapabilityMetadata.BotCapabilityType.ValueType # 17 + WA_IG_1P_PLUGIN_RANKING_UPDATE_8: BotCapabilityMetadata.BotCapabilityType.ValueType # 18 + WA_IG_1P_PLUGIN_RANKING_UPDATE_9: BotCapabilityMetadata.BotCapabilityType.ValueType # 19 + WA_IG_1P_PLUGIN_RANKING_UPDATE_10: BotCapabilityMetadata.BotCapabilityType.ValueType # 20 + RICH_RESPONSE_SUB_HEADING: BotCapabilityMetadata.BotCapabilityType.ValueType # 21 + RICH_RESPONSE_GRID_IMAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 22 + AI_STUDIO_UGC_MEMORY: BotCapabilityMetadata.BotCapabilityType.ValueType # 23 + RICH_RESPONSE_LATEX: BotCapabilityMetadata.BotCapabilityType.ValueType # 24 + RICH_RESPONSE_MAPS: BotCapabilityMetadata.BotCapabilityType.ValueType # 25 + RICH_RESPONSE_INLINE_REELS: BotCapabilityMetadata.BotCapabilityType.ValueType # 26 + AGENTIC_PLANNING: BotCapabilityMetadata.BotCapabilityType.ValueType # 27 + ACCOUNT_LINKING: BotCapabilityMetadata.BotCapabilityType.ValueType # 28 + STREAMING_DISAGGREGATION: BotCapabilityMetadata.BotCapabilityType.ValueType # 29 + RICH_RESPONSE_GRID_IMAGE_3P: BotCapabilityMetadata.BotCapabilityType.ValueType # 30 + RICH_RESPONSE_LATEX_INLINE: BotCapabilityMetadata.BotCapabilityType.ValueType # 31 + QUERY_PLAN: BotCapabilityMetadata.BotCapabilityType.ValueType # 32 + PROACTIVE_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 33 + RICH_RESPONSE_UNIFIED_RESPONSE: BotCapabilityMetadata.BotCapabilityType.ValueType # 34 + PROMOTION_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 35 + SIMPLIFIED_PROFILE_PAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 36 + RICH_RESPONSE_SOURCES_IN_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 37 + RICH_RESPONSE_SIDE_BY_SIDE_SURVEY: BotCapabilityMetadata.BotCapabilityType.ValueType # 38 + RICH_RESPONSE_UNIFIED_TEXT_COMPONENT: BotCapabilityMetadata.BotCapabilityType.ValueType # 39 + AI_SHARED_MEMORY: BotCapabilityMetadata.BotCapabilityType.ValueType # 40 + RICH_RESPONSE_UNIFIED_SOURCES: BotCapabilityMetadata.BotCapabilityType.ValueType # 41 + RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS: BotCapabilityMetadata.BotCapabilityType.ValueType # 42 + RICH_RESPONSE_UR_INLINE_REELS_ENABLED: BotCapabilityMetadata.BotCapabilityType.ValueType # 43 + RICH_RESPONSE_UR_MEDIA_GRID_ENABLED: BotCapabilityMetadata.BotCapabilityType.ValueType # 44 + RICH_RESPONSE_UR_TIMESTAMP_PLACEHOLDER: BotCapabilityMetadata.BotCapabilityType.ValueType # 45 + + CAPABILITIES_FIELD_NUMBER: builtins.int + @property + def capabilities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___BotCapabilityMetadata.BotCapabilityType.ValueType]: ... + def __init__( + self, + *, + capabilities: collections.abc.Iterable[global___BotCapabilityMetadata.BotCapabilityType.ValueType] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["capabilities", b"capabilities"]) -> None: ... + +global___BotCapabilityMetadata = BotCapabilityMetadata + +@typing.final +class BotModeSelectionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotUserSelectionMode: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotUserSelectionModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModeSelectionMetadata._BotUserSelectionMode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_MODE: BotModeSelectionMetadata._BotUserSelectionMode.ValueType # 0 + REASONING_MODE: BotModeSelectionMetadata._BotUserSelectionMode.ValueType # 1 + + class BotUserSelectionMode(_BotUserSelectionMode, metaclass=_BotUserSelectionModeEnumTypeWrapper): ... + UNKNOWN_MODE: BotModeSelectionMetadata.BotUserSelectionMode.ValueType # 0 + REASONING_MODE: BotModeSelectionMetadata.BotUserSelectionMode.ValueType # 1 + + MODE_FIELD_NUMBER: builtins.int + @property + def mode(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___BotModeSelectionMetadata.BotUserSelectionMode.ValueType]: ... + def __init__( + self, + *, + mode: collections.abc.Iterable[global___BotModeSelectionMetadata.BotUserSelectionMode.ValueType] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["mode", b"mode"]) -> None: ... + +global___BotModeSelectionMetadata = BotModeSelectionMetadata + +@typing.final +class BotQuotaMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class BotFeatureQuotaMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotFeatureType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotFeatureTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType # 0 + REASONING_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType # 1 + + class BotFeatureType(_BotFeatureType, metaclass=_BotFeatureTypeEnumTypeWrapper): ... + UNKNOWN_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType # 0 + REASONING_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType # 1 + + FEATURETYPE_FIELD_NUMBER: builtins.int + REMAININGQUOTA_FIELD_NUMBER: builtins.int + EXPIRATIONTIMESTAMP_FIELD_NUMBER: builtins.int + featureType: global___BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType + remainingQuota: builtins.int + expirationTimestamp: builtins.int + def __init__( + self, + *, + featureType: global___BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType | None = ..., + remainingQuota: builtins.int | None = ..., + expirationTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["expirationTimestamp", b"expirationTimestamp", "featureType", b"featureType", "remainingQuota", b"remainingQuota"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["expirationTimestamp", b"expirationTimestamp", "featureType", b"featureType", "remainingQuota", b"remainingQuota"]) -> None: ... + + BOTFEATUREQUOTAMETADATA_FIELD_NUMBER: builtins.int + @property + def botFeatureQuotaMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotQuotaMetadata.BotFeatureQuotaMetadata]: ... + def __init__( + self, + *, + botFeatureQuotaMetadata: collections.abc.Iterable[global___BotQuotaMetadata.BotFeatureQuotaMetadata] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["botFeatureQuotaMetadata", b"botFeatureQuotaMetadata"]) -> None: ... + +global___BotQuotaMetadata = BotQuotaMetadata + +@typing.final +class BotImagineMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ImagineType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ImagineTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotImagineMetadata._ImagineType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotImagineMetadata._ImagineType.ValueType # 0 + IMAGINE: BotImagineMetadata._ImagineType.ValueType # 1 + MEMU: BotImagineMetadata._ImagineType.ValueType # 2 + FLASH: BotImagineMetadata._ImagineType.ValueType # 3 + EDIT: BotImagineMetadata._ImagineType.ValueType # 4 + + class ImagineType(_ImagineType, metaclass=_ImagineTypeEnumTypeWrapper): ... + UNKNOWN: BotImagineMetadata.ImagineType.ValueType # 0 + IMAGINE: BotImagineMetadata.ImagineType.ValueType # 1 + MEMU: BotImagineMetadata.ImagineType.ValueType # 2 + FLASH: BotImagineMetadata.ImagineType.ValueType # 3 + EDIT: BotImagineMetadata.ImagineType.ValueType # 4 + + IMAGINETYPE_FIELD_NUMBER: builtins.int + imagineType: global___BotImagineMetadata.ImagineType.ValueType + def __init__( + self, + *, + imagineType: global___BotImagineMetadata.ImagineType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["imagineType", b"imagineType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["imagineType", b"imagineType"]) -> None: ... + +global___BotImagineMetadata = BotImagineMetadata + +@typing.final +class BotAgeCollectionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AgeCollectionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AgeCollectionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotAgeCollectionMetadata._AgeCollectionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + O18_BINARY: BotAgeCollectionMetadata._AgeCollectionType.ValueType # 0 + WAFFLE: BotAgeCollectionMetadata._AgeCollectionType.ValueType # 1 + + class AgeCollectionType(_AgeCollectionType, metaclass=_AgeCollectionTypeEnumTypeWrapper): ... + O18_BINARY: BotAgeCollectionMetadata.AgeCollectionType.ValueType # 0 + WAFFLE: BotAgeCollectionMetadata.AgeCollectionType.ValueType # 1 + + AGECOLLECTIONELIGIBLE_FIELD_NUMBER: builtins.int + SHOULDTRIGGERAGECOLLECTIONONCLIENT_FIELD_NUMBER: builtins.int + AGECOLLECTIONTYPE_FIELD_NUMBER: builtins.int + ageCollectionEligible: builtins.bool + shouldTriggerAgeCollectionOnClient: builtins.bool + ageCollectionType: global___BotAgeCollectionMetadata.AgeCollectionType.ValueType + def __init__( + self, + *, + ageCollectionEligible: builtins.bool | None = ..., + shouldTriggerAgeCollectionOnClient: builtins.bool | None = ..., + ageCollectionType: global___BotAgeCollectionMetadata.AgeCollectionType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ageCollectionEligible", b"ageCollectionEligible", "ageCollectionType", b"ageCollectionType", "shouldTriggerAgeCollectionOnClient", b"shouldTriggerAgeCollectionOnClient"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ageCollectionEligible", b"ageCollectionEligible", "ageCollectionType", b"ageCollectionType", "shouldTriggerAgeCollectionOnClient", b"shouldTriggerAgeCollectionOnClient"]) -> None: ... + +global___BotAgeCollectionMetadata = BotAgeCollectionMetadata + +@typing.final +class BotSourcesMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class BotSourceItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _SourceProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 0 + BING: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 1 + GOOGLE: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 2 + SUPPORT: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 3 + OTHER: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 4 + + class SourceProvider(_SourceProvider, metaclass=_SourceProviderEnumTypeWrapper): ... + UNKNOWN: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 0 + BING: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 1 + GOOGLE: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 2 + SUPPORT: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 3 + OTHER: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 4 + + PROVIDER_FIELD_NUMBER: builtins.int + THUMBNAILCDNURL_FIELD_NUMBER: builtins.int + SOURCEPROVIDERURL_FIELD_NUMBER: builtins.int + SOURCEQUERY_FIELD_NUMBER: builtins.int + FAVICONCDNURL_FIELD_NUMBER: builtins.int + CITATIONNUMBER_FIELD_NUMBER: builtins.int + SOURCETITLE_FIELD_NUMBER: builtins.int + provider: global___BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType + thumbnailCDNURL: builtins.str + sourceProviderURL: builtins.str + sourceQuery: builtins.str + faviconCDNURL: builtins.str + citationNumber: builtins.int + sourceTitle: builtins.str + def __init__( + self, + *, + provider: global___BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType | None = ..., + thumbnailCDNURL: builtins.str | None = ..., + sourceProviderURL: builtins.str | None = ..., + sourceQuery: builtins.str | None = ..., + faviconCDNURL: builtins.str | None = ..., + citationNumber: builtins.int | None = ..., + sourceTitle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["citationNumber", b"citationNumber", "faviconCDNURL", b"faviconCDNURL", "provider", b"provider", "sourceProviderURL", b"sourceProviderURL", "sourceQuery", b"sourceQuery", "sourceTitle", b"sourceTitle", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["citationNumber", b"citationNumber", "faviconCDNURL", b"faviconCDNURL", "provider", b"provider", "sourceProviderURL", b"sourceProviderURL", "sourceQuery", b"sourceQuery", "sourceTitle", b"sourceTitle", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> None: ... + + SOURCES_FIELD_NUMBER: builtins.int + @property + def sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotSourcesMetadata.BotSourceItem]: ... + def __init__( + self, + *, + sources: collections.abc.Iterable[global___BotSourcesMetadata.BotSourceItem] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["sources", b"sources"]) -> None: ... + +global___BotSourcesMetadata = BotSourcesMetadata + +@typing.final +class BotMessageOrigin(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotMessageOriginType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotMessageOriginTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotMessageOrigin._BotMessageOriginType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED: BotMessageOrigin._BotMessageOriginType.ValueType # 0 + + class BotMessageOriginType(_BotMessageOriginType, metaclass=_BotMessageOriginTypeEnumTypeWrapper): ... + BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED: BotMessageOrigin.BotMessageOriginType.ValueType # 0 + + TYPE_FIELD_NUMBER: builtins.int + type: global___BotMessageOrigin.BotMessageOriginType.ValueType + def __init__( + self, + *, + type: global___BotMessageOrigin.BotMessageOriginType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + +global___BotMessageOrigin = BotMessageOrigin + +@typing.final +class AIThreadInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class AIThreadClientInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AIThreadType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AIThreadTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIThreadInfo.AIThreadClientInfo._AIThreadType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: AIThreadInfo.AIThreadClientInfo._AIThreadType.ValueType # 0 + DEFAULT: AIThreadInfo.AIThreadClientInfo._AIThreadType.ValueType # 1 + INCOGNITO: AIThreadInfo.AIThreadClientInfo._AIThreadType.ValueType # 2 + + class AIThreadType(_AIThreadType, metaclass=_AIThreadTypeEnumTypeWrapper): ... + UNKNOWN: AIThreadInfo.AIThreadClientInfo.AIThreadType.ValueType # 0 + DEFAULT: AIThreadInfo.AIThreadClientInfo.AIThreadType.ValueType # 1 + INCOGNITO: AIThreadInfo.AIThreadClientInfo.AIThreadType.ValueType # 2 + + TYPE_FIELD_NUMBER: builtins.int + type: global___AIThreadInfo.AIThreadClientInfo.AIThreadType.ValueType + def __init__( + self, + *, + type: global___AIThreadInfo.AIThreadClientInfo.AIThreadType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + + @typing.final + class AIThreadServerInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + title: builtins.str + def __init__( + self, + *, + title: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["title", b"title"]) -> None: ... + + SERVERINFO_FIELD_NUMBER: builtins.int + CLIENTINFO_FIELD_NUMBER: builtins.int + @property + def serverInfo(self) -> global___AIThreadInfo.AIThreadServerInfo: ... + @property + def clientInfo(self) -> global___AIThreadInfo.AIThreadClientInfo: ... + def __init__( + self, + *, + serverInfo: global___AIThreadInfo.AIThreadServerInfo | None = ..., + clientInfo: global___AIThreadInfo.AIThreadClientInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["clientInfo", b"clientInfo", "serverInfo", b"serverInfo"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clientInfo", b"clientInfo", "serverInfo", b"serverInfo"]) -> None: ... + +global___AIThreadInfo = AIThreadInfo + +@typing.final +class BotFeedbackMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ReportKind: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ReportKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._ReportKind.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: BotFeedbackMessage._ReportKind.ValueType # 0 + GENERIC: BotFeedbackMessage._ReportKind.ValueType # 1 + + class ReportKind(_ReportKind, metaclass=_ReportKindEnumTypeWrapper): ... + NONE: BotFeedbackMessage.ReportKind.ValueType # 0 + GENERIC: BotFeedbackMessage.ReportKind.ValueType # 1 + + class _BotFeedbackKindMultiplePositive: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotFeedbackKindMultiplePositiveEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._BotFeedbackKindMultiplePositive.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC: BotFeedbackMessage._BotFeedbackKindMultiplePositive.ValueType # 1 + + class BotFeedbackKindMultiplePositive(_BotFeedbackKindMultiplePositive, metaclass=_BotFeedbackKindMultiplePositiveEnumTypeWrapper): ... + BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC: BotFeedbackMessage.BotFeedbackKindMultiplePositive.ValueType # 1 + + class _BotFeedbackKindMultipleNegative: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotFeedbackKindMultipleNegativeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 1 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 2 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 4 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 8 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 16 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 32 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 64 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 128 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType # 256 + + class BotFeedbackKindMultipleNegative(_BotFeedbackKindMultipleNegative, metaclass=_BotFeedbackKindMultipleNegativeEnumTypeWrapper): ... + BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 1 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 2 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 4 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 8 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 16 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 32 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 64 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 128 + BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType # 256 + + class _BotFeedbackKind: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotFeedbackKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._BotFeedbackKind.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BOT_FEEDBACK_POSITIVE: BotFeedbackMessage._BotFeedbackKind.ValueType # 0 + BOT_FEEDBACK_NEGATIVE_GENERIC: BotFeedbackMessage._BotFeedbackKind.ValueType # 1 + BOT_FEEDBACK_NEGATIVE_HELPFUL: BotFeedbackMessage._BotFeedbackKind.ValueType # 2 + BOT_FEEDBACK_NEGATIVE_INTERESTING: BotFeedbackMessage._BotFeedbackKind.ValueType # 3 + BOT_FEEDBACK_NEGATIVE_ACCURATE: BotFeedbackMessage._BotFeedbackKind.ValueType # 4 + BOT_FEEDBACK_NEGATIVE_SAFE: BotFeedbackMessage._BotFeedbackKind.ValueType # 5 + BOT_FEEDBACK_NEGATIVE_OTHER: BotFeedbackMessage._BotFeedbackKind.ValueType # 6 + BOT_FEEDBACK_NEGATIVE_REFUSED: BotFeedbackMessage._BotFeedbackKind.ValueType # 7 + BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage._BotFeedbackKind.ValueType # 8 + BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage._BotFeedbackKind.ValueType # 9 + BOT_FEEDBACK_NEGATIVE_PERSONALIZED: BotFeedbackMessage._BotFeedbackKind.ValueType # 10 + BOT_FEEDBACK_NEGATIVE_CLARITY: BotFeedbackMessage._BotFeedbackKind.ValueType # 11 + BOT_FEEDBACK_NEGATIVE_DOESNT_LOOK_LIKE_THE_PERSON: BotFeedbackMessage._BotFeedbackKind.ValueType # 12 + BOT_FEEDBACK_NEGATIVE_HALLUCINATION_INTERNAL_ONLY: BotFeedbackMessage._BotFeedbackKind.ValueType # 13 + BOT_FEEDBACK_NEGATIVE: BotFeedbackMessage._BotFeedbackKind.ValueType # 14 + + class BotFeedbackKind(_BotFeedbackKind, metaclass=_BotFeedbackKindEnumTypeWrapper): ... + BOT_FEEDBACK_POSITIVE: BotFeedbackMessage.BotFeedbackKind.ValueType # 0 + BOT_FEEDBACK_NEGATIVE_GENERIC: BotFeedbackMessage.BotFeedbackKind.ValueType # 1 + BOT_FEEDBACK_NEGATIVE_HELPFUL: BotFeedbackMessage.BotFeedbackKind.ValueType # 2 + BOT_FEEDBACK_NEGATIVE_INTERESTING: BotFeedbackMessage.BotFeedbackKind.ValueType # 3 + BOT_FEEDBACK_NEGATIVE_ACCURATE: BotFeedbackMessage.BotFeedbackKind.ValueType # 4 + BOT_FEEDBACK_NEGATIVE_SAFE: BotFeedbackMessage.BotFeedbackKind.ValueType # 5 + BOT_FEEDBACK_NEGATIVE_OTHER: BotFeedbackMessage.BotFeedbackKind.ValueType # 6 + BOT_FEEDBACK_NEGATIVE_REFUSED: BotFeedbackMessage.BotFeedbackKind.ValueType # 7 + BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage.BotFeedbackKind.ValueType # 8 + BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage.BotFeedbackKind.ValueType # 9 + BOT_FEEDBACK_NEGATIVE_PERSONALIZED: BotFeedbackMessage.BotFeedbackKind.ValueType # 10 + BOT_FEEDBACK_NEGATIVE_CLARITY: BotFeedbackMessage.BotFeedbackKind.ValueType # 11 + BOT_FEEDBACK_NEGATIVE_DOESNT_LOOK_LIKE_THE_PERSON: BotFeedbackMessage.BotFeedbackKind.ValueType # 12 + BOT_FEEDBACK_NEGATIVE_HALLUCINATION_INTERNAL_ONLY: BotFeedbackMessage.BotFeedbackKind.ValueType # 13 + BOT_FEEDBACK_NEGATIVE: BotFeedbackMessage.BotFeedbackKind.ValueType # 14 + + @typing.final + class SideBySideSurveyMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class SideBySideSurveyAnalyticsData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TESSAEVENT_FIELD_NUMBER: builtins.int + TESSASESSIONFBID_FIELD_NUMBER: builtins.int + tessaEvent: builtins.str + tessaSessionFbid: builtins.str + def __init__( + self, + *, + tessaEvent: builtins.str | None = ..., + tessaSessionFbid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["tessaEvent", b"tessaEvent", "tessaSessionFbid", b"tessaSessionFbid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["tessaEvent", b"tessaEvent", "tessaSessionFbid", b"tessaSessionFbid"]) -> None: ... + + SELECTEDREQUESTID_FIELD_NUMBER: builtins.int + SURVEYID_FIELD_NUMBER: builtins.int + SIMONSESSIONFBID_FIELD_NUMBER: builtins.int + RESPONSEOTID_FIELD_NUMBER: builtins.int + RESPONSETIMESTAMPMSSTRING_FIELD_NUMBER: builtins.int + ISSELECTEDRESPONSEPRIMARY_FIELD_NUMBER: builtins.int + MESSAGEIDTOEDIT_FIELD_NUMBER: builtins.int + ANALYTICSDATA_FIELD_NUMBER: builtins.int + selectedRequestID: builtins.str + surveyID: builtins.int + simonSessionFbid: builtins.str + responseOtid: builtins.str + responseTimestampMSString: builtins.str + isSelectedResponsePrimary: builtins.bool + messageIDToEdit: builtins.str + @property + def analyticsData(self) -> global___BotFeedbackMessage.SideBySideSurveyMetadata.SideBySideSurveyAnalyticsData: ... + def __init__( + self, + *, + selectedRequestID: builtins.str | None = ..., + surveyID: builtins.int | None = ..., + simonSessionFbid: builtins.str | None = ..., + responseOtid: builtins.str | None = ..., + responseTimestampMSString: builtins.str | None = ..., + isSelectedResponsePrimary: builtins.bool | None = ..., + messageIDToEdit: builtins.str | None = ..., + analyticsData: global___BotFeedbackMessage.SideBySideSurveyMetadata.SideBySideSurveyAnalyticsData | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["analyticsData", b"analyticsData", "isSelectedResponsePrimary", b"isSelectedResponsePrimary", "messageIDToEdit", b"messageIDToEdit", "responseOtid", b"responseOtid", "responseTimestampMSString", b"responseTimestampMSString", "selectedRequestID", b"selectedRequestID", "simonSessionFbid", b"simonSessionFbid", "surveyID", b"surveyID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["analyticsData", b"analyticsData", "isSelectedResponsePrimary", b"isSelectedResponsePrimary", "messageIDToEdit", b"messageIDToEdit", "responseOtid", b"responseOtid", "responseTimestampMSString", b"responseTimestampMSString", "selectedRequestID", b"selectedRequestID", "simonSessionFbid", b"simonSessionFbid", "surveyID", b"surveyID"]) -> None: ... + + MESSAGEKEY_FIELD_NUMBER: builtins.int + KIND_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + KINDNEGATIVE_FIELD_NUMBER: builtins.int + KINDPOSITIVE_FIELD_NUMBER: builtins.int + KINDREPORT_FIELD_NUMBER: builtins.int + SIDEBYSIDESURVEYMETADATA_FIELD_NUMBER: builtins.int + kind: global___BotFeedbackMessage.BotFeedbackKind.ValueType + text: builtins.str + kindNegative: builtins.int + kindPositive: builtins.int + kindReport: global___BotFeedbackMessage.ReportKind.ValueType + @property + def messageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def sideBySideSurveyMetadata(self) -> global___BotFeedbackMessage.SideBySideSurveyMetadata: ... + def __init__( + self, + *, + messageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + kind: global___BotFeedbackMessage.BotFeedbackKind.ValueType | None = ..., + text: builtins.str | None = ..., + kindNegative: builtins.int | None = ..., + kindPositive: builtins.int | None = ..., + kindReport: global___BotFeedbackMessage.ReportKind.ValueType | None = ..., + sideBySideSurveyMetadata: global___BotFeedbackMessage.SideBySideSurveyMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["kind", b"kind", "kindNegative", b"kindNegative", "kindPositive", b"kindPositive", "kindReport", b"kindReport", "messageKey", b"messageKey", "sideBySideSurveyMetadata", b"sideBySideSurveyMetadata", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["kind", b"kind", "kindNegative", b"kindNegative", "kindPositive", b"kindPositive", "kindReport", b"kindReport", "messageKey", b"messageKey", "sideBySideSurveyMetadata", b"sideBySideSurveyMetadata", "text", b"text"]) -> None: ... + +global___BotFeedbackMessage = BotFeedbackMessage + +@typing.final +class AIRichResponseInlineImageMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AIRichResponseImageAlignment: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AIRichResponseImageAlignmentEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED: AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType # 0 + AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED: AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType # 1 + AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED: AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType # 2 + + class AIRichResponseImageAlignment(_AIRichResponseImageAlignment, metaclass=_AIRichResponseImageAlignmentEnumTypeWrapper): ... + AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED: AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType # 0 + AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED: AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType # 1 + AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED: AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType # 2 + + IMAGEURL_FIELD_NUMBER: builtins.int + IMAGETEXT_FIELD_NUMBER: builtins.int + ALIGNMENT_FIELD_NUMBER: builtins.int + TAPLINKURL_FIELD_NUMBER: builtins.int + imageText: builtins.str + alignment: global___AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType + tapLinkURL: builtins.str + @property + def imageURL(self) -> global___AIRichResponseImageURL: ... + def __init__( + self, + *, + imageURL: global___AIRichResponseImageURL | None = ..., + imageText: builtins.str | None = ..., + alignment: global___AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType | None = ..., + tapLinkURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["alignment", b"alignment", "imageText", b"imageText", "imageURL", b"imageURL", "tapLinkURL", b"tapLinkURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["alignment", b"alignment", "imageText", b"imageText", "imageURL", b"imageURL", "tapLinkURL", b"tapLinkURL"]) -> None: ... + +global___AIRichResponseInlineImageMetadata = AIRichResponseInlineImageMetadata + +@typing.final +class AIRichResponseCodeMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AIRichResponseCodeHighlightType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AIRichResponseCodeHighlightTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType # 0 + AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType # 1 + AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType # 2 + AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType # 3 + AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType # 4 + AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType # 5 + + class AIRichResponseCodeHighlightType(_AIRichResponseCodeHighlightType, metaclass=_AIRichResponseCodeHighlightTypeEnumTypeWrapper): ... + AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType # 0 + AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType # 1 + AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType # 2 + AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType # 3 + AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType # 4 + AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType # 5 + + @typing.final + class AIRichResponseCodeBlock(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + HIGHLIGHTTYPE_FIELD_NUMBER: builtins.int + CODECONTENT_FIELD_NUMBER: builtins.int + highlightType: global___AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType + codeContent: builtins.str + def __init__( + self, + *, + highlightType: global___AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType | None = ..., + codeContent: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["codeContent", b"codeContent", "highlightType", b"highlightType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["codeContent", b"codeContent", "highlightType", b"highlightType"]) -> None: ... + + CODELANGUAGE_FIELD_NUMBER: builtins.int + CODEBLOCKS_FIELD_NUMBER: builtins.int + codeLanguage: builtins.str + @property + def codeBlocks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseCodeMetadata.AIRichResponseCodeBlock]: ... + def __init__( + self, + *, + codeLanguage: builtins.str | None = ..., + codeBlocks: collections.abc.Iterable[global___AIRichResponseCodeMetadata.AIRichResponseCodeBlock] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["codeLanguage", b"codeLanguage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["codeBlocks", b"codeBlocks", "codeLanguage", b"codeLanguage"]) -> None: ... + +global___AIRichResponseCodeMetadata = AIRichResponseCodeMetadata + +@typing.final +class AIRichResponseDynamicMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AIRichResponseDynamicMetadataType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AIRichResponseDynamicMetadataTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN: AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType # 0 + AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE: AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType # 1 + AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF: AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType # 2 + + class AIRichResponseDynamicMetadataType(_AIRichResponseDynamicMetadataType, metaclass=_AIRichResponseDynamicMetadataTypeEnumTypeWrapper): ... + AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN: AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType # 0 + AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE: AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType # 1 + AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF: AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType # 2 + + TYPE_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + URL_FIELD_NUMBER: builtins.int + LOOPCOUNT_FIELD_NUMBER: builtins.int + type: global___AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType + version: builtins.int + URL: builtins.str + loopCount: builtins.int + def __init__( + self, + *, + type: global___AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType | None = ..., + version: builtins.int | None = ..., + URL: builtins.str | None = ..., + loopCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "loopCount", b"loopCount", "type", b"type", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "loopCount", b"loopCount", "type", b"type", "version", b"version"]) -> None: ... + +global___AIRichResponseDynamicMetadata = AIRichResponseDynamicMetadata + +@typing.final +class AIRichResponseContentItemsMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ContentType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ContentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIRichResponseContentItemsMetadata._ContentType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DEFAULT: AIRichResponseContentItemsMetadata._ContentType.ValueType # 0 + CAROUSEL: AIRichResponseContentItemsMetadata._ContentType.ValueType # 1 + + class ContentType(_ContentType, metaclass=_ContentTypeEnumTypeWrapper): ... + DEFAULT: AIRichResponseContentItemsMetadata.ContentType.ValueType # 0 + CAROUSEL: AIRichResponseContentItemsMetadata.ContentType.ValueType # 1 + + @typing.final + class AIRichResponseContentItemMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REELITEM_FIELD_NUMBER: builtins.int + @property + def reelItem(self) -> global___AIRichResponseContentItemsMetadata.AIRichResponseReelItem: ... + def __init__( + self, + *, + reelItem: global___AIRichResponseContentItemsMetadata.AIRichResponseReelItem | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["aIRichResponseContentItem", b"aIRichResponseContentItem", "reelItem", b"reelItem"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["aIRichResponseContentItem", b"aIRichResponseContentItem", "reelItem", b"reelItem"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["aIRichResponseContentItem", b"aIRichResponseContentItem"]) -> typing.Literal["reelItem"] | None: ... + + @typing.final + class AIRichResponseReelItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + PROFILEICONURL_FIELD_NUMBER: builtins.int + THUMBNAILURL_FIELD_NUMBER: builtins.int + VIDEOURL_FIELD_NUMBER: builtins.int + title: builtins.str + profileIconURL: builtins.str + thumbnailURL: builtins.str + videoURL: builtins.str + def __init__( + self, + *, + title: builtins.str | None = ..., + profileIconURL: builtins.str | None = ..., + thumbnailURL: builtins.str | None = ..., + videoURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["profileIconURL", b"profileIconURL", "thumbnailURL", b"thumbnailURL", "title", b"title", "videoURL", b"videoURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["profileIconURL", b"profileIconURL", "thumbnailURL", b"thumbnailURL", "title", b"title", "videoURL", b"videoURL"]) -> None: ... + + ITEMSMETADATA_FIELD_NUMBER: builtins.int + CONTENTTYPE_FIELD_NUMBER: builtins.int + contentType: global___AIRichResponseContentItemsMetadata.ContentType.ValueType + @property + def itemsMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata]: ... + def __init__( + self, + *, + itemsMetadata: collections.abc.Iterable[global___AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata] | None = ..., + contentType: global___AIRichResponseContentItemsMetadata.ContentType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contentType", b"contentType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contentType", b"contentType", "itemsMetadata", b"itemsMetadata"]) -> None: ... + +global___AIRichResponseContentItemsMetadata = AIRichResponseContentItemsMetadata + +@typing.final +class BotAvatarMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SENTIMENT_FIELD_NUMBER: builtins.int + BEHAVIORGRAPH_FIELD_NUMBER: builtins.int + ACTION_FIELD_NUMBER: builtins.int + INTENSITY_FIELD_NUMBER: builtins.int + WORDCOUNT_FIELD_NUMBER: builtins.int + sentiment: builtins.int + behaviorGraph: builtins.str + action: builtins.int + intensity: builtins.int + wordCount: builtins.int + def __init__( + self, + *, + sentiment: builtins.int | None = ..., + behaviorGraph: builtins.str | None = ..., + action: builtins.int | None = ..., + intensity: builtins.int | None = ..., + wordCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "behaviorGraph", b"behaviorGraph", "intensity", b"intensity", "sentiment", b"sentiment", "wordCount", b"wordCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "behaviorGraph", b"behaviorGraph", "intensity", b"intensity", "sentiment", b"sentiment", "wordCount", b"wordCount"]) -> None: ... + +global___BotAvatarMetadata = BotAvatarMetadata + +@typing.final +class BotSuggestedPromptMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SUGGESTEDPROMPTS_FIELD_NUMBER: builtins.int + SELECTEDPROMPTINDEX_FIELD_NUMBER: builtins.int + PROMPTSUGGESTIONS_FIELD_NUMBER: builtins.int + SELECTEDPROMPTID_FIELD_NUMBER: builtins.int + selectedPromptIndex: builtins.int + selectedPromptID: builtins.str + @property + def suggestedPrompts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def promptSuggestions(self) -> global___BotPromptSuggestions: ... + def __init__( + self, + *, + suggestedPrompts: collections.abc.Iterable[builtins.str] | None = ..., + selectedPromptIndex: builtins.int | None = ..., + promptSuggestions: global___BotPromptSuggestions | None = ..., + selectedPromptID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["promptSuggestions", b"promptSuggestions", "selectedPromptID", b"selectedPromptID", "selectedPromptIndex", b"selectedPromptIndex"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["promptSuggestions", b"promptSuggestions", "selectedPromptID", b"selectedPromptID", "selectedPromptIndex", b"selectedPromptIndex", "suggestedPrompts", b"suggestedPrompts"]) -> None: ... + +global___BotSuggestedPromptMetadata = BotSuggestedPromptMetadata + +@typing.final +class BotPromptSuggestions(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SUGGESTIONS_FIELD_NUMBER: builtins.int + @property + def suggestions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotPromptSuggestion]: ... + def __init__( + self, + *, + suggestions: collections.abc.Iterable[global___BotPromptSuggestion] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["suggestions", b"suggestions"]) -> None: ... + +global___BotPromptSuggestions = BotPromptSuggestions + +@typing.final +class BotPromptSuggestion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PROMPT_FIELD_NUMBER: builtins.int + PROMPTID_FIELD_NUMBER: builtins.int + prompt: builtins.str + promptID: builtins.str + def __init__( + self, + *, + prompt: builtins.str | None = ..., + promptID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["prompt", b"prompt", "promptID", b"promptID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["prompt", b"prompt", "promptID", b"promptID"]) -> None: ... + +global___BotPromptSuggestion = BotPromptSuggestion + +@typing.final +class BotLinkedAccountsMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ACCOUNTS_FIELD_NUMBER: builtins.int + ACAUTHTOKENS_FIELD_NUMBER: builtins.int + ACERRORCODE_FIELD_NUMBER: builtins.int + acAuthTokens: builtins.bytes + acErrorCode: builtins.int + @property + def accounts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotLinkedAccount]: ... + def __init__( + self, + *, + accounts: collections.abc.Iterable[global___BotLinkedAccount] | None = ..., + acAuthTokens: builtins.bytes | None = ..., + acErrorCode: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["acAuthTokens", b"acAuthTokens", "acErrorCode", b"acErrorCode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["acAuthTokens", b"acAuthTokens", "acErrorCode", b"acErrorCode", "accounts", b"accounts"]) -> None: ... + +global___BotLinkedAccountsMetadata = BotLinkedAccountsMetadata + +@typing.final +class BotMemoryMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ADDEDFACTS_FIELD_NUMBER: builtins.int + REMOVEDFACTS_FIELD_NUMBER: builtins.int + DISCLAIMER_FIELD_NUMBER: builtins.int + disclaimer: builtins.str + @property + def addedFacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMemoryFact]: ... + @property + def removedFacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMemoryFact]: ... + def __init__( + self, + *, + addedFacts: collections.abc.Iterable[global___BotMemoryFact] | None = ..., + removedFacts: collections.abc.Iterable[global___BotMemoryFact] | None = ..., + disclaimer: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["disclaimer", b"disclaimer"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["addedFacts", b"addedFacts", "disclaimer", b"disclaimer", "removedFacts", b"removedFacts"]) -> None: ... + +global___BotMemoryMetadata = BotMemoryMetadata + +@typing.final +class BotMemoryFact(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FACT_FIELD_NUMBER: builtins.int + FACTID_FIELD_NUMBER: builtins.int + fact: builtins.str + factID: builtins.str + def __init__( + self, + *, + fact: builtins.str | None = ..., + factID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fact", b"fact", "factID", b"factID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fact", b"fact", "factID", b"factID"]) -> None: ... + +global___BotMemoryFact = BotMemoryFact + +@typing.final +class BotSignatureVerificationMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PROOFS_FIELD_NUMBER: builtins.int + @property + def proofs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotSignatureVerificationUseCaseProof]: ... + def __init__( + self, + *, + proofs: collections.abc.Iterable[global___BotSignatureVerificationUseCaseProof] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["proofs", b"proofs"]) -> None: ... + +global___BotSignatureVerificationMetadata = BotSignatureVerificationMetadata + +@typing.final +class BotRenderingMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Keyword(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VALUE_FIELD_NUMBER: builtins.int + ASSOCIATEDPROMPTS_FIELD_NUMBER: builtins.int + value: builtins.str + @property + def associatedPrompts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + value: builtins.str | None = ..., + associatedPrompts: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["associatedPrompts", b"associatedPrompts", "value", b"value"]) -> None: ... + + KEYWORDS_FIELD_NUMBER: builtins.int + @property + def keywords(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotRenderingMetadata.Keyword]: ... + def __init__( + self, + *, + keywords: collections.abc.Iterable[global___BotRenderingMetadata.Keyword] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["keywords", b"keywords"]) -> None: ... + +global___BotRenderingMetadata = BotRenderingMetadata + +@typing.final +class BotMetricsMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DESTINATIONID_FIELD_NUMBER: builtins.int + DESTINATIONENTRYPOINT_FIELD_NUMBER: builtins.int + THREADORIGIN_FIELD_NUMBER: builtins.int + destinationID: builtins.str + destinationEntryPoint: global___BotMetricsEntryPoint.ValueType + threadOrigin: global___BotMetricsThreadEntryPoint.ValueType + def __init__( + self, + *, + destinationID: builtins.str | None = ..., + destinationEntryPoint: global___BotMetricsEntryPoint.ValueType | None = ..., + threadOrigin: global___BotMetricsThreadEntryPoint.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["destinationEntryPoint", b"destinationEntryPoint", "destinationID", b"destinationID", "threadOrigin", b"threadOrigin"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["destinationEntryPoint", b"destinationEntryPoint", "destinationID", b"destinationID", "threadOrigin", b"threadOrigin"]) -> None: ... + +global___BotMetricsMetadata = BotMetricsMetadata + +@typing.final +class BotSessionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SESSIONID_FIELD_NUMBER: builtins.int + SESSIONSOURCE_FIELD_NUMBER: builtins.int + sessionID: builtins.str + sessionSource: global___BotSessionSource.ValueType + def __init__( + self, + *, + sessionID: builtins.str | None = ..., + sessionSource: global___BotSessionSource.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sessionID", b"sessionID", "sessionSource", b"sessionSource"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sessionID", b"sessionID", "sessionSource", b"sessionSource"]) -> None: ... + +global___BotSessionMetadata = BotSessionMetadata + +@typing.final +class BotMemuMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FACEIMAGES_FIELD_NUMBER: builtins.int + @property + def faceImages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMediaMetadata]: ... + def __init__( + self, + *, + faceImages: collections.abc.Iterable[global___BotMediaMetadata] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["faceImages", b"faceImages"]) -> None: ... + +global___BotMemuMetadata = BotMemuMetadata + +@typing.final +class InThreadSurveyMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class InThreadSurveyPrivacyStatementPart(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TEXT_FIELD_NUMBER: builtins.int + URL_FIELD_NUMBER: builtins.int + text: builtins.str + URL: builtins.str + def __init__( + self, + *, + text: builtins.str | None = ..., + URL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "text", b"text"]) -> None: ... + + @typing.final + class InThreadSurveyOption(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STRINGVALUE_FIELD_NUMBER: builtins.int + NUMERICVALUE_FIELD_NUMBER: builtins.int + TEXTTRANSLATED_FIELD_NUMBER: builtins.int + stringValue: builtins.str + numericValue: builtins.int + textTranslated: builtins.str + def __init__( + self, + *, + stringValue: builtins.str | None = ..., + numericValue: builtins.int | None = ..., + textTranslated: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["numericValue", b"numericValue", "stringValue", b"stringValue", "textTranslated", b"textTranslated"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["numericValue", b"numericValue", "stringValue", b"stringValue", "textTranslated", b"textTranslated"]) -> None: ... + + @typing.final + class InThreadSurveyQuestion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + QUESTIONTEXT_FIELD_NUMBER: builtins.int + QUESTIONID_FIELD_NUMBER: builtins.int + QUESTIONOPTIONS_FIELD_NUMBER: builtins.int + questionText: builtins.str + questionID: builtins.str + @property + def questionOptions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InThreadSurveyMetadata.InThreadSurveyOption]: ... + def __init__( + self, + *, + questionText: builtins.str | None = ..., + questionID: builtins.str | None = ..., + questionOptions: collections.abc.Iterable[global___InThreadSurveyMetadata.InThreadSurveyOption] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["questionID", b"questionID", "questionText", b"questionText"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["questionID", b"questionID", "questionOptions", b"questionOptions", "questionText", b"questionText"]) -> None: ... + + TESSASESSIONID_FIELD_NUMBER: builtins.int + SIMONSESSIONID_FIELD_NUMBER: builtins.int + SIMONSURVEYID_FIELD_NUMBER: builtins.int + TESSAROOTID_FIELD_NUMBER: builtins.int + REQUESTID_FIELD_NUMBER: builtins.int + TESSAEVENT_FIELD_NUMBER: builtins.int + INVITATIONHEADERTEXT_FIELD_NUMBER: builtins.int + INVITATIONBODYTEXT_FIELD_NUMBER: builtins.int + INVITATIONCTATEXT_FIELD_NUMBER: builtins.int + INVITATIONCTAURL_FIELD_NUMBER: builtins.int + SURVEYTITLE_FIELD_NUMBER: builtins.int + QUESTIONS_FIELD_NUMBER: builtins.int + SURVEYCONTINUEBUTTONTEXT_FIELD_NUMBER: builtins.int + SURVEYSUBMITBUTTONTEXT_FIELD_NUMBER: builtins.int + PRIVACYSTATEMENTFULL_FIELD_NUMBER: builtins.int + PRIVACYSTATEMENTPARTS_FIELD_NUMBER: builtins.int + FEEDBACKTOASTTEXT_FIELD_NUMBER: builtins.int + tessaSessionID: builtins.str + simonSessionID: builtins.str + simonSurveyID: builtins.str + tessaRootID: builtins.str + requestID: builtins.str + tessaEvent: builtins.str + invitationHeaderText: builtins.str + invitationBodyText: builtins.str + invitationCtaText: builtins.str + invitationCtaURL: builtins.str + surveyTitle: builtins.str + surveyContinueButtonText: builtins.str + surveySubmitButtonText: builtins.str + privacyStatementFull: builtins.str + feedbackToastText: builtins.str + @property + def questions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InThreadSurveyMetadata.InThreadSurveyQuestion]: ... + @property + def privacyStatementParts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InThreadSurveyMetadata.InThreadSurveyPrivacyStatementPart]: ... + def __init__( + self, + *, + tessaSessionID: builtins.str | None = ..., + simonSessionID: builtins.str | None = ..., + simonSurveyID: builtins.str | None = ..., + tessaRootID: builtins.str | None = ..., + requestID: builtins.str | None = ..., + tessaEvent: builtins.str | None = ..., + invitationHeaderText: builtins.str | None = ..., + invitationBodyText: builtins.str | None = ..., + invitationCtaText: builtins.str | None = ..., + invitationCtaURL: builtins.str | None = ..., + surveyTitle: builtins.str | None = ..., + questions: collections.abc.Iterable[global___InThreadSurveyMetadata.InThreadSurveyQuestion] | None = ..., + surveyContinueButtonText: builtins.str | None = ..., + surveySubmitButtonText: builtins.str | None = ..., + privacyStatementFull: builtins.str | None = ..., + privacyStatementParts: collections.abc.Iterable[global___InThreadSurveyMetadata.InThreadSurveyPrivacyStatementPart] | None = ..., + feedbackToastText: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["feedbackToastText", b"feedbackToastText", "invitationBodyText", b"invitationBodyText", "invitationCtaText", b"invitationCtaText", "invitationCtaURL", b"invitationCtaURL", "invitationHeaderText", b"invitationHeaderText", "privacyStatementFull", b"privacyStatementFull", "requestID", b"requestID", "simonSessionID", b"simonSessionID", "simonSurveyID", b"simonSurveyID", "surveyContinueButtonText", b"surveyContinueButtonText", "surveySubmitButtonText", b"surveySubmitButtonText", "surveyTitle", b"surveyTitle", "tessaEvent", b"tessaEvent", "tessaRootID", b"tessaRootID", "tessaSessionID", b"tessaSessionID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["feedbackToastText", b"feedbackToastText", "invitationBodyText", b"invitationBodyText", "invitationCtaText", b"invitationCtaText", "invitationCtaURL", b"invitationCtaURL", "invitationHeaderText", b"invitationHeaderText", "privacyStatementFull", b"privacyStatementFull", "privacyStatementParts", b"privacyStatementParts", "questions", b"questions", "requestID", b"requestID", "simonSessionID", b"simonSessionID", "simonSurveyID", b"simonSurveyID", "surveyContinueButtonText", b"surveyContinueButtonText", "surveySubmitButtonText", b"surveySubmitButtonText", "surveyTitle", b"surveyTitle", "tessaEvent", b"tessaEvent", "tessaRootID", b"tessaRootID", "tessaSessionID", b"tessaSessionID"]) -> None: ... + +global___InThreadSurveyMetadata = InThreadSurveyMetadata + +@typing.final +class BotMessageOriginMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ORIGINS_FIELD_NUMBER: builtins.int + @property + def origins(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMessageOrigin]: ... + def __init__( + self, + *, + origins: collections.abc.Iterable[global___BotMessageOrigin] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["origins", b"origins"]) -> None: ... + +global___BotMessageOriginMetadata = BotMessageOriginMetadata + +@typing.final +class BotUnifiedResponseMutation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class MediaDetailsMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + HIGHRESMEDIA_FIELD_NUMBER: builtins.int + PREVIEWMEDIA_FIELD_NUMBER: builtins.int + ID: builtins.str + @property + def highResMedia(self) -> global___BotMediaMetadata: ... + @property + def previewMedia(self) -> global___BotMediaMetadata: ... + def __init__( + self, + *, + ID: builtins.str | None = ..., + highResMedia: global___BotMediaMetadata | None = ..., + previewMedia: global___BotMediaMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "highResMedia", b"highResMedia", "previewMedia", b"previewMedia"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "highResMedia", b"highResMedia", "previewMedia", b"previewMedia"]) -> None: ... + + @typing.final + class SideBySideMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRIMARYRESPONSEID_FIELD_NUMBER: builtins.int + primaryResponseID: builtins.str + def __init__( + self, + *, + primaryResponseID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["primaryResponseID", b"primaryResponseID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["primaryResponseID", b"primaryResponseID"]) -> None: ... + + SBSMETADATA_FIELD_NUMBER: builtins.int + MEDIADETAILSMETADATALIST_FIELD_NUMBER: builtins.int + @property + def sbsMetadata(self) -> global___BotUnifiedResponseMutation.SideBySideMetadata: ... + @property + def mediaDetailsMetadataList(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotUnifiedResponseMutation.MediaDetailsMetadata]: ... + def __init__( + self, + *, + sbsMetadata: global___BotUnifiedResponseMutation.SideBySideMetadata | None = ..., + mediaDetailsMetadataList: collections.abc.Iterable[global___BotUnifiedResponseMutation.MediaDetailsMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sbsMetadata", b"sbsMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mediaDetailsMetadataList", b"mediaDetailsMetadataList", "sbsMetadata", b"sbsMetadata"]) -> None: ... + +global___BotUnifiedResponseMutation = BotUnifiedResponseMutation + +@typing.final +class BotMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AVATARMETADATA_FIELD_NUMBER: builtins.int + PERSONAID_FIELD_NUMBER: builtins.int + PLUGINMETADATA_FIELD_NUMBER: builtins.int + SUGGESTEDPROMPTMETADATA_FIELD_NUMBER: builtins.int + INVOKERJID_FIELD_NUMBER: builtins.int + SESSIONMETADATA_FIELD_NUMBER: builtins.int + MEMUMETADATA_FIELD_NUMBER: builtins.int + TIMEZONE_FIELD_NUMBER: builtins.int + REMINDERMETADATA_FIELD_NUMBER: builtins.int + MODELMETADATA_FIELD_NUMBER: builtins.int + MESSAGEDISCLAIMERTEXT_FIELD_NUMBER: builtins.int + PROGRESSINDICATORMETADATA_FIELD_NUMBER: builtins.int + CAPABILITYMETADATA_FIELD_NUMBER: builtins.int + IMAGINEMETADATA_FIELD_NUMBER: builtins.int + MEMORYMETADATA_FIELD_NUMBER: builtins.int + RENDERINGMETADATA_FIELD_NUMBER: builtins.int + BOTMETRICSMETADATA_FIELD_NUMBER: builtins.int + BOTLINKEDACCOUNTSMETADATA_FIELD_NUMBER: builtins.int + RICHRESPONSESOURCESMETADATA_FIELD_NUMBER: builtins.int + AICONVERSATIONCONTEXT_FIELD_NUMBER: builtins.int + BOTPROMOTIONMESSAGEMETADATA_FIELD_NUMBER: builtins.int + BOTMODESELECTIONMETADATA_FIELD_NUMBER: builtins.int + BOTQUOTAMETADATA_FIELD_NUMBER: builtins.int + BOTAGECOLLECTIONMETADATA_FIELD_NUMBER: builtins.int + CONVERSATIONSTARTERPROMPTID_FIELD_NUMBER: builtins.int + BOTRESPONSEID_FIELD_NUMBER: builtins.int + VERIFICATIONMETADATA_FIELD_NUMBER: builtins.int + UNIFIEDRESPONSEMUTATION_FIELD_NUMBER: builtins.int + BOTMESSAGEORIGINMETADATA_FIELD_NUMBER: builtins.int + INTHREADSURVEYMETADATA_FIELD_NUMBER: builtins.int + BOTTHREADINFO_FIELD_NUMBER: builtins.int + INTERNALMETADATA_FIELD_NUMBER: builtins.int + personaID: builtins.str + invokerJID: builtins.str + timezone: builtins.str + messageDisclaimerText: builtins.str + aiConversationContext: builtins.bytes + conversationStarterPromptID: builtins.str + botResponseID: builtins.str + internalMetadata: builtins.bytes + @property + def avatarMetadata(self) -> global___BotAvatarMetadata: ... + @property + def pluginMetadata(self) -> global___BotPluginMetadata: ... + @property + def suggestedPromptMetadata(self) -> global___BotSuggestedPromptMetadata: ... + @property + def sessionMetadata(self) -> global___BotSessionMetadata: ... + @property + def memuMetadata(self) -> global___BotMemuMetadata: ... + @property + def reminderMetadata(self) -> global___BotReminderMetadata: ... + @property + def modelMetadata(self) -> global___BotModelMetadata: ... + @property + def progressIndicatorMetadata(self) -> global___BotProgressIndicatorMetadata: ... + @property + def capabilityMetadata(self) -> global___BotCapabilityMetadata: ... + @property + def imagineMetadata(self) -> global___BotImagineMetadata: ... + @property + def memoryMetadata(self) -> global___BotMemoryMetadata: ... + @property + def renderingMetadata(self) -> global___BotRenderingMetadata: ... + @property + def botMetricsMetadata(self) -> global___BotMetricsMetadata: ... + @property + def botLinkedAccountsMetadata(self) -> global___BotLinkedAccountsMetadata: ... + @property + def richResponseSourcesMetadata(self) -> global___BotSourcesMetadata: ... + @property + def botPromotionMessageMetadata(self) -> global___BotPromotionMessageMetadata: ... + @property + def botModeSelectionMetadata(self) -> global___BotModeSelectionMetadata: ... + @property + def botQuotaMetadata(self) -> global___BotQuotaMetadata: ... + @property + def botAgeCollectionMetadata(self) -> global___BotAgeCollectionMetadata: ... + @property + def verificationMetadata(self) -> global___BotSignatureVerificationMetadata: ... + @property + def unifiedResponseMutation(self) -> global___BotUnifiedResponseMutation: ... + @property + def botMessageOriginMetadata(self) -> global___BotMessageOriginMetadata: ... + @property + def inThreadSurveyMetadata(self) -> global___InThreadSurveyMetadata: ... + @property + def botThreadInfo(self) -> global___AIThreadInfo: ... + def __init__( + self, + *, + avatarMetadata: global___BotAvatarMetadata | None = ..., + personaID: builtins.str | None = ..., + pluginMetadata: global___BotPluginMetadata | None = ..., + suggestedPromptMetadata: global___BotSuggestedPromptMetadata | None = ..., + invokerJID: builtins.str | None = ..., + sessionMetadata: global___BotSessionMetadata | None = ..., + memuMetadata: global___BotMemuMetadata | None = ..., + timezone: builtins.str | None = ..., + reminderMetadata: global___BotReminderMetadata | None = ..., + modelMetadata: global___BotModelMetadata | None = ..., + messageDisclaimerText: builtins.str | None = ..., + progressIndicatorMetadata: global___BotProgressIndicatorMetadata | None = ..., + capabilityMetadata: global___BotCapabilityMetadata | None = ..., + imagineMetadata: global___BotImagineMetadata | None = ..., + memoryMetadata: global___BotMemoryMetadata | None = ..., + renderingMetadata: global___BotRenderingMetadata | None = ..., + botMetricsMetadata: global___BotMetricsMetadata | None = ..., + botLinkedAccountsMetadata: global___BotLinkedAccountsMetadata | None = ..., + richResponseSourcesMetadata: global___BotSourcesMetadata | None = ..., + aiConversationContext: builtins.bytes | None = ..., + botPromotionMessageMetadata: global___BotPromotionMessageMetadata | None = ..., + botModeSelectionMetadata: global___BotModeSelectionMetadata | None = ..., + botQuotaMetadata: global___BotQuotaMetadata | None = ..., + botAgeCollectionMetadata: global___BotAgeCollectionMetadata | None = ..., + conversationStarterPromptID: builtins.str | None = ..., + botResponseID: builtins.str | None = ..., + verificationMetadata: global___BotSignatureVerificationMetadata | None = ..., + unifiedResponseMutation: global___BotUnifiedResponseMutation | None = ..., + botMessageOriginMetadata: global___BotMessageOriginMetadata | None = ..., + inThreadSurveyMetadata: global___InThreadSurveyMetadata | None = ..., + botThreadInfo: global___AIThreadInfo | None = ..., + internalMetadata: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["aiConversationContext", b"aiConversationContext", "avatarMetadata", b"avatarMetadata", "botAgeCollectionMetadata", b"botAgeCollectionMetadata", "botLinkedAccountsMetadata", b"botLinkedAccountsMetadata", "botMessageOriginMetadata", b"botMessageOriginMetadata", "botMetricsMetadata", b"botMetricsMetadata", "botModeSelectionMetadata", b"botModeSelectionMetadata", "botPromotionMessageMetadata", b"botPromotionMessageMetadata", "botQuotaMetadata", b"botQuotaMetadata", "botResponseID", b"botResponseID", "botThreadInfo", b"botThreadInfo", "capabilityMetadata", b"capabilityMetadata", "conversationStarterPromptID", b"conversationStarterPromptID", "imagineMetadata", b"imagineMetadata", "inThreadSurveyMetadata", b"inThreadSurveyMetadata", "internalMetadata", b"internalMetadata", "invokerJID", b"invokerJID", "memoryMetadata", b"memoryMetadata", "memuMetadata", b"memuMetadata", "messageDisclaimerText", b"messageDisclaimerText", "modelMetadata", b"modelMetadata", "personaID", b"personaID", "pluginMetadata", b"pluginMetadata", "progressIndicatorMetadata", b"progressIndicatorMetadata", "reminderMetadata", b"reminderMetadata", "renderingMetadata", b"renderingMetadata", "richResponseSourcesMetadata", b"richResponseSourcesMetadata", "sessionMetadata", b"sessionMetadata", "suggestedPromptMetadata", b"suggestedPromptMetadata", "timezone", b"timezone", "unifiedResponseMutation", b"unifiedResponseMutation", "verificationMetadata", b"verificationMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["aiConversationContext", b"aiConversationContext", "avatarMetadata", b"avatarMetadata", "botAgeCollectionMetadata", b"botAgeCollectionMetadata", "botLinkedAccountsMetadata", b"botLinkedAccountsMetadata", "botMessageOriginMetadata", b"botMessageOriginMetadata", "botMetricsMetadata", b"botMetricsMetadata", "botModeSelectionMetadata", b"botModeSelectionMetadata", "botPromotionMessageMetadata", b"botPromotionMessageMetadata", "botQuotaMetadata", b"botQuotaMetadata", "botResponseID", b"botResponseID", "botThreadInfo", b"botThreadInfo", "capabilityMetadata", b"capabilityMetadata", "conversationStarterPromptID", b"conversationStarterPromptID", "imagineMetadata", b"imagineMetadata", "inThreadSurveyMetadata", b"inThreadSurveyMetadata", "internalMetadata", b"internalMetadata", "invokerJID", b"invokerJID", "memoryMetadata", b"memoryMetadata", "memuMetadata", b"memuMetadata", "messageDisclaimerText", b"messageDisclaimerText", "modelMetadata", b"modelMetadata", "personaID", b"personaID", "pluginMetadata", b"pluginMetadata", "progressIndicatorMetadata", b"progressIndicatorMetadata", "reminderMetadata", b"reminderMetadata", "renderingMetadata", b"renderingMetadata", "richResponseSourcesMetadata", b"richResponseSourcesMetadata", "sessionMetadata", b"sessionMetadata", "suggestedPromptMetadata", b"suggestedPromptMetadata", "timezone", b"timezone", "unifiedResponseMutation", b"unifiedResponseMutation", "verificationMetadata", b"verificationMetadata"]) -> None: ... + +global___BotMetadata = BotMetadata + +@typing.final +class ForwardedAIBotMessageInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BOTNAME_FIELD_NUMBER: builtins.int + BOTJID_FIELD_NUMBER: builtins.int + CREATORNAME_FIELD_NUMBER: builtins.int + botName: builtins.str + botJID: builtins.str + creatorName: builtins.str + def __init__( + self, + *, + botName: builtins.str | None = ..., + botJID: builtins.str | None = ..., + creatorName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["botJID", b"botJID", "botName", b"botName", "creatorName", b"creatorName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["botJID", b"botJID", "botName", b"botName", "creatorName", b"creatorName"]) -> None: ... + +global___ForwardedAIBotMessageInfo = ForwardedAIBotMessageInfo + +@typing.final +class BotMessageSharingInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BOTENTRYPOINTORIGIN_FIELD_NUMBER: builtins.int + FORWARDSCORE_FIELD_NUMBER: builtins.int + botEntryPointOrigin: global___BotMetricsEntryPoint.ValueType + forwardScore: builtins.int + def __init__( + self, + *, + botEntryPointOrigin: global___BotMetricsEntryPoint.ValueType | None = ..., + forwardScore: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["botEntryPointOrigin", b"botEntryPointOrigin", "forwardScore", b"forwardScore"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["botEntryPointOrigin", b"botEntryPointOrigin", "forwardScore", b"forwardScore"]) -> None: ... + +global___BotMessageSharingInfo = BotMessageSharingInfo + +@typing.final +class AIRichResponseImageURL(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + IMAGEPREVIEWURL_FIELD_NUMBER: builtins.int + IMAGEHIGHRESURL_FIELD_NUMBER: builtins.int + SOURCEURL_FIELD_NUMBER: builtins.int + imagePreviewURL: builtins.str + imageHighResURL: builtins.str + sourceURL: builtins.str + def __init__( + self, + *, + imagePreviewURL: builtins.str | None = ..., + imageHighResURL: builtins.str | None = ..., + sourceURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["imageHighResURL", b"imageHighResURL", "imagePreviewURL", b"imagePreviewURL", "sourceURL", b"sourceURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["imageHighResURL", b"imageHighResURL", "imagePreviewURL", b"imagePreviewURL", "sourceURL", b"sourceURL"]) -> None: ... + +global___AIRichResponseImageURL = AIRichResponseImageURL + +@typing.final +class AIRichResponseGridImageMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + GRIDIMAGEURL_FIELD_NUMBER: builtins.int + IMAGEURLS_FIELD_NUMBER: builtins.int + @property + def gridImageURL(self) -> global___AIRichResponseImageURL: ... + @property + def imageURLs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseImageURL]: ... + def __init__( + self, + *, + gridImageURL: global___AIRichResponseImageURL | None = ..., + imageURLs: collections.abc.Iterable[global___AIRichResponseImageURL] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["gridImageURL", b"gridImageURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["gridImageURL", b"gridImageURL", "imageURLs", b"imageURLs"]) -> None: ... + +global___AIRichResponseGridImageMetadata = AIRichResponseGridImageMetadata + +@typing.final +class AIRichResponseTableMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class AIRichResponseTableRow(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ITEMS_FIELD_NUMBER: builtins.int + ISHEADING_FIELD_NUMBER: builtins.int + isHeading: builtins.bool + @property + def items(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + items: collections.abc.Iterable[builtins.str] | None = ..., + isHeading: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isHeading", b"isHeading"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isHeading", b"isHeading", "items", b"items"]) -> None: ... + + ROWS_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + title: builtins.str + @property + def rows(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseTableMetadata.AIRichResponseTableRow]: ... + def __init__( + self, + *, + rows: collections.abc.Iterable[global___AIRichResponseTableMetadata.AIRichResponseTableRow] | None = ..., + title: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["rows", b"rows", "title", b"title"]) -> None: ... + +global___AIRichResponseTableMetadata = AIRichResponseTableMetadata + +@typing.final +class AIRichResponseUnifiedResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DATA_FIELD_NUMBER: builtins.int + data: builtins.bytes + def __init__( + self, + *, + data: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["data", b"data"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["data", b"data"]) -> None: ... + +global___AIRichResponseUnifiedResponse = AIRichResponseUnifiedResponse + +@typing.final +class AIRichResponseLatexMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class AIRichResponseLatexExpression(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LATEXEXPRESSION_FIELD_NUMBER: builtins.int + URL_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + FONTHEIGHT_FIELD_NUMBER: builtins.int + IMAGETOPPADDING_FIELD_NUMBER: builtins.int + IMAGELEADINGPADDING_FIELD_NUMBER: builtins.int + IMAGEBOTTOMPADDING_FIELD_NUMBER: builtins.int + IMAGETRAILINGPADDING_FIELD_NUMBER: builtins.int + latexExpression: builtins.str + URL: builtins.str + width: builtins.float + height: builtins.float + fontHeight: builtins.float + imageTopPadding: builtins.float + imageLeadingPadding: builtins.float + imageBottomPadding: builtins.float + imageTrailingPadding: builtins.float + def __init__( + self, + *, + latexExpression: builtins.str | None = ..., + URL: builtins.str | None = ..., + width: builtins.float | None = ..., + height: builtins.float | None = ..., + fontHeight: builtins.float | None = ..., + imageTopPadding: builtins.float | None = ..., + imageLeadingPadding: builtins.float | None = ..., + imageBottomPadding: builtins.float | None = ..., + imageTrailingPadding: builtins.float | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "fontHeight", b"fontHeight", "height", b"height", "imageBottomPadding", b"imageBottomPadding", "imageLeadingPadding", b"imageLeadingPadding", "imageTopPadding", b"imageTopPadding", "imageTrailingPadding", b"imageTrailingPadding", "latexExpression", b"latexExpression", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "fontHeight", b"fontHeight", "height", b"height", "imageBottomPadding", b"imageBottomPadding", "imageLeadingPadding", b"imageLeadingPadding", "imageTopPadding", b"imageTopPadding", "imageTrailingPadding", b"imageTrailingPadding", "latexExpression", b"latexExpression", "width", b"width"]) -> None: ... + + TEXT_FIELD_NUMBER: builtins.int + EXPRESSIONS_FIELD_NUMBER: builtins.int + text: builtins.str + @property + def expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseLatexMetadata.AIRichResponseLatexExpression]: ... + def __init__( + self, + *, + text: builtins.str | None = ..., + expressions: collections.abc.Iterable[global___AIRichResponseLatexMetadata.AIRichResponseLatexExpression] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["expressions", b"expressions", "text", b"text"]) -> None: ... + +global___AIRichResponseLatexMetadata = AIRichResponseLatexMetadata + +@typing.final +class AIRichResponseMapMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class AIRichResponseMapAnnotation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ANNOTATIONNUMBER_FIELD_NUMBER: builtins.int + LATITUDE_FIELD_NUMBER: builtins.int + LONGITUDE_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + BODY_FIELD_NUMBER: builtins.int + annotationNumber: builtins.int + latitude: builtins.float + longitude: builtins.float + title: builtins.str + body: builtins.str + def __init__( + self, + *, + annotationNumber: builtins.int | None = ..., + latitude: builtins.float | None = ..., + longitude: builtins.float | None = ..., + title: builtins.str | None = ..., + body: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["annotationNumber", b"annotationNumber", "body", b"body", "latitude", b"latitude", "longitude", b"longitude", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["annotationNumber", b"annotationNumber", "body", b"body", "latitude", b"latitude", "longitude", b"longitude", "title", b"title"]) -> None: ... + + CENTERLATITUDE_FIELD_NUMBER: builtins.int + CENTERLONGITUDE_FIELD_NUMBER: builtins.int + LATITUDEDELTA_FIELD_NUMBER: builtins.int + LONGITUDEDELTA_FIELD_NUMBER: builtins.int + ANNOTATIONS_FIELD_NUMBER: builtins.int + SHOWINFOLIST_FIELD_NUMBER: builtins.int + centerLatitude: builtins.float + centerLongitude: builtins.float + latitudeDelta: builtins.float + longitudeDelta: builtins.float + showInfoList: builtins.bool + @property + def annotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseMapMetadata.AIRichResponseMapAnnotation]: ... + def __init__( + self, + *, + centerLatitude: builtins.float | None = ..., + centerLongitude: builtins.float | None = ..., + latitudeDelta: builtins.float | None = ..., + longitudeDelta: builtins.float | None = ..., + annotations: collections.abc.Iterable[global___AIRichResponseMapMetadata.AIRichResponseMapAnnotation] | None = ..., + showInfoList: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["centerLatitude", b"centerLatitude", "centerLongitude", b"centerLongitude", "latitudeDelta", b"latitudeDelta", "longitudeDelta", b"longitudeDelta", "showInfoList", b"showInfoList"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["annotations", b"annotations", "centerLatitude", b"centerLatitude", "centerLongitude", b"centerLongitude", "latitudeDelta", b"latitudeDelta", "longitudeDelta", b"longitudeDelta", "showInfoList", b"showInfoList"]) -> None: ... + +global___AIRichResponseMapMetadata = AIRichResponseMapMetadata + +@typing.final +class AIRichResponseSubMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGETYPE_FIELD_NUMBER: builtins.int + GRIDIMAGEMETADATA_FIELD_NUMBER: builtins.int + MESSAGETEXT_FIELD_NUMBER: builtins.int + IMAGEMETADATA_FIELD_NUMBER: builtins.int + CODEMETADATA_FIELD_NUMBER: builtins.int + TABLEMETADATA_FIELD_NUMBER: builtins.int + DYNAMICMETADATA_FIELD_NUMBER: builtins.int + LATEXMETADATA_FIELD_NUMBER: builtins.int + MAPMETADATA_FIELD_NUMBER: builtins.int + CONTENTITEMSMETADATA_FIELD_NUMBER: builtins.int + messageType: global___AIRichResponseSubMessageType.ValueType + messageText: builtins.str + @property + def gridImageMetadata(self) -> global___AIRichResponseGridImageMetadata: ... + @property + def imageMetadata(self) -> global___AIRichResponseInlineImageMetadata: ... + @property + def codeMetadata(self) -> global___AIRichResponseCodeMetadata: ... + @property + def tableMetadata(self) -> global___AIRichResponseTableMetadata: ... + @property + def dynamicMetadata(self) -> global___AIRichResponseDynamicMetadata: ... + @property + def latexMetadata(self) -> global___AIRichResponseLatexMetadata: ... + @property + def mapMetadata(self) -> global___AIRichResponseMapMetadata: ... + @property + def contentItemsMetadata(self) -> global___AIRichResponseContentItemsMetadata: ... + def __init__( + self, + *, + messageType: global___AIRichResponseSubMessageType.ValueType | None = ..., + gridImageMetadata: global___AIRichResponseGridImageMetadata | None = ..., + messageText: builtins.str | None = ..., + imageMetadata: global___AIRichResponseInlineImageMetadata | None = ..., + codeMetadata: global___AIRichResponseCodeMetadata | None = ..., + tableMetadata: global___AIRichResponseTableMetadata | None = ..., + dynamicMetadata: global___AIRichResponseDynamicMetadata | None = ..., + latexMetadata: global___AIRichResponseLatexMetadata | None = ..., + mapMetadata: global___AIRichResponseMapMetadata | None = ..., + contentItemsMetadata: global___AIRichResponseContentItemsMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["codeMetadata", b"codeMetadata", "contentItemsMetadata", b"contentItemsMetadata", "dynamicMetadata", b"dynamicMetadata", "gridImageMetadata", b"gridImageMetadata", "imageMetadata", b"imageMetadata", "latexMetadata", b"latexMetadata", "mapMetadata", b"mapMetadata", "messageText", b"messageText", "messageType", b"messageType", "tableMetadata", b"tableMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["codeMetadata", b"codeMetadata", "contentItemsMetadata", b"contentItemsMetadata", "dynamicMetadata", b"dynamicMetadata", "gridImageMetadata", b"gridImageMetadata", "imageMetadata", b"imageMetadata", "latexMetadata", b"latexMetadata", "mapMetadata", b"mapMetadata", "messageText", b"messageText", "messageType", b"messageType", "tableMetadata", b"tableMetadata"]) -> None: ... + +global___AIRichResponseSubMessage = AIRichResponseSubMessage diff --git a/neonize/proto/waAdv/WAAdv_pb2.py b/neonize/proto/waAdv/WAAdv_pb2.py new file mode 100644 index 00000000..59d89e31 --- /dev/null +++ b/neonize/proto/waAdv/WAAdv_pb2.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waAdv/WAAdv.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waAdv/WAAdv.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11waAdv/WAAdv.proto\x12\x05WAAdv\"\x92\x01\n\x0f\x41\x44VKeyIndexList\x12\r\n\x05rawID\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x14\n\x0c\x63urrentIndex\x18\x03 \x01(\r\x12\x18\n\x0cvalidIndexes\x18\x04 \x03(\rB\x02\x10\x01\x12-\n\x0b\x61\x63\x63ountType\x18\x05 \x01(\x0e\x32\x18.WAAdv.ADVEncryptionType\"_\n\x15\x41\x44VSignedKeyIndexList\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x18\n\x10\x61\x63\x63ountSignature\x18\x02 \x01(\x0c\x12\x1b\n\x13\x61\x63\x63ountSignatureKey\x18\x03 \x01(\x0c\"\xa4\x01\n\x11\x41\x44VDeviceIdentity\x12\r\n\x05rawID\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x10\n\x08keyIndex\x18\x03 \x01(\r\x12-\n\x0b\x61\x63\x63ountType\x18\x04 \x01(\x0e\x32\x18.WAAdv.ADVEncryptionType\x12,\n\ndeviceType\x18\x05 \x01(\x0e\x32\x18.WAAdv.ADVEncryptionType\"z\n\x17\x41\x44VSignedDeviceIdentity\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x1b\n\x13\x61\x63\x63ountSignatureKey\x18\x02 \x01(\x0c\x12\x18\n\x10\x61\x63\x63ountSignature\x18\x03 \x01(\x0c\x12\x17\n\x0f\x64\x65viceSignature\x18\x04 \x01(\x0c\"k\n\x1b\x41\x44VSignedDeviceIdentityHMAC\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x0c\n\x04HMAC\x18\x02 \x01(\x0c\x12-\n\x0b\x61\x63\x63ountType\x18\x03 \x01(\x0e\x32\x18.WAAdv.ADVEncryptionType*)\n\x11\x41\x44VEncryptionType\x12\x08\n\x04\x45\x32\x45\x45\x10\x00\x12\n\n\x06HOSTED\x10\x01\x42!Z\x1fgo.mau.fi/whatsmeow/proto/waAdv') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waAdv.WAAdv_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\037go.mau.fi/whatsmeow/proto/waAdv' + _globals['_ADVKEYINDEXLIST'].fields_by_name['validIndexes']._loaded_options = None + _globals['_ADVKEYINDEXLIST'].fields_by_name['validIndexes']._serialized_options = b'\020\001' + _globals['_ADVENCRYPTIONTYPE']._serialized_start=674 + _globals['_ADVENCRYPTIONTYPE']._serialized_end=715 + _globals['_ADVKEYINDEXLIST']._serialized_start=29 + _globals['_ADVKEYINDEXLIST']._serialized_end=175 + _globals['_ADVSIGNEDKEYINDEXLIST']._serialized_start=177 + _globals['_ADVSIGNEDKEYINDEXLIST']._serialized_end=272 + _globals['_ADVDEVICEIDENTITY']._serialized_start=275 + _globals['_ADVDEVICEIDENTITY']._serialized_end=439 + _globals['_ADVSIGNEDDEVICEIDENTITY']._serialized_start=441 + _globals['_ADVSIGNEDDEVICEIDENTITY']._serialized_end=563 + _globals['_ADVSIGNEDDEVICEIDENTITYHMAC']._serialized_start=565 + _globals['_ADVSIGNEDDEVICEIDENTITYHMAC']._serialized_end=672 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waAdv/WAAdv_pb2.pyi b/neonize/proto/waAdv/WAAdv_pb2.pyi new file mode 100644 index 00000000..d0fa92f6 --- /dev/null +++ b/neonize/proto/waAdv/WAAdv_pb2.pyi @@ -0,0 +1,161 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _ADVEncryptionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _ADVEncryptionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ADVEncryptionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + E2EE: _ADVEncryptionType.ValueType # 0 + HOSTED: _ADVEncryptionType.ValueType # 1 + +class ADVEncryptionType(_ADVEncryptionType, metaclass=_ADVEncryptionTypeEnumTypeWrapper): ... + +E2EE: ADVEncryptionType.ValueType # 0 +HOSTED: ADVEncryptionType.ValueType # 1 +global___ADVEncryptionType = ADVEncryptionType + +@typing.final +class ADVKeyIndexList(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RAWID_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + CURRENTINDEX_FIELD_NUMBER: builtins.int + VALIDINDEXES_FIELD_NUMBER: builtins.int + ACCOUNTTYPE_FIELD_NUMBER: builtins.int + rawID: builtins.int + timestamp: builtins.int + currentIndex: builtins.int + accountType: global___ADVEncryptionType.ValueType + @property + def validIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + rawID: builtins.int | None = ..., + timestamp: builtins.int | None = ..., + currentIndex: builtins.int | None = ..., + validIndexes: collections.abc.Iterable[builtins.int] | None = ..., + accountType: global___ADVEncryptionType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accountType", b"accountType", "currentIndex", b"currentIndex", "rawID", b"rawID", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accountType", b"accountType", "currentIndex", b"currentIndex", "rawID", b"rawID", "timestamp", b"timestamp", "validIndexes", b"validIndexes"]) -> None: ... + +global___ADVKeyIndexList = ADVKeyIndexList + +@typing.final +class ADVSignedKeyIndexList(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DETAILS_FIELD_NUMBER: builtins.int + ACCOUNTSIGNATURE_FIELD_NUMBER: builtins.int + ACCOUNTSIGNATUREKEY_FIELD_NUMBER: builtins.int + details: builtins.bytes + accountSignature: builtins.bytes + accountSignatureKey: builtins.bytes + def __init__( + self, + *, + details: builtins.bytes | None = ..., + accountSignature: builtins.bytes | None = ..., + accountSignatureKey: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accountSignature", b"accountSignature", "accountSignatureKey", b"accountSignatureKey", "details", b"details"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accountSignature", b"accountSignature", "accountSignatureKey", b"accountSignatureKey", "details", b"details"]) -> None: ... + +global___ADVSignedKeyIndexList = ADVSignedKeyIndexList + +@typing.final +class ADVDeviceIdentity(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RAWID_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + KEYINDEX_FIELD_NUMBER: builtins.int + ACCOUNTTYPE_FIELD_NUMBER: builtins.int + DEVICETYPE_FIELD_NUMBER: builtins.int + rawID: builtins.int + timestamp: builtins.int + keyIndex: builtins.int + accountType: global___ADVEncryptionType.ValueType + deviceType: global___ADVEncryptionType.ValueType + def __init__( + self, + *, + rawID: builtins.int | None = ..., + timestamp: builtins.int | None = ..., + keyIndex: builtins.int | None = ..., + accountType: global___ADVEncryptionType.ValueType | None = ..., + deviceType: global___ADVEncryptionType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accountType", b"accountType", "deviceType", b"deviceType", "keyIndex", b"keyIndex", "rawID", b"rawID", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accountType", b"accountType", "deviceType", b"deviceType", "keyIndex", b"keyIndex", "rawID", b"rawID", "timestamp", b"timestamp"]) -> None: ... + +global___ADVDeviceIdentity = ADVDeviceIdentity + +@typing.final +class ADVSignedDeviceIdentity(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DETAILS_FIELD_NUMBER: builtins.int + ACCOUNTSIGNATUREKEY_FIELD_NUMBER: builtins.int + ACCOUNTSIGNATURE_FIELD_NUMBER: builtins.int + DEVICESIGNATURE_FIELD_NUMBER: builtins.int + details: builtins.bytes + accountSignatureKey: builtins.bytes + accountSignature: builtins.bytes + deviceSignature: builtins.bytes + def __init__( + self, + *, + details: builtins.bytes | None = ..., + accountSignatureKey: builtins.bytes | None = ..., + accountSignature: builtins.bytes | None = ..., + deviceSignature: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accountSignature", b"accountSignature", "accountSignatureKey", b"accountSignatureKey", "details", b"details", "deviceSignature", b"deviceSignature"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accountSignature", b"accountSignature", "accountSignatureKey", b"accountSignatureKey", "details", b"details", "deviceSignature", b"deviceSignature"]) -> None: ... + +global___ADVSignedDeviceIdentity = ADVSignedDeviceIdentity + +@typing.final +class ADVSignedDeviceIdentityHMAC(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DETAILS_FIELD_NUMBER: builtins.int + HMAC_FIELD_NUMBER: builtins.int + ACCOUNTTYPE_FIELD_NUMBER: builtins.int + details: builtins.bytes + HMAC: builtins.bytes + accountType: global___ADVEncryptionType.ValueType + def __init__( + self, + *, + details: builtins.bytes | None = ..., + HMAC: builtins.bytes | None = ..., + accountType: global___ADVEncryptionType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["HMAC", b"HMAC", "accountType", b"accountType", "details", b"details"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["HMAC", b"HMAC", "accountType", b"accountType", "details", b"details"]) -> None: ... + +global___ADVSignedDeviceIdentityHMAC = ADVSignedDeviceIdentityHMAC diff --git a/neonize/proto/waArmadilloApplication/WAArmadilloApplication_pb2.py b/neonize/proto/waArmadilloApplication/WAArmadilloApplication_pb2.py new file mode 100644 index 00000000..845fbdb0 --- /dev/null +++ b/neonize/proto/waArmadilloApplication/WAArmadilloApplication_pb2.py @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waArmadilloApplication/WAArmadilloApplication.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waArmadilloApplication/WAArmadilloApplication.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waArmadilloXMA import WAArmadilloXMA_pb2 as waArmadilloXMA_dot_WAArmadilloXMA__pb2 +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3waArmadilloApplication/WAArmadilloApplication.proto\x12\x16WAArmadilloApplication\x1a#waArmadilloXMA/WAArmadilloXMA.proto\x1a\x17waCommon/WACommon.proto\"\xd9\x35\n\tArmadillo\x12:\n\x07payload\x18\x01 \x01(\x0b\x32).WAArmadilloApplication.Armadillo.Payload\x12<\n\x08metadata\x18\x02 \x01(\x0b\x32*.WAArmadilloApplication.Armadillo.Metadata\x1a\n\n\x08Metadata\x1a\xa9\x02\n\x07Payload\x12<\n\x07\x63ontent\x18\x01 \x01(\x0b\x32).WAArmadilloApplication.Armadillo.ContentH\x00\x12L\n\x0f\x61pplicationData\x18\x02 \x01(\x0b\x32\x31.WAArmadilloApplication.Armadillo.ApplicationDataH\x00\x12:\n\x06signal\x18\x03 \x01(\x0b\x32(.WAArmadilloApplication.Armadillo.SignalH\x00\x12K\n\x0bsubProtocol\x18\x04 \x01(\x0b\x32\x34.WAArmadilloApplication.Armadillo.SubProtocolPayloadH\x00\x42\t\n\x07payload\x1aH\n\x12SubProtocolPayload\x12\x32\n\x0b\x66utureProof\x18\x01 \x01(\x0e\x32\x1d.WACommon.FutureProofBehavior\x1a\xae\x04\n\x06Signal\x12\x63\n\x17\x65ncryptedBackupsSecrets\x18\x01 \x01(\x0b\x32@.WAArmadilloApplication.Armadillo.Signal.EncryptedBackupsSecretsH\x00\x1a\xb4\x03\n\x17\x45ncryptedBackupsSecrets\x12\x10\n\x08\x62\x61\x63kupID\x18\x01 \x01(\x04\x12\x14\n\x0cserverDataID\x18\x02 \x01(\x04\x12U\n\x05\x65poch\x18\x03 \x03(\x0b\x32\x46.WAArmadilloApplication.Armadillo.Signal.EncryptedBackupsSecrets.Epoch\x12\x1b\n\x13tempOcmfClientState\x18\x04 \x01(\x0c\x12\x16\n\x0emailboxRootKey\x18\x05 \x01(\x0c\x12 \n\x18obliviousValidationToken\x18\x06 \x01(\x0c\x1a\xc2\x01\n\x05\x45poch\x12\n\n\x02ID\x18\x01 \x01(\x04\x12\x0e\n\x06\x61nonID\x18\x02 \x01(\x0c\x12\x0f\n\x07rootKey\x18\x03 \x01(\x0c\x12\x62\n\x06status\x18\x04 \x01(\x0e\x32R.WAArmadilloApplication.Armadillo.Signal.EncryptedBackupsSecrets.Epoch.EpochStatus\"(\n\x0b\x45pochStatus\x12\x0b\n\x07\x45S_OPEN\x10\x01\x12\x0c\n\x08\x45S_CLOSE\x10\x02\x42\x08\n\x06signal\x1a\xde\x11\n\x0f\x41pplicationData\x12\x62\n\x0cmetadataSync\x18\x01 \x01(\x0b\x32J.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncNotificationH\x00\x12_\n\raiBotResponse\x18\x02 \x01(\x0b\x32\x46.WAArmadilloApplication.Armadillo.ApplicationData.AIBotResponseMessageH\x00\x12x\n\x1dmessageHistoryDocumentMessage\x18\x03 \x01(\x0b\x32O.WAArmadilloApplication.Armadillo.ApplicationData.MessageHistoryDocumentMessageH\x00\x1aH\n\x1dMessageHistoryDocumentMessage\x12\'\n\x08\x64ocument\x18\x01 \x01(\x0b\x32\x15.WACommon.SubProtocol\x1aZ\n\x14\x41IBotResponseMessage\x12\x13\n\x0bsummonToken\x18\x01 \x01(\t\x12\x13\n\x0bmessageText\x18\x02 \x01(\t\x12\x18\n\x10serializedExtras\x18\x03 \x01(\t\x1a\xdf\x0c\n\x12MetadataSyncAction\x12i\n\nchatAction\x18\x65 \x01(\x0b\x32S.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatActionH\x00\x12o\n\rmessageAction\x18\x66 \x01(\x0b\x32V.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageActionH\x00\x12\x17\n\x0f\x61\x63tionTimestamp\x18\x01 \x01(\x03\x1a\xdd\x01\n\x11SyncMessageAction\x12\x83\x01\n\rmessageDelete\x18\x65 \x01(\x0b\x32j.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.ActionMessageDeleteH\x00\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x1a\x15\n\x13\x41\x63tionMessageDeleteB\x08\n\x06\x61\x63tion\x1a\xd3\x06\n\x0eSyncChatAction\x12|\n\x0b\x63hatArchive\x18\x65 \x01(\x0b\x32\x65.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatArchiveH\x00\x12z\n\nchatDelete\x18\x66 \x01(\x0b\x32\x64.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatDeleteH\x00\x12v\n\x08\x63hatRead\x18g \x01(\x0b\x32\x62.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatReadH\x00\x12\x0e\n\x06\x63hatID\x18\x01 \x01(\t\x1a\x91\x01\n\x0e\x41\x63tionChatRead\x12q\n\x0cmessageRange\x18\x01 \x01(\x0b\x32[.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange\x12\x0c\n\x04read\x18\x02 \x01(\x08\x1a\x85\x01\n\x10\x41\x63tionChatDelete\x12q\n\x0cmessageRange\x18\x01 \x01(\x0b\x32[.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange\x1a\x98\x01\n\x11\x41\x63tionChatArchive\x12q\n\x0cmessageRange\x18\x01 \x01(\x0b\x32[.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange\x12\x10\n\x08\x61rchived\x18\x02 \x01(\x08\x42\x08\n\x06\x61\x63tion\x1aI\n\x11SyncActionMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x1a\xc4\x01\n\x16SyncActionMessageRange\x12\x1c\n\x14lastMessageTimestamp\x18\x01 \x01(\x03\x12\"\n\x1alastSystemMessageTimestamp\x18\x02 \x01(\x03\x12h\n\x08messages\x18\x03 \x03(\x0b\x32V.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageB\x0c\n\nactionType\x1aq\n\x18MetadataSyncNotification\x12U\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32\x44.WAArmadilloApplication.Armadillo.ApplicationData.MetadataSyncActionB\x11\n\x0f\x61pplicationData\x1a\xbd\x1b\n\x07\x43ontent\x12P\n\rcommonSticker\x18\x01 \x01(\x0b\x32\x37.WAArmadilloApplication.Armadillo.Content.CommonStickerH\x00\x12V\n\x10screenshotAction\x18\x03 \x01(\x0b\x32:.WAArmadilloApplication.Armadillo.Content.ScreenshotActionH\x00\x12H\n\x16\x65xtendedContentMessage\x18\x04 \x01(\x0b\x32&.WAArmadilloXMA.ExtendedContentMessageH\x00\x12N\n\x0cravenMessage\x18\x05 \x01(\x0b\x32\x36.WAArmadilloApplication.Armadillo.Content.RavenMessageH\x00\x12\x64\n\x17ravenActionNotifMessage\x18\x06 \x01(\x0b\x32\x41.WAArmadilloApplication.Armadillo.Content.RavenActionNotifMessageH\x00\x12r\n\x1e\x65xtendedMessageContentWithSear\x18\x07 \x01(\x0b\x32H.WAArmadilloApplication.Armadillo.Content.ExtendedContentMessageWithSearH\x00\x12\\\n\x13imageGalleryMessage\x18\x08 \x01(\x0b\x32=.WAArmadilloApplication.Armadillo.Content.ImageGalleryMessageH\x00\x12j\n\x1apaymentsTransactionMessage\x18\n \x01(\x0b\x32\x44.WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessageH\x00\x12\\\n\x13\x62umpExistingMessage\x18\x0b \x01(\x0b\x32=.WAArmadilloApplication.Armadillo.Content.BumpExistingMessageH\x00\x12V\n\x10noteReplyMessage\x18\r \x01(\x0b\x32:.WAArmadilloApplication.Armadillo.Content.NoteReplyMessageH\x00\x12R\n\x10ravenMessageMsgr\x18\x0e \x01(\x0b\x32\x36.WAArmadilloApplication.Armadillo.Content.RavenMessageH\x00\x12j\n\x1anetworkVerificationMessage\x18\x0f \x01(\x0b\x32\x44.WAArmadilloApplication.Armadillo.Content.NetworkVerificationMessageH\x00\x1a\xf2\x06\n\x1aPaymentsTransactionMessage\x12\x15\n\rtransactionID\x18\x01 \x01(\x04\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\x12\x10\n\x08\x63urrency\x18\x03 \x01(\t\x12i\n\rpaymentStatus\x18\x04 \x01(\x0e\x32R.WAArmadilloApplication.Armadillo.Content.PaymentsTransactionMessage.PaymentStatus\x12\x46\n\x16\x65xtendedContentMessage\x18\x05 \x01(\x0b\x32&.WAArmadilloXMA.ExtendedContentMessage\"\xe7\x04\n\rPaymentStatus\x12\x13\n\x0fPAYMENT_UNKNOWN\x10\x00\x12\x12\n\x0eREQUEST_INITED\x10\x04\x12\x14\n\x10REQUEST_DECLINED\x10\x05\x12\x1b\n\x17REQUEST_TRANSFER_INITED\x10\x06\x12\x1e\n\x1aREQUEST_TRANSFER_COMPLETED\x10\x07\x12\x1b\n\x17REQUEST_TRANSFER_FAILED\x10\x08\x12\x14\n\x10REQUEST_CANCELED\x10\t\x12\x13\n\x0fREQUEST_EXPIRED\x10\n\x12\x13\n\x0fTRANSFER_INITED\x10\x0b\x12\x14\n\x10TRANSFER_PENDING\x10\x0c\x12+\n\'TRANSFER_PENDING_RECIPIENT_VERIFICATION\x10\r\x12\x15\n\x11TRANSFER_CANCELED\x10\x0e\x12\x16\n\x12TRANSFER_COMPLETED\x10\x0f\x12;\n7TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_CANCELED\x10\x10\x12\x38\n4TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_OTHER\x10\x11\x12\x15\n\x11TRANSFER_REFUNDED\x10\x12\x12\x1b\n\x17TRANSFER_PARTIAL_REFUND\x10\x13\x12\x19\n\x15TRANSFER_CHARGED_BACK\x10\x14\x12\x14\n\x10TRANSFER_EXPIRED\x10\x15\x12\x15\n\x11TRANSFER_DECLINED\x10\x16\x12\x18\n\x14TRANSFER_UNAVAILABLE\x10\x17\x1a.\n\x1aNetworkVerificationMessage\x12\x10\n\x08\x63odeText\x18\x01 \x01(\t\x1a\x86\x02\n\x10NoteReplyMessage\x12,\n\x0btextContent\x18\x04 \x01(\x0b\x32\x15.WACommon.MessageTextH\x00\x12/\n\x0estickerContent\x18\x05 \x01(\x0b\x32\x15.WACommon.SubProtocolH\x00\x12-\n\x0cvideoContent\x18\x06 \x01(\x0b\x32\x15.WACommon.SubProtocolH\x00\x12\x0e\n\x06noteID\x18\x01 \x01(\t\x12\'\n\x08noteText\x18\x02 \x01(\x0b\x32\x15.WACommon.MessageText\x12\x17\n\x0fnoteTimestampMS\x18\x03 \x01(\x03\x42\x12\n\x10noteReplyContent\x1a\x38\n\x13\x42umpExistingMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x1a<\n\x13ImageGalleryMessage\x12%\n\x06images\x18\x01 \x03(\x0b\x32\x15.WACommon.SubProtocol\x1a\xb3\x01\n\x10ScreenshotAction\x12\x61\n\x0escreenshotType\x18\x01 \x01(\x0e\x32I.WAArmadilloApplication.Armadillo.Content.ScreenshotAction.ScreenshotType\"<\n\x0eScreenshotType\x12\x14\n\x10SCREENSHOT_IMAGE\x10\x01\x12\x14\n\x10SCREEN_RECORDING\x10\x02\x1a\xa9\x01\n\x1e\x45xtendedContentMessageWithSear\x12\x0e\n\x06searID\x18\x01 \x01(\t\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x11\n\tnativeURL\x18\x03 \x01(\t\x12\x34\n\x15searAssociatedMessage\x18\x04 \x01(\x0b\x32\x15.WACommon.SubProtocol\x12\x1d\n\x15searSentWithMessageID\x18\x05 \x01(\t\x1a\xf4\x01\n\x17RavenActionNotifMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x17\n\x0f\x61\x63tionTimestamp\x18\x02 \x01(\x03\x12`\n\nactionType\x18\x03 \x01(\x0e\x32L.WAArmadilloApplication.Armadillo.Content.RavenActionNotifMessage.ActionType\";\n\nActionType\x12\n\n\x06PLAYED\x10\x00\x12\x0e\n\nSCREENSHOT\x10\x01\x12\x11\n\rFORCE_DISABLE\x10\x02\x1a\x9d\x02\n\x0cRavenMessage\x12-\n\x0cimageMessage\x18\x02 \x01(\x0b\x32\x15.WACommon.SubProtocolH\x00\x12-\n\x0cvideoMessage\x18\x03 \x01(\x0b\x32\x15.WACommon.SubProtocolH\x00\x12[\n\rephemeralType\x18\x01 \x01(\x0e\x32\x44.WAArmadilloApplication.Armadillo.Content.RavenMessage.EphemeralType\"B\n\rEphemeralType\x12\r\n\tVIEW_ONCE\x10\x00\x12\x10\n\x0c\x41LLOW_REPLAY\x10\x01\x12\x10\n\x0cKEEP_IN_CHAT\x10\x02\x42\x0e\n\x0cmediaContent\x1a\xa9\x01\n\rCommonSticker\x12X\n\x0bstickerType\x18\x01 \x01(\x0e\x32\x43.WAArmadilloApplication.Armadillo.Content.CommonSticker.StickerType\">\n\x0bStickerType\x12\x0e\n\nSMALL_LIKE\x10\x01\x12\x0f\n\x0bMEDIUM_LIKE\x10\x02\x12\x0e\n\nLARGE_LIKE\x10\x03\x42\t\n\x07\x63ontentB2Z0go.mau.fi/whatsmeow/proto/waArmadilloApplication') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waArmadilloApplication.WAArmadilloApplication_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z0go.mau.fi/whatsmeow/proto/waArmadilloApplication' + _globals['_ARMADILLO']._serialized_start=142 + _globals['_ARMADILLO']._serialized_end=7015 + _globals['_ARMADILLO_METADATA']._serialized_start=277 + _globals['_ARMADILLO_METADATA']._serialized_end=287 + _globals['_ARMADILLO_PAYLOAD']._serialized_start=290 + _globals['_ARMADILLO_PAYLOAD']._serialized_end=587 + _globals['_ARMADILLO_SUBPROTOCOLPAYLOAD']._serialized_start=589 + _globals['_ARMADILLO_SUBPROTOCOLPAYLOAD']._serialized_end=661 + _globals['_ARMADILLO_SIGNAL']._serialized_start=664 + _globals['_ARMADILLO_SIGNAL']._serialized_end=1222 + _globals['_ARMADILLO_SIGNAL_ENCRYPTEDBACKUPSSECRETS']._serialized_start=776 + _globals['_ARMADILLO_SIGNAL_ENCRYPTEDBACKUPSSECRETS']._serialized_end=1212 + _globals['_ARMADILLO_SIGNAL_ENCRYPTEDBACKUPSSECRETS_EPOCH']._serialized_start=1018 + _globals['_ARMADILLO_SIGNAL_ENCRYPTEDBACKUPSSECRETS_EPOCH']._serialized_end=1212 + _globals['_ARMADILLO_SIGNAL_ENCRYPTEDBACKUPSSECRETS_EPOCH_EPOCHSTATUS']._serialized_start=1172 + _globals['_ARMADILLO_SIGNAL_ENCRYPTEDBACKUPSSECRETS_EPOCH_EPOCHSTATUS']._serialized_end=1212 + _globals['_ARMADILLO_APPLICATIONDATA']._serialized_start=1225 + _globals['_ARMADILLO_APPLICATIONDATA']._serialized_end=3495 + _globals['_ARMADILLO_APPLICATIONDATA_MESSAGEHISTORYDOCUMENTMESSAGE']._serialized_start=1563 + _globals['_ARMADILLO_APPLICATIONDATA_MESSAGEHISTORYDOCUMENTMESSAGE']._serialized_end=1635 + _globals['_ARMADILLO_APPLICATIONDATA_AIBOTRESPONSEMESSAGE']._serialized_start=1637 + _globals['_ARMADILLO_APPLICATIONDATA_AIBOTRESPONSEMESSAGE']._serialized_end=1727 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION']._serialized_start=1730 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION']._serialized_end=3361 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCMESSAGEACTION']._serialized_start=1998 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCMESSAGEACTION']._serialized_end=2219 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCMESSAGEACTION_ACTIONMESSAGEDELETE']._serialized_start=2188 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCMESSAGEACTION_ACTIONMESSAGEDELETE']._serialized_end=2209 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCCHATACTION']._serialized_start=2222 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCCHATACTION']._serialized_end=3073 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCCHATACTION_ACTIONCHATREAD']._serialized_start=2627 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCCHATACTION_ACTIONCHATREAD']._serialized_end=2772 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCCHATACTION_ACTIONCHATDELETE']._serialized_start=2775 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCCHATACTION_ACTIONCHATDELETE']._serialized_end=2908 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCCHATACTION_ACTIONCHATARCHIVE']._serialized_start=2911 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCCHATACTION_ACTIONCHATARCHIVE']._serialized_end=3063 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCACTIONMESSAGE']._serialized_start=3075 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCACTIONMESSAGE']._serialized_end=3148 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCACTIONMESSAGERANGE']._serialized_start=3151 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCACTION_SYNCACTIONMESSAGERANGE']._serialized_end=3347 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCNOTIFICATION']._serialized_start=3363 + _globals['_ARMADILLO_APPLICATIONDATA_METADATASYNCNOTIFICATION']._serialized_end=3476 + _globals['_ARMADILLO_CONTENT']._serialized_start=3498 + _globals['_ARMADILLO_CONTENT']._serialized_end=7015 + _globals['_ARMADILLO_CONTENT_PAYMENTSTRANSACTIONMESSAGE']._serialized_start=4628 + _globals['_ARMADILLO_CONTENT_PAYMENTSTRANSACTIONMESSAGE']._serialized_end=5510 + _globals['_ARMADILLO_CONTENT_PAYMENTSTRANSACTIONMESSAGE_PAYMENTSTATUS']._serialized_start=4895 + _globals['_ARMADILLO_CONTENT_PAYMENTSTRANSACTIONMESSAGE_PAYMENTSTATUS']._serialized_end=5510 + _globals['_ARMADILLO_CONTENT_NETWORKVERIFICATIONMESSAGE']._serialized_start=5512 + _globals['_ARMADILLO_CONTENT_NETWORKVERIFICATIONMESSAGE']._serialized_end=5558 + _globals['_ARMADILLO_CONTENT_NOTEREPLYMESSAGE']._serialized_start=5561 + _globals['_ARMADILLO_CONTENT_NOTEREPLYMESSAGE']._serialized_end=5823 + _globals['_ARMADILLO_CONTENT_BUMPEXISTINGMESSAGE']._serialized_start=5825 + _globals['_ARMADILLO_CONTENT_BUMPEXISTINGMESSAGE']._serialized_end=5881 + _globals['_ARMADILLO_CONTENT_IMAGEGALLERYMESSAGE']._serialized_start=5883 + _globals['_ARMADILLO_CONTENT_IMAGEGALLERYMESSAGE']._serialized_end=5943 + _globals['_ARMADILLO_CONTENT_SCREENSHOTACTION']._serialized_start=5946 + _globals['_ARMADILLO_CONTENT_SCREENSHOTACTION']._serialized_end=6125 + _globals['_ARMADILLO_CONTENT_SCREENSHOTACTION_SCREENSHOTTYPE']._serialized_start=6065 + _globals['_ARMADILLO_CONTENT_SCREENSHOTACTION_SCREENSHOTTYPE']._serialized_end=6125 + _globals['_ARMADILLO_CONTENT_EXTENDEDCONTENTMESSAGEWITHSEAR']._serialized_start=6128 + _globals['_ARMADILLO_CONTENT_EXTENDEDCONTENTMESSAGEWITHSEAR']._serialized_end=6297 + _globals['_ARMADILLO_CONTENT_RAVENACTIONNOTIFMESSAGE']._serialized_start=6300 + _globals['_ARMADILLO_CONTENT_RAVENACTIONNOTIFMESSAGE']._serialized_end=6544 + _globals['_ARMADILLO_CONTENT_RAVENACTIONNOTIFMESSAGE_ACTIONTYPE']._serialized_start=6485 + _globals['_ARMADILLO_CONTENT_RAVENACTIONNOTIFMESSAGE_ACTIONTYPE']._serialized_end=6544 + _globals['_ARMADILLO_CONTENT_RAVENMESSAGE']._serialized_start=6547 + _globals['_ARMADILLO_CONTENT_RAVENMESSAGE']._serialized_end=6832 + _globals['_ARMADILLO_CONTENT_RAVENMESSAGE_EPHEMERALTYPE']._serialized_start=6750 + _globals['_ARMADILLO_CONTENT_RAVENMESSAGE_EPHEMERALTYPE']._serialized_end=6816 + _globals['_ARMADILLO_CONTENT_COMMONSTICKER']._serialized_start=6835 + _globals['_ARMADILLO_CONTENT_COMMONSTICKER']._serialized_end=7004 + _globals['_ARMADILLO_CONTENT_COMMONSTICKER_STICKERTYPE']._serialized_start=6942 + _globals['_ARMADILLO_CONTENT_COMMONSTICKER_STICKERTYPE']._serialized_end=7004 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waArmadilloApplication/WAArmadilloApplication_pb2.pyi b/neonize/proto/waArmadilloApplication/WAArmadilloApplication_pb2.pyi new file mode 100644 index 00000000..6e3d2bad --- /dev/null +++ b/neonize/proto/waArmadilloApplication/WAArmadilloApplication_pb2.pyi @@ -0,0 +1,788 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waArmadilloXMA.WAArmadilloXMA_pb2 +import waCommon.WACommon_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class Armadillo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Metadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + + @typing.final + class Payload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTENT_FIELD_NUMBER: builtins.int + APPLICATIONDATA_FIELD_NUMBER: builtins.int + SIGNAL_FIELD_NUMBER: builtins.int + SUBPROTOCOL_FIELD_NUMBER: builtins.int + @property + def content(self) -> global___Armadillo.Content: ... + @property + def applicationData(self) -> global___Armadillo.ApplicationData: ... + @property + def signal(self) -> global___Armadillo.Signal: ... + @property + def subProtocol(self) -> global___Armadillo.SubProtocolPayload: ... + def __init__( + self, + *, + content: global___Armadillo.Content | None = ..., + applicationData: global___Armadillo.ApplicationData | None = ..., + signal: global___Armadillo.Signal | None = ..., + subProtocol: global___Armadillo.SubProtocolPayload | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["applicationData", b"applicationData", "content", b"content", "payload", b"payload", "signal", b"signal", "subProtocol", b"subProtocol"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["applicationData", b"applicationData", "content", b"content", "payload", b"payload", "signal", b"signal", "subProtocol", b"subProtocol"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["payload", b"payload"]) -> typing.Literal["content", "applicationData", "signal", "subProtocol"] | None: ... + + @typing.final + class SubProtocolPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FUTUREPROOF_FIELD_NUMBER: builtins.int + futureProof: waCommon.WACommon_pb2.FutureProofBehavior.ValueType + def __init__( + self, + *, + futureProof: waCommon.WACommon_pb2.FutureProofBehavior.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["futureProof", b"futureProof"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["futureProof", b"futureProof"]) -> None: ... + + @typing.final + class Signal(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class EncryptedBackupsSecrets(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Epoch(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _EpochStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _EpochStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Armadillo.Signal.EncryptedBackupsSecrets.Epoch._EpochStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ES_OPEN: Armadillo.Signal.EncryptedBackupsSecrets.Epoch._EpochStatus.ValueType # 1 + ES_CLOSE: Armadillo.Signal.EncryptedBackupsSecrets.Epoch._EpochStatus.ValueType # 2 + + class EpochStatus(_EpochStatus, metaclass=_EpochStatusEnumTypeWrapper): ... + ES_OPEN: Armadillo.Signal.EncryptedBackupsSecrets.Epoch.EpochStatus.ValueType # 1 + ES_CLOSE: Armadillo.Signal.EncryptedBackupsSecrets.Epoch.EpochStatus.ValueType # 2 + + ID_FIELD_NUMBER: builtins.int + ANONID_FIELD_NUMBER: builtins.int + ROOTKEY_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + ID: builtins.int + anonID: builtins.bytes + rootKey: builtins.bytes + status: global___Armadillo.Signal.EncryptedBackupsSecrets.Epoch.EpochStatus.ValueType + def __init__( + self, + *, + ID: builtins.int | None = ..., + anonID: builtins.bytes | None = ..., + rootKey: builtins.bytes | None = ..., + status: global___Armadillo.Signal.EncryptedBackupsSecrets.Epoch.EpochStatus.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "anonID", b"anonID", "rootKey", b"rootKey", "status", b"status"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "anonID", b"anonID", "rootKey", b"rootKey", "status", b"status"]) -> None: ... + + BACKUPID_FIELD_NUMBER: builtins.int + SERVERDATAID_FIELD_NUMBER: builtins.int + EPOCH_FIELD_NUMBER: builtins.int + TEMPOCMFCLIENTSTATE_FIELD_NUMBER: builtins.int + MAILBOXROOTKEY_FIELD_NUMBER: builtins.int + OBLIVIOUSVALIDATIONTOKEN_FIELD_NUMBER: builtins.int + backupID: builtins.int + serverDataID: builtins.int + tempOcmfClientState: builtins.bytes + mailboxRootKey: builtins.bytes + obliviousValidationToken: builtins.bytes + @property + def epoch(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Armadillo.Signal.EncryptedBackupsSecrets.Epoch]: ... + def __init__( + self, + *, + backupID: builtins.int | None = ..., + serverDataID: builtins.int | None = ..., + epoch: collections.abc.Iterable[global___Armadillo.Signal.EncryptedBackupsSecrets.Epoch] | None = ..., + tempOcmfClientState: builtins.bytes | None = ..., + mailboxRootKey: builtins.bytes | None = ..., + obliviousValidationToken: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["backupID", b"backupID", "mailboxRootKey", b"mailboxRootKey", "obliviousValidationToken", b"obliviousValidationToken", "serverDataID", b"serverDataID", "tempOcmfClientState", b"tempOcmfClientState"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["backupID", b"backupID", "epoch", b"epoch", "mailboxRootKey", b"mailboxRootKey", "obliviousValidationToken", b"obliviousValidationToken", "serverDataID", b"serverDataID", "tempOcmfClientState", b"tempOcmfClientState"]) -> None: ... + + ENCRYPTEDBACKUPSSECRETS_FIELD_NUMBER: builtins.int + @property + def encryptedBackupsSecrets(self) -> global___Armadillo.Signal.EncryptedBackupsSecrets: ... + def __init__( + self, + *, + encryptedBackupsSecrets: global___Armadillo.Signal.EncryptedBackupsSecrets | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encryptedBackupsSecrets", b"encryptedBackupsSecrets", "signal", b"signal"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encryptedBackupsSecrets", b"encryptedBackupsSecrets", "signal", b"signal"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["signal", b"signal"]) -> typing.Literal["encryptedBackupsSecrets"] | None: ... + + @typing.final + class ApplicationData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class MessageHistoryDocumentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DOCUMENT_FIELD_NUMBER: builtins.int + @property + def document(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + document: waCommon.WACommon_pb2.SubProtocol | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["document", b"document"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["document", b"document"]) -> None: ... + + @typing.final + class AIBotResponseMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SUMMONTOKEN_FIELD_NUMBER: builtins.int + MESSAGETEXT_FIELD_NUMBER: builtins.int + SERIALIZEDEXTRAS_FIELD_NUMBER: builtins.int + summonToken: builtins.str + messageText: builtins.str + serializedExtras: builtins.str + def __init__( + self, + *, + summonToken: builtins.str | None = ..., + messageText: builtins.str | None = ..., + serializedExtras: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageText", b"messageText", "serializedExtras", b"serializedExtras", "summonToken", b"summonToken"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageText", b"messageText", "serializedExtras", b"serializedExtras", "summonToken", b"summonToken"]) -> None: ... + + @typing.final + class MetadataSyncAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class SyncMessageAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class ActionMessageDelete(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + + MESSAGEDELETE_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + @property + def messageDelete(self) -> global___Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.ActionMessageDelete: ... + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + messageDelete: global___Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction.ActionMessageDelete | None = ..., + key: waCommon.WACommon_pb2.MessageKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "key", b"key", "messageDelete", b"messageDelete"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "key", b"key", "messageDelete", b"messageDelete"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["action", b"action"]) -> typing.Literal["messageDelete"] | None: ... + + @typing.final + class SyncChatAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class ActionChatRead(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGERANGE_FIELD_NUMBER: builtins.int + READ_FIELD_NUMBER: builtins.int + read: builtins.bool + @property + def messageRange(self) -> global___Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange: ... + def __init__( + self, + *, + messageRange: global___Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange | None = ..., + read: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageRange", b"messageRange", "read", b"read"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageRange", b"messageRange", "read", b"read"]) -> None: ... + + @typing.final + class ActionChatDelete(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGERANGE_FIELD_NUMBER: builtins.int + @property + def messageRange(self) -> global___Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange: ... + def __init__( + self, + *, + messageRange: global___Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageRange", b"messageRange"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageRange", b"messageRange"]) -> None: ... + + @typing.final + class ActionChatArchive(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGERANGE_FIELD_NUMBER: builtins.int + ARCHIVED_FIELD_NUMBER: builtins.int + archived: builtins.bool + @property + def messageRange(self) -> global___Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange: ... + def __init__( + self, + *, + messageRange: global___Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessageRange | None = ..., + archived: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["archived", b"archived", "messageRange", b"messageRange"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["archived", b"archived", "messageRange", b"messageRange"]) -> None: ... + + CHATARCHIVE_FIELD_NUMBER: builtins.int + CHATDELETE_FIELD_NUMBER: builtins.int + CHATREAD_FIELD_NUMBER: builtins.int + CHATID_FIELD_NUMBER: builtins.int + chatID: builtins.str + @property + def chatArchive(self) -> global___Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatArchive: ... + @property + def chatDelete(self) -> global___Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatDelete: ... + @property + def chatRead(self) -> global___Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatRead: ... + def __init__( + self, + *, + chatArchive: global___Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatArchive | None = ..., + chatDelete: global___Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatDelete | None = ..., + chatRead: global___Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction.ActionChatRead | None = ..., + chatID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "chatArchive", b"chatArchive", "chatDelete", b"chatDelete", "chatID", b"chatID", "chatRead", b"chatRead"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "chatArchive", b"chatArchive", "chatDelete", b"chatDelete", "chatID", b"chatID", "chatRead", b"chatRead"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["action", b"action"]) -> typing.Literal["chatArchive", "chatDelete", "chatRead"] | None: ... + + @typing.final + class SyncActionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + timestamp: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + timestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "timestamp", b"timestamp"]) -> None: ... + + @typing.final + class SyncActionMessageRange(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LASTMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int + LASTSYSTEMMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int + MESSAGES_FIELD_NUMBER: builtins.int + lastMessageTimestamp: builtins.int + lastSystemMessageTimestamp: builtins.int + @property + def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessage]: ... + def __init__( + self, + *, + lastMessageTimestamp: builtins.int | None = ..., + lastSystemMessageTimestamp: builtins.int | None = ..., + messages: collections.abc.Iterable[global___Armadillo.ApplicationData.MetadataSyncAction.SyncActionMessage] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["lastMessageTimestamp", b"lastMessageTimestamp", "lastSystemMessageTimestamp", b"lastSystemMessageTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["lastMessageTimestamp", b"lastMessageTimestamp", "lastSystemMessageTimestamp", b"lastSystemMessageTimestamp", "messages", b"messages"]) -> None: ... + + CHATACTION_FIELD_NUMBER: builtins.int + MESSAGEACTION_FIELD_NUMBER: builtins.int + ACTIONTIMESTAMP_FIELD_NUMBER: builtins.int + actionTimestamp: builtins.int + @property + def chatAction(self) -> global___Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction: ... + @property + def messageAction(self) -> global___Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction: ... + def __init__( + self, + *, + chatAction: global___Armadillo.ApplicationData.MetadataSyncAction.SyncChatAction | None = ..., + messageAction: global___Armadillo.ApplicationData.MetadataSyncAction.SyncMessageAction | None = ..., + actionTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionTimestamp", b"actionTimestamp", "actionType", b"actionType", "chatAction", b"chatAction", "messageAction", b"messageAction"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionTimestamp", b"actionTimestamp", "actionType", b"actionType", "chatAction", b"chatAction", "messageAction", b"messageAction"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["actionType", b"actionType"]) -> typing.Literal["chatAction", "messageAction"] | None: ... + + @typing.final + class MetadataSyncNotification(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ACTIONS_FIELD_NUMBER: builtins.int + @property + def actions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Armadillo.ApplicationData.MetadataSyncAction]: ... + def __init__( + self, + *, + actions: collections.abc.Iterable[global___Armadillo.ApplicationData.MetadataSyncAction] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["actions", b"actions"]) -> None: ... + + METADATASYNC_FIELD_NUMBER: builtins.int + AIBOTRESPONSE_FIELD_NUMBER: builtins.int + MESSAGEHISTORYDOCUMENTMESSAGE_FIELD_NUMBER: builtins.int + @property + def metadataSync(self) -> global___Armadillo.ApplicationData.MetadataSyncNotification: ... + @property + def aiBotResponse(self) -> global___Armadillo.ApplicationData.AIBotResponseMessage: ... + @property + def messageHistoryDocumentMessage(self) -> global___Armadillo.ApplicationData.MessageHistoryDocumentMessage: ... + def __init__( + self, + *, + metadataSync: global___Armadillo.ApplicationData.MetadataSyncNotification | None = ..., + aiBotResponse: global___Armadillo.ApplicationData.AIBotResponseMessage | None = ..., + messageHistoryDocumentMessage: global___Armadillo.ApplicationData.MessageHistoryDocumentMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["aiBotResponse", b"aiBotResponse", "applicationData", b"applicationData", "messageHistoryDocumentMessage", b"messageHistoryDocumentMessage", "metadataSync", b"metadataSync"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["aiBotResponse", b"aiBotResponse", "applicationData", b"applicationData", "messageHistoryDocumentMessage", b"messageHistoryDocumentMessage", "metadataSync", b"metadataSync"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["applicationData", b"applicationData"]) -> typing.Literal["metadataSync", "aiBotResponse", "messageHistoryDocumentMessage"] | None: ... + + @typing.final + class Content(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class PaymentsTransactionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PaymentStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PaymentStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PAYMENT_UNKNOWN: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 0 + REQUEST_INITED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 4 + REQUEST_DECLINED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 5 + REQUEST_TRANSFER_INITED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 6 + REQUEST_TRANSFER_COMPLETED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 7 + REQUEST_TRANSFER_FAILED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 8 + REQUEST_CANCELED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 9 + REQUEST_EXPIRED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 10 + TRANSFER_INITED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 11 + TRANSFER_PENDING: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 12 + TRANSFER_PENDING_RECIPIENT_VERIFICATION: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 13 + TRANSFER_CANCELED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 14 + TRANSFER_COMPLETED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 15 + TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_CANCELED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 16 + TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_OTHER: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 17 + TRANSFER_REFUNDED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 18 + TRANSFER_PARTIAL_REFUND: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 19 + TRANSFER_CHARGED_BACK: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 20 + TRANSFER_EXPIRED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 21 + TRANSFER_DECLINED: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 22 + TRANSFER_UNAVAILABLE: Armadillo.Content.PaymentsTransactionMessage._PaymentStatus.ValueType # 23 + + class PaymentStatus(_PaymentStatus, metaclass=_PaymentStatusEnumTypeWrapper): ... + PAYMENT_UNKNOWN: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 0 + REQUEST_INITED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 4 + REQUEST_DECLINED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 5 + REQUEST_TRANSFER_INITED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 6 + REQUEST_TRANSFER_COMPLETED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 7 + REQUEST_TRANSFER_FAILED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 8 + REQUEST_CANCELED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 9 + REQUEST_EXPIRED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 10 + TRANSFER_INITED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 11 + TRANSFER_PENDING: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 12 + TRANSFER_PENDING_RECIPIENT_VERIFICATION: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 13 + TRANSFER_CANCELED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 14 + TRANSFER_COMPLETED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 15 + TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_CANCELED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 16 + TRANSFER_NO_RECEIVER_CREDENTIAL_NO_RTS_PENDING_OTHER: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 17 + TRANSFER_REFUNDED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 18 + TRANSFER_PARTIAL_REFUND: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 19 + TRANSFER_CHARGED_BACK: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 20 + TRANSFER_EXPIRED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 21 + TRANSFER_DECLINED: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 22 + TRANSFER_UNAVAILABLE: Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType # 23 + + TRANSACTIONID_FIELD_NUMBER: builtins.int + AMOUNT_FIELD_NUMBER: builtins.int + CURRENCY_FIELD_NUMBER: builtins.int + PAYMENTSTATUS_FIELD_NUMBER: builtins.int + EXTENDEDCONTENTMESSAGE_FIELD_NUMBER: builtins.int + transactionID: builtins.int + amount: builtins.str + currency: builtins.str + paymentStatus: global___Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType + @property + def extendedContentMessage(self) -> waArmadilloXMA.WAArmadilloXMA_pb2.ExtendedContentMessage: ... + def __init__( + self, + *, + transactionID: builtins.int | None = ..., + amount: builtins.str | None = ..., + currency: builtins.str | None = ..., + paymentStatus: global___Armadillo.Content.PaymentsTransactionMessage.PaymentStatus.ValueType | None = ..., + extendedContentMessage: waArmadilloXMA.WAArmadilloXMA_pb2.ExtendedContentMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["amount", b"amount", "currency", b"currency", "extendedContentMessage", b"extendedContentMessage", "paymentStatus", b"paymentStatus", "transactionID", b"transactionID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["amount", b"amount", "currency", b"currency", "extendedContentMessage", b"extendedContentMessage", "paymentStatus", b"paymentStatus", "transactionID", b"transactionID"]) -> None: ... + + @typing.final + class NetworkVerificationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CODETEXT_FIELD_NUMBER: builtins.int + codeText: builtins.str + def __init__( + self, + *, + codeText: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["codeText", b"codeText"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["codeText", b"codeText"]) -> None: ... + + @typing.final + class NoteReplyMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TEXTCONTENT_FIELD_NUMBER: builtins.int + STICKERCONTENT_FIELD_NUMBER: builtins.int + VIDEOCONTENT_FIELD_NUMBER: builtins.int + NOTEID_FIELD_NUMBER: builtins.int + NOTETEXT_FIELD_NUMBER: builtins.int + NOTETIMESTAMPMS_FIELD_NUMBER: builtins.int + noteID: builtins.str + noteTimestampMS: builtins.int + @property + def textContent(self) -> waCommon.WACommon_pb2.MessageText: ... + @property + def stickerContent(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def videoContent(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def noteText(self) -> waCommon.WACommon_pb2.MessageText: ... + def __init__( + self, + *, + textContent: waCommon.WACommon_pb2.MessageText | None = ..., + stickerContent: waCommon.WACommon_pb2.SubProtocol | None = ..., + videoContent: waCommon.WACommon_pb2.SubProtocol | None = ..., + noteID: builtins.str | None = ..., + noteText: waCommon.WACommon_pb2.MessageText | None = ..., + noteTimestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["noteID", b"noteID", "noteReplyContent", b"noteReplyContent", "noteText", b"noteText", "noteTimestampMS", b"noteTimestampMS", "stickerContent", b"stickerContent", "textContent", b"textContent", "videoContent", b"videoContent"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["noteID", b"noteID", "noteReplyContent", b"noteReplyContent", "noteText", b"noteText", "noteTimestampMS", b"noteTimestampMS", "stickerContent", b"stickerContent", "textContent", b"textContent", "videoContent", b"videoContent"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["noteReplyContent", b"noteReplyContent"]) -> typing.Literal["textContent", "stickerContent", "videoContent"] | None: ... + + @typing.final + class BumpExistingMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... + + @typing.final + class ImageGalleryMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + IMAGES_FIELD_NUMBER: builtins.int + @property + def images(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waCommon.WACommon_pb2.SubProtocol]: ... + def __init__( + self, + *, + images: collections.abc.Iterable[waCommon.WACommon_pb2.SubProtocol] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["images", b"images"]) -> None: ... + + @typing.final + class ScreenshotAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ScreenshotType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ScreenshotTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Armadillo.Content.ScreenshotAction._ScreenshotType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SCREENSHOT_IMAGE: Armadillo.Content.ScreenshotAction._ScreenshotType.ValueType # 1 + SCREEN_RECORDING: Armadillo.Content.ScreenshotAction._ScreenshotType.ValueType # 2 + + class ScreenshotType(_ScreenshotType, metaclass=_ScreenshotTypeEnumTypeWrapper): ... + SCREENSHOT_IMAGE: Armadillo.Content.ScreenshotAction.ScreenshotType.ValueType # 1 + SCREEN_RECORDING: Armadillo.Content.ScreenshotAction.ScreenshotType.ValueType # 2 + + SCREENSHOTTYPE_FIELD_NUMBER: builtins.int + screenshotType: global___Armadillo.Content.ScreenshotAction.ScreenshotType.ValueType + def __init__( + self, + *, + screenshotType: global___Armadillo.Content.ScreenshotAction.ScreenshotType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["screenshotType", b"screenshotType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["screenshotType", b"screenshotType"]) -> None: ... + + @typing.final + class ExtendedContentMessageWithSear(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SEARID_FIELD_NUMBER: builtins.int + PAYLOAD_FIELD_NUMBER: builtins.int + NATIVEURL_FIELD_NUMBER: builtins.int + SEARASSOCIATEDMESSAGE_FIELD_NUMBER: builtins.int + SEARSENTWITHMESSAGEID_FIELD_NUMBER: builtins.int + searID: builtins.str + payload: builtins.bytes + nativeURL: builtins.str + searSentWithMessageID: builtins.str + @property + def searAssociatedMessage(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + searID: builtins.str | None = ..., + payload: builtins.bytes | None = ..., + nativeURL: builtins.str | None = ..., + searAssociatedMessage: waCommon.WACommon_pb2.SubProtocol | None = ..., + searSentWithMessageID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["nativeURL", b"nativeURL", "payload", b"payload", "searAssociatedMessage", b"searAssociatedMessage", "searID", b"searID", "searSentWithMessageID", b"searSentWithMessageID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["nativeURL", b"nativeURL", "payload", b"payload", "searAssociatedMessage", b"searAssociatedMessage", "searID", b"searID", "searSentWithMessageID", b"searSentWithMessageID"]) -> None: ... + + @typing.final + class RavenActionNotifMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ActionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ActionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Armadillo.Content.RavenActionNotifMessage._ActionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PLAYED: Armadillo.Content.RavenActionNotifMessage._ActionType.ValueType # 0 + SCREENSHOT: Armadillo.Content.RavenActionNotifMessage._ActionType.ValueType # 1 + FORCE_DISABLE: Armadillo.Content.RavenActionNotifMessage._ActionType.ValueType # 2 + + class ActionType(_ActionType, metaclass=_ActionTypeEnumTypeWrapper): ... + PLAYED: Armadillo.Content.RavenActionNotifMessage.ActionType.ValueType # 0 + SCREENSHOT: Armadillo.Content.RavenActionNotifMessage.ActionType.ValueType # 1 + FORCE_DISABLE: Armadillo.Content.RavenActionNotifMessage.ActionType.ValueType # 2 + + KEY_FIELD_NUMBER: builtins.int + ACTIONTIMESTAMP_FIELD_NUMBER: builtins.int + ACTIONTYPE_FIELD_NUMBER: builtins.int + actionTimestamp: builtins.int + actionType: global___Armadillo.Content.RavenActionNotifMessage.ActionType.ValueType + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + actionTimestamp: builtins.int | None = ..., + actionType: global___Armadillo.Content.RavenActionNotifMessage.ActionType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionTimestamp", b"actionTimestamp", "actionType", b"actionType", "key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionTimestamp", b"actionTimestamp", "actionType", b"actionType", "key", b"key"]) -> None: ... + + @typing.final + class RavenMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _EphemeralType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _EphemeralTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Armadillo.Content.RavenMessage._EphemeralType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + VIEW_ONCE: Armadillo.Content.RavenMessage._EphemeralType.ValueType # 0 + ALLOW_REPLAY: Armadillo.Content.RavenMessage._EphemeralType.ValueType # 1 + KEEP_IN_CHAT: Armadillo.Content.RavenMessage._EphemeralType.ValueType # 2 + + class EphemeralType(_EphemeralType, metaclass=_EphemeralTypeEnumTypeWrapper): ... + VIEW_ONCE: Armadillo.Content.RavenMessage.EphemeralType.ValueType # 0 + ALLOW_REPLAY: Armadillo.Content.RavenMessage.EphemeralType.ValueType # 1 + KEEP_IN_CHAT: Armadillo.Content.RavenMessage.EphemeralType.ValueType # 2 + + IMAGEMESSAGE_FIELD_NUMBER: builtins.int + VIDEOMESSAGE_FIELD_NUMBER: builtins.int + EPHEMERALTYPE_FIELD_NUMBER: builtins.int + ephemeralType: global___Armadillo.Content.RavenMessage.EphemeralType.ValueType + @property + def imageMessage(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def videoMessage(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + imageMessage: waCommon.WACommon_pb2.SubProtocol | None = ..., + videoMessage: waCommon.WACommon_pb2.SubProtocol | None = ..., + ephemeralType: global___Armadillo.Content.RavenMessage.EphemeralType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ephemeralType", b"ephemeralType", "imageMessage", b"imageMessage", "mediaContent", b"mediaContent", "videoMessage", b"videoMessage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ephemeralType", b"ephemeralType", "imageMessage", b"imageMessage", "mediaContent", b"mediaContent", "videoMessage", b"videoMessage"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["mediaContent", b"mediaContent"]) -> typing.Literal["imageMessage", "videoMessage"] | None: ... + + @typing.final + class CommonSticker(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _StickerType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StickerTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Armadillo.Content.CommonSticker._StickerType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SMALL_LIKE: Armadillo.Content.CommonSticker._StickerType.ValueType # 1 + MEDIUM_LIKE: Armadillo.Content.CommonSticker._StickerType.ValueType # 2 + LARGE_LIKE: Armadillo.Content.CommonSticker._StickerType.ValueType # 3 + + class StickerType(_StickerType, metaclass=_StickerTypeEnumTypeWrapper): ... + SMALL_LIKE: Armadillo.Content.CommonSticker.StickerType.ValueType # 1 + MEDIUM_LIKE: Armadillo.Content.CommonSticker.StickerType.ValueType # 2 + LARGE_LIKE: Armadillo.Content.CommonSticker.StickerType.ValueType # 3 + + STICKERTYPE_FIELD_NUMBER: builtins.int + stickerType: global___Armadillo.Content.CommonSticker.StickerType.ValueType + def __init__( + self, + *, + stickerType: global___Armadillo.Content.CommonSticker.StickerType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["stickerType", b"stickerType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["stickerType", b"stickerType"]) -> None: ... + + COMMONSTICKER_FIELD_NUMBER: builtins.int + SCREENSHOTACTION_FIELD_NUMBER: builtins.int + EXTENDEDCONTENTMESSAGE_FIELD_NUMBER: builtins.int + RAVENMESSAGE_FIELD_NUMBER: builtins.int + RAVENACTIONNOTIFMESSAGE_FIELD_NUMBER: builtins.int + EXTENDEDMESSAGECONTENTWITHSEAR_FIELD_NUMBER: builtins.int + IMAGEGALLERYMESSAGE_FIELD_NUMBER: builtins.int + PAYMENTSTRANSACTIONMESSAGE_FIELD_NUMBER: builtins.int + BUMPEXISTINGMESSAGE_FIELD_NUMBER: builtins.int + NOTEREPLYMESSAGE_FIELD_NUMBER: builtins.int + RAVENMESSAGEMSGR_FIELD_NUMBER: builtins.int + NETWORKVERIFICATIONMESSAGE_FIELD_NUMBER: builtins.int + @property + def commonSticker(self) -> global___Armadillo.Content.CommonSticker: ... + @property + def screenshotAction(self) -> global___Armadillo.Content.ScreenshotAction: ... + @property + def extendedContentMessage(self) -> waArmadilloXMA.WAArmadilloXMA_pb2.ExtendedContentMessage: ... + @property + def ravenMessage(self) -> global___Armadillo.Content.RavenMessage: ... + @property + def ravenActionNotifMessage(self) -> global___Armadillo.Content.RavenActionNotifMessage: ... + @property + def extendedMessageContentWithSear(self) -> global___Armadillo.Content.ExtendedContentMessageWithSear: ... + @property + def imageGalleryMessage(self) -> global___Armadillo.Content.ImageGalleryMessage: ... + @property + def paymentsTransactionMessage(self) -> global___Armadillo.Content.PaymentsTransactionMessage: ... + @property + def bumpExistingMessage(self) -> global___Armadillo.Content.BumpExistingMessage: ... + @property + def noteReplyMessage(self) -> global___Armadillo.Content.NoteReplyMessage: ... + @property + def ravenMessageMsgr(self) -> global___Armadillo.Content.RavenMessage: ... + @property + def networkVerificationMessage(self) -> global___Armadillo.Content.NetworkVerificationMessage: ... + def __init__( + self, + *, + commonSticker: global___Armadillo.Content.CommonSticker | None = ..., + screenshotAction: global___Armadillo.Content.ScreenshotAction | None = ..., + extendedContentMessage: waArmadilloXMA.WAArmadilloXMA_pb2.ExtendedContentMessage | None = ..., + ravenMessage: global___Armadillo.Content.RavenMessage | None = ..., + ravenActionNotifMessage: global___Armadillo.Content.RavenActionNotifMessage | None = ..., + extendedMessageContentWithSear: global___Armadillo.Content.ExtendedContentMessageWithSear | None = ..., + imageGalleryMessage: global___Armadillo.Content.ImageGalleryMessage | None = ..., + paymentsTransactionMessage: global___Armadillo.Content.PaymentsTransactionMessage | None = ..., + bumpExistingMessage: global___Armadillo.Content.BumpExistingMessage | None = ..., + noteReplyMessage: global___Armadillo.Content.NoteReplyMessage | None = ..., + ravenMessageMsgr: global___Armadillo.Content.RavenMessage | None = ..., + networkVerificationMessage: global___Armadillo.Content.NetworkVerificationMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["bumpExistingMessage", b"bumpExistingMessage", "commonSticker", b"commonSticker", "content", b"content", "extendedContentMessage", b"extendedContentMessage", "extendedMessageContentWithSear", b"extendedMessageContentWithSear", "imageGalleryMessage", b"imageGalleryMessage", "networkVerificationMessage", b"networkVerificationMessage", "noteReplyMessage", b"noteReplyMessage", "paymentsTransactionMessage", b"paymentsTransactionMessage", "ravenActionNotifMessage", b"ravenActionNotifMessage", "ravenMessage", b"ravenMessage", "ravenMessageMsgr", b"ravenMessageMsgr", "screenshotAction", b"screenshotAction"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["bumpExistingMessage", b"bumpExistingMessage", "commonSticker", b"commonSticker", "content", b"content", "extendedContentMessage", b"extendedContentMessage", "extendedMessageContentWithSear", b"extendedMessageContentWithSear", "imageGalleryMessage", b"imageGalleryMessage", "networkVerificationMessage", b"networkVerificationMessage", "noteReplyMessage", b"noteReplyMessage", "paymentsTransactionMessage", b"paymentsTransactionMessage", "ravenActionNotifMessage", b"ravenActionNotifMessage", "ravenMessage", b"ravenMessage", "ravenMessageMsgr", b"ravenMessageMsgr", "screenshotAction", b"screenshotAction"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["content", b"content"]) -> typing.Literal["commonSticker", "screenshotAction", "extendedContentMessage", "ravenMessage", "ravenActionNotifMessage", "extendedMessageContentWithSear", "imageGalleryMessage", "paymentsTransactionMessage", "bumpExistingMessage", "noteReplyMessage", "ravenMessageMsgr", "networkVerificationMessage"] | None: ... + + PAYLOAD_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + @property + def payload(self) -> global___Armadillo.Payload: ... + @property + def metadata(self) -> global___Armadillo.Metadata: ... + def __init__( + self, + *, + payload: global___Armadillo.Payload | None = ..., + metadata: global___Armadillo.Metadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]) -> None: ... + +global___Armadillo = Armadillo diff --git a/neonize/proto/waArmadilloBackupCommon/WAArmadilloBackupCommon_pb2.py b/neonize/proto/waArmadilloBackupCommon/WAArmadilloBackupCommon_pb2.py new file mode 100644 index 00000000..ca67fd4f --- /dev/null +++ b/neonize/proto/waArmadilloBackupCommon/WAArmadilloBackupCommon_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waArmadilloBackupCommon/WAArmadilloBackupCommon.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waArmadilloBackupCommon/WAArmadilloBackupCommon.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5waArmadilloBackupCommon/WAArmadilloBackupCommon.proto\x12\x17WAArmadilloBackupCommon\"/\n\x0bSubprotocol\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x0f\n\x07version\x18\x02 \x01(\x05\x42\x33Z1go.mau.fi/whatsmeow/proto/waArmadilloBackupCommon') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waArmadilloBackupCommon.WAArmadilloBackupCommon_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z1go.mau.fi/whatsmeow/proto/waArmadilloBackupCommon' + _globals['_SUBPROTOCOL']._serialized_start=82 + _globals['_SUBPROTOCOL']._serialized_end=129 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waArmadilloBackupCommon/WAArmadilloBackupCommon_pb2.pyi b/neonize/proto/waArmadilloBackupCommon/WAArmadilloBackupCommon_pb2.pyi new file mode 100644 index 00000000..74e1a794 --- /dev/null +++ b/neonize/proto/waArmadilloBackupCommon/WAArmadilloBackupCommon_pb2.pyi @@ -0,0 +1,30 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class Subprotocol(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PAYLOAD_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + payload: builtins.bytes + version: builtins.int + def __init__( + self, + *, + payload: builtins.bytes | None = ..., + version: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["payload", b"payload", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["payload", b"payload", "version", b"version"]) -> None: ... + +global___Subprotocol = Subprotocol diff --git a/neonize/proto/waArmadilloBackupMessage/WAArmadilloBackupMessage_pb2.py b/neonize/proto/waArmadilloBackupMessage/WAArmadilloBackupMessage_pb2.py new file mode 100644 index 00000000..a02aacd7 --- /dev/null +++ b/neonize/proto/waArmadilloBackupMessage/WAArmadilloBackupMessage_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waArmadilloBackupMessage/WAArmadilloBackupMessage.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waArmadilloBackupMessage/WAArmadilloBackupMessage.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waArmadilloBackupCommon import WAArmadilloBackupCommon_pb2 as waArmadilloBackupCommon_dot_WAArmadilloBackupCommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n7waArmadilloBackupMessage/WAArmadilloBackupMessage.proto\x12\x18WAArmadilloBackupMessage\x1a\x35waArmadilloBackupCommon/WAArmadilloBackupCommon.proto\"\xbc\x05\n\rBackupMessage\x12#\n\x19\x65ncryptedTransportMessage\x18\x02 \x01(\x0cH\x00\x12G\n\x17\x65ncryptedTransportEvent\x18\x05 \x01(\x0b\x32$.WAArmadilloBackupCommon.SubprotocolH\x00\x12[\n+encryptedTransportLocallyTransformedMessage\x18\x06 \x01(\x0b\x32$.WAArmadilloBackupCommon.SubprotocolH\x00\x12G\n\x17miTransportAdminMessage\x18\x07 \x01(\x0b\x32$.WAArmadilloBackupCommon.SubprotocolH\x00\x12\x42\n\x08metadata\x18\x01 \x01(\x0b\x32\x30.WAArmadilloBackupMessage.BackupMessage.Metadata\x1a\xc7\x02\n\x08Metadata\x12\x10\n\x08senderID\x18\x01 \x01(\t\x12\x11\n\tmessageID\x18\x02 \x01(\t\x12\x13\n\x0btimestampMS\x18\x03 \x01(\x03\x12[\n\x10\x66rankingMetadata\x18\x04 \x01(\x0b\x32\x41.WAArmadilloBackupMessage.BackupMessage.Metadata.FrankingMetadata\x12\x16\n\x0epayloadVersion\x18\x05 \x01(\x05\x12\x1b\n\x13\x66utureProofBehavior\x18\x06 \x01(\x05\x12\x15\n\rthreadTypeTag\x18\x07 \x01(\x05\x12\x19\n\x11\x63lientTimestampMS\x18\x08 \x01(\x03\x1a=\n\x10\x46rankingMetadata\x12\x13\n\x0b\x66rankingTag\x18\x03 \x01(\x0c\x12\x14\n\x0creportingTag\x18\x04 \x01(\x0c\x42\t\n\x07payloadB4Z2go.mau.fi/whatsmeow/proto/waArmadilloBackupMessage') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waArmadilloBackupMessage.WAArmadilloBackupMessage_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z2go.mau.fi/whatsmeow/proto/waArmadilloBackupMessage' + _globals['_BACKUPMESSAGE']._serialized_start=141 + _globals['_BACKUPMESSAGE']._serialized_end=841 + _globals['_BACKUPMESSAGE_METADATA']._serialized_start=503 + _globals['_BACKUPMESSAGE_METADATA']._serialized_end=830 + _globals['_BACKUPMESSAGE_METADATA_FRANKINGMETADATA']._serialized_start=769 + _globals['_BACKUPMESSAGE_METADATA_FRANKINGMETADATA']._serialized_end=830 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waArmadilloBackupMessage/WAArmadilloBackupMessage_pb2.pyi b/neonize/proto/waArmadilloBackupMessage/WAArmadilloBackupMessage_pb2.pyi new file mode 100644 index 00000000..030d3224 --- /dev/null +++ b/neonize/proto/waArmadilloBackupMessage/WAArmadilloBackupMessage_pb2.pyi @@ -0,0 +1,98 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import typing +import waArmadilloBackupCommon.WAArmadilloBackupCommon_pb2 + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class BackupMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Metadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class FrankingMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FRANKINGTAG_FIELD_NUMBER: builtins.int + REPORTINGTAG_FIELD_NUMBER: builtins.int + frankingTag: builtins.bytes + reportingTag: builtins.bytes + def __init__( + self, + *, + frankingTag: builtins.bytes | None = ..., + reportingTag: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["frankingTag", b"frankingTag", "reportingTag", b"reportingTag"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["frankingTag", b"frankingTag", "reportingTag", b"reportingTag"]) -> None: ... + + SENDERID_FIELD_NUMBER: builtins.int + MESSAGEID_FIELD_NUMBER: builtins.int + TIMESTAMPMS_FIELD_NUMBER: builtins.int + FRANKINGMETADATA_FIELD_NUMBER: builtins.int + PAYLOADVERSION_FIELD_NUMBER: builtins.int + FUTUREPROOFBEHAVIOR_FIELD_NUMBER: builtins.int + THREADTYPETAG_FIELD_NUMBER: builtins.int + CLIENTTIMESTAMPMS_FIELD_NUMBER: builtins.int + senderID: builtins.str + messageID: builtins.str + timestampMS: builtins.int + payloadVersion: builtins.int + futureProofBehavior: builtins.int + threadTypeTag: builtins.int + clientTimestampMS: builtins.int + @property + def frankingMetadata(self) -> global___BackupMessage.Metadata.FrankingMetadata: ... + def __init__( + self, + *, + senderID: builtins.str | None = ..., + messageID: builtins.str | None = ..., + timestampMS: builtins.int | None = ..., + frankingMetadata: global___BackupMessage.Metadata.FrankingMetadata | None = ..., + payloadVersion: builtins.int | None = ..., + futureProofBehavior: builtins.int | None = ..., + threadTypeTag: builtins.int | None = ..., + clientTimestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["clientTimestampMS", b"clientTimestampMS", "frankingMetadata", b"frankingMetadata", "futureProofBehavior", b"futureProofBehavior", "messageID", b"messageID", "payloadVersion", b"payloadVersion", "senderID", b"senderID", "threadTypeTag", b"threadTypeTag", "timestampMS", b"timestampMS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clientTimestampMS", b"clientTimestampMS", "frankingMetadata", b"frankingMetadata", "futureProofBehavior", b"futureProofBehavior", "messageID", b"messageID", "payloadVersion", b"payloadVersion", "senderID", b"senderID", "threadTypeTag", b"threadTypeTag", "timestampMS", b"timestampMS"]) -> None: ... + + ENCRYPTEDTRANSPORTMESSAGE_FIELD_NUMBER: builtins.int + ENCRYPTEDTRANSPORTEVENT_FIELD_NUMBER: builtins.int + ENCRYPTEDTRANSPORTLOCALLYTRANSFORMEDMESSAGE_FIELD_NUMBER: builtins.int + MITRANSPORTADMINMESSAGE_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + encryptedTransportMessage: builtins.bytes + @property + def encryptedTransportEvent(self) -> waArmadilloBackupCommon.WAArmadilloBackupCommon_pb2.Subprotocol: ... + @property + def encryptedTransportLocallyTransformedMessage(self) -> waArmadilloBackupCommon.WAArmadilloBackupCommon_pb2.Subprotocol: ... + @property + def miTransportAdminMessage(self) -> waArmadilloBackupCommon.WAArmadilloBackupCommon_pb2.Subprotocol: ... + @property + def metadata(self) -> global___BackupMessage.Metadata: ... + def __init__( + self, + *, + encryptedTransportMessage: builtins.bytes | None = ..., + encryptedTransportEvent: waArmadilloBackupCommon.WAArmadilloBackupCommon_pb2.Subprotocol | None = ..., + encryptedTransportLocallyTransformedMessage: waArmadilloBackupCommon.WAArmadilloBackupCommon_pb2.Subprotocol | None = ..., + miTransportAdminMessage: waArmadilloBackupCommon.WAArmadilloBackupCommon_pb2.Subprotocol | None = ..., + metadata: global___BackupMessage.Metadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encryptedTransportEvent", b"encryptedTransportEvent", "encryptedTransportLocallyTransformedMessage", b"encryptedTransportLocallyTransformedMessage", "encryptedTransportMessage", b"encryptedTransportMessage", "metadata", b"metadata", "miTransportAdminMessage", b"miTransportAdminMessage", "payload", b"payload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encryptedTransportEvent", b"encryptedTransportEvent", "encryptedTransportLocallyTransformedMessage", b"encryptedTransportLocallyTransformedMessage", "encryptedTransportMessage", b"encryptedTransportMessage", "metadata", b"metadata", "miTransportAdminMessage", b"miTransportAdminMessage", "payload", b"payload"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["payload", b"payload"]) -> typing.Literal["encryptedTransportMessage", "encryptedTransportEvent", "encryptedTransportLocallyTransformedMessage", "miTransportAdminMessage"] | None: ... + +global___BackupMessage = BackupMessage diff --git a/neonize/proto/waArmadilloICDC/WAArmadilloICDC_pb2.py b/neonize/proto/waArmadilloICDC/WAArmadilloICDC_pb2.py new file mode 100644 index 00000000..e6830d9a --- /dev/null +++ b/neonize/proto/waArmadilloICDC/WAArmadilloICDC_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waArmadilloICDC/WAArmadilloICDC.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waArmadilloICDC/WAArmadilloICDC.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%waArmadilloICDC/WAArmadilloICDC.proto\x12\x0fWAArmadilloICDC\"_\n\x10ICDCIdentityList\x12\x0b\n\x03seq\x18\x01 \x01(\x05\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x0f\n\x07\x64\x65vices\x18\x03 \x03(\x0c\x12\x1a\n\x12signingDeviceIndex\x18\x04 \x01(\x05\"<\n\x16SignedICDCIdentityList\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x42+Z)go.mau.fi/whatsmeow/proto/waArmadilloICDC') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waArmadilloICDC.WAArmadilloICDC_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z)go.mau.fi/whatsmeow/proto/waArmadilloICDC' + _globals['_ICDCIDENTITYLIST']._serialized_start=58 + _globals['_ICDCIDENTITYLIST']._serialized_end=153 + _globals['_SIGNEDICDCIDENTITYLIST']._serialized_start=155 + _globals['_SIGNEDICDCIDENTITYLIST']._serialized_end=215 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waArmadilloICDC/WAArmadilloICDC_pb2.pyi b/neonize/proto/waArmadilloICDC/WAArmadilloICDC_pb2.pyi new file mode 100644 index 00000000..4a046fe3 --- /dev/null +++ b/neonize/proto/waArmadilloICDC/WAArmadilloICDC_pb2.pyi @@ -0,0 +1,58 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class ICDCIdentityList(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SEQ_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + DEVICES_FIELD_NUMBER: builtins.int + SIGNINGDEVICEINDEX_FIELD_NUMBER: builtins.int + seq: builtins.int + timestamp: builtins.int + signingDeviceIndex: builtins.int + @property + def devices(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + def __init__( + self, + *, + seq: builtins.int | None = ..., + timestamp: builtins.int | None = ..., + devices: collections.abc.Iterable[builtins.bytes] | None = ..., + signingDeviceIndex: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["seq", b"seq", "signingDeviceIndex", b"signingDeviceIndex", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["devices", b"devices", "seq", b"seq", "signingDeviceIndex", b"signingDeviceIndex", "timestamp", b"timestamp"]) -> None: ... + +global___ICDCIdentityList = ICDCIdentityList + +@typing.final +class SignedICDCIdentityList(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DETAILS_FIELD_NUMBER: builtins.int + SIGNATURE_FIELD_NUMBER: builtins.int + details: builtins.bytes + signature: builtins.bytes + def __init__( + self, + *, + details: builtins.bytes | None = ..., + signature: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["details", b"details", "signature", b"signature"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["details", b"details", "signature", b"signature"]) -> None: ... + +global___SignedICDCIdentityList = SignedICDCIdentityList diff --git a/neonize/proto/waArmadilloMiTransportAdminMessage/WAArmadilloMiTransportAdminMessage_pb2.py b/neonize/proto/waArmadilloMiTransportAdminMessage/WAArmadilloMiTransportAdminMessage_pb2.py new file mode 100644 index 00000000..fa4d6e29 --- /dev/null +++ b/neonize/proto/waArmadilloMiTransportAdminMessage/WAArmadilloMiTransportAdminMessage_pb2.py @@ -0,0 +1,119 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waArmadilloMiTransportAdminMessage/WAArmadilloMiTransportAdminMessage.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waArmadilloMiTransportAdminMessage/WAArmadilloMiTransportAdminMessage.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nKwaArmadilloMiTransportAdminMessage/WAArmadilloMiTransportAdminMessage.proto\x12\"WAArmadilloMiTransportAdminMessage\"\xac?\n\x17MiTransportAdminMessage\x12h\n\x10\x63hatThemeChanged\x18\x01 \x01(\x0b\x32L.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.ChatThemeChangedH\x00\x12\x66\n\x0fnicknameChanged\x18\x02 \x01(\x0b\x32K.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.NicknameChangedH\x00\x12v\n\x17groupParticipantChanged\x18\x03 \x01(\x0b\x32S.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.GroupParticipantChangedH\x00\x12j\n\x11groupAdminChanged\x18\x04 \x01(\x0b\x32M.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.GroupAdminChangedH\x00\x12h\n\x10groupNameChanged\x18\x05 \x01(\x0b\x32L.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.GroupNameChangedH\x00\x12\x82\x01\n\x1dgroupMembershipAddModeChanged\x18\x06 \x01(\x0b\x32Y.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.GroupMembershipAddModeChangedH\x00\x12\x62\n\rmessagePinned\x18\x07 \x01(\x0b\x32I.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.MessagePinnedH\x00\x12j\n\x11groupImageChanged\x18\x08 \x01(\x0b\x32M.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.GroupImageChangedH\x00\x12p\n\x14quickReactionChanged\x18\t \x01(\x0b\x32P.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.QuickReactionChangedH\x00\x12V\n\x07linkCta\x18\n \x01(\x0b\x32\x43.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.LinkCtaH\x00\x12^\n\x0biconChanged\x18\x0b \x01(\x0b\x32G.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.IconChangedH\x00\x12|\n\x1a\x64isappearingSettingChanged\x18\x0c \x01(\x0b\x32V.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.DisappearingSettingChangedH\x00\x12n\n\x13limitSharingChanged\x18\r \x01(\x0b\x32O.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.LimitSharingChangedH\x00\x12v\n\x17xmatDisappearingSetting\x18\x0e \x01(\x0b\x32S.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatDisappearingSettingH\x00\x12\x8e\x01\n#xmatFriendRequestConfirmedEncrypted\x18\x0f \x01(\x0b\x32_.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatFriendRequestConfirmedEncryptedH\x00\x12\x9e\x01\n+xmatInstantGameEncryptedDynamicCustomUpdate\x18\x10 \x01(\x0b\x32g.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatInstantGameEncryptedDynamicCustomUpdateH\x00\x12^\n\x0bxmatLinkCta\x18\x11 \x01(\x0b\x32G.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatLinkCTAH\x00\x12\x64\n\x0exmatMagicWords\x18\x12 \x01(\x0b\x32J.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatMagicWordsH\x00\x12z\n\x19xmatMessagingLimitSharing\x18\x13 \x01(\x0b\x32U.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatMessagingLimitSharingH\x00\x12|\n\x1axmatMessengerQrCodeScanned\x18\x14 \x01(\x0b\x32V.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatMessengerQRCodeScannedH\x00\x12\x88\x01\n xmatMessengerSharedAlbumAddition\x18\x15 \x01(\x0b\x32\\.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatMessengerSharedAlbumAdditionH\x00\x12\x94\x01\n&xmatMessengerSharedAlbumContentRemoval\x18\x16 \x01(\x0b\x32\x62.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatMessengerSharedAlbumContentRemovalH\x00\x12\x88\x01\n xmatMessengerSharedAlbumDeletion\x18\x17 \x01(\x0b\x32\\.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatMessengerSharedAlbumDeletionH\x00\x12\x84\x01\n\x1exmatMessengerSharedAlbumRename\x18\x18 \x01(\x0b\x32Z.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatMessengerSharedAlbumRenameH\x00\x12x\n\x18xmatMessengerSharedAlbum\x18\x19 \x01(\x0b\x32T.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatMessengerSharedAlbumH\x00\x12\x64\n\x0exmatThemeColor\x18\x1a \x01(\x0b\x32J.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatThemeColorH\x00\x12\x64\n\x0exmatThreadIcon\x18\x1b \x01(\x0b\x32J.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatThreadIconH\x00\x12l\n\x12xmatThreadNickname\x18\x1c \x01(\x0b\x32N.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatThreadNicknameH\x00\x12v\n\x17xmatThreadQuickReaction\x18\x1d \x01(\x0b\x32S.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatThreadQuickReactionH\x00\x12l\n\x12xmatUpdatePayments\x18\x1e \x01(\x0b\x32N.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatUpdatePaymentsH\x00\x12h\n\x10xmatPinMessageV2\x18\x1f \x01(\x0b\x32L.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatPinMessageV2H\x00\x12l\n\x12xmatUnpinMessageV2\x18 \x01(\x0b\x32N.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatUnpinMessageV2H\x00\x12h\n\x10xmatGenaiTaskAdd\x18! \x01(\x0b\x32L.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatGenAITaskAddH\x00\x12\x16\n\x0eskipBumpThread\x18\" \x01(\x08\x12\x19\n\x11skipSnippetUpdate\x18# \x01(\x08\x1a\xbc\x01\n\x13LimitSharingChanged\x12p\n\x0bsharingType\x18\x01 \x01(\x0e\x32[.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.LimitSharingChanged.SharingType\"3\n\x0bSharingType\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02\x1a\xa8\x01\n\x11GroupImageChanged\x12\x64\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32T.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.GroupImageChanged.Action\"-\n\x06\x41\x63tion\x12\t\n\x05UNSET\x10\x00\x12\x0b\n\x07\x43HANGED\x10\x01\x12\x0b\n\x07REMOVED\x10\x02\x1a\xa0\x01\n\rMessagePinned\x12`\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32P.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.MessagePinned.Action\"-\n\x06\x41\x63tion\x12\t\n\x05UNSET\x10\x00\x12\n\n\x06PINNED\x10\x01\x12\x0c\n\x08UNPINNED\x10\x02\x1a\xc2\x01\n\x1dGroupMembershipAddModeChanged\x12l\n\x04mode\x18\x01 \x01(\x0e\x32^.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.GroupMembershipAddModeChanged.Mode\"3\n\x04Mode\x12\t\n\x05UNSET\x10\x00\x12\x0f\n\x0b\x41LL_MEMBERS\x10\x01\x12\x0f\n\x0b\x41\x44MINS_ONLY\x10\x02\x1a\xbc\x01\n\x11GroupAdminChanged\x12\x14\n\x0ctargetUserID\x18\x01 \x03(\t\x12\x64\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32T.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.GroupAdminChanged.Action\"+\n\x06\x41\x63tion\x12\t\n\x05UNSET\x10\x00\x12\t\n\x05\x41\x44\x44\x45\x44\x10\x01\x12\x0b\n\x07REMOVED\x10\x02\x1a\xc8\x01\n\x17GroupParticipantChanged\x12\x14\n\x0ctargetUserID\x18\x01 \x03(\t\x12j\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32Z.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.GroupParticipantChanged.Action\"+\n\x06\x41\x63tion\x12\t\n\x05UNSET\x10\x00\x12\t\n\x05\x41\x44\x44\x45\x44\x10\x01\x12\x0b\n\x07REMOVED\x10\x02\x1a\"\n\x10XmatGenAITaskAdd\x12\x0e\n\x06taskID\x18\x01 \x01(\x03\x1a-\n\x12XmatUnpinMessageV2\x12\x17\n\x0fpinnedMessageID\x18\x01 \x01(\t\x1a+\n\x10XmatPinMessageV2\x12\x17\n\x0fpinnedMessageID\x18\x01 \x01(\t\x1a\x80\x01\n\x12XmatUpdatePayments\x12\x14\n\x0creceiverName\x18\x01 \x01(\t\x12\x12\n\nsenderName\x18\x02 \x01(\t\x12\x0e\n\x06\x61mount\x18\x03 \x01(\x02\x12\x15\n\rtransactionID\x18\x04 \x01(\x03\x12\x19\n\x11transactionStatus\x18\x05 \x01(\x05\x1ah\n\x17XmatThreadQuickReaction\x12 \n\x18threadQuickReactionEmoji\x18\x01 \x01(\t\x12+\n#threadQuickReactionInstructionKeyID\x18\x02 \x01(\t\x1a=\n\x12XmatThreadNickname\x12\x15\n\rparticipantID\x18\x01 \x01(\x03\x12\x10\n\x08nickname\x18\x02 \x01(\t\x1a$\n\x0eXmatThreadIcon\x12\x12\n\nthreadIcon\x18\x01 \x01(\t\x1a\xc1\x01\n\x0eXmatThemeColor\x12\x0f\n\x07themeID\x18\x01 \x01(\t\x12\x12\n\nthemeColor\x18\x02 \x01(\t\x12\x10\n\x08gradient\x18\x03 \x03(\t\x12\x16\n\x0eshouldShowIcon\x18\x04 \x01(\x08\x12\x11\n\tthemeType\x18\x05 \x01(\x05\x12\x1a\n\x12\x61\x63\x63\x65ssibilityLabel\x18\x06 \x01(\t\x12\x1d\n\x15themeNameWithSubtitle\x18\x07 \x01(\t\x12\x12\n\nthemeEmoji\x18\x08 \x01(\t\x1a\x30\n\x18XmatMessengerSharedAlbum\x12\x14\n\x0cxmaDataclass\x18\x01 \x01(\t\x1a\x65\n\x1eXmatMessengerSharedAlbumRename\x12\x15\n\rsharedAlbumID\x18\x01 \x01(\x03\x12\x15\n\roldAlbumTitle\x18\x02 \x01(\t\x12\x15\n\rnewAlbumTitle\x18\x03 \x01(\t\x1aM\n XmatMessengerSharedAlbumDeletion\x12\x15\n\rsharedAlbumID\x18\x01 \x01(\x03\x12\x12\n\nalbumTitle\x18\x02 \x01(\t\x1a\xb7\x02\n&XmatMessengerSharedAlbumContentRemoval\x12\x15\n\rsharedAlbumID\x18\x01 \x01(\x03\x12\x91\x01\n\x11removedContentMap\x18\x02 \x03(\x0b\x32v.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.XmatMessengerSharedAlbumContentRemoval.RemovedContentTuple\x12\x1b\n\x13removedContentCount\x18\x03 \x01(\x03\x12\x12\n\nalbumTitle\x18\x04 \x01(\t\x1a\x31\n\x13RemovedContentTuple\x12\x0b\n\x03key\x18\x01 \x01(\x03\x12\r\n\x05value\x18\x02 \x01(\t\x1a\x80\x01\n XmatMessengerSharedAlbumAddition\x12\x15\n\rsharedAlbumID\x18\x01 \x01(\x03\x12\x12\n\nalbumTitle\x18\x02 \x01(\t\x12\x18\n\x10numOfAttachments\x18\x03 \x01(\x03\x12\x17\n\x0fisAlbumCreation\x18\x04 \x01(\x08\x1a\x46\n\x1aXmatMessengerQRCodeScanned\x12\x14\n\x0creceiverName\x18\x01 \x01(\t\x12\x12\n\nsenderName\x18\x02 \x01(\t\x1a[\n\x19XmatMessagingLimitSharing\x12\x12\n\nsenderName\x18\x01 \x01(\t\x12\x10\n\x08senderID\x18\x02 \x01(\t\x12\x18\n\x10limitSharingType\x18\x03 \x01(\t\x1a\x9a\x01\n\x0eXmatMagicWords\x12\x19\n\x11newMagicWordCount\x18\x01 \x01(\x03\x12\x1d\n\x15removedMagicWordCount\x18\x02 \x01(\x03\x12\x11\n\tmagicWord\x18\x03 \x01(\t\x12\x13\n\x0b\x65mojiEffect\x18\x04 \x01(\t\x12\x13\n\x0bisAllEdited\x18\x05 \x01(\x08\x12\x11\n\tthemeName\x18\x06 \x01(\t\x1a\xba\x03\n\x0bXmatLinkCTA\x12\x1e\n\x16linkCtaXmatPrimaryText\x18\x01 \x01(\t\x12\x1a\n\x12linkCtaXmatCtaText\x18\x02 \x01(\t\x12\x19\n\x11linkCtaXmatCtaURL\x18\x03 \x01(\t\x12\x1c\n\x14linkCtaXmatCtaIosURL\x18\x04 \x01(\t\x12\x12\n\nandroidUri\x18\x05 \x01(\t\x12\x10\n\x08\x61syncURL\x18\x06 \x01(\t\x12\x15\n\rwwwIsAsyncURL\x18\x07 \x01(\x08\x12\x14\n\x0cmsiteEnabled\x18\x08 \x01(\x08\x12\x19\n\x11hideUriInFallback\x18\t \x01(\x08\x12\x1e\n\x16showConfirmationDialog\x18\n \x01(\x08\x12\x14\n\x0cgraphPayload\x18\x0b \x01(\t\x12\x16\n\x0eidentifierName\x18\x0c \x01(\t\x12\x10\n\x08threadID\x18\r \x01(\t\x12\x19\n\x11hideCtaInFallback\x18\x0e \x01(\x08\x12$\n\x1c\x63txAdConversationStarterInfo\x18\x0f \x01(\t\x12\x0e\n\x06\x66\x62mUri\x18\x10 \x01(\t\x12\x17\n\x0finitiatorUserID\x18\x11 \x01(\t\x1ax\n+XmatInstantGameEncryptedDynamicCustomUpdate\x12\x12\n\nsenderName\x18\x01 \x01(\t\x12#\n\x1bmuteManagementAdminTextType\x18\x02 \x01(\t\x12\x10\n\x08gameName\x18\x03 \x01(\t\x1aT\n#XmatFriendRequestConfirmedEncrypted\x12\x15\n\rotherUserName\x18\x01 \x01(\t\x12\x16\n\x0eisTurnOnCohort\x18\x02 \x01(\t\x1a\xbe\x01\n\x17XmatDisappearingSetting\x12\x1f\n\x17\x64isappearingSettingTime\x18\x01 \x01(\x03\x12\"\n\x1aoldDisappearingSettingTime\x18\x02 \x01(\x03\x12$\n\x1c\x64isappearingSettingActorFbid\x18\x03 \x01(\x03\x12\x1b\n\x13newEphemeralityType\x18\x04 \x01(\x03\x12\x1b\n\x13oldEphemeralityType\x18\x05 \x01(\x03\x1aw\n\x1a\x44isappearingSettingChanged\x12*\n\"disappearingSettingDurationSeconds\x18\x01 \x01(\x05\x12-\n%oldDisappearingSettingDurationSeconds\x18\x02 \x01(\x05\x1a!\n\x0bIconChanged\x12\x12\n\nthreadIcon\x18\x01 \x01(\t\x1a\xad\x01\n\x07LinkCta\x12l\n\x0eukOsaAdminText\x18\x01 \x01(\x0b\x32R.WAArmadilloMiTransportAdminMessage.MiTransportAdminMessage.LinkCta.UkOsaAdminTextH\x00\x1a)\n\x0eUkOsaAdminText\x12\x17\n\x0finitiatorUserID\x18\x02 \x01(\tB\t\n\x07\x63ontent\x1a)\n\x14QuickReactionChanged\x12\x11\n\temojiName\x18\x01 \x01(\t\x1a%\n\x10GroupNameChanged\x12\x11\n\tgroupName\x18\x01 \x01(\t\x1a\x39\n\x0fNicknameChanged\x12\x14\n\x0ctargetUserID\x18\x01 \x01(\t\x12\x10\n\x08nickname\x18\x02 \x01(\t\x1aL\n\x10\x43hatThemeChanged\x12\x11\n\tthemeName\x18\x01 \x01(\t\x12\x12\n\nthemeEmoji\x18\x02 \x01(\t\x12\x11\n\tthemeType\x18\x03 \x01(\x05\x42\t\n\x07\x63ontentB>Z= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class MiTransportAdminMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class LimitSharingChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _SharingType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SharingTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MiTransportAdminMessage.LimitSharingChanged._SharingType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSET: MiTransportAdminMessage.LimitSharingChanged._SharingType.ValueType # 0 + DISABLED: MiTransportAdminMessage.LimitSharingChanged._SharingType.ValueType # 1 + ENABLED: MiTransportAdminMessage.LimitSharingChanged._SharingType.ValueType # 2 + + class SharingType(_SharingType, metaclass=_SharingTypeEnumTypeWrapper): ... + UNSET: MiTransportAdminMessage.LimitSharingChanged.SharingType.ValueType # 0 + DISABLED: MiTransportAdminMessage.LimitSharingChanged.SharingType.ValueType # 1 + ENABLED: MiTransportAdminMessage.LimitSharingChanged.SharingType.ValueType # 2 + + SHARINGTYPE_FIELD_NUMBER: builtins.int + sharingType: global___MiTransportAdminMessage.LimitSharingChanged.SharingType.ValueType + def __init__( + self, + *, + sharingType: global___MiTransportAdminMessage.LimitSharingChanged.SharingType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sharingType", b"sharingType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sharingType", b"sharingType"]) -> None: ... + + @typing.final + class GroupImageChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Action: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MiTransportAdminMessage.GroupImageChanged._Action.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSET: MiTransportAdminMessage.GroupImageChanged._Action.ValueType # 0 + CHANGED: MiTransportAdminMessage.GroupImageChanged._Action.ValueType # 1 + REMOVED: MiTransportAdminMessage.GroupImageChanged._Action.ValueType # 2 + + class Action(_Action, metaclass=_ActionEnumTypeWrapper): ... + UNSET: MiTransportAdminMessage.GroupImageChanged.Action.ValueType # 0 + CHANGED: MiTransportAdminMessage.GroupImageChanged.Action.ValueType # 1 + REMOVED: MiTransportAdminMessage.GroupImageChanged.Action.ValueType # 2 + + ACTION_FIELD_NUMBER: builtins.int + action: global___MiTransportAdminMessage.GroupImageChanged.Action.ValueType + def __init__( + self, + *, + action: global___MiTransportAdminMessage.GroupImageChanged.Action.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action"]) -> None: ... + + @typing.final + class MessagePinned(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Action: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MiTransportAdminMessage.MessagePinned._Action.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSET: MiTransportAdminMessage.MessagePinned._Action.ValueType # 0 + PINNED: MiTransportAdminMessage.MessagePinned._Action.ValueType # 1 + UNPINNED: MiTransportAdminMessage.MessagePinned._Action.ValueType # 2 + + class Action(_Action, metaclass=_ActionEnumTypeWrapper): ... + UNSET: MiTransportAdminMessage.MessagePinned.Action.ValueType # 0 + PINNED: MiTransportAdminMessage.MessagePinned.Action.ValueType # 1 + UNPINNED: MiTransportAdminMessage.MessagePinned.Action.ValueType # 2 + + ACTION_FIELD_NUMBER: builtins.int + action: global___MiTransportAdminMessage.MessagePinned.Action.ValueType + def __init__( + self, + *, + action: global___MiTransportAdminMessage.MessagePinned.Action.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action"]) -> None: ... + + @typing.final + class GroupMembershipAddModeChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Mode: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MiTransportAdminMessage.GroupMembershipAddModeChanged._Mode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSET: MiTransportAdminMessage.GroupMembershipAddModeChanged._Mode.ValueType # 0 + ALL_MEMBERS: MiTransportAdminMessage.GroupMembershipAddModeChanged._Mode.ValueType # 1 + ADMINS_ONLY: MiTransportAdminMessage.GroupMembershipAddModeChanged._Mode.ValueType # 2 + + class Mode(_Mode, metaclass=_ModeEnumTypeWrapper): ... + UNSET: MiTransportAdminMessage.GroupMembershipAddModeChanged.Mode.ValueType # 0 + ALL_MEMBERS: MiTransportAdminMessage.GroupMembershipAddModeChanged.Mode.ValueType # 1 + ADMINS_ONLY: MiTransportAdminMessage.GroupMembershipAddModeChanged.Mode.ValueType # 2 + + MODE_FIELD_NUMBER: builtins.int + mode: global___MiTransportAdminMessage.GroupMembershipAddModeChanged.Mode.ValueType + def __init__( + self, + *, + mode: global___MiTransportAdminMessage.GroupMembershipAddModeChanged.Mode.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["mode", b"mode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mode", b"mode"]) -> None: ... + + @typing.final + class GroupAdminChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Action: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MiTransportAdminMessage.GroupAdminChanged._Action.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSET: MiTransportAdminMessage.GroupAdminChanged._Action.ValueType # 0 + ADDED: MiTransportAdminMessage.GroupAdminChanged._Action.ValueType # 1 + REMOVED: MiTransportAdminMessage.GroupAdminChanged._Action.ValueType # 2 + + class Action(_Action, metaclass=_ActionEnumTypeWrapper): ... + UNSET: MiTransportAdminMessage.GroupAdminChanged.Action.ValueType # 0 + ADDED: MiTransportAdminMessage.GroupAdminChanged.Action.ValueType # 1 + REMOVED: MiTransportAdminMessage.GroupAdminChanged.Action.ValueType # 2 + + TARGETUSERID_FIELD_NUMBER: builtins.int + ACTION_FIELD_NUMBER: builtins.int + action: global___MiTransportAdminMessage.GroupAdminChanged.Action.ValueType + @property + def targetUserID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + targetUserID: collections.abc.Iterable[builtins.str] | None = ..., + action: global___MiTransportAdminMessage.GroupAdminChanged.Action.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "targetUserID", b"targetUserID"]) -> None: ... + + @typing.final + class GroupParticipantChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Action: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MiTransportAdminMessage.GroupParticipantChanged._Action.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSET: MiTransportAdminMessage.GroupParticipantChanged._Action.ValueType # 0 + ADDED: MiTransportAdminMessage.GroupParticipantChanged._Action.ValueType # 1 + REMOVED: MiTransportAdminMessage.GroupParticipantChanged._Action.ValueType # 2 + + class Action(_Action, metaclass=_ActionEnumTypeWrapper): ... + UNSET: MiTransportAdminMessage.GroupParticipantChanged.Action.ValueType # 0 + ADDED: MiTransportAdminMessage.GroupParticipantChanged.Action.ValueType # 1 + REMOVED: MiTransportAdminMessage.GroupParticipantChanged.Action.ValueType # 2 + + TARGETUSERID_FIELD_NUMBER: builtins.int + ACTION_FIELD_NUMBER: builtins.int + action: global___MiTransportAdminMessage.GroupParticipantChanged.Action.ValueType + @property + def targetUserID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + targetUserID: collections.abc.Iterable[builtins.str] | None = ..., + action: global___MiTransportAdminMessage.GroupParticipantChanged.Action.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "targetUserID", b"targetUserID"]) -> None: ... + + @typing.final + class XmatGenAITaskAdd(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TASKID_FIELD_NUMBER: builtins.int + taskID: builtins.int + def __init__( + self, + *, + taskID: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["taskID", b"taskID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["taskID", b"taskID"]) -> None: ... + + @typing.final + class XmatUnpinMessageV2(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PINNEDMESSAGEID_FIELD_NUMBER: builtins.int + pinnedMessageID: builtins.str + def __init__( + self, + *, + pinnedMessageID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["pinnedMessageID", b"pinnedMessageID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["pinnedMessageID", b"pinnedMessageID"]) -> None: ... + + @typing.final + class XmatPinMessageV2(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PINNEDMESSAGEID_FIELD_NUMBER: builtins.int + pinnedMessageID: builtins.str + def __init__( + self, + *, + pinnedMessageID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["pinnedMessageID", b"pinnedMessageID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["pinnedMessageID", b"pinnedMessageID"]) -> None: ... + + @typing.final + class XmatUpdatePayments(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RECEIVERNAME_FIELD_NUMBER: builtins.int + SENDERNAME_FIELD_NUMBER: builtins.int + AMOUNT_FIELD_NUMBER: builtins.int + TRANSACTIONID_FIELD_NUMBER: builtins.int + TRANSACTIONSTATUS_FIELD_NUMBER: builtins.int + receiverName: builtins.str + senderName: builtins.str + amount: builtins.float + transactionID: builtins.int + transactionStatus: builtins.int + def __init__( + self, + *, + receiverName: builtins.str | None = ..., + senderName: builtins.str | None = ..., + amount: builtins.float | None = ..., + transactionID: builtins.int | None = ..., + transactionStatus: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["amount", b"amount", "receiverName", b"receiverName", "senderName", b"senderName", "transactionID", b"transactionID", "transactionStatus", b"transactionStatus"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["amount", b"amount", "receiverName", b"receiverName", "senderName", b"senderName", "transactionID", b"transactionID", "transactionStatus", b"transactionStatus"]) -> None: ... + + @typing.final + class XmatThreadQuickReaction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + THREADQUICKREACTIONEMOJI_FIELD_NUMBER: builtins.int + THREADQUICKREACTIONINSTRUCTIONKEYID_FIELD_NUMBER: builtins.int + threadQuickReactionEmoji: builtins.str + threadQuickReactionInstructionKeyID: builtins.str + def __init__( + self, + *, + threadQuickReactionEmoji: builtins.str | None = ..., + threadQuickReactionInstructionKeyID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["threadQuickReactionEmoji", b"threadQuickReactionEmoji", "threadQuickReactionInstructionKeyID", b"threadQuickReactionInstructionKeyID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["threadQuickReactionEmoji", b"threadQuickReactionEmoji", "threadQuickReactionInstructionKeyID", b"threadQuickReactionInstructionKeyID"]) -> None: ... + + @typing.final + class XmatThreadNickname(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PARTICIPANTID_FIELD_NUMBER: builtins.int + NICKNAME_FIELD_NUMBER: builtins.int + participantID: builtins.int + nickname: builtins.str + def __init__( + self, + *, + participantID: builtins.int | None = ..., + nickname: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["nickname", b"nickname", "participantID", b"participantID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["nickname", b"nickname", "participantID", b"participantID"]) -> None: ... + + @typing.final + class XmatThreadIcon(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + THREADICON_FIELD_NUMBER: builtins.int + threadIcon: builtins.str + def __init__( + self, + *, + threadIcon: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["threadIcon", b"threadIcon"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["threadIcon", b"threadIcon"]) -> None: ... + + @typing.final + class XmatThemeColor(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + THEMEID_FIELD_NUMBER: builtins.int + THEMECOLOR_FIELD_NUMBER: builtins.int + GRADIENT_FIELD_NUMBER: builtins.int + SHOULDSHOWICON_FIELD_NUMBER: builtins.int + THEMETYPE_FIELD_NUMBER: builtins.int + ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int + THEMENAMEWITHSUBTITLE_FIELD_NUMBER: builtins.int + THEMEEMOJI_FIELD_NUMBER: builtins.int + themeID: builtins.str + themeColor: builtins.str + shouldShowIcon: builtins.bool + themeType: builtins.int + accessibilityLabel: builtins.str + themeNameWithSubtitle: builtins.str + themeEmoji: builtins.str + @property + def gradient(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + themeID: builtins.str | None = ..., + themeColor: builtins.str | None = ..., + gradient: collections.abc.Iterable[builtins.str] | None = ..., + shouldShowIcon: builtins.bool | None = ..., + themeType: builtins.int | None = ..., + accessibilityLabel: builtins.str | None = ..., + themeNameWithSubtitle: builtins.str | None = ..., + themeEmoji: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accessibilityLabel", b"accessibilityLabel", "shouldShowIcon", b"shouldShowIcon", "themeColor", b"themeColor", "themeEmoji", b"themeEmoji", "themeID", b"themeID", "themeNameWithSubtitle", b"themeNameWithSubtitle", "themeType", b"themeType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accessibilityLabel", b"accessibilityLabel", "gradient", b"gradient", "shouldShowIcon", b"shouldShowIcon", "themeColor", b"themeColor", "themeEmoji", b"themeEmoji", "themeID", b"themeID", "themeNameWithSubtitle", b"themeNameWithSubtitle", "themeType", b"themeType"]) -> None: ... + + @typing.final + class XmatMessengerSharedAlbum(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + XMADATACLASS_FIELD_NUMBER: builtins.int + xmaDataclass: builtins.str + def __init__( + self, + *, + xmaDataclass: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["xmaDataclass", b"xmaDataclass"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["xmaDataclass", b"xmaDataclass"]) -> None: ... + + @typing.final + class XmatMessengerSharedAlbumRename(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SHAREDALBUMID_FIELD_NUMBER: builtins.int + OLDALBUMTITLE_FIELD_NUMBER: builtins.int + NEWALBUMTITLE_FIELD_NUMBER: builtins.int + sharedAlbumID: builtins.int + oldAlbumTitle: builtins.str + newAlbumTitle: builtins.str + def __init__( + self, + *, + sharedAlbumID: builtins.int | None = ..., + oldAlbumTitle: builtins.str | None = ..., + newAlbumTitle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["newAlbumTitle", b"newAlbumTitle", "oldAlbumTitle", b"oldAlbumTitle", "sharedAlbumID", b"sharedAlbumID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["newAlbumTitle", b"newAlbumTitle", "oldAlbumTitle", b"oldAlbumTitle", "sharedAlbumID", b"sharedAlbumID"]) -> None: ... + + @typing.final + class XmatMessengerSharedAlbumDeletion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SHAREDALBUMID_FIELD_NUMBER: builtins.int + ALBUMTITLE_FIELD_NUMBER: builtins.int + sharedAlbumID: builtins.int + albumTitle: builtins.str + def __init__( + self, + *, + sharedAlbumID: builtins.int | None = ..., + albumTitle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["albumTitle", b"albumTitle", "sharedAlbumID", b"sharedAlbumID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["albumTitle", b"albumTitle", "sharedAlbumID", b"sharedAlbumID"]) -> None: ... + + @typing.final + class XmatMessengerSharedAlbumContentRemoval(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class RemovedContentTuple(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int + value: builtins.str + def __init__( + self, + *, + key: builtins.int | None = ..., + value: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + + SHAREDALBUMID_FIELD_NUMBER: builtins.int + REMOVEDCONTENTMAP_FIELD_NUMBER: builtins.int + REMOVEDCONTENTCOUNT_FIELD_NUMBER: builtins.int + ALBUMTITLE_FIELD_NUMBER: builtins.int + sharedAlbumID: builtins.int + removedContentCount: builtins.int + albumTitle: builtins.str + @property + def removedContentMap(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MiTransportAdminMessage.XmatMessengerSharedAlbumContentRemoval.RemovedContentTuple]: ... + def __init__( + self, + *, + sharedAlbumID: builtins.int | None = ..., + removedContentMap: collections.abc.Iterable[global___MiTransportAdminMessage.XmatMessengerSharedAlbumContentRemoval.RemovedContentTuple] | None = ..., + removedContentCount: builtins.int | None = ..., + albumTitle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["albumTitle", b"albumTitle", "removedContentCount", b"removedContentCount", "sharedAlbumID", b"sharedAlbumID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["albumTitle", b"albumTitle", "removedContentCount", b"removedContentCount", "removedContentMap", b"removedContentMap", "sharedAlbumID", b"sharedAlbumID"]) -> None: ... + + @typing.final + class XmatMessengerSharedAlbumAddition(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SHAREDALBUMID_FIELD_NUMBER: builtins.int + ALBUMTITLE_FIELD_NUMBER: builtins.int + NUMOFATTACHMENTS_FIELD_NUMBER: builtins.int + ISALBUMCREATION_FIELD_NUMBER: builtins.int + sharedAlbumID: builtins.int + albumTitle: builtins.str + numOfAttachments: builtins.int + isAlbumCreation: builtins.bool + def __init__( + self, + *, + sharedAlbumID: builtins.int | None = ..., + albumTitle: builtins.str | None = ..., + numOfAttachments: builtins.int | None = ..., + isAlbumCreation: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["albumTitle", b"albumTitle", "isAlbumCreation", b"isAlbumCreation", "numOfAttachments", b"numOfAttachments", "sharedAlbumID", b"sharedAlbumID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["albumTitle", b"albumTitle", "isAlbumCreation", b"isAlbumCreation", "numOfAttachments", b"numOfAttachments", "sharedAlbumID", b"sharedAlbumID"]) -> None: ... + + @typing.final + class XmatMessengerQRCodeScanned(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RECEIVERNAME_FIELD_NUMBER: builtins.int + SENDERNAME_FIELD_NUMBER: builtins.int + receiverName: builtins.str + senderName: builtins.str + def __init__( + self, + *, + receiverName: builtins.str | None = ..., + senderName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["receiverName", b"receiverName", "senderName", b"senderName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["receiverName", b"receiverName", "senderName", b"senderName"]) -> None: ... + + @typing.final + class XmatMessagingLimitSharing(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SENDERNAME_FIELD_NUMBER: builtins.int + SENDERID_FIELD_NUMBER: builtins.int + LIMITSHARINGTYPE_FIELD_NUMBER: builtins.int + senderName: builtins.str + senderID: builtins.str + limitSharingType: builtins.str + def __init__( + self, + *, + senderName: builtins.str | None = ..., + senderID: builtins.str | None = ..., + limitSharingType: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["limitSharingType", b"limitSharingType", "senderID", b"senderID", "senderName", b"senderName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["limitSharingType", b"limitSharingType", "senderID", b"senderID", "senderName", b"senderName"]) -> None: ... + + @typing.final + class XmatMagicWords(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NEWMAGICWORDCOUNT_FIELD_NUMBER: builtins.int + REMOVEDMAGICWORDCOUNT_FIELD_NUMBER: builtins.int + MAGICWORD_FIELD_NUMBER: builtins.int + EMOJIEFFECT_FIELD_NUMBER: builtins.int + ISALLEDITED_FIELD_NUMBER: builtins.int + THEMENAME_FIELD_NUMBER: builtins.int + newMagicWordCount: builtins.int + removedMagicWordCount: builtins.int + magicWord: builtins.str + emojiEffect: builtins.str + isAllEdited: builtins.bool + themeName: builtins.str + def __init__( + self, + *, + newMagicWordCount: builtins.int | None = ..., + removedMagicWordCount: builtins.int | None = ..., + magicWord: builtins.str | None = ..., + emojiEffect: builtins.str | None = ..., + isAllEdited: builtins.bool | None = ..., + themeName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["emojiEffect", b"emojiEffect", "isAllEdited", b"isAllEdited", "magicWord", b"magicWord", "newMagicWordCount", b"newMagicWordCount", "removedMagicWordCount", b"removedMagicWordCount", "themeName", b"themeName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["emojiEffect", b"emojiEffect", "isAllEdited", b"isAllEdited", "magicWord", b"magicWord", "newMagicWordCount", b"newMagicWordCount", "removedMagicWordCount", b"removedMagicWordCount", "themeName", b"themeName"]) -> None: ... + + @typing.final + class XmatLinkCTA(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LINKCTAXMATPRIMARYTEXT_FIELD_NUMBER: builtins.int + LINKCTAXMATCTATEXT_FIELD_NUMBER: builtins.int + LINKCTAXMATCTAURL_FIELD_NUMBER: builtins.int + LINKCTAXMATCTAIOSURL_FIELD_NUMBER: builtins.int + ANDROIDURI_FIELD_NUMBER: builtins.int + ASYNCURL_FIELD_NUMBER: builtins.int + WWWISASYNCURL_FIELD_NUMBER: builtins.int + MSITEENABLED_FIELD_NUMBER: builtins.int + HIDEURIINFALLBACK_FIELD_NUMBER: builtins.int + SHOWCONFIRMATIONDIALOG_FIELD_NUMBER: builtins.int + GRAPHPAYLOAD_FIELD_NUMBER: builtins.int + IDENTIFIERNAME_FIELD_NUMBER: builtins.int + THREADID_FIELD_NUMBER: builtins.int + HIDECTAINFALLBACK_FIELD_NUMBER: builtins.int + CTXADCONVERSATIONSTARTERINFO_FIELD_NUMBER: builtins.int + FBMURI_FIELD_NUMBER: builtins.int + INITIATORUSERID_FIELD_NUMBER: builtins.int + linkCtaXmatPrimaryText: builtins.str + linkCtaXmatCtaText: builtins.str + linkCtaXmatCtaURL: builtins.str + linkCtaXmatCtaIosURL: builtins.str + androidUri: builtins.str + asyncURL: builtins.str + wwwIsAsyncURL: builtins.bool + msiteEnabled: builtins.bool + hideUriInFallback: builtins.bool + showConfirmationDialog: builtins.bool + graphPayload: builtins.str + identifierName: builtins.str + threadID: builtins.str + hideCtaInFallback: builtins.bool + ctxAdConversationStarterInfo: builtins.str + fbmUri: builtins.str + initiatorUserID: builtins.str + def __init__( + self, + *, + linkCtaXmatPrimaryText: builtins.str | None = ..., + linkCtaXmatCtaText: builtins.str | None = ..., + linkCtaXmatCtaURL: builtins.str | None = ..., + linkCtaXmatCtaIosURL: builtins.str | None = ..., + androidUri: builtins.str | None = ..., + asyncURL: builtins.str | None = ..., + wwwIsAsyncURL: builtins.bool | None = ..., + msiteEnabled: builtins.bool | None = ..., + hideUriInFallback: builtins.bool | None = ..., + showConfirmationDialog: builtins.bool | None = ..., + graphPayload: builtins.str | None = ..., + identifierName: builtins.str | None = ..., + threadID: builtins.str | None = ..., + hideCtaInFallback: builtins.bool | None = ..., + ctxAdConversationStarterInfo: builtins.str | None = ..., + fbmUri: builtins.str | None = ..., + initiatorUserID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["androidUri", b"androidUri", "asyncURL", b"asyncURL", "ctxAdConversationStarterInfo", b"ctxAdConversationStarterInfo", "fbmUri", b"fbmUri", "graphPayload", b"graphPayload", "hideCtaInFallback", b"hideCtaInFallback", "hideUriInFallback", b"hideUriInFallback", "identifierName", b"identifierName", "initiatorUserID", b"initiatorUserID", "linkCtaXmatCtaIosURL", b"linkCtaXmatCtaIosURL", "linkCtaXmatCtaText", b"linkCtaXmatCtaText", "linkCtaXmatCtaURL", b"linkCtaXmatCtaURL", "linkCtaXmatPrimaryText", b"linkCtaXmatPrimaryText", "msiteEnabled", b"msiteEnabled", "showConfirmationDialog", b"showConfirmationDialog", "threadID", b"threadID", "wwwIsAsyncURL", b"wwwIsAsyncURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["androidUri", b"androidUri", "asyncURL", b"asyncURL", "ctxAdConversationStarterInfo", b"ctxAdConversationStarterInfo", "fbmUri", b"fbmUri", "graphPayload", b"graphPayload", "hideCtaInFallback", b"hideCtaInFallback", "hideUriInFallback", b"hideUriInFallback", "identifierName", b"identifierName", "initiatorUserID", b"initiatorUserID", "linkCtaXmatCtaIosURL", b"linkCtaXmatCtaIosURL", "linkCtaXmatCtaText", b"linkCtaXmatCtaText", "linkCtaXmatCtaURL", b"linkCtaXmatCtaURL", "linkCtaXmatPrimaryText", b"linkCtaXmatPrimaryText", "msiteEnabled", b"msiteEnabled", "showConfirmationDialog", b"showConfirmationDialog", "threadID", b"threadID", "wwwIsAsyncURL", b"wwwIsAsyncURL"]) -> None: ... + + @typing.final + class XmatInstantGameEncryptedDynamicCustomUpdate(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SENDERNAME_FIELD_NUMBER: builtins.int + MUTEMANAGEMENTADMINTEXTTYPE_FIELD_NUMBER: builtins.int + GAMENAME_FIELD_NUMBER: builtins.int + senderName: builtins.str + muteManagementAdminTextType: builtins.str + gameName: builtins.str + def __init__( + self, + *, + senderName: builtins.str | None = ..., + muteManagementAdminTextType: builtins.str | None = ..., + gameName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["gameName", b"gameName", "muteManagementAdminTextType", b"muteManagementAdminTextType", "senderName", b"senderName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["gameName", b"gameName", "muteManagementAdminTextType", b"muteManagementAdminTextType", "senderName", b"senderName"]) -> None: ... + + @typing.final + class XmatFriendRequestConfirmedEncrypted(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OTHERUSERNAME_FIELD_NUMBER: builtins.int + ISTURNONCOHORT_FIELD_NUMBER: builtins.int + otherUserName: builtins.str + isTurnOnCohort: builtins.str + def __init__( + self, + *, + otherUserName: builtins.str | None = ..., + isTurnOnCohort: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isTurnOnCohort", b"isTurnOnCohort", "otherUserName", b"otherUserName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isTurnOnCohort", b"isTurnOnCohort", "otherUserName", b"otherUserName"]) -> None: ... + + @typing.final + class XmatDisappearingSetting(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISAPPEARINGSETTINGTIME_FIELD_NUMBER: builtins.int + OLDDISAPPEARINGSETTINGTIME_FIELD_NUMBER: builtins.int + DISAPPEARINGSETTINGACTORFBID_FIELD_NUMBER: builtins.int + NEWEPHEMERALITYTYPE_FIELD_NUMBER: builtins.int + OLDEPHEMERALITYTYPE_FIELD_NUMBER: builtins.int + disappearingSettingTime: builtins.int + oldDisappearingSettingTime: builtins.int + disappearingSettingActorFbid: builtins.int + newEphemeralityType: builtins.int + oldEphemeralityType: builtins.int + def __init__( + self, + *, + disappearingSettingTime: builtins.int | None = ..., + oldDisappearingSettingTime: builtins.int | None = ..., + disappearingSettingActorFbid: builtins.int | None = ..., + newEphemeralityType: builtins.int | None = ..., + oldEphemeralityType: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["disappearingSettingActorFbid", b"disappearingSettingActorFbid", "disappearingSettingTime", b"disappearingSettingTime", "newEphemeralityType", b"newEphemeralityType", "oldDisappearingSettingTime", b"oldDisappearingSettingTime", "oldEphemeralityType", b"oldEphemeralityType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["disappearingSettingActorFbid", b"disappearingSettingActorFbid", "disappearingSettingTime", b"disappearingSettingTime", "newEphemeralityType", b"newEphemeralityType", "oldDisappearingSettingTime", b"oldDisappearingSettingTime", "oldEphemeralityType", b"oldEphemeralityType"]) -> None: ... + + @typing.final + class DisappearingSettingChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISAPPEARINGSETTINGDURATIONSECONDS_FIELD_NUMBER: builtins.int + OLDDISAPPEARINGSETTINGDURATIONSECONDS_FIELD_NUMBER: builtins.int + disappearingSettingDurationSeconds: builtins.int + oldDisappearingSettingDurationSeconds: builtins.int + def __init__( + self, + *, + disappearingSettingDurationSeconds: builtins.int | None = ..., + oldDisappearingSettingDurationSeconds: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["disappearingSettingDurationSeconds", b"disappearingSettingDurationSeconds", "oldDisappearingSettingDurationSeconds", b"oldDisappearingSettingDurationSeconds"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["disappearingSettingDurationSeconds", b"disappearingSettingDurationSeconds", "oldDisappearingSettingDurationSeconds", b"oldDisappearingSettingDurationSeconds"]) -> None: ... + + @typing.final + class IconChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + THREADICON_FIELD_NUMBER: builtins.int + threadIcon: builtins.str + def __init__( + self, + *, + threadIcon: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["threadIcon", b"threadIcon"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["threadIcon", b"threadIcon"]) -> None: ... + + @typing.final + class LinkCta(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class UkOsaAdminText(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + INITIATORUSERID_FIELD_NUMBER: builtins.int + initiatorUserID: builtins.str + def __init__( + self, + *, + initiatorUserID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["initiatorUserID", b"initiatorUserID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["initiatorUserID", b"initiatorUserID"]) -> None: ... + + UKOSAADMINTEXT_FIELD_NUMBER: builtins.int + @property + def ukOsaAdminText(self) -> global___MiTransportAdminMessage.LinkCta.UkOsaAdminText: ... + def __init__( + self, + *, + ukOsaAdminText: global___MiTransportAdminMessage.LinkCta.UkOsaAdminText | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["content", b"content", "ukOsaAdminText", b"ukOsaAdminText"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["content", b"content", "ukOsaAdminText", b"ukOsaAdminText"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["content", b"content"]) -> typing.Literal["ukOsaAdminText"] | None: ... + + @typing.final + class QuickReactionChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EMOJINAME_FIELD_NUMBER: builtins.int + emojiName: builtins.str + def __init__( + self, + *, + emojiName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["emojiName", b"emojiName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["emojiName", b"emojiName"]) -> None: ... + + @typing.final + class GroupNameChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + GROUPNAME_FIELD_NUMBER: builtins.int + groupName: builtins.str + def __init__( + self, + *, + groupName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["groupName", b"groupName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["groupName", b"groupName"]) -> None: ... + + @typing.final + class NicknameChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TARGETUSERID_FIELD_NUMBER: builtins.int + NICKNAME_FIELD_NUMBER: builtins.int + targetUserID: builtins.str + nickname: builtins.str + def __init__( + self, + *, + targetUserID: builtins.str | None = ..., + nickname: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["nickname", b"nickname", "targetUserID", b"targetUserID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["nickname", b"nickname", "targetUserID", b"targetUserID"]) -> None: ... + + @typing.final + class ChatThemeChanged(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + THEMENAME_FIELD_NUMBER: builtins.int + THEMEEMOJI_FIELD_NUMBER: builtins.int + THEMETYPE_FIELD_NUMBER: builtins.int + themeName: builtins.str + themeEmoji: builtins.str + themeType: builtins.int + def __init__( + self, + *, + themeName: builtins.str | None = ..., + themeEmoji: builtins.str | None = ..., + themeType: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["themeEmoji", b"themeEmoji", "themeName", b"themeName", "themeType", b"themeType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["themeEmoji", b"themeEmoji", "themeName", b"themeName", "themeType", b"themeType"]) -> None: ... + + CHATTHEMECHANGED_FIELD_NUMBER: builtins.int + NICKNAMECHANGED_FIELD_NUMBER: builtins.int + GROUPPARTICIPANTCHANGED_FIELD_NUMBER: builtins.int + GROUPADMINCHANGED_FIELD_NUMBER: builtins.int + GROUPNAMECHANGED_FIELD_NUMBER: builtins.int + GROUPMEMBERSHIPADDMODECHANGED_FIELD_NUMBER: builtins.int + MESSAGEPINNED_FIELD_NUMBER: builtins.int + GROUPIMAGECHANGED_FIELD_NUMBER: builtins.int + QUICKREACTIONCHANGED_FIELD_NUMBER: builtins.int + LINKCTA_FIELD_NUMBER: builtins.int + ICONCHANGED_FIELD_NUMBER: builtins.int + DISAPPEARINGSETTINGCHANGED_FIELD_NUMBER: builtins.int + LIMITSHARINGCHANGED_FIELD_NUMBER: builtins.int + XMATDISAPPEARINGSETTING_FIELD_NUMBER: builtins.int + XMATFRIENDREQUESTCONFIRMEDENCRYPTED_FIELD_NUMBER: builtins.int + XMATINSTANTGAMEENCRYPTEDDYNAMICCUSTOMUPDATE_FIELD_NUMBER: builtins.int + XMATLINKCTA_FIELD_NUMBER: builtins.int + XMATMAGICWORDS_FIELD_NUMBER: builtins.int + XMATMESSAGINGLIMITSHARING_FIELD_NUMBER: builtins.int + XMATMESSENGERQRCODESCANNED_FIELD_NUMBER: builtins.int + XMATMESSENGERSHAREDALBUMADDITION_FIELD_NUMBER: builtins.int + XMATMESSENGERSHAREDALBUMCONTENTREMOVAL_FIELD_NUMBER: builtins.int + XMATMESSENGERSHAREDALBUMDELETION_FIELD_NUMBER: builtins.int + XMATMESSENGERSHAREDALBUMRENAME_FIELD_NUMBER: builtins.int + XMATMESSENGERSHAREDALBUM_FIELD_NUMBER: builtins.int + XMATTHEMECOLOR_FIELD_NUMBER: builtins.int + XMATTHREADICON_FIELD_NUMBER: builtins.int + XMATTHREADNICKNAME_FIELD_NUMBER: builtins.int + XMATTHREADQUICKREACTION_FIELD_NUMBER: builtins.int + XMATUPDATEPAYMENTS_FIELD_NUMBER: builtins.int + XMATPINMESSAGEV2_FIELD_NUMBER: builtins.int + XMATUNPINMESSAGEV2_FIELD_NUMBER: builtins.int + XMATGENAITASKADD_FIELD_NUMBER: builtins.int + SKIPBUMPTHREAD_FIELD_NUMBER: builtins.int + SKIPSNIPPETUPDATE_FIELD_NUMBER: builtins.int + skipBumpThread: builtins.bool + skipSnippetUpdate: builtins.bool + @property + def chatThemeChanged(self) -> global___MiTransportAdminMessage.ChatThemeChanged: ... + @property + def nicknameChanged(self) -> global___MiTransportAdminMessage.NicknameChanged: ... + @property + def groupParticipantChanged(self) -> global___MiTransportAdminMessage.GroupParticipantChanged: ... + @property + def groupAdminChanged(self) -> global___MiTransportAdminMessage.GroupAdminChanged: ... + @property + def groupNameChanged(self) -> global___MiTransportAdminMessage.GroupNameChanged: ... + @property + def groupMembershipAddModeChanged(self) -> global___MiTransportAdminMessage.GroupMembershipAddModeChanged: ... + @property + def messagePinned(self) -> global___MiTransportAdminMessage.MessagePinned: ... + @property + def groupImageChanged(self) -> global___MiTransportAdminMessage.GroupImageChanged: ... + @property + def quickReactionChanged(self) -> global___MiTransportAdminMessage.QuickReactionChanged: ... + @property + def linkCta(self) -> global___MiTransportAdminMessage.LinkCta: ... + @property + def iconChanged(self) -> global___MiTransportAdminMessage.IconChanged: ... + @property + def disappearingSettingChanged(self) -> global___MiTransportAdminMessage.DisappearingSettingChanged: ... + @property + def limitSharingChanged(self) -> global___MiTransportAdminMessage.LimitSharingChanged: ... + @property + def xmatDisappearingSetting(self) -> global___MiTransportAdminMessage.XmatDisappearingSetting: ... + @property + def xmatFriendRequestConfirmedEncrypted(self) -> global___MiTransportAdminMessage.XmatFriendRequestConfirmedEncrypted: ... + @property + def xmatInstantGameEncryptedDynamicCustomUpdate(self) -> global___MiTransportAdminMessage.XmatInstantGameEncryptedDynamicCustomUpdate: ... + @property + def xmatLinkCta(self) -> global___MiTransportAdminMessage.XmatLinkCTA: ... + @property + def xmatMagicWords(self) -> global___MiTransportAdminMessage.XmatMagicWords: ... + @property + def xmatMessagingLimitSharing(self) -> global___MiTransportAdminMessage.XmatMessagingLimitSharing: ... + @property + def xmatMessengerQrCodeScanned(self) -> global___MiTransportAdminMessage.XmatMessengerQRCodeScanned: ... + @property + def xmatMessengerSharedAlbumAddition(self) -> global___MiTransportAdminMessage.XmatMessengerSharedAlbumAddition: ... + @property + def xmatMessengerSharedAlbumContentRemoval(self) -> global___MiTransportAdminMessage.XmatMessengerSharedAlbumContentRemoval: ... + @property + def xmatMessengerSharedAlbumDeletion(self) -> global___MiTransportAdminMessage.XmatMessengerSharedAlbumDeletion: ... + @property + def xmatMessengerSharedAlbumRename(self) -> global___MiTransportAdminMessage.XmatMessengerSharedAlbumRename: ... + @property + def xmatMessengerSharedAlbum(self) -> global___MiTransportAdminMessage.XmatMessengerSharedAlbum: ... + @property + def xmatThemeColor(self) -> global___MiTransportAdminMessage.XmatThemeColor: ... + @property + def xmatThreadIcon(self) -> global___MiTransportAdminMessage.XmatThreadIcon: ... + @property + def xmatThreadNickname(self) -> global___MiTransportAdminMessage.XmatThreadNickname: ... + @property + def xmatThreadQuickReaction(self) -> global___MiTransportAdminMessage.XmatThreadQuickReaction: ... + @property + def xmatUpdatePayments(self) -> global___MiTransportAdminMessage.XmatUpdatePayments: ... + @property + def xmatPinMessageV2(self) -> global___MiTransportAdminMessage.XmatPinMessageV2: ... + @property + def xmatUnpinMessageV2(self) -> global___MiTransportAdminMessage.XmatUnpinMessageV2: ... + @property + def xmatGenaiTaskAdd(self) -> global___MiTransportAdminMessage.XmatGenAITaskAdd: ... + def __init__( + self, + *, + chatThemeChanged: global___MiTransportAdminMessage.ChatThemeChanged | None = ..., + nicknameChanged: global___MiTransportAdminMessage.NicknameChanged | None = ..., + groupParticipantChanged: global___MiTransportAdminMessage.GroupParticipantChanged | None = ..., + groupAdminChanged: global___MiTransportAdminMessage.GroupAdminChanged | None = ..., + groupNameChanged: global___MiTransportAdminMessage.GroupNameChanged | None = ..., + groupMembershipAddModeChanged: global___MiTransportAdminMessage.GroupMembershipAddModeChanged | None = ..., + messagePinned: global___MiTransportAdminMessage.MessagePinned | None = ..., + groupImageChanged: global___MiTransportAdminMessage.GroupImageChanged | None = ..., + quickReactionChanged: global___MiTransportAdminMessage.QuickReactionChanged | None = ..., + linkCta: global___MiTransportAdminMessage.LinkCta | None = ..., + iconChanged: global___MiTransportAdminMessage.IconChanged | None = ..., + disappearingSettingChanged: global___MiTransportAdminMessage.DisappearingSettingChanged | None = ..., + limitSharingChanged: global___MiTransportAdminMessage.LimitSharingChanged | None = ..., + xmatDisappearingSetting: global___MiTransportAdminMessage.XmatDisappearingSetting | None = ..., + xmatFriendRequestConfirmedEncrypted: global___MiTransportAdminMessage.XmatFriendRequestConfirmedEncrypted | None = ..., + xmatInstantGameEncryptedDynamicCustomUpdate: global___MiTransportAdminMessage.XmatInstantGameEncryptedDynamicCustomUpdate | None = ..., + xmatLinkCta: global___MiTransportAdminMessage.XmatLinkCTA | None = ..., + xmatMagicWords: global___MiTransportAdminMessage.XmatMagicWords | None = ..., + xmatMessagingLimitSharing: global___MiTransportAdminMessage.XmatMessagingLimitSharing | None = ..., + xmatMessengerQrCodeScanned: global___MiTransportAdminMessage.XmatMessengerQRCodeScanned | None = ..., + xmatMessengerSharedAlbumAddition: global___MiTransportAdminMessage.XmatMessengerSharedAlbumAddition | None = ..., + xmatMessengerSharedAlbumContentRemoval: global___MiTransportAdminMessage.XmatMessengerSharedAlbumContentRemoval | None = ..., + xmatMessengerSharedAlbumDeletion: global___MiTransportAdminMessage.XmatMessengerSharedAlbumDeletion | None = ..., + xmatMessengerSharedAlbumRename: global___MiTransportAdminMessage.XmatMessengerSharedAlbumRename | None = ..., + xmatMessengerSharedAlbum: global___MiTransportAdminMessage.XmatMessengerSharedAlbum | None = ..., + xmatThemeColor: global___MiTransportAdminMessage.XmatThemeColor | None = ..., + xmatThreadIcon: global___MiTransportAdminMessage.XmatThreadIcon | None = ..., + xmatThreadNickname: global___MiTransportAdminMessage.XmatThreadNickname | None = ..., + xmatThreadQuickReaction: global___MiTransportAdminMessage.XmatThreadQuickReaction | None = ..., + xmatUpdatePayments: global___MiTransportAdminMessage.XmatUpdatePayments | None = ..., + xmatPinMessageV2: global___MiTransportAdminMessage.XmatPinMessageV2 | None = ..., + xmatUnpinMessageV2: global___MiTransportAdminMessage.XmatUnpinMessageV2 | None = ..., + xmatGenaiTaskAdd: global___MiTransportAdminMessage.XmatGenAITaskAdd | None = ..., + skipBumpThread: builtins.bool | None = ..., + skipSnippetUpdate: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["chatThemeChanged", b"chatThemeChanged", "content", b"content", "disappearingSettingChanged", b"disappearingSettingChanged", "groupAdminChanged", b"groupAdminChanged", "groupImageChanged", b"groupImageChanged", "groupMembershipAddModeChanged", b"groupMembershipAddModeChanged", "groupNameChanged", b"groupNameChanged", "groupParticipantChanged", b"groupParticipantChanged", "iconChanged", b"iconChanged", "limitSharingChanged", b"limitSharingChanged", "linkCta", b"linkCta", "messagePinned", b"messagePinned", "nicknameChanged", b"nicknameChanged", "quickReactionChanged", b"quickReactionChanged", "skipBumpThread", b"skipBumpThread", "skipSnippetUpdate", b"skipSnippetUpdate", "xmatDisappearingSetting", b"xmatDisappearingSetting", "xmatFriendRequestConfirmedEncrypted", b"xmatFriendRequestConfirmedEncrypted", "xmatGenaiTaskAdd", b"xmatGenaiTaskAdd", "xmatInstantGameEncryptedDynamicCustomUpdate", b"xmatInstantGameEncryptedDynamicCustomUpdate", "xmatLinkCta", b"xmatLinkCta", "xmatMagicWords", b"xmatMagicWords", "xmatMessagingLimitSharing", b"xmatMessagingLimitSharing", "xmatMessengerQrCodeScanned", b"xmatMessengerQrCodeScanned", "xmatMessengerSharedAlbum", b"xmatMessengerSharedAlbum", "xmatMessengerSharedAlbumAddition", b"xmatMessengerSharedAlbumAddition", "xmatMessengerSharedAlbumContentRemoval", b"xmatMessengerSharedAlbumContentRemoval", "xmatMessengerSharedAlbumDeletion", b"xmatMessengerSharedAlbumDeletion", "xmatMessengerSharedAlbumRename", b"xmatMessengerSharedAlbumRename", "xmatPinMessageV2", b"xmatPinMessageV2", "xmatThemeColor", b"xmatThemeColor", "xmatThreadIcon", b"xmatThreadIcon", "xmatThreadNickname", b"xmatThreadNickname", "xmatThreadQuickReaction", b"xmatThreadQuickReaction", "xmatUnpinMessageV2", b"xmatUnpinMessageV2", "xmatUpdatePayments", b"xmatUpdatePayments"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chatThemeChanged", b"chatThemeChanged", "content", b"content", "disappearingSettingChanged", b"disappearingSettingChanged", "groupAdminChanged", b"groupAdminChanged", "groupImageChanged", b"groupImageChanged", "groupMembershipAddModeChanged", b"groupMembershipAddModeChanged", "groupNameChanged", b"groupNameChanged", "groupParticipantChanged", b"groupParticipantChanged", "iconChanged", b"iconChanged", "limitSharingChanged", b"limitSharingChanged", "linkCta", b"linkCta", "messagePinned", b"messagePinned", "nicknameChanged", b"nicknameChanged", "quickReactionChanged", b"quickReactionChanged", "skipBumpThread", b"skipBumpThread", "skipSnippetUpdate", b"skipSnippetUpdate", "xmatDisappearingSetting", b"xmatDisappearingSetting", "xmatFriendRequestConfirmedEncrypted", b"xmatFriendRequestConfirmedEncrypted", "xmatGenaiTaskAdd", b"xmatGenaiTaskAdd", "xmatInstantGameEncryptedDynamicCustomUpdate", b"xmatInstantGameEncryptedDynamicCustomUpdate", "xmatLinkCta", b"xmatLinkCta", "xmatMagicWords", b"xmatMagicWords", "xmatMessagingLimitSharing", b"xmatMessagingLimitSharing", "xmatMessengerQrCodeScanned", b"xmatMessengerQrCodeScanned", "xmatMessengerSharedAlbum", b"xmatMessengerSharedAlbum", "xmatMessengerSharedAlbumAddition", b"xmatMessengerSharedAlbumAddition", "xmatMessengerSharedAlbumContentRemoval", b"xmatMessengerSharedAlbumContentRemoval", "xmatMessengerSharedAlbumDeletion", b"xmatMessengerSharedAlbumDeletion", "xmatMessengerSharedAlbumRename", b"xmatMessengerSharedAlbumRename", "xmatPinMessageV2", b"xmatPinMessageV2", "xmatThemeColor", b"xmatThemeColor", "xmatThreadIcon", b"xmatThreadIcon", "xmatThreadNickname", b"xmatThreadNickname", "xmatThreadQuickReaction", b"xmatThreadQuickReaction", "xmatUnpinMessageV2", b"xmatUnpinMessageV2", "xmatUpdatePayments", b"xmatUpdatePayments"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["content", b"content"]) -> typing.Literal["chatThemeChanged", "nicknameChanged", "groupParticipantChanged", "groupAdminChanged", "groupNameChanged", "groupMembershipAddModeChanged", "messagePinned", "groupImageChanged", "quickReactionChanged", "linkCta", "iconChanged", "disappearingSettingChanged", "limitSharingChanged", "xmatDisappearingSetting", "xmatFriendRequestConfirmedEncrypted", "xmatInstantGameEncryptedDynamicCustomUpdate", "xmatLinkCta", "xmatMagicWords", "xmatMessagingLimitSharing", "xmatMessengerQrCodeScanned", "xmatMessengerSharedAlbumAddition", "xmatMessengerSharedAlbumContentRemoval", "xmatMessengerSharedAlbumDeletion", "xmatMessengerSharedAlbumRename", "xmatMessengerSharedAlbum", "xmatThemeColor", "xmatThreadIcon", "xmatThreadNickname", "xmatThreadQuickReaction", "xmatUpdatePayments", "xmatPinMessageV2", "xmatUnpinMessageV2", "xmatGenaiTaskAdd"] | None: ... + +global___MiTransportAdminMessage = MiTransportAdminMessage diff --git a/neonize/proto/waArmadilloTransportEvent/WAArmadilloTransportEvent_pb2.py b/neonize/proto/waArmadilloTransportEvent/WAArmadilloTransportEvent_pb2.py new file mode 100644 index 00000000..31ffe22b --- /dev/null +++ b/neonize/proto/waArmadilloTransportEvent/WAArmadilloTransportEvent_pb2.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waArmadilloTransportEvent/WAArmadilloTransportEvent.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waArmadilloTransportEvent/WAArmadilloTransportEvent.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n9waArmadilloTransportEvent/WAArmadilloTransportEvent.proto\x12\x19WAArmadilloTransportEvent\"\xdb\x06\n\x0eTransportEvent\x12L\n\x0bplaceholder\x18\x01 \x01(\x0b\x32\x35.WAArmadilloTransportEvent.TransportEvent.PlaceholderH\x00\x12@\n\x05\x65vent\x18\x02 \x01(\x0b\x32/.WAArmadilloTransportEvent.TransportEvent.EventH\x00\x1a\x9a\x04\n\x05\x45vent\x12T\n\x0c\x64\x65viceChange\x18\x01 \x01(\x0b\x32<.WAArmadilloTransportEvent.TransportEvent.Event.DeviceChangeH\x00\x12N\n\ticdcAlert\x18\x02 \x01(\x0b\x32\x39.WAArmadilloTransportEvent.TransportEvent.Event.IcdcAlertH\x00\x1a\x86\x01\n\tIcdcAlert\x12L\n\x04type\x18\x01 \x01(\x0e\x32>.WAArmadilloTransportEvent.TransportEvent.Event.IcdcAlert.Type\"+\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x0c\n\x08\x44\x45TECTED\x10\x01\x12\x0b\n\x07\x43LEARED\x10\x02\x1a\xd8\x01\n\x0c\x44\x65viceChange\x12O\n\x04type\x18\x01 \x01(\x0e\x32\x41.WAArmadilloTransportEvent.TransportEvent.Event.DeviceChange.Type\x12\x12\n\ndeviceName\x18\x02 \x01(\t\x12\x16\n\x0e\x64\x65vicePlatform\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65viceModel\x18\x04 \x01(\t\"6\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05\x41\x44\x44\x45\x44\x10\x01\x12\x0b\n\x07REMOVED\x10\x02\x12\x0c\n\x08REPLACED\x10\x03\x42\x07\n\x05\x65vent\x1a\x90\x01\n\x0bPlaceholder\x12H\n\x04type\x18\x01 \x01(\x0e\x32:.WAArmadilloTransportEvent.TransportEvent.Placeholder.Type\"7\n\x04Type\x12\x16\n\x12\x44\x45\x43RYPTION_FAILURE\x10\x01\x12\x17\n\x13UNAVAILABLE_MESSAGE\x10\x02\x42\t\n\x07\x63ontentB5Z3go.mau.fi/whatsmeow/proto/waArmadilloTransportEvent') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waArmadilloTransportEvent.WAArmadilloTransportEvent_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z3go.mau.fi/whatsmeow/proto/waArmadilloTransportEvent' + _globals['_TRANSPORTEVENT']._serialized_start=89 + _globals['_TRANSPORTEVENT']._serialized_end=948 + _globals['_TRANSPORTEVENT_EVENT']._serialized_start=252 + _globals['_TRANSPORTEVENT_EVENT']._serialized_end=790 + _globals['_TRANSPORTEVENT_EVENT_ICDCALERT']._serialized_start=428 + _globals['_TRANSPORTEVENT_EVENT_ICDCALERT']._serialized_end=562 + _globals['_TRANSPORTEVENT_EVENT_ICDCALERT_TYPE']._serialized_start=519 + _globals['_TRANSPORTEVENT_EVENT_ICDCALERT_TYPE']._serialized_end=562 + _globals['_TRANSPORTEVENT_EVENT_DEVICECHANGE']._serialized_start=565 + _globals['_TRANSPORTEVENT_EVENT_DEVICECHANGE']._serialized_end=781 + _globals['_TRANSPORTEVENT_EVENT_DEVICECHANGE_TYPE']._serialized_start=727 + _globals['_TRANSPORTEVENT_EVENT_DEVICECHANGE_TYPE']._serialized_end=781 + _globals['_TRANSPORTEVENT_PLACEHOLDER']._serialized_start=793 + _globals['_TRANSPORTEVENT_PLACEHOLDER']._serialized_end=937 + _globals['_TRANSPORTEVENT_PLACEHOLDER_TYPE']._serialized_start=882 + _globals['_TRANSPORTEVENT_PLACEHOLDER_TYPE']._serialized_end=937 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waArmadilloTransportEvent/WAArmadilloTransportEvent_pb2.pyi b/neonize/proto/waArmadilloTransportEvent/WAArmadilloTransportEvent_pb2.pyi new file mode 100644 index 00000000..6ec56cbd --- /dev/null +++ b/neonize/proto/waArmadilloTransportEvent/WAArmadilloTransportEvent_pb2.pyi @@ -0,0 +1,156 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class TransportEvent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Event(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class IcdcAlert(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[TransportEvent.Event.IcdcAlert._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: TransportEvent.Event.IcdcAlert._Type.ValueType # 0 + DETECTED: TransportEvent.Event.IcdcAlert._Type.ValueType # 1 + CLEARED: TransportEvent.Event.IcdcAlert._Type.ValueType # 2 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + NONE: TransportEvent.Event.IcdcAlert.Type.ValueType # 0 + DETECTED: TransportEvent.Event.IcdcAlert.Type.ValueType # 1 + CLEARED: TransportEvent.Event.IcdcAlert.Type.ValueType # 2 + + TYPE_FIELD_NUMBER: builtins.int + type: global___TransportEvent.Event.IcdcAlert.Type.ValueType + def __init__( + self, + *, + type: global___TransportEvent.Event.IcdcAlert.Type.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + + @typing.final + class DeviceChange(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[TransportEvent.Event.DeviceChange._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: TransportEvent.Event.DeviceChange._Type.ValueType # 0 + ADDED: TransportEvent.Event.DeviceChange._Type.ValueType # 1 + REMOVED: TransportEvent.Event.DeviceChange._Type.ValueType # 2 + REPLACED: TransportEvent.Event.DeviceChange._Type.ValueType # 3 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + NONE: TransportEvent.Event.DeviceChange.Type.ValueType # 0 + ADDED: TransportEvent.Event.DeviceChange.Type.ValueType # 1 + REMOVED: TransportEvent.Event.DeviceChange.Type.ValueType # 2 + REPLACED: TransportEvent.Event.DeviceChange.Type.ValueType # 3 + + TYPE_FIELD_NUMBER: builtins.int + DEVICENAME_FIELD_NUMBER: builtins.int + DEVICEPLATFORM_FIELD_NUMBER: builtins.int + DEVICEMODEL_FIELD_NUMBER: builtins.int + type: global___TransportEvent.Event.DeviceChange.Type.ValueType + deviceName: builtins.str + devicePlatform: builtins.str + deviceModel: builtins.str + def __init__( + self, + *, + type: global___TransportEvent.Event.DeviceChange.Type.ValueType | None = ..., + deviceName: builtins.str | None = ..., + devicePlatform: builtins.str | None = ..., + deviceModel: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deviceModel", b"deviceModel", "deviceName", b"deviceName", "devicePlatform", b"devicePlatform", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deviceModel", b"deviceModel", "deviceName", b"deviceName", "devicePlatform", b"devicePlatform", "type", b"type"]) -> None: ... + + DEVICECHANGE_FIELD_NUMBER: builtins.int + ICDCALERT_FIELD_NUMBER: builtins.int + @property + def deviceChange(self) -> global___TransportEvent.Event.DeviceChange: ... + @property + def icdcAlert(self) -> global___TransportEvent.Event.IcdcAlert: ... + def __init__( + self, + *, + deviceChange: global___TransportEvent.Event.DeviceChange | None = ..., + icdcAlert: global___TransportEvent.Event.IcdcAlert | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deviceChange", b"deviceChange", "event", b"event", "icdcAlert", b"icdcAlert"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deviceChange", b"deviceChange", "event", b"event", "icdcAlert", b"icdcAlert"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["event", b"event"]) -> typing.Literal["deviceChange", "icdcAlert"] | None: ... + + @typing.final + class Placeholder(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[TransportEvent.Placeholder._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DECRYPTION_FAILURE: TransportEvent.Placeholder._Type.ValueType # 1 + UNAVAILABLE_MESSAGE: TransportEvent.Placeholder._Type.ValueType # 2 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + DECRYPTION_FAILURE: TransportEvent.Placeholder.Type.ValueType # 1 + UNAVAILABLE_MESSAGE: TransportEvent.Placeholder.Type.ValueType # 2 + + TYPE_FIELD_NUMBER: builtins.int + type: global___TransportEvent.Placeholder.Type.ValueType + def __init__( + self, + *, + type: global___TransportEvent.Placeholder.Type.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + + PLACEHOLDER_FIELD_NUMBER: builtins.int + EVENT_FIELD_NUMBER: builtins.int + @property + def placeholder(self) -> global___TransportEvent.Placeholder: ... + @property + def event(self) -> global___TransportEvent.Event: ... + def __init__( + self, + *, + placeholder: global___TransportEvent.Placeholder | None = ..., + event: global___TransportEvent.Event | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["content", b"content", "event", b"event", "placeholder", b"placeholder"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["content", b"content", "event", b"event", "placeholder", b"placeholder"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["content", b"content"]) -> typing.Literal["placeholder", "event"] | None: ... + +global___TransportEvent = TransportEvent diff --git a/neonize/proto/waArmadilloXMA/WAArmadilloXMA_pb2.py b/neonize/proto/waArmadilloXMA/WAArmadilloXMA_pb2.py new file mode 100644 index 00000000..cf2edff5 --- /dev/null +++ b/neonize/proto/waArmadilloXMA/WAArmadilloXMA_pb2.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waArmadilloXMA/WAArmadilloXMA.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waArmadilloXMA/WAArmadilloXMA.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#waArmadilloXMA/WAArmadilloXMA.proto\x12\x0eWAArmadilloXMA\x1a\x17waCommon/WACommon.proto\"\x8d\x1a\n\x16\x45xtendedContentMessage\x12\x30\n\x11\x61ssociatedMessage\x18\x01 \x01(\x0b\x32\x15.WACommon.SubProtocol\x12N\n\ntargetType\x18\x02 \x01(\x0e\x32:.WAArmadilloXMA.ExtendedContentMessage.ExtendedContentType\x12\x16\n\x0etargetUsername\x18\x03 \x01(\t\x12\x10\n\x08targetID\x18\x04 \x01(\t\x12\x1b\n\x13targetExpiringAtSec\x18\x05 \x01(\x03\x12K\n\rxmaLayoutType\x18\x06 \x01(\x0e\x32\x34.WAArmadilloXMA.ExtendedContentMessage.XmaLayoutType\x12\x38\n\x04\x63tas\x18\x07 \x03(\x0b\x32*.WAArmadilloXMA.ExtendedContentMessage.CTA\x12\'\n\x08previews\x18\x08 \x03(\x0b\x32\x15.WACommon.SubProtocol\x12\x11\n\ttitleText\x18\t \x01(\t\x12\x14\n\x0csubtitleText\x18\n \x01(\t\x12\x1a\n\x12maxTitleNumOfLines\x18\x0b \x01(\r\x12\x1d\n\x15maxSubtitleNumOfLines\x18\x0c \x01(\r\x12&\n\x07\x66\x61vicon\x18\r \x01(\x0b\x32\x15.WACommon.SubProtocol\x12*\n\x0bheaderImage\x18\x0e \x01(\x0b\x32\x15.WACommon.SubProtocol\x12\x13\n\x0bheaderTitle\x18\x0f \x01(\t\x12Q\n\x10overlayIconGlyph\x18\x10 \x01(\x0e\x32\x37.WAArmadilloXMA.ExtendedContentMessage.OverlayIconGlyph\x12\x14\n\x0coverlayTitle\x18\x11 \x01(\t\x12\x1a\n\x12overlayDescription\x18\x12 \x01(\t\x12\x19\n\x11sentWithMessageID\x18\x13 \x01(\t\x12\x13\n\x0bmessageText\x18\x14 \x01(\t\x12\x16\n\x0eheaderSubtitle\x18\x15 \x01(\t\x12\x14\n\x0cxmaDataclass\x18\x16 \x01(\t\x12\x12\n\ncontentRef\x18\x17 \x01(\t\x12\x14\n\x0cmentionedJID\x18\x18 \x03(\t\x12#\n\x08\x63ommands\x18\x19 \x03(\x0b\x32\x11.WACommon.Command\x12#\n\x08mentions\x18\x1a \x03(\x0b\x32\x11.WACommon.Mention\x1a\xb0\x01\n\x03\x43TA\x12H\n\nbuttonType\x18\x01 \x01(\x0e\x32\x34.WAArmadilloXMA.ExtendedContentMessage.CtaButtonType\x12\r\n\x05title\x18\x02 \x01(\t\x12\x11\n\tactionURL\x18\x03 \x01(\t\x12\x11\n\tnativeURL\x18\x04 \x01(\t\x12\x0f\n\x07\x63taType\x18\x05 \x01(\t\x12\x19\n\x11\x61\x63tionContentBlob\x18\x06 \x01(\t\"\xa1\x01\n\x10OverlayIconGlyph\x12\x08\n\x04INFO\x10\x00\x12\x0b\n\x07\x45YE_OFF\x10\x01\x12\x0c\n\x08NEWS_OFF\x10\x02\x12\x0b\n\x07WARNING\x10\x03\x12\x0b\n\x07PRIVATE\x10\x04\x12\x08\n\x04NONE\x10\x05\x12\x0f\n\x0bMEDIA_LABEL\x10\x06\x12\x0e\n\nPOST_COVER\x10\x07\x12\x0e\n\nPOST_LABEL\x10\x08\x12\x13\n\x0fWARNING_SCREENS\x10\t\" \n\rCtaButtonType\x12\x0f\n\x0bOPEN_NATIVE\x10\x0b\"b\n\rXmaLayoutType\x12\n\n\x06SINGLE\x10\x00\x12\x0b\n\x07HSCROLL\x10\x01\x12\x0c\n\x08PORTRAIT\x10\x03\x12\x11\n\rSTANDARD_DXMA\x10\x0c\x12\r\n\tLIST_DXMA\x10\x0f\x12\x08\n\x04GRID\x10\x10\"\xf8\x0e\n\x13\x45xtendedContentType\x12\x0f\n\x0bUNSUPPORTED\x10\x00\x12\x1a\n\x16IG_STORY_PHOTO_MENTION\x10\x04\x12\x1e\n\x1aIG_SINGLE_IMAGE_POST_SHARE\x10\t\x12\x16\n\x12IG_MULTIPOST_SHARE\x10\n\x12\x1e\n\x1aIG_SINGLE_VIDEO_POST_SHARE\x10\x0b\x12\x18\n\x14IG_STORY_PHOTO_SHARE\x10\x0c\x12\x18\n\x14IG_STORY_VIDEO_SHARE\x10\r\x12\x12\n\x0eIG_CLIPS_SHARE\x10\x0e\x12\x11\n\rIG_IGTV_SHARE\x10\x0f\x12\x11\n\rIG_SHOP_SHARE\x10\x10\x12\x14\n\x10IG_PROFILE_SHARE\x10\x13\x12\"\n\x1eIG_STORY_PHOTO_HIGHLIGHT_SHARE\x10\x14\x12\"\n\x1eIG_STORY_VIDEO_HIGHLIGHT_SHARE\x10\x15\x12\x12\n\x0eIG_STORY_REPLY\x10\x16\x12\x15\n\x11IG_STORY_REACTION\x10\x17\x12\x1a\n\x16IG_STORY_VIDEO_MENTION\x10\x18\x12\x1c\n\x18IG_STORY_HIGHLIGHT_REPLY\x10\x19\x12\x1f\n\x1bIG_STORY_HIGHLIGHT_REACTION\x10\x1a\x12\x14\n\x10IG_EXTERNAL_LINK\x10\x1b\x12\x15\n\x11IG_RECEIVER_FETCH\x10\x1c\x12\x12\n\rFB_FEED_SHARE\x10\xe8\x07\x12\x13\n\x0e\x46\x42_STORY_REPLY\x10\xe9\x07\x12\x13\n\x0e\x46\x42_STORY_SHARE\x10\xea\x07\x12\x15\n\x10\x46\x42_STORY_MENTION\x10\xeb\x07\x12\x18\n\x13\x46\x42_FEED_VIDEO_SHARE\x10\xec\x07\x12\x1c\n\x17\x46\x42_GAMING_CUSTOM_UPDATE\x10\xed\x07\x12\x1c\n\x17\x46\x42_PRODUCER_STORY_REPLY\x10\xee\x07\x12\r\n\x08\x46\x42_EVENT\x10\xef\x07\x12\x1f\n\x1a\x46\x42_FEED_POST_PRIVATE_REPLY\x10\xf0\x07\x12\r\n\x08\x46\x42_SHORT\x10\xf1\x07\x12\x1d\n\x18\x46\x42_COMMENT_MENTION_SHARE\x10\xf2\x07\x12\x14\n\x0f\x46\x42_POST_MENTION\x10\xf3\x07\x12\x1e\n\x19\x46\x42_PROFILE_DIRECTORY_ITEM\x10\xf5\x07\x12 \n\x1b\x46\x42_FEED_POST_REACTION_REPLY\x10\xf6\x07\x12\x1c\n\x17MSG_EXTERNAL_LINK_SHARE\x10\xd0\x0f\x12\x14\n\x0fMSG_P2P_PAYMENT\x10\xd1\x0f\x12\x19\n\x14MSG_LOCATION_SHARING\x10\xd2\x0f\x12\x1c\n\x17MSG_LOCATION_SHARING_V2\x10\xd3\x0f\x12,\n\'MSG_HIGHLIGHTS_TAB_FRIEND_UPDATES_REPLY\x10\xd4\x0f\x12)\n$MSG_HIGHLIGHTS_TAB_LOCAL_EVENT_REPLY\x10\xd5\x0f\x12\x17\n\x12MSG_RECEIVER_FETCH\x10\xd6\x0f\x12\x17\n\x12MSG_IG_MEDIA_SHARE\x10\xd7\x0f\x12&\n!MSG_GEN_AI_SEARCH_PLUGIN_RESPONSE\x10\xd8\x0f\x12\x13\n\x0eMSG_REELS_LIST\x10\xd9\x0f\x12\x10\n\x0bMSG_CONTACT\x10\xda\x0f\x12\x1b\n\x16MSG_THREADS_POST_SHARE\x10\xdb\x0f\x12\r\n\x08MSG_FILE\x10\xdc\x0f\x12\x17\n\x12MSG_AVATAR_DETAILS\x10\xdd\x0f\x12\x13\n\x0eMSG_AI_CONTACT\x10\xde\x0f\x12\x17\n\x12MSG_MEMORIES_SHARE\x10\xdf\x0f\x12\x1b\n\x16MSG_SHARED_ALBUM_REPLY\x10\xe0\x0f\x12\x15\n\x10MSG_SHARED_ALBUM\x10\xe1\x0f\x12\x18\n\x13MSG_OCCAMADILLO_XMA\x10\xe2\x0f\x12\x1c\n\x17MSG_GEN_AI_SUBSCRIPTION\x10\xe5\x0f\x12\x18\n\x13MSG_GEN_AI_REMINDER\x10\xe6\x0f\x12(\n#MSG_GEN_AI_MEMU_ONBOARDING_RESPONSE\x10\xe7\x0f\x12\x13\n\x0eMSG_NOTE_REPLY\x10\xe8\x0f\x12\x15\n\x10MSG_NOTE_MENTION\x10\xe9\x0f\x12\x12\n\rGEN_AI_ENTITY\x10\xea\x0f\x12\x13\n\x0eRTC_AUDIO_CALL\x10\xb8\x17\x12\x13\n\x0eRTC_VIDEO_CALL\x10\xb9\x17\x12\x1a\n\x15RTC_MISSED_AUDIO_CALL\x10\xba\x17\x12\x1a\n\x15RTC_MISSED_VIDEO_CALL\x10\xbb\x17\x12\x19\n\x14RTC_GROUP_AUDIO_CALL\x10\xbc\x17\x12\x19\n\x14RTC_GROUP_VIDEO_CALL\x10\xbd\x17\x12 \n\x1bRTC_MISSED_GROUP_AUDIO_CALL\x10\xbe\x17\x12 \n\x1bRTC_MISSED_GROUP_VIDEO_CALL\x10\xbf\x17\x12\x1b\n\x16RTC_ONGOING_AUDIO_CALL\x10\xc0\x17\x12\x1b\n\x16RTC_ONGOING_VIDEO_CALL\x10\xc1\x17\x12 \n\x1bMSG_RECEIVER_FETCH_FALLBACK\x10\xd1\x17\x12\x1a\n\x15\x44\x41TACLASS_SENDER_COPY\x10\xa0\x1f\x42*Z(go.mau.fi/whatsmeow/proto/waArmadilloXMA') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waArmadilloXMA.WAArmadilloXMA_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z(go.mau.fi/whatsmeow/proto/waArmadilloXMA' + _globals['_EXTENDEDCONTENTMESSAGE']._serialized_start=81 + _globals['_EXTENDEDCONTENTMESSAGE']._serialized_end=3422 + _globals['_EXTENDEDCONTENTMESSAGE_CTA']._serialized_start=1033 + _globals['_EXTENDEDCONTENTMESSAGE_CTA']._serialized_end=1209 + _globals['_EXTENDEDCONTENTMESSAGE_OVERLAYICONGLYPH']._serialized_start=1212 + _globals['_EXTENDEDCONTENTMESSAGE_OVERLAYICONGLYPH']._serialized_end=1373 + _globals['_EXTENDEDCONTENTMESSAGE_CTABUTTONTYPE']._serialized_start=1375 + _globals['_EXTENDEDCONTENTMESSAGE_CTABUTTONTYPE']._serialized_end=1407 + _globals['_EXTENDEDCONTENTMESSAGE_XMALAYOUTTYPE']._serialized_start=1409 + _globals['_EXTENDEDCONTENTMESSAGE_XMALAYOUTTYPE']._serialized_end=1507 + _globals['_EXTENDEDCONTENTMESSAGE_EXTENDEDCONTENTTYPE']._serialized_start=1510 + _globals['_EXTENDEDCONTENTMESSAGE_EXTENDEDCONTENTTYPE']._serialized_end=3422 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waArmadilloXMA/WAArmadilloXMA_pb2.pyi b/neonize/proto/waArmadilloXMA/WAArmadilloXMA_pb2.pyi new file mode 100644 index 00000000..6460b406 --- /dev/null +++ b/neonize/proto/waArmadilloXMA/WAArmadilloXMA_pb2.pyi @@ -0,0 +1,361 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waCommon.WACommon_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class ExtendedContentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _OverlayIconGlyph: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _OverlayIconGlyphEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedContentMessage._OverlayIconGlyph.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + INFO: ExtendedContentMessage._OverlayIconGlyph.ValueType # 0 + EYE_OFF: ExtendedContentMessage._OverlayIconGlyph.ValueType # 1 + NEWS_OFF: ExtendedContentMessage._OverlayIconGlyph.ValueType # 2 + WARNING: ExtendedContentMessage._OverlayIconGlyph.ValueType # 3 + PRIVATE: ExtendedContentMessage._OverlayIconGlyph.ValueType # 4 + NONE: ExtendedContentMessage._OverlayIconGlyph.ValueType # 5 + MEDIA_LABEL: ExtendedContentMessage._OverlayIconGlyph.ValueType # 6 + POST_COVER: ExtendedContentMessage._OverlayIconGlyph.ValueType # 7 + POST_LABEL: ExtendedContentMessage._OverlayIconGlyph.ValueType # 8 + WARNING_SCREENS: ExtendedContentMessage._OverlayIconGlyph.ValueType # 9 + + class OverlayIconGlyph(_OverlayIconGlyph, metaclass=_OverlayIconGlyphEnumTypeWrapper): ... + INFO: ExtendedContentMessage.OverlayIconGlyph.ValueType # 0 + EYE_OFF: ExtendedContentMessage.OverlayIconGlyph.ValueType # 1 + NEWS_OFF: ExtendedContentMessage.OverlayIconGlyph.ValueType # 2 + WARNING: ExtendedContentMessage.OverlayIconGlyph.ValueType # 3 + PRIVATE: ExtendedContentMessage.OverlayIconGlyph.ValueType # 4 + NONE: ExtendedContentMessage.OverlayIconGlyph.ValueType # 5 + MEDIA_LABEL: ExtendedContentMessage.OverlayIconGlyph.ValueType # 6 + POST_COVER: ExtendedContentMessage.OverlayIconGlyph.ValueType # 7 + POST_LABEL: ExtendedContentMessage.OverlayIconGlyph.ValueType # 8 + WARNING_SCREENS: ExtendedContentMessage.OverlayIconGlyph.ValueType # 9 + + class _CtaButtonType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CtaButtonTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedContentMessage._CtaButtonType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + OPEN_NATIVE: ExtendedContentMessage._CtaButtonType.ValueType # 11 + + class CtaButtonType(_CtaButtonType, metaclass=_CtaButtonTypeEnumTypeWrapper): ... + OPEN_NATIVE: ExtendedContentMessage.CtaButtonType.ValueType # 11 + + class _XmaLayoutType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _XmaLayoutTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedContentMessage._XmaLayoutType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SINGLE: ExtendedContentMessage._XmaLayoutType.ValueType # 0 + HSCROLL: ExtendedContentMessage._XmaLayoutType.ValueType # 1 + PORTRAIT: ExtendedContentMessage._XmaLayoutType.ValueType # 3 + STANDARD_DXMA: ExtendedContentMessage._XmaLayoutType.ValueType # 12 + LIST_DXMA: ExtendedContentMessage._XmaLayoutType.ValueType # 15 + GRID: ExtendedContentMessage._XmaLayoutType.ValueType # 16 + + class XmaLayoutType(_XmaLayoutType, metaclass=_XmaLayoutTypeEnumTypeWrapper): ... + SINGLE: ExtendedContentMessage.XmaLayoutType.ValueType # 0 + HSCROLL: ExtendedContentMessage.XmaLayoutType.ValueType # 1 + PORTRAIT: ExtendedContentMessage.XmaLayoutType.ValueType # 3 + STANDARD_DXMA: ExtendedContentMessage.XmaLayoutType.ValueType # 12 + LIST_DXMA: ExtendedContentMessage.XmaLayoutType.ValueType # 15 + GRID: ExtendedContentMessage.XmaLayoutType.ValueType # 16 + + class _ExtendedContentType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ExtendedContentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedContentMessage._ExtendedContentType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSUPPORTED: ExtendedContentMessage._ExtendedContentType.ValueType # 0 + IG_STORY_PHOTO_MENTION: ExtendedContentMessage._ExtendedContentType.ValueType # 4 + IG_SINGLE_IMAGE_POST_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 9 + IG_MULTIPOST_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 10 + IG_SINGLE_VIDEO_POST_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 11 + IG_STORY_PHOTO_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 12 + IG_STORY_VIDEO_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 13 + IG_CLIPS_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 14 + IG_IGTV_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 15 + IG_SHOP_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 16 + IG_PROFILE_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 19 + IG_STORY_PHOTO_HIGHLIGHT_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 20 + IG_STORY_VIDEO_HIGHLIGHT_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 21 + IG_STORY_REPLY: ExtendedContentMessage._ExtendedContentType.ValueType # 22 + IG_STORY_REACTION: ExtendedContentMessage._ExtendedContentType.ValueType # 23 + IG_STORY_VIDEO_MENTION: ExtendedContentMessage._ExtendedContentType.ValueType # 24 + IG_STORY_HIGHLIGHT_REPLY: ExtendedContentMessage._ExtendedContentType.ValueType # 25 + IG_STORY_HIGHLIGHT_REACTION: ExtendedContentMessage._ExtendedContentType.ValueType # 26 + IG_EXTERNAL_LINK: ExtendedContentMessage._ExtendedContentType.ValueType # 27 + IG_RECEIVER_FETCH: ExtendedContentMessage._ExtendedContentType.ValueType # 28 + FB_FEED_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 1000 + FB_STORY_REPLY: ExtendedContentMessage._ExtendedContentType.ValueType # 1001 + FB_STORY_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 1002 + FB_STORY_MENTION: ExtendedContentMessage._ExtendedContentType.ValueType # 1003 + FB_FEED_VIDEO_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 1004 + FB_GAMING_CUSTOM_UPDATE: ExtendedContentMessage._ExtendedContentType.ValueType # 1005 + FB_PRODUCER_STORY_REPLY: ExtendedContentMessage._ExtendedContentType.ValueType # 1006 + FB_EVENT: ExtendedContentMessage._ExtendedContentType.ValueType # 1007 + FB_FEED_POST_PRIVATE_REPLY: ExtendedContentMessage._ExtendedContentType.ValueType # 1008 + FB_SHORT: ExtendedContentMessage._ExtendedContentType.ValueType # 1009 + FB_COMMENT_MENTION_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 1010 + FB_POST_MENTION: ExtendedContentMessage._ExtendedContentType.ValueType # 1011 + FB_PROFILE_DIRECTORY_ITEM: ExtendedContentMessage._ExtendedContentType.ValueType # 1013 + FB_FEED_POST_REACTION_REPLY: ExtendedContentMessage._ExtendedContentType.ValueType # 1014 + MSG_EXTERNAL_LINK_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 2000 + MSG_P2P_PAYMENT: ExtendedContentMessage._ExtendedContentType.ValueType # 2001 + MSG_LOCATION_SHARING: ExtendedContentMessage._ExtendedContentType.ValueType # 2002 + MSG_LOCATION_SHARING_V2: ExtendedContentMessage._ExtendedContentType.ValueType # 2003 + MSG_HIGHLIGHTS_TAB_FRIEND_UPDATES_REPLY: ExtendedContentMessage._ExtendedContentType.ValueType # 2004 + MSG_HIGHLIGHTS_TAB_LOCAL_EVENT_REPLY: ExtendedContentMessage._ExtendedContentType.ValueType # 2005 + MSG_RECEIVER_FETCH: ExtendedContentMessage._ExtendedContentType.ValueType # 2006 + MSG_IG_MEDIA_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 2007 + MSG_GEN_AI_SEARCH_PLUGIN_RESPONSE: ExtendedContentMessage._ExtendedContentType.ValueType # 2008 + MSG_REELS_LIST: ExtendedContentMessage._ExtendedContentType.ValueType # 2009 + MSG_CONTACT: ExtendedContentMessage._ExtendedContentType.ValueType # 2010 + MSG_THREADS_POST_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 2011 + MSG_FILE: ExtendedContentMessage._ExtendedContentType.ValueType # 2012 + MSG_AVATAR_DETAILS: ExtendedContentMessage._ExtendedContentType.ValueType # 2013 + MSG_AI_CONTACT: ExtendedContentMessage._ExtendedContentType.ValueType # 2014 + MSG_MEMORIES_SHARE: ExtendedContentMessage._ExtendedContentType.ValueType # 2015 + MSG_SHARED_ALBUM_REPLY: ExtendedContentMessage._ExtendedContentType.ValueType # 2016 + MSG_SHARED_ALBUM: ExtendedContentMessage._ExtendedContentType.ValueType # 2017 + MSG_OCCAMADILLO_XMA: ExtendedContentMessage._ExtendedContentType.ValueType # 2018 + MSG_GEN_AI_SUBSCRIPTION: ExtendedContentMessage._ExtendedContentType.ValueType # 2021 + MSG_GEN_AI_REMINDER: ExtendedContentMessage._ExtendedContentType.ValueType # 2022 + MSG_GEN_AI_MEMU_ONBOARDING_RESPONSE: ExtendedContentMessage._ExtendedContentType.ValueType # 2023 + MSG_NOTE_REPLY: ExtendedContentMessage._ExtendedContentType.ValueType # 2024 + MSG_NOTE_MENTION: ExtendedContentMessage._ExtendedContentType.ValueType # 2025 + GEN_AI_ENTITY: ExtendedContentMessage._ExtendedContentType.ValueType # 2026 + RTC_AUDIO_CALL: ExtendedContentMessage._ExtendedContentType.ValueType # 3000 + RTC_VIDEO_CALL: ExtendedContentMessage._ExtendedContentType.ValueType # 3001 + RTC_MISSED_AUDIO_CALL: ExtendedContentMessage._ExtendedContentType.ValueType # 3002 + RTC_MISSED_VIDEO_CALL: ExtendedContentMessage._ExtendedContentType.ValueType # 3003 + RTC_GROUP_AUDIO_CALL: ExtendedContentMessage._ExtendedContentType.ValueType # 3004 + RTC_GROUP_VIDEO_CALL: ExtendedContentMessage._ExtendedContentType.ValueType # 3005 + RTC_MISSED_GROUP_AUDIO_CALL: ExtendedContentMessage._ExtendedContentType.ValueType # 3006 + RTC_MISSED_GROUP_VIDEO_CALL: ExtendedContentMessage._ExtendedContentType.ValueType # 3007 + RTC_ONGOING_AUDIO_CALL: ExtendedContentMessage._ExtendedContentType.ValueType # 3008 + RTC_ONGOING_VIDEO_CALL: ExtendedContentMessage._ExtendedContentType.ValueType # 3009 + MSG_RECEIVER_FETCH_FALLBACK: ExtendedContentMessage._ExtendedContentType.ValueType # 3025 + DATACLASS_SENDER_COPY: ExtendedContentMessage._ExtendedContentType.ValueType # 4000 + + class ExtendedContentType(_ExtendedContentType, metaclass=_ExtendedContentTypeEnumTypeWrapper): ... + UNSUPPORTED: ExtendedContentMessage.ExtendedContentType.ValueType # 0 + IG_STORY_PHOTO_MENTION: ExtendedContentMessage.ExtendedContentType.ValueType # 4 + IG_SINGLE_IMAGE_POST_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 9 + IG_MULTIPOST_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 10 + IG_SINGLE_VIDEO_POST_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 11 + IG_STORY_PHOTO_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 12 + IG_STORY_VIDEO_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 13 + IG_CLIPS_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 14 + IG_IGTV_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 15 + IG_SHOP_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 16 + IG_PROFILE_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 19 + IG_STORY_PHOTO_HIGHLIGHT_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 20 + IG_STORY_VIDEO_HIGHLIGHT_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 21 + IG_STORY_REPLY: ExtendedContentMessage.ExtendedContentType.ValueType # 22 + IG_STORY_REACTION: ExtendedContentMessage.ExtendedContentType.ValueType # 23 + IG_STORY_VIDEO_MENTION: ExtendedContentMessage.ExtendedContentType.ValueType # 24 + IG_STORY_HIGHLIGHT_REPLY: ExtendedContentMessage.ExtendedContentType.ValueType # 25 + IG_STORY_HIGHLIGHT_REACTION: ExtendedContentMessage.ExtendedContentType.ValueType # 26 + IG_EXTERNAL_LINK: ExtendedContentMessage.ExtendedContentType.ValueType # 27 + IG_RECEIVER_FETCH: ExtendedContentMessage.ExtendedContentType.ValueType # 28 + FB_FEED_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 1000 + FB_STORY_REPLY: ExtendedContentMessage.ExtendedContentType.ValueType # 1001 + FB_STORY_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 1002 + FB_STORY_MENTION: ExtendedContentMessage.ExtendedContentType.ValueType # 1003 + FB_FEED_VIDEO_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 1004 + FB_GAMING_CUSTOM_UPDATE: ExtendedContentMessage.ExtendedContentType.ValueType # 1005 + FB_PRODUCER_STORY_REPLY: ExtendedContentMessage.ExtendedContentType.ValueType # 1006 + FB_EVENT: ExtendedContentMessage.ExtendedContentType.ValueType # 1007 + FB_FEED_POST_PRIVATE_REPLY: ExtendedContentMessage.ExtendedContentType.ValueType # 1008 + FB_SHORT: ExtendedContentMessage.ExtendedContentType.ValueType # 1009 + FB_COMMENT_MENTION_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 1010 + FB_POST_MENTION: ExtendedContentMessage.ExtendedContentType.ValueType # 1011 + FB_PROFILE_DIRECTORY_ITEM: ExtendedContentMessage.ExtendedContentType.ValueType # 1013 + FB_FEED_POST_REACTION_REPLY: ExtendedContentMessage.ExtendedContentType.ValueType # 1014 + MSG_EXTERNAL_LINK_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 2000 + MSG_P2P_PAYMENT: ExtendedContentMessage.ExtendedContentType.ValueType # 2001 + MSG_LOCATION_SHARING: ExtendedContentMessage.ExtendedContentType.ValueType # 2002 + MSG_LOCATION_SHARING_V2: ExtendedContentMessage.ExtendedContentType.ValueType # 2003 + MSG_HIGHLIGHTS_TAB_FRIEND_UPDATES_REPLY: ExtendedContentMessage.ExtendedContentType.ValueType # 2004 + MSG_HIGHLIGHTS_TAB_LOCAL_EVENT_REPLY: ExtendedContentMessage.ExtendedContentType.ValueType # 2005 + MSG_RECEIVER_FETCH: ExtendedContentMessage.ExtendedContentType.ValueType # 2006 + MSG_IG_MEDIA_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 2007 + MSG_GEN_AI_SEARCH_PLUGIN_RESPONSE: ExtendedContentMessage.ExtendedContentType.ValueType # 2008 + MSG_REELS_LIST: ExtendedContentMessage.ExtendedContentType.ValueType # 2009 + MSG_CONTACT: ExtendedContentMessage.ExtendedContentType.ValueType # 2010 + MSG_THREADS_POST_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 2011 + MSG_FILE: ExtendedContentMessage.ExtendedContentType.ValueType # 2012 + MSG_AVATAR_DETAILS: ExtendedContentMessage.ExtendedContentType.ValueType # 2013 + MSG_AI_CONTACT: ExtendedContentMessage.ExtendedContentType.ValueType # 2014 + MSG_MEMORIES_SHARE: ExtendedContentMessage.ExtendedContentType.ValueType # 2015 + MSG_SHARED_ALBUM_REPLY: ExtendedContentMessage.ExtendedContentType.ValueType # 2016 + MSG_SHARED_ALBUM: ExtendedContentMessage.ExtendedContentType.ValueType # 2017 + MSG_OCCAMADILLO_XMA: ExtendedContentMessage.ExtendedContentType.ValueType # 2018 + MSG_GEN_AI_SUBSCRIPTION: ExtendedContentMessage.ExtendedContentType.ValueType # 2021 + MSG_GEN_AI_REMINDER: ExtendedContentMessage.ExtendedContentType.ValueType # 2022 + MSG_GEN_AI_MEMU_ONBOARDING_RESPONSE: ExtendedContentMessage.ExtendedContentType.ValueType # 2023 + MSG_NOTE_REPLY: ExtendedContentMessage.ExtendedContentType.ValueType # 2024 + MSG_NOTE_MENTION: ExtendedContentMessage.ExtendedContentType.ValueType # 2025 + GEN_AI_ENTITY: ExtendedContentMessage.ExtendedContentType.ValueType # 2026 + RTC_AUDIO_CALL: ExtendedContentMessage.ExtendedContentType.ValueType # 3000 + RTC_VIDEO_CALL: ExtendedContentMessage.ExtendedContentType.ValueType # 3001 + RTC_MISSED_AUDIO_CALL: ExtendedContentMessage.ExtendedContentType.ValueType # 3002 + RTC_MISSED_VIDEO_CALL: ExtendedContentMessage.ExtendedContentType.ValueType # 3003 + RTC_GROUP_AUDIO_CALL: ExtendedContentMessage.ExtendedContentType.ValueType # 3004 + RTC_GROUP_VIDEO_CALL: ExtendedContentMessage.ExtendedContentType.ValueType # 3005 + RTC_MISSED_GROUP_AUDIO_CALL: ExtendedContentMessage.ExtendedContentType.ValueType # 3006 + RTC_MISSED_GROUP_VIDEO_CALL: ExtendedContentMessage.ExtendedContentType.ValueType # 3007 + RTC_ONGOING_AUDIO_CALL: ExtendedContentMessage.ExtendedContentType.ValueType # 3008 + RTC_ONGOING_VIDEO_CALL: ExtendedContentMessage.ExtendedContentType.ValueType # 3009 + MSG_RECEIVER_FETCH_FALLBACK: ExtendedContentMessage.ExtendedContentType.ValueType # 3025 + DATACLASS_SENDER_COPY: ExtendedContentMessage.ExtendedContentType.ValueType # 4000 + + @typing.final + class CTA(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BUTTONTYPE_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + ACTIONURL_FIELD_NUMBER: builtins.int + NATIVEURL_FIELD_NUMBER: builtins.int + CTATYPE_FIELD_NUMBER: builtins.int + ACTIONCONTENTBLOB_FIELD_NUMBER: builtins.int + buttonType: global___ExtendedContentMessage.CtaButtonType.ValueType + title: builtins.str + actionURL: builtins.str + nativeURL: builtins.str + ctaType: builtins.str + actionContentBlob: builtins.str + def __init__( + self, + *, + buttonType: global___ExtendedContentMessage.CtaButtonType.ValueType | None = ..., + title: builtins.str | None = ..., + actionURL: builtins.str | None = ..., + nativeURL: builtins.str | None = ..., + ctaType: builtins.str | None = ..., + actionContentBlob: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionContentBlob", b"actionContentBlob", "actionURL", b"actionURL", "buttonType", b"buttonType", "ctaType", b"ctaType", "nativeURL", b"nativeURL", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionContentBlob", b"actionContentBlob", "actionURL", b"actionURL", "buttonType", b"buttonType", "ctaType", b"ctaType", "nativeURL", b"nativeURL", "title", b"title"]) -> None: ... + + ASSOCIATEDMESSAGE_FIELD_NUMBER: builtins.int + TARGETTYPE_FIELD_NUMBER: builtins.int + TARGETUSERNAME_FIELD_NUMBER: builtins.int + TARGETID_FIELD_NUMBER: builtins.int + TARGETEXPIRINGATSEC_FIELD_NUMBER: builtins.int + XMALAYOUTTYPE_FIELD_NUMBER: builtins.int + CTAS_FIELD_NUMBER: builtins.int + PREVIEWS_FIELD_NUMBER: builtins.int + TITLETEXT_FIELD_NUMBER: builtins.int + SUBTITLETEXT_FIELD_NUMBER: builtins.int + MAXTITLENUMOFLINES_FIELD_NUMBER: builtins.int + MAXSUBTITLENUMOFLINES_FIELD_NUMBER: builtins.int + FAVICON_FIELD_NUMBER: builtins.int + HEADERIMAGE_FIELD_NUMBER: builtins.int + HEADERTITLE_FIELD_NUMBER: builtins.int + OVERLAYICONGLYPH_FIELD_NUMBER: builtins.int + OVERLAYTITLE_FIELD_NUMBER: builtins.int + OVERLAYDESCRIPTION_FIELD_NUMBER: builtins.int + SENTWITHMESSAGEID_FIELD_NUMBER: builtins.int + MESSAGETEXT_FIELD_NUMBER: builtins.int + HEADERSUBTITLE_FIELD_NUMBER: builtins.int + XMADATACLASS_FIELD_NUMBER: builtins.int + CONTENTREF_FIELD_NUMBER: builtins.int + MENTIONEDJID_FIELD_NUMBER: builtins.int + COMMANDS_FIELD_NUMBER: builtins.int + MENTIONS_FIELD_NUMBER: builtins.int + targetType: global___ExtendedContentMessage.ExtendedContentType.ValueType + targetUsername: builtins.str + targetID: builtins.str + targetExpiringAtSec: builtins.int + xmaLayoutType: global___ExtendedContentMessage.XmaLayoutType.ValueType + titleText: builtins.str + subtitleText: builtins.str + maxTitleNumOfLines: builtins.int + maxSubtitleNumOfLines: builtins.int + headerTitle: builtins.str + overlayIconGlyph: global___ExtendedContentMessage.OverlayIconGlyph.ValueType + overlayTitle: builtins.str + overlayDescription: builtins.str + sentWithMessageID: builtins.str + messageText: builtins.str + headerSubtitle: builtins.str + xmaDataclass: builtins.str + contentRef: builtins.str + @property + def associatedMessage(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def ctas(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExtendedContentMessage.CTA]: ... + @property + def previews(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waCommon.WACommon_pb2.SubProtocol]: ... + @property + def favicon(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def headerImage(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def mentionedJID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waCommon.WACommon_pb2.Command]: ... + @property + def mentions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waCommon.WACommon_pb2.Mention]: ... + def __init__( + self, + *, + associatedMessage: waCommon.WACommon_pb2.SubProtocol | None = ..., + targetType: global___ExtendedContentMessage.ExtendedContentType.ValueType | None = ..., + targetUsername: builtins.str | None = ..., + targetID: builtins.str | None = ..., + targetExpiringAtSec: builtins.int | None = ..., + xmaLayoutType: global___ExtendedContentMessage.XmaLayoutType.ValueType | None = ..., + ctas: collections.abc.Iterable[global___ExtendedContentMessage.CTA] | None = ..., + previews: collections.abc.Iterable[waCommon.WACommon_pb2.SubProtocol] | None = ..., + titleText: builtins.str | None = ..., + subtitleText: builtins.str | None = ..., + maxTitleNumOfLines: builtins.int | None = ..., + maxSubtitleNumOfLines: builtins.int | None = ..., + favicon: waCommon.WACommon_pb2.SubProtocol | None = ..., + headerImage: waCommon.WACommon_pb2.SubProtocol | None = ..., + headerTitle: builtins.str | None = ..., + overlayIconGlyph: global___ExtendedContentMessage.OverlayIconGlyph.ValueType | None = ..., + overlayTitle: builtins.str | None = ..., + overlayDescription: builtins.str | None = ..., + sentWithMessageID: builtins.str | None = ..., + messageText: builtins.str | None = ..., + headerSubtitle: builtins.str | None = ..., + xmaDataclass: builtins.str | None = ..., + contentRef: builtins.str | None = ..., + mentionedJID: collections.abc.Iterable[builtins.str] | None = ..., + commands: collections.abc.Iterable[waCommon.WACommon_pb2.Command] | None = ..., + mentions: collections.abc.Iterable[waCommon.WACommon_pb2.Mention] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["associatedMessage", b"associatedMessage", "contentRef", b"contentRef", "favicon", b"favicon", "headerImage", b"headerImage", "headerSubtitle", b"headerSubtitle", "headerTitle", b"headerTitle", "maxSubtitleNumOfLines", b"maxSubtitleNumOfLines", "maxTitleNumOfLines", b"maxTitleNumOfLines", "messageText", b"messageText", "overlayDescription", b"overlayDescription", "overlayIconGlyph", b"overlayIconGlyph", "overlayTitle", b"overlayTitle", "sentWithMessageID", b"sentWithMessageID", "subtitleText", b"subtitleText", "targetExpiringAtSec", b"targetExpiringAtSec", "targetID", b"targetID", "targetType", b"targetType", "targetUsername", b"targetUsername", "titleText", b"titleText", "xmaDataclass", b"xmaDataclass", "xmaLayoutType", b"xmaLayoutType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["associatedMessage", b"associatedMessage", "commands", b"commands", "contentRef", b"contentRef", "ctas", b"ctas", "favicon", b"favicon", "headerImage", b"headerImage", "headerSubtitle", b"headerSubtitle", "headerTitle", b"headerTitle", "maxSubtitleNumOfLines", b"maxSubtitleNumOfLines", "maxTitleNumOfLines", b"maxTitleNumOfLines", "mentionedJID", b"mentionedJID", "mentions", b"mentions", "messageText", b"messageText", "overlayDescription", b"overlayDescription", "overlayIconGlyph", b"overlayIconGlyph", "overlayTitle", b"overlayTitle", "previews", b"previews", "sentWithMessageID", b"sentWithMessageID", "subtitleText", b"subtitleText", "targetExpiringAtSec", b"targetExpiringAtSec", "targetID", b"targetID", "targetType", b"targetType", "targetUsername", b"targetUsername", "titleText", b"titleText", "xmaDataclass", b"xmaDataclass", "xmaLayoutType", b"xmaLayoutType"]) -> None: ... + +global___ExtendedContentMessage = ExtendedContentMessage diff --git a/neonize/proto/waBotMetadata/WABotMetadata_pb2.py b/neonize/proto/waBotMetadata/WABotMetadata_pb2.py new file mode 100644 index 00000000..7074e591 --- /dev/null +++ b/neonize/proto/waBotMetadata/WABotMetadata_pb2.py @@ -0,0 +1,174 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waBotMetadata/WABotMetadata.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waBotMetadata/WABotMetadata.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!waBotMetadata/WABotMetadata.proto\x12\rWABotMetadata\x1a\x17waCommon/WACommon.proto\"\x85\x05\n\x11\x42otPluginMetadata\x12\x41\n\x08provider\x18\x01 \x01(\x0e\x32/.WABotMetadata.BotPluginMetadata.SearchProvider\x12?\n\npluginType\x18\x02 \x01(\x0e\x32+.WABotMetadata.BotPluginMetadata.PluginType\x12\x17\n\x0fthumbnailCDNURL\x18\x03 \x01(\t\x12\x1a\n\x12profilePhotoCDNURL\x18\x04 \x01(\t\x12\x19\n\x11searchProviderURL\x18\x05 \x01(\t\x12\x16\n\x0ereferenceIndex\x18\x06 \x01(\r\x12\x1a\n\x12\x65xpectedLinksCount\x18\x07 \x01(\r\x12\x13\n\x0bsearchQuery\x18\t \x01(\t\x12\x34\n\x16parentPluginMessageKey\x18\n \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x44\n\x0f\x64\x65precatedField\x18\x0b \x01(\x0e\x32+.WABotMetadata.BotPluginMetadata.PluginType\x12\x45\n\x10parentPluginType\x18\x0c \x01(\x0e\x32+.WABotMetadata.BotPluginMetadata.PluginType\x12\x15\n\rfaviconCDNURL\x18\r \x01(\t\"7\n\nPluginType\x12\x12\n\x0eUNKNOWN_PLUGIN\x10\x00\x12\t\n\x05REELS\x10\x01\x12\n\n\x06SEARCH\x10\x02\"@\n\x0eSearchProvider\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x42ING\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x0b\n\x07SUPPORT\x10\x03\"\x8e\x01\n\x10\x42otLinkedAccount\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.WABotMetadata.BotLinkedAccount.BotLinkedAccountType\"6\n\x14\x42otLinkedAccountType\x12\x1e\n\x1a\x42OT_LINKED_ACCOUNT_TYPE_1P\x10\x00\"\xe5\x01\n$BotSignatureVerificationUseCaseProof\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12X\n\x07useCase\x18\x02 \x01(\x0e\x32G.WABotMetadata.BotSignatureVerificationUseCaseProof.BotSignatureUseCase\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x18\n\x10\x63\x65rtificateChain\x18\x04 \x01(\x0c\"%\n\x13\x42otSignatureUseCase\x12\x0e\n\nWA_BOT_MSG\x10\x00\"\xca\x01\n\x1b\x42otPromotionMessageMetadata\x12R\n\rpromotionType\x18\x01 \x01(\x0e\x32;.WABotMetadata.BotPromotionMessageMetadata.BotPromotionType\x12\x13\n\x0b\x62uttonTitle\x18\x02 \x01(\t\"B\n\x10\x42otPromotionType\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\x07\n\x03\x43\x35\x30\x10\x01\x12\x13\n\x0fSURVEY_PLATFORM\x10\x02\"\x8e\x02\n\x10\x42otMediaMetadata\x12\x12\n\nfileSHA256\x18\x01 \x01(\t\x12\x10\n\x08mediaKey\x18\x02 \x01(\t\x12\x15\n\rfileEncSHA256\x18\x03 \x01(\t\x12\x12\n\ndirectPath\x18\x04 \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x05 \x01(\x03\x12\x10\n\x08mimetype\x18\x06 \x01(\t\x12H\n\x0forientationType\x18\x07 \x01(\x0e\x32/.WABotMetadata.BotMediaMetadata.OrientationType\"2\n\x0fOrientationType\x12\n\n\x06\x43\x45NTER\x10\x01\x12\x08\n\x04LEFT\x10\x02\x12\t\n\x05RIGHT\x10\x03\"\x91\x03\n\x13\x42otReminderMetadata\x12/\n\x11requestMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x41\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32\x31.WABotMetadata.BotReminderMetadata.ReminderAction\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x1c\n\x14nextTriggerTimestamp\x18\x04 \x01(\x04\x12G\n\tfrequency\x18\x05 \x01(\x0e\x32\x34.WABotMetadata.BotReminderMetadata.ReminderFrequency\"O\n\x11ReminderFrequency\x12\x08\n\x04ONCE\x10\x01\x12\t\n\x05\x44\x41ILY\x10\x02\x12\n\n\x06WEEKLY\x10\x03\x12\x0c\n\x08\x42IWEEKLY\x10\x04\x12\x0b\n\x07MONTHLY\x10\x05\"@\n\x0eReminderAction\x12\n\n\x06NOTIFY\x10\x01\x12\n\n\x06\x43REATE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\x12\n\n\x06UPDATE\x10\x04\"\xb8\x02\n\x10\x42otModelMetadata\x12<\n\tmodelType\x18\x01 \x01(\x0e\x32).WABotMetadata.BotModelMetadata.ModelType\x12N\n\x12premiumModelStatus\x18\x02 \x01(\x0e\x32\x32.WABotMetadata.BotModelMetadata.PremiumModelStatus\"O\n\x12PremiumModelStatus\x12\x12\n\x0eUNKNOWN_STATUS\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\x16\n\x12QUOTA_EXCEED_LIMIT\x10\x02\"E\n\tModelType\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\x0e\n\nLLAMA_PROD\x10\x01\x12\x16\n\x12LLAMA_PROD_PREMIUM\x10\x02\"\xd4\x0b\n\x1c\x42otProgressIndicatorMetadata\x12\x1b\n\x13progressDescription\x18\x01 \x01(\t\x12Z\n\rstepsMetadata\x18\x02 \x03(\x0b\x32\x43.WABotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata\x1a\xba\n\n\x17\x42otPlanningStepMetadata\x12\x13\n\x0bstatusTitle\x18\x01 \x01(\t\x12\x12\n\nstatusBody\x18\x02 \x01(\t\x12}\n\x0fsourcesMetadata\x18\x03 \x03(\x0b\x32\x64.WABotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata\x12\x66\n\x06status\x18\x04 \x01(\x0e\x32V.WABotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus\x12\x13\n\x0bisReasoning\x18\x05 \x01(\x08\x12\x18\n\x10isEnhancedSearch\x18\x06 \x01(\x08\x12t\n\x08sections\x18\x07 \x03(\x0b\x32\x62.WABotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata\x1a\xb5\x02\n BotPlanningSearchSourcesMetadata\x12\x13\n\x0bsourceTitle\x18\x01 \x01(\t\x12\x97\x01\n\x08provider\x18\x02 \x01(\x0e\x32\x84\x01.WABotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider\x12\x11\n\tsourceURL\x18\x03 \x01(\t\"O\n\x1f\x42otPlanningSearchSourceProvider\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05OTHER\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x08\n\x04\x42ING\x10\x03\x1a\xc9\x01\n\x1e\x42otPlanningStepSectionMetadata\x12\x14\n\x0csectionTitle\x18\x01 \x01(\t\x12\x13\n\x0bsectionBody\x18\x02 \x01(\t\x12|\n\x0fsourcesMetadata\x18\x03 \x03(\x0b\x32\x63.WABotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata\x1a\xc6\x01\n\x1f\x42otPlanningSearchSourceMetadata\x12\r\n\x05title\x18\x01 \x01(\t\x12m\n\x08provider\x18\x02 \x01(\x0e\x32[.WABotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider\x12\x11\n\tsourceURL\x18\x03 \x01(\t\x12\x12\n\nfavIconURL\x18\x04 \x01(\t\"P\n\x17\x42otSearchSourceProvider\x12\x14\n\x10UNKNOWN_PROVIDER\x10\x00\x12\t\n\x05OTHER\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x08\n\x04\x42ING\x10\x03\"K\n\x12PlanningStepStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PLANNED\x10\x01\x12\r\n\tEXECUTING\x10\x02\x12\x0c\n\x08\x46INISHED\x10\x03\"\xb2\x0b\n\x15\x42otCapabilityMetadata\x12L\n\x0c\x63\x61pabilities\x18\x01 \x03(\x0e\x32\x36.WABotMetadata.BotCapabilityMetadata.BotCapabilityType\"\xca\n\n\x11\x42otCapabilityType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x16\n\x12PROGRESS_INDICATOR\x10\x01\x12\x19\n\x15RICH_RESPONSE_HEADING\x10\x02\x12\x1d\n\x19RICH_RESPONSE_NESTED_LIST\x10\x03\x12\r\n\tAI_MEMORY\x10\x04\x12 \n\x1cRICH_RESPONSE_THREAD_SURFING\x10\x05\x12\x17\n\x13RICH_RESPONSE_TABLE\x10\x06\x12\x16\n\x12RICH_RESPONSE_CODE\x10\x07\x12%\n!RICH_RESPONSE_STRUCTURED_RESPONSE\x10\x08\x12\x1e\n\x1aRICH_RESPONSE_INLINE_IMAGE\x10\t\x12#\n\x1fWA_IG_1P_PLUGIN_RANKING_CONTROL\x10\n\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_1\x10\x0b\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_2\x10\x0c\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_3\x10\r\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_4\x10\x0e\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_5\x10\x0f\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_6\x10\x10\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_7\x10\x11\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_8\x10\x12\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_9\x10\x13\x12%\n!WA_IG_1P_PLUGIN_RANKING_UPDATE_10\x10\x14\x12\x1d\n\x19RICH_RESPONSE_SUB_HEADING\x10\x15\x12\x1c\n\x18RICH_RESPONSE_GRID_IMAGE\x10\x16\x12\x18\n\x14\x41I_STUDIO_UGC_MEMORY\x10\x17\x12\x17\n\x13RICH_RESPONSE_LATEX\x10\x18\x12\x16\n\x12RICH_RESPONSE_MAPS\x10\x19\x12\x1e\n\x1aRICH_RESPONSE_INLINE_REELS\x10\x1a\x12\x14\n\x10\x41GENTIC_PLANNING\x10\x1b\x12\x13\n\x0f\x41\x43\x43OUNT_LINKING\x10\x1c\x12\x1c\n\x18STREAMING_DISAGGREGATION\x10\x1d\x12\x1f\n\x1bRICH_RESPONSE_GRID_IMAGE_3P\x10\x1e\x12\x1e\n\x1aRICH_RESPONSE_LATEX_INLINE\x10\x1f\x12\x0e\n\nQUERY_PLAN\x10 \x12\x15\n\x11PROACTIVE_MESSAGE\x10!\x12\"\n\x1eRICH_RESPONSE_UNIFIED_RESPONSE\x10\"\x12\x15\n\x11PROMOTION_MESSAGE\x10#\x12\x1b\n\x17SIMPLIFIED_PROFILE_PAGE\x10$\x12$\n RICH_RESPONSE_SOURCES_IN_MESSAGE\x10%\x12%\n!RICH_RESPONSE_SIDE_BY_SIDE_SURVEY\x10&\x12(\n$RICH_RESPONSE_UNIFIED_TEXT_COMPONENT\x10\'\x12\x14\n\x10\x41I_SHARED_MEMORY\x10(\x12!\n\x1dRICH_RESPONSE_UNIFIED_SOURCES\x10)\x12*\n&RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS\x10*\"\xa4\x01\n\x18\x42otModeSelectionMetadata\x12J\n\x04mode\x18\x01 \x03(\x0e\x32<.WABotMetadata.BotModeSelectionMetadata.BotUserSelectionMode\"<\n\x14\x42otUserSelectionMode\x12\x10\n\x0cUNKNOWN_MODE\x10\x00\x12\x12\n\x0eREASONING_MODE\x10\x01\"\xd8\x02\n\x10\x42otQuotaMetadata\x12X\n\x17\x62otFeatureQuotaMetadata\x18\x01 \x03(\x0b\x32\x37.WABotMetadata.BotQuotaMetadata.BotFeatureQuotaMetadata\x1a\xe9\x01\n\x17\x42otFeatureQuotaMetadata\x12[\n\x0b\x66\x65\x61tureType\x18\x01 \x01(\x0e\x32\x46.WABotMetadata.BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType\x12\x16\n\x0eremainingQuota\x18\x02 \x01(\r\x12\x1b\n\x13\x65xpirationTimestamp\x18\x03 \x01(\x04\"<\n\x0e\x42otFeatureType\x12\x13\n\x0fUNKNOWN_FEATURE\x10\x00\x12\x15\n\x11REASONING_FEATURE\x10\x01\"\xa0\x01\n\x12\x42otImagineMetadata\x12\x42\n\x0bimagineType\x18\x01 \x01(\x0e\x32-.WABotMetadata.BotImagineMetadata.ImagineType\"F\n\x0bImagineType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07IMAGINE\x10\x01\x12\x08\n\x04MEMU\x10\x02\x12\t\n\x05\x46LASH\x10\x03\x12\x08\n\x04\x45\x44IT\x10\x04\"\x94\x03\n\x12\x42otSourcesMetadata\x12@\n\x07sources\x18\x01 \x03(\x0b\x32/.WABotMetadata.BotSourcesMetadata.BotSourceItem\x1a\xbb\x02\n\rBotSourceItem\x12P\n\x08provider\x18\x01 \x01(\x0e\x32>.WABotMetadata.BotSourcesMetadata.BotSourceItem.SourceProvider\x12\x17\n\x0fthumbnailCDNURL\x18\x02 \x01(\t\x12\x19\n\x11sourceProviderURL\x18\x03 \x01(\t\x12\x13\n\x0bsourceQuery\x18\x04 \x01(\t\x12\x15\n\rfaviconCDNURL\x18\x05 \x01(\t\x12\x16\n\x0e\x63itationNumber\x18\x06 \x01(\r\x12\x13\n\x0bsourceTitle\x18\x07 \x01(\t\"K\n\x0eSourceProvider\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x42ING\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x0b\n\x07SUPPORT\x10\x03\x12\t\n\x05OTHER\x10\x04\"\x98\x01\n\x10\x42otMessageOrigin\x12\x42\n\x04type\x18\x01 \x01(\x0e\x32\x34.WABotMetadata.BotMessageOrigin.BotMessageOriginType\"@\n\x14\x42otMessageOriginType\x12(\n$BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED\x10\x00\"\xd6\x02\n\x0c\x41IThreadInfo\x12\x42\n\nserverInfo\x18\x01 \x01(\x0b\x32..WABotMetadata.AIThreadInfo.AIThreadServerInfo\x12\x42\n\nclientInfo\x18\x02 \x01(\x0b\x32..WABotMetadata.AIThreadInfo.AIThreadClientInfo\x1a\x98\x01\n\x12\x41IThreadClientInfo\x12I\n\x04type\x18\x01 \x01(\x0e\x32;.WABotMetadata.AIThreadInfo.AIThreadClientInfo.AIThreadType\"7\n\x0c\x41IThreadType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\r\n\tINCOGNITO\x10\x02\x1a#\n\x12\x41IThreadServerInfo\x12\r\n\x05title\x18\x01 \x01(\t\"s\n\x11\x42otAvatarMetadata\x12\x11\n\tsentiment\x18\x01 \x01(\r\x12\x15\n\rbehaviorGraph\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\r\x12\x11\n\tintensity\x18\x04 \x01(\r\x12\x11\n\twordCount\x18\x05 \x01(\r\"\xad\x01\n\x1a\x42otSuggestedPromptMetadata\x12\x18\n\x10suggestedPrompts\x18\x01 \x03(\t\x12\x1b\n\x13selectedPromptIndex\x18\x02 \x01(\r\x12>\n\x11promptSuggestions\x18\x03 \x01(\x0b\x32#.WABotMetadata.BotPromptSuggestions\x12\x18\n\x10selectedPromptID\x18\x04 \x01(\t\"O\n\x14\x42otPromptSuggestions\x12\x37\n\x0bsuggestions\x18\x01 \x03(\x0b\x32\".WABotMetadata.BotPromptSuggestion\"7\n\x13\x42otPromptSuggestion\x12\x0e\n\x06prompt\x18\x01 \x01(\t\x12\x10\n\x08promptID\x18\x02 \x01(\t\"y\n\x19\x42otLinkedAccountsMetadata\x12\x31\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1f.WABotMetadata.BotLinkedAccount\x12\x14\n\x0c\x61\x63\x41uthTokens\x18\x02 \x01(\x0c\x12\x13\n\x0b\x61\x63\x45rrorCode\x18\x03 \x01(\x05\"\x8d\x01\n\x11\x42otMemoryMetadata\x12\x30\n\naddedFacts\x18\x01 \x03(\x0b\x32\x1c.WABotMetadata.BotMemoryFact\x12\x32\n\x0cremovedFacts\x18\x02 \x03(\x0b\x32\x1c.WABotMetadata.BotMemoryFact\x12\x12\n\ndisclaimer\x18\x03 \x01(\t\"-\n\rBotMemoryFact\x12\x0c\n\x04\x66\x61\x63t\x18\x01 \x01(\t\x12\x0e\n\x06\x66\x61\x63tID\x18\x02 \x01(\t\"g\n BotSignatureVerificationMetadata\x12\x43\n\x06proofs\x18\x01 \x03(\x0b\x32\x33.WABotMetadata.BotSignatureVerificationUseCaseProof\"\x8a\x01\n\x14\x42otRenderingMetadata\x12=\n\x08keywords\x18\x01 \x03(\x0b\x32+.WABotMetadata.BotRenderingMetadata.Keyword\x1a\x33\n\x07Keyword\x12\r\n\x05value\x18\x01 \x01(\t\x12\x19\n\x11\x61ssociatedPrompts\x18\x02 \x03(\t\"\xb0\x01\n\x12\x42otMetricsMetadata\x12\x15\n\rdestinationID\x18\x01 \x01(\t\x12\x42\n\x15\x64\x65stinationEntryPoint\x18\x02 \x01(\x0e\x32#.WABotMetadata.BotMetricsEntryPoint\x12?\n\x0cthreadOrigin\x18\x03 \x01(\x0e\x32).WABotMetadata.BotMetricsThreadEntryPoint\"_\n\x12\x42otSessionMetadata\x12\x11\n\tsessionID\x18\x01 \x01(\t\x12\x36\n\rsessionSource\x18\x02 \x01(\x0e\x32\x1f.WABotMetadata.BotSessionSource\"F\n\x0f\x42otMemuMetadata\x12\x33\n\nfaceImages\x18\x01 \x03(\x0b\x32\x1f.WABotMetadata.BotMediaMetadata\"e\n\x18\x42otAgeCollectionMetadata\x12\x1d\n\x15\x61geCollectionEligible\x18\x01 \x01(\x08\x12*\n\"shouldTriggerAgeCollectionOnClient\x18\x02 \x01(\x08\"\x8a\x07\n\x16InThreadSurveyMetadata\x12\x16\n\x0etessaSessionID\x18\x01 \x01(\t\x12\x16\n\x0esimonSessionID\x18\x02 \x01(\t\x12\x15\n\rsimonSurveyID\x18\x03 \x01(\t\x12\x13\n\x0btessaRootID\x18\x04 \x01(\t\x12\x11\n\trequestID\x18\x05 \x01(\t\x12\x12\n\ntessaEvent\x18\x06 \x01(\t\x12\x1c\n\x14invitationHeaderText\x18\x07 \x01(\t\x12\x1a\n\x12invitationBodyText\x18\x08 \x01(\t\x12\x19\n\x11invitationCtaText\x18\t \x01(\t\x12\x18\n\x10invitationCtaURL\x18\n \x01(\t\x12\x13\n\x0bsurveyTitle\x18\x0b \x01(\t\x12O\n\tquestions\x18\x0c \x03(\x0b\x32<.WABotMetadata.InThreadSurveyMetadata.InThreadSurveyQuestion\x12 \n\x18surveyContinueButtonText\x18\r \x01(\t\x12\x1e\n\x16surveySubmitButtonText\x18\x0e \x01(\t\x12\x1c\n\x14privacyStatementFull\x18\x0f \x01(\t\x12g\n\x15privacyStatementParts\x18\x10 \x03(\x0b\x32H.WABotMetadata.InThreadSurveyMetadata.InThreadSurveyPrivacyStatementPart\x12\x19\n\x11\x66\x65\x65\x64\x62\x61\x63kToastText\x18\x11 \x01(\t\x1a?\n\"InThreadSurveyPrivacyStatementPart\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x0b\n\x03URL\x18\x02 \x01(\t\x1aY\n\x14InThreadSurveyOption\x12\x13\n\x0bstringValue\x18\x01 \x01(\t\x12\x14\n\x0cnumericValue\x18\x02 \x01(\r\x12\x16\n\x0etextTranslated\x18\x03 \x01(\t\x1a\x97\x01\n\x16InThreadSurveyQuestion\x12\x14\n\x0cquestionText\x18\x01 \x01(\t\x12\x12\n\nquestionID\x18\x02 \x01(\t\x12S\n\x0fquestionOptions\x18\x03 \x03(\x0b\x32:.WABotMetadata.InThreadSurveyMetadata.InThreadSurveyOption\"L\n\x18\x42otMessageOriginMetadata\x12\x30\n\x07origins\x18\x01 \x03(\x0b\x32\x1f.WABotMetadata.BotMessageOrigin\"\x95\x03\n\x1a\x42otUnifiedResponseMutation\x12Q\n\x0bsbsMetadata\x18\x01 \x01(\x0b\x32<.WABotMetadata.BotUnifiedResponseMutation.SideBySideMetadata\x12`\n\x18mediaDetailsMetadataList\x18\x02 \x03(\x0b\x32>.WABotMetadata.BotUnifiedResponseMutation.MediaDetailsMetadata\x1a\x90\x01\n\x14MediaDetailsMetadata\x12\n\n\x02ID\x18\x01 \x01(\t\x12\x35\n\x0chighResMedia\x18\x02 \x01(\x0b\x32\x1f.WABotMetadata.BotMediaMetadata\x12\x35\n\x0cpreviewMedia\x18\x03 \x01(\x0b\x32\x1f.WABotMetadata.BotMediaMetadata\x1a/\n\x12SideBySideMetadata\x12\x19\n\x11primaryResponseID\x18\x01 \x01(\t\"\xa2\x0e\n\x0b\x42otMetadata\x12\x38\n\x0e\x61vatarMetadata\x18\x01 \x01(\x0b\x32 .WABotMetadata.BotAvatarMetadata\x12\x11\n\tpersonaID\x18\x02 \x01(\t\x12\x38\n\x0epluginMetadata\x18\x03 \x01(\x0b\x32 .WABotMetadata.BotPluginMetadata\x12J\n\x17suggestedPromptMetadata\x18\x04 \x01(\x0b\x32).WABotMetadata.BotSuggestedPromptMetadata\x12\x12\n\ninvokerJID\x18\x05 \x01(\t\x12:\n\x0fsessionMetadata\x18\x06 \x01(\x0b\x32!.WABotMetadata.BotSessionMetadata\x12\x34\n\x0cmemuMetadata\x18\x07 \x01(\x0b\x32\x1e.WABotMetadata.BotMemuMetadata\x12\x10\n\x08timezone\x18\x08 \x01(\t\x12<\n\x10reminderMetadata\x18\t \x01(\x0b\x32\".WABotMetadata.BotReminderMetadata\x12\x36\n\rmodelMetadata\x18\n \x01(\x0b\x32\x1f.WABotMetadata.BotModelMetadata\x12\x1d\n\x15messageDisclaimerText\x18\x0b \x01(\t\x12N\n\x19progressIndicatorMetadata\x18\x0c \x01(\x0b\x32+.WABotMetadata.BotProgressIndicatorMetadata\x12@\n\x12\x63\x61pabilityMetadata\x18\r \x01(\x0b\x32$.WABotMetadata.BotCapabilityMetadata\x12:\n\x0fimagineMetadata\x18\x0e \x01(\x0b\x32!.WABotMetadata.BotImagineMetadata\x12\x38\n\x0ememoryMetadata\x18\x0f \x01(\x0b\x32 .WABotMetadata.BotMemoryMetadata\x12>\n\x11renderingMetadata\x18\x10 \x01(\x0b\x32#.WABotMetadata.BotRenderingMetadata\x12=\n\x12\x62otMetricsMetadata\x18\x11 \x01(\x0b\x32!.WABotMetadata.BotMetricsMetadata\x12K\n\x19\x62otLinkedAccountsMetadata\x18\x12 \x01(\x0b\x32(.WABotMetadata.BotLinkedAccountsMetadata\x12\x46\n\x1brichResponseSourcesMetadata\x18\x13 \x01(\x0b\x32!.WABotMetadata.BotSourcesMetadata\x12\x1d\n\x15\x61iConversationContext\x18\x14 \x01(\x0c\x12O\n\x1b\x62otPromotionMessageMetadata\x18\x15 \x01(\x0b\x32*.WABotMetadata.BotPromotionMessageMetadata\x12I\n\x18\x62otModeSelectionMetadata\x18\x16 \x01(\x0b\x32\'.WABotMetadata.BotModeSelectionMetadata\x12\x39\n\x10\x62otQuotaMetadata\x18\x17 \x01(\x0b\x32\x1f.WABotMetadata.BotQuotaMetadata\x12I\n\x18\x62otAgeCollectionMetadata\x18\x18 \x01(\x0b\x32\'.WABotMetadata.BotAgeCollectionMetadata\x12#\n\x1b\x63onversationStarterPromptID\x18\x19 \x01(\t\x12\x15\n\rbotResponseID\x18\x1a \x01(\t\x12M\n\x14verificationMetadata\x18\x1b \x01(\x0b\x32/.WABotMetadata.BotSignatureVerificationMetadata\x12J\n\x17unifiedResponseMutation\x18\x1c \x01(\x0b\x32).WABotMetadata.BotUnifiedResponseMutation\x12I\n\x18\x62otMessageOriginMetadata\x18\x1d \x01(\x0b\x32\'.WABotMetadata.BotMessageOriginMetadata\x12\x45\n\x16inThreadSurveyMetadata\x18\x1e \x01(\x0b\x32%.WABotMetadata.InThreadSurveyMetadata\x12\x32\n\rbotThreadInfo\x18\x1f \x01(\x0b\x32\x1b.WABotMetadata.AIThreadInfo\x12\x19\n\x10internalMetadata\x18\xe7\x07 \x01(\x0c*\xc5\x06\n\x14\x42otMetricsEntryPoint\x12\x0b\n\x07\x46\x41VICON\x10\x01\x12\x0c\n\x08\x43HATLIST\x10\x02\x12#\n\x1f\x41ISEARCH_NULL_STATE_PAPER_PLANE\x10\x03\x12\"\n\x1e\x41ISEARCH_NULL_STATE_SUGGESTION\x10\x04\x12\"\n\x1e\x41ISEARCH_TYPE_AHEAD_SUGGESTION\x10\x05\x12#\n\x1f\x41ISEARCH_TYPE_AHEAD_PAPER_PLANE\x10\x06\x12\'\n#AISEARCH_TYPE_AHEAD_RESULT_CHATLIST\x10\x07\x12\'\n#AISEARCH_TYPE_AHEAD_RESULT_MESSAGES\x10\x08\x12\x16\n\x12\x41IVOICE_SEARCH_BAR\x10\t\x12\x13\n\x0f\x41IVOICE_FAVICON\x10\n\x12\x0c\n\x08\x41ISTUDIO\x10\x0b\x12\x0c\n\x08\x44\x45\x45PLINK\x10\x0c\x12\x10\n\x0cNOTIFICATION\x10\r\x12\x1a\n\x16PROFILE_MESSAGE_BUTTON\x10\x0e\x12\x0b\n\x07\x46ORWARD\x10\x0f\x12\x10\n\x0c\x41PP_SHORTCUT\x10\x10\x12\r\n\tFF_FAMILY\x10\x11\x12\n\n\x06\x41I_TAB\x10\x12\x12\x0b\n\x07\x41I_HOME\x10\x13\x12\x19\n\x15\x41I_DEEPLINK_IMMERSIVE\x10\x14\x12\x0f\n\x0b\x41I_DEEPLINK\x10\x15\x12#\n\x1fMETA_AI_CHAT_SHORTCUT_AI_STUDIO\x10\x16\x12\x1f\n\x1bUGC_CHAT_SHORTCUT_AI_STUDIO\x10\x17\x12\x16\n\x12NEW_CHAT_AI_STUDIO\x10\x18\x12 \n\x1c\x41IVOICE_FAVICON_CALL_HISTORY\x10\x19\x12\x1c\n\x18\x41SK_META_AI_CONTEXT_MENU\x10\x1a\x12!\n\x1d\x41SK_META_AI_CONTEXT_MENU_1ON1\x10\x1b\x12\"\n\x1e\x41SK_META_AI_CONTEXT_MENU_GROUP\x10\x1c\x12\x17\n\x13INVOKE_META_AI_1ON1\x10\x1d\x12\x18\n\x14INVOKE_META_AI_GROUP\x10\x1e\x12\x13\n\x0fMETA_AI_FORWARD\x10\x1f\x12\x17\n\x13NEW_CHAT_AI_CONTACT\x10 *\xa2\x01\n\x1a\x42otMetricsThreadEntryPoint\x12\x11\n\rAI_TAB_THREAD\x10\x01\x12\x12\n\x0e\x41I_HOME_THREAD\x10\x02\x12 \n\x1c\x41I_DEEPLINK_IMMERSIVE_THREAD\x10\x03\x12\x16\n\x12\x41I_DEEPLINK_THREAD\x10\x04\x12#\n\x1f\x41SK_META_AI_CONTEXT_MENU_THREAD\x10\x05*}\n\x10\x42otSessionSource\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nNULL_STATE\x10\x01\x12\r\n\tTYPEAHEAD\x10\x02\x12\x0e\n\nUSER_INPUT\x10\x03\x12\r\n\tEMU_FLASH\x10\x04\x12\x16\n\x12\x45MU_FLASH_FOLLOWUP\x10\x05\x12\t\n\x05VOICE\x10\x06\x42)Z\'go.mau.fi/whatsmeow/proto/waBotMetadata') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waBotMetadata.WABotMetadata_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\'go.mau.fi/whatsmeow/proto/waBotMetadata' + _globals['_BOTMETRICSENTRYPOINT']._serialized_start=11506 + _globals['_BOTMETRICSENTRYPOINT']._serialized_end=12343 + _globals['_BOTMETRICSTHREADENTRYPOINT']._serialized_start=12346 + _globals['_BOTMETRICSTHREADENTRYPOINT']._serialized_end=12508 + _globals['_BOTSESSIONSOURCE']._serialized_start=12510 + _globals['_BOTSESSIONSOURCE']._serialized_end=12635 + _globals['_BOTPLUGINMETADATA']._serialized_start=78 + _globals['_BOTPLUGINMETADATA']._serialized_end=723 + _globals['_BOTPLUGINMETADATA_PLUGINTYPE']._serialized_start=602 + _globals['_BOTPLUGINMETADATA_PLUGINTYPE']._serialized_end=657 + _globals['_BOTPLUGINMETADATA_SEARCHPROVIDER']._serialized_start=659 + _globals['_BOTPLUGINMETADATA_SEARCHPROVIDER']._serialized_end=723 + _globals['_BOTLINKEDACCOUNT']._serialized_start=726 + _globals['_BOTLINKEDACCOUNT']._serialized_end=868 + _globals['_BOTLINKEDACCOUNT_BOTLINKEDACCOUNTTYPE']._serialized_start=814 + _globals['_BOTLINKEDACCOUNT_BOTLINKEDACCOUNTTYPE']._serialized_end=868 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF']._serialized_start=871 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF']._serialized_end=1100 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF_BOTSIGNATUREUSECASE']._serialized_start=1063 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF_BOTSIGNATUREUSECASE']._serialized_end=1100 + _globals['_BOTPROMOTIONMESSAGEMETADATA']._serialized_start=1103 + _globals['_BOTPROMOTIONMESSAGEMETADATA']._serialized_end=1305 + _globals['_BOTPROMOTIONMESSAGEMETADATA_BOTPROMOTIONTYPE']._serialized_start=1239 + _globals['_BOTPROMOTIONMESSAGEMETADATA_BOTPROMOTIONTYPE']._serialized_end=1305 + _globals['_BOTMEDIAMETADATA']._serialized_start=1308 + _globals['_BOTMEDIAMETADATA']._serialized_end=1578 + _globals['_BOTMEDIAMETADATA_ORIENTATIONTYPE']._serialized_start=1528 + _globals['_BOTMEDIAMETADATA_ORIENTATIONTYPE']._serialized_end=1578 + _globals['_BOTREMINDERMETADATA']._serialized_start=1581 + _globals['_BOTREMINDERMETADATA']._serialized_end=1982 + _globals['_BOTREMINDERMETADATA_REMINDERFREQUENCY']._serialized_start=1837 + _globals['_BOTREMINDERMETADATA_REMINDERFREQUENCY']._serialized_end=1916 + _globals['_BOTREMINDERMETADATA_REMINDERACTION']._serialized_start=1918 + _globals['_BOTREMINDERMETADATA_REMINDERACTION']._serialized_end=1982 + _globals['_BOTMODELMETADATA']._serialized_start=1985 + _globals['_BOTMODELMETADATA']._serialized_end=2297 + _globals['_BOTMODELMETADATA_PREMIUMMODELSTATUS']._serialized_start=2147 + _globals['_BOTMODELMETADATA_PREMIUMMODELSTATUS']._serialized_end=2226 + _globals['_BOTMODELMETADATA_MODELTYPE']._serialized_start=2228 + _globals['_BOTMODELMETADATA_MODELTYPE']._serialized_end=2297 + _globals['_BOTPROGRESSINDICATORMETADATA']._serialized_start=2300 + _globals['_BOTPROGRESSINDICATORMETADATA']._serialized_end=3792 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA']._serialized_start=2454 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA']._serialized_end=3792 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA']._serialized_start=2919 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA']._serialized_end=3228 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA_BOTPLANNINGSEARCHSOURCEPROVIDER']._serialized_start=3149 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA_BOTPLANNINGSEARCHSOURCEPROVIDER']._serialized_end=3228 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSTEPSECTIONMETADATA']._serialized_start=3231 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSTEPSECTIONMETADATA']._serialized_end=3432 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCEMETADATA']._serialized_start=3435 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCEMETADATA']._serialized_end=3633 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTSEARCHSOURCEPROVIDER']._serialized_start=3635 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTSEARCHSOURCEPROVIDER']._serialized_end=3715 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_PLANNINGSTEPSTATUS']._serialized_start=3717 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_PLANNINGSTEPSTATUS']._serialized_end=3792 + _globals['_BOTCAPABILITYMETADATA']._serialized_start=3795 + _globals['_BOTCAPABILITYMETADATA']._serialized_end=5253 + _globals['_BOTCAPABILITYMETADATA_BOTCAPABILITYTYPE']._serialized_start=3899 + _globals['_BOTCAPABILITYMETADATA_BOTCAPABILITYTYPE']._serialized_end=5253 + _globals['_BOTMODESELECTIONMETADATA']._serialized_start=5256 + _globals['_BOTMODESELECTIONMETADATA']._serialized_end=5420 + _globals['_BOTMODESELECTIONMETADATA_BOTUSERSELECTIONMODE']._serialized_start=5360 + _globals['_BOTMODESELECTIONMETADATA_BOTUSERSELECTIONMODE']._serialized_end=5420 + _globals['_BOTQUOTAMETADATA']._serialized_start=5423 + _globals['_BOTQUOTAMETADATA']._serialized_end=5767 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA']._serialized_start=5534 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA']._serialized_end=5767 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA_BOTFEATURETYPE']._serialized_start=5707 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA_BOTFEATURETYPE']._serialized_end=5767 + _globals['_BOTIMAGINEMETADATA']._serialized_start=5770 + _globals['_BOTIMAGINEMETADATA']._serialized_end=5930 + _globals['_BOTIMAGINEMETADATA_IMAGINETYPE']._serialized_start=5860 + _globals['_BOTIMAGINEMETADATA_IMAGINETYPE']._serialized_end=5930 + _globals['_BOTSOURCESMETADATA']._serialized_start=5933 + _globals['_BOTSOURCESMETADATA']._serialized_end=6337 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM']._serialized_start=6022 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM']._serialized_end=6337 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM_SOURCEPROVIDER']._serialized_start=6262 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM_SOURCEPROVIDER']._serialized_end=6337 + _globals['_BOTMESSAGEORIGIN']._serialized_start=6340 + _globals['_BOTMESSAGEORIGIN']._serialized_end=6492 + _globals['_BOTMESSAGEORIGIN_BOTMESSAGEORIGINTYPE']._serialized_start=6428 + _globals['_BOTMESSAGEORIGIN_BOTMESSAGEORIGINTYPE']._serialized_end=6492 + _globals['_AITHREADINFO']._serialized_start=6495 + _globals['_AITHREADINFO']._serialized_end=6837 + _globals['_AITHREADINFO_AITHREADCLIENTINFO']._serialized_start=6648 + _globals['_AITHREADINFO_AITHREADCLIENTINFO']._serialized_end=6800 + _globals['_AITHREADINFO_AITHREADCLIENTINFO_AITHREADTYPE']._serialized_start=6745 + _globals['_AITHREADINFO_AITHREADCLIENTINFO_AITHREADTYPE']._serialized_end=6800 + _globals['_AITHREADINFO_AITHREADSERVERINFO']._serialized_start=6802 + _globals['_AITHREADINFO_AITHREADSERVERINFO']._serialized_end=6837 + _globals['_BOTAVATARMETADATA']._serialized_start=6839 + _globals['_BOTAVATARMETADATA']._serialized_end=6954 + _globals['_BOTSUGGESTEDPROMPTMETADATA']._serialized_start=6957 + _globals['_BOTSUGGESTEDPROMPTMETADATA']._serialized_end=7130 + _globals['_BOTPROMPTSUGGESTIONS']._serialized_start=7132 + _globals['_BOTPROMPTSUGGESTIONS']._serialized_end=7211 + _globals['_BOTPROMPTSUGGESTION']._serialized_start=7213 + _globals['_BOTPROMPTSUGGESTION']._serialized_end=7268 + _globals['_BOTLINKEDACCOUNTSMETADATA']._serialized_start=7270 + _globals['_BOTLINKEDACCOUNTSMETADATA']._serialized_end=7391 + _globals['_BOTMEMORYMETADATA']._serialized_start=7394 + _globals['_BOTMEMORYMETADATA']._serialized_end=7535 + _globals['_BOTMEMORYFACT']._serialized_start=7537 + _globals['_BOTMEMORYFACT']._serialized_end=7582 + _globals['_BOTSIGNATUREVERIFICATIONMETADATA']._serialized_start=7584 + _globals['_BOTSIGNATUREVERIFICATIONMETADATA']._serialized_end=7687 + _globals['_BOTRENDERINGMETADATA']._serialized_start=7690 + _globals['_BOTRENDERINGMETADATA']._serialized_end=7828 + _globals['_BOTRENDERINGMETADATA_KEYWORD']._serialized_start=7777 + _globals['_BOTRENDERINGMETADATA_KEYWORD']._serialized_end=7828 + _globals['_BOTMETRICSMETADATA']._serialized_start=7831 + _globals['_BOTMETRICSMETADATA']._serialized_end=8007 + _globals['_BOTSESSIONMETADATA']._serialized_start=8009 + _globals['_BOTSESSIONMETADATA']._serialized_end=8104 + _globals['_BOTMEMUMETADATA']._serialized_start=8106 + _globals['_BOTMEMUMETADATA']._serialized_end=8176 + _globals['_BOTAGECOLLECTIONMETADATA']._serialized_start=8178 + _globals['_BOTAGECOLLECTIONMETADATA']._serialized_end=8279 + _globals['_INTHREADSURVEYMETADATA']._serialized_start=8282 + _globals['_INTHREADSURVEYMETADATA']._serialized_end=9188 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYPRIVACYSTATEMENTPART']._serialized_start=8880 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYPRIVACYSTATEMENTPART']._serialized_end=8943 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYOPTION']._serialized_start=8945 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYOPTION']._serialized_end=9034 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYQUESTION']._serialized_start=9037 + _globals['_INTHREADSURVEYMETADATA_INTHREADSURVEYQUESTION']._serialized_end=9188 + _globals['_BOTMESSAGEORIGINMETADATA']._serialized_start=9190 + _globals['_BOTMESSAGEORIGINMETADATA']._serialized_end=9266 + _globals['_BOTUNIFIEDRESPONSEMUTATION']._serialized_start=9269 + _globals['_BOTUNIFIEDRESPONSEMUTATION']._serialized_end=9674 + _globals['_BOTUNIFIEDRESPONSEMUTATION_MEDIADETAILSMETADATA']._serialized_start=9481 + _globals['_BOTUNIFIEDRESPONSEMUTATION_MEDIADETAILSMETADATA']._serialized_end=9625 + _globals['_BOTUNIFIEDRESPONSEMUTATION_SIDEBYSIDEMETADATA']._serialized_start=9627 + _globals['_BOTUNIFIEDRESPONSEMUTATION_SIDEBYSIDEMETADATA']._serialized_end=9674 + _globals['_BOTMETADATA']._serialized_start=9677 + _globals['_BOTMETADATA']._serialized_end=11503 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waBotMetadata/WABotMetadata_pb2.pyi b/neonize/proto/waBotMetadata/WABotMetadata_pb2.pyi new file mode 100644 index 00000000..b38c869c --- /dev/null +++ b/neonize/proto/waBotMetadata/WABotMetadata_pb2.pyi @@ -0,0 +1,1647 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waCommon.WACommon_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _BotMetricsEntryPoint: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _BotMetricsEntryPointEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotMetricsEntryPoint.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + FAVICON: _BotMetricsEntryPoint.ValueType # 1 + CHATLIST: _BotMetricsEntryPoint.ValueType # 2 + AISEARCH_NULL_STATE_PAPER_PLANE: _BotMetricsEntryPoint.ValueType # 3 + AISEARCH_NULL_STATE_SUGGESTION: _BotMetricsEntryPoint.ValueType # 4 + AISEARCH_TYPE_AHEAD_SUGGESTION: _BotMetricsEntryPoint.ValueType # 5 + AISEARCH_TYPE_AHEAD_PAPER_PLANE: _BotMetricsEntryPoint.ValueType # 6 + AISEARCH_TYPE_AHEAD_RESULT_CHATLIST: _BotMetricsEntryPoint.ValueType # 7 + AISEARCH_TYPE_AHEAD_RESULT_MESSAGES: _BotMetricsEntryPoint.ValueType # 8 + AIVOICE_SEARCH_BAR: _BotMetricsEntryPoint.ValueType # 9 + AIVOICE_FAVICON: _BotMetricsEntryPoint.ValueType # 10 + AISTUDIO: _BotMetricsEntryPoint.ValueType # 11 + DEEPLINK: _BotMetricsEntryPoint.ValueType # 12 + NOTIFICATION: _BotMetricsEntryPoint.ValueType # 13 + PROFILE_MESSAGE_BUTTON: _BotMetricsEntryPoint.ValueType # 14 + FORWARD: _BotMetricsEntryPoint.ValueType # 15 + APP_SHORTCUT: _BotMetricsEntryPoint.ValueType # 16 + FF_FAMILY: _BotMetricsEntryPoint.ValueType # 17 + AI_TAB: _BotMetricsEntryPoint.ValueType # 18 + AI_HOME: _BotMetricsEntryPoint.ValueType # 19 + AI_DEEPLINK_IMMERSIVE: _BotMetricsEntryPoint.ValueType # 20 + AI_DEEPLINK: _BotMetricsEntryPoint.ValueType # 21 + META_AI_CHAT_SHORTCUT_AI_STUDIO: _BotMetricsEntryPoint.ValueType # 22 + UGC_CHAT_SHORTCUT_AI_STUDIO: _BotMetricsEntryPoint.ValueType # 23 + NEW_CHAT_AI_STUDIO: _BotMetricsEntryPoint.ValueType # 24 + AIVOICE_FAVICON_CALL_HISTORY: _BotMetricsEntryPoint.ValueType # 25 + ASK_META_AI_CONTEXT_MENU: _BotMetricsEntryPoint.ValueType # 26 + ASK_META_AI_CONTEXT_MENU_1ON1: _BotMetricsEntryPoint.ValueType # 27 + ASK_META_AI_CONTEXT_MENU_GROUP: _BotMetricsEntryPoint.ValueType # 28 + INVOKE_META_AI_1ON1: _BotMetricsEntryPoint.ValueType # 29 + INVOKE_META_AI_GROUP: _BotMetricsEntryPoint.ValueType # 30 + META_AI_FORWARD: _BotMetricsEntryPoint.ValueType # 31 + NEW_CHAT_AI_CONTACT: _BotMetricsEntryPoint.ValueType # 32 + +class BotMetricsEntryPoint(_BotMetricsEntryPoint, metaclass=_BotMetricsEntryPointEnumTypeWrapper): ... + +FAVICON: BotMetricsEntryPoint.ValueType # 1 +CHATLIST: BotMetricsEntryPoint.ValueType # 2 +AISEARCH_NULL_STATE_PAPER_PLANE: BotMetricsEntryPoint.ValueType # 3 +AISEARCH_NULL_STATE_SUGGESTION: BotMetricsEntryPoint.ValueType # 4 +AISEARCH_TYPE_AHEAD_SUGGESTION: BotMetricsEntryPoint.ValueType # 5 +AISEARCH_TYPE_AHEAD_PAPER_PLANE: BotMetricsEntryPoint.ValueType # 6 +AISEARCH_TYPE_AHEAD_RESULT_CHATLIST: BotMetricsEntryPoint.ValueType # 7 +AISEARCH_TYPE_AHEAD_RESULT_MESSAGES: BotMetricsEntryPoint.ValueType # 8 +AIVOICE_SEARCH_BAR: BotMetricsEntryPoint.ValueType # 9 +AIVOICE_FAVICON: BotMetricsEntryPoint.ValueType # 10 +AISTUDIO: BotMetricsEntryPoint.ValueType # 11 +DEEPLINK: BotMetricsEntryPoint.ValueType # 12 +NOTIFICATION: BotMetricsEntryPoint.ValueType # 13 +PROFILE_MESSAGE_BUTTON: BotMetricsEntryPoint.ValueType # 14 +FORWARD: BotMetricsEntryPoint.ValueType # 15 +APP_SHORTCUT: BotMetricsEntryPoint.ValueType # 16 +FF_FAMILY: BotMetricsEntryPoint.ValueType # 17 +AI_TAB: BotMetricsEntryPoint.ValueType # 18 +AI_HOME: BotMetricsEntryPoint.ValueType # 19 +AI_DEEPLINK_IMMERSIVE: BotMetricsEntryPoint.ValueType # 20 +AI_DEEPLINK: BotMetricsEntryPoint.ValueType # 21 +META_AI_CHAT_SHORTCUT_AI_STUDIO: BotMetricsEntryPoint.ValueType # 22 +UGC_CHAT_SHORTCUT_AI_STUDIO: BotMetricsEntryPoint.ValueType # 23 +NEW_CHAT_AI_STUDIO: BotMetricsEntryPoint.ValueType # 24 +AIVOICE_FAVICON_CALL_HISTORY: BotMetricsEntryPoint.ValueType # 25 +ASK_META_AI_CONTEXT_MENU: BotMetricsEntryPoint.ValueType # 26 +ASK_META_AI_CONTEXT_MENU_1ON1: BotMetricsEntryPoint.ValueType # 27 +ASK_META_AI_CONTEXT_MENU_GROUP: BotMetricsEntryPoint.ValueType # 28 +INVOKE_META_AI_1ON1: BotMetricsEntryPoint.ValueType # 29 +INVOKE_META_AI_GROUP: BotMetricsEntryPoint.ValueType # 30 +META_AI_FORWARD: BotMetricsEntryPoint.ValueType # 31 +NEW_CHAT_AI_CONTACT: BotMetricsEntryPoint.ValueType # 32 +global___BotMetricsEntryPoint = BotMetricsEntryPoint + +class _BotMetricsThreadEntryPoint: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _BotMetricsThreadEntryPointEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotMetricsThreadEntryPoint.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + AI_TAB_THREAD: _BotMetricsThreadEntryPoint.ValueType # 1 + AI_HOME_THREAD: _BotMetricsThreadEntryPoint.ValueType # 2 + AI_DEEPLINK_IMMERSIVE_THREAD: _BotMetricsThreadEntryPoint.ValueType # 3 + AI_DEEPLINK_THREAD: _BotMetricsThreadEntryPoint.ValueType # 4 + ASK_META_AI_CONTEXT_MENU_THREAD: _BotMetricsThreadEntryPoint.ValueType # 5 + +class BotMetricsThreadEntryPoint(_BotMetricsThreadEntryPoint, metaclass=_BotMetricsThreadEntryPointEnumTypeWrapper): ... + +AI_TAB_THREAD: BotMetricsThreadEntryPoint.ValueType # 1 +AI_HOME_THREAD: BotMetricsThreadEntryPoint.ValueType # 2 +AI_DEEPLINK_IMMERSIVE_THREAD: BotMetricsThreadEntryPoint.ValueType # 3 +AI_DEEPLINK_THREAD: BotMetricsThreadEntryPoint.ValueType # 4 +ASK_META_AI_CONTEXT_MENU_THREAD: BotMetricsThreadEntryPoint.ValueType # 5 +global___BotMetricsThreadEntryPoint = BotMetricsThreadEntryPoint + +class _BotSessionSource: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _BotSessionSourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotSessionSource.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: _BotSessionSource.ValueType # 0 + NULL_STATE: _BotSessionSource.ValueType # 1 + TYPEAHEAD: _BotSessionSource.ValueType # 2 + USER_INPUT: _BotSessionSource.ValueType # 3 + EMU_FLASH: _BotSessionSource.ValueType # 4 + EMU_FLASH_FOLLOWUP: _BotSessionSource.ValueType # 5 + VOICE: _BotSessionSource.ValueType # 6 + +class BotSessionSource(_BotSessionSource, metaclass=_BotSessionSourceEnumTypeWrapper): ... + +NONE: BotSessionSource.ValueType # 0 +NULL_STATE: BotSessionSource.ValueType # 1 +TYPEAHEAD: BotSessionSource.ValueType # 2 +USER_INPUT: BotSessionSource.ValueType # 3 +EMU_FLASH: BotSessionSource.ValueType # 4 +EMU_FLASH_FOLLOWUP: BotSessionSource.ValueType # 5 +VOICE: BotSessionSource.ValueType # 6 +global___BotSessionSource = BotSessionSource + +@typing.final +class BotPluginMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PluginType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PluginTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPluginMetadata._PluginType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_PLUGIN: BotPluginMetadata._PluginType.ValueType # 0 + REELS: BotPluginMetadata._PluginType.ValueType # 1 + SEARCH: BotPluginMetadata._PluginType.ValueType # 2 + + class PluginType(_PluginType, metaclass=_PluginTypeEnumTypeWrapper): ... + UNKNOWN_PLUGIN: BotPluginMetadata.PluginType.ValueType # 0 + REELS: BotPluginMetadata.PluginType.ValueType # 1 + SEARCH: BotPluginMetadata.PluginType.ValueType # 2 + + class _SearchProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SearchProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPluginMetadata._SearchProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotPluginMetadata._SearchProvider.ValueType # 0 + BING: BotPluginMetadata._SearchProvider.ValueType # 1 + GOOGLE: BotPluginMetadata._SearchProvider.ValueType # 2 + SUPPORT: BotPluginMetadata._SearchProvider.ValueType # 3 + + class SearchProvider(_SearchProvider, metaclass=_SearchProviderEnumTypeWrapper): ... + UNKNOWN: BotPluginMetadata.SearchProvider.ValueType # 0 + BING: BotPluginMetadata.SearchProvider.ValueType # 1 + GOOGLE: BotPluginMetadata.SearchProvider.ValueType # 2 + SUPPORT: BotPluginMetadata.SearchProvider.ValueType # 3 + + PROVIDER_FIELD_NUMBER: builtins.int + PLUGINTYPE_FIELD_NUMBER: builtins.int + THUMBNAILCDNURL_FIELD_NUMBER: builtins.int + PROFILEPHOTOCDNURL_FIELD_NUMBER: builtins.int + SEARCHPROVIDERURL_FIELD_NUMBER: builtins.int + REFERENCEINDEX_FIELD_NUMBER: builtins.int + EXPECTEDLINKSCOUNT_FIELD_NUMBER: builtins.int + SEARCHQUERY_FIELD_NUMBER: builtins.int + PARENTPLUGINMESSAGEKEY_FIELD_NUMBER: builtins.int + DEPRECATEDFIELD_FIELD_NUMBER: builtins.int + PARENTPLUGINTYPE_FIELD_NUMBER: builtins.int + FAVICONCDNURL_FIELD_NUMBER: builtins.int + provider: global___BotPluginMetadata.SearchProvider.ValueType + pluginType: global___BotPluginMetadata.PluginType.ValueType + thumbnailCDNURL: builtins.str + profilePhotoCDNURL: builtins.str + searchProviderURL: builtins.str + referenceIndex: builtins.int + expectedLinksCount: builtins.int + searchQuery: builtins.str + deprecatedField: global___BotPluginMetadata.PluginType.ValueType + parentPluginType: global___BotPluginMetadata.PluginType.ValueType + faviconCDNURL: builtins.str + @property + def parentPluginMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + provider: global___BotPluginMetadata.SearchProvider.ValueType | None = ..., + pluginType: global___BotPluginMetadata.PluginType.ValueType | None = ..., + thumbnailCDNURL: builtins.str | None = ..., + profilePhotoCDNURL: builtins.str | None = ..., + searchProviderURL: builtins.str | None = ..., + referenceIndex: builtins.int | None = ..., + expectedLinksCount: builtins.int | None = ..., + searchQuery: builtins.str | None = ..., + parentPluginMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + deprecatedField: global___BotPluginMetadata.PluginType.ValueType | None = ..., + parentPluginType: global___BotPluginMetadata.PluginType.ValueType | None = ..., + faviconCDNURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deprecatedField", b"deprecatedField", "expectedLinksCount", b"expectedLinksCount", "faviconCDNURL", b"faviconCDNURL", "parentPluginMessageKey", b"parentPluginMessageKey", "parentPluginType", b"parentPluginType", "pluginType", b"pluginType", "profilePhotoCDNURL", b"profilePhotoCDNURL", "provider", b"provider", "referenceIndex", b"referenceIndex", "searchProviderURL", b"searchProviderURL", "searchQuery", b"searchQuery", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deprecatedField", b"deprecatedField", "expectedLinksCount", b"expectedLinksCount", "faviconCDNURL", b"faviconCDNURL", "parentPluginMessageKey", b"parentPluginMessageKey", "parentPluginType", b"parentPluginType", "pluginType", b"pluginType", "profilePhotoCDNURL", b"profilePhotoCDNURL", "provider", b"provider", "referenceIndex", b"referenceIndex", "searchProviderURL", b"searchProviderURL", "searchQuery", b"searchQuery", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> None: ... + +global___BotPluginMetadata = BotPluginMetadata + +@typing.final +class BotLinkedAccount(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotLinkedAccountType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotLinkedAccountTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotLinkedAccount._BotLinkedAccountType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BOT_LINKED_ACCOUNT_TYPE_1P: BotLinkedAccount._BotLinkedAccountType.ValueType # 0 + + class BotLinkedAccountType(_BotLinkedAccountType, metaclass=_BotLinkedAccountTypeEnumTypeWrapper): ... + BOT_LINKED_ACCOUNT_TYPE_1P: BotLinkedAccount.BotLinkedAccountType.ValueType # 0 + + TYPE_FIELD_NUMBER: builtins.int + type: global___BotLinkedAccount.BotLinkedAccountType.ValueType + def __init__( + self, + *, + type: global___BotLinkedAccount.BotLinkedAccountType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + +global___BotLinkedAccount = BotLinkedAccount + +@typing.final +class BotSignatureVerificationUseCaseProof(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotSignatureUseCase: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotSignatureUseCaseEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotSignatureVerificationUseCaseProof._BotSignatureUseCase.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + WA_BOT_MSG: BotSignatureVerificationUseCaseProof._BotSignatureUseCase.ValueType # 0 + + class BotSignatureUseCase(_BotSignatureUseCase, metaclass=_BotSignatureUseCaseEnumTypeWrapper): ... + WA_BOT_MSG: BotSignatureVerificationUseCaseProof.BotSignatureUseCase.ValueType # 0 + + VERSION_FIELD_NUMBER: builtins.int + USECASE_FIELD_NUMBER: builtins.int + SIGNATURE_FIELD_NUMBER: builtins.int + CERTIFICATECHAIN_FIELD_NUMBER: builtins.int + version: builtins.int + useCase: global___BotSignatureVerificationUseCaseProof.BotSignatureUseCase.ValueType + signature: builtins.bytes + certificateChain: builtins.bytes + def __init__( + self, + *, + version: builtins.int | None = ..., + useCase: global___BotSignatureVerificationUseCaseProof.BotSignatureUseCase.ValueType | None = ..., + signature: builtins.bytes | None = ..., + certificateChain: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["certificateChain", b"certificateChain", "signature", b"signature", "useCase", b"useCase", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["certificateChain", b"certificateChain", "signature", b"signature", "useCase", b"useCase", "version", b"version"]) -> None: ... + +global___BotSignatureVerificationUseCaseProof = BotSignatureVerificationUseCaseProof + +@typing.final +class BotPromotionMessageMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotPromotionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotPromotionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPromotionMessageMetadata._BotPromotionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_TYPE: BotPromotionMessageMetadata._BotPromotionType.ValueType # 0 + C50: BotPromotionMessageMetadata._BotPromotionType.ValueType # 1 + SURVEY_PLATFORM: BotPromotionMessageMetadata._BotPromotionType.ValueType # 2 + + class BotPromotionType(_BotPromotionType, metaclass=_BotPromotionTypeEnumTypeWrapper): ... + UNKNOWN_TYPE: BotPromotionMessageMetadata.BotPromotionType.ValueType # 0 + C50: BotPromotionMessageMetadata.BotPromotionType.ValueType # 1 + SURVEY_PLATFORM: BotPromotionMessageMetadata.BotPromotionType.ValueType # 2 + + PROMOTIONTYPE_FIELD_NUMBER: builtins.int + BUTTONTITLE_FIELD_NUMBER: builtins.int + promotionType: global___BotPromotionMessageMetadata.BotPromotionType.ValueType + buttonTitle: builtins.str + def __init__( + self, + *, + promotionType: global___BotPromotionMessageMetadata.BotPromotionType.ValueType | None = ..., + buttonTitle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["buttonTitle", b"buttonTitle", "promotionType", b"promotionType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buttonTitle", b"buttonTitle", "promotionType", b"promotionType"]) -> None: ... + +global___BotPromotionMessageMetadata = BotPromotionMessageMetadata + +@typing.final +class BotMediaMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _OrientationType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _OrientationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotMediaMetadata._OrientationType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CENTER: BotMediaMetadata._OrientationType.ValueType # 1 + LEFT: BotMediaMetadata._OrientationType.ValueType # 2 + RIGHT: BotMediaMetadata._OrientationType.ValueType # 3 + + class OrientationType(_OrientationType, metaclass=_OrientationTypeEnumTypeWrapper): ... + CENTER: BotMediaMetadata.OrientationType.ValueType # 1 + LEFT: BotMediaMetadata.OrientationType.ValueType # 2 + RIGHT: BotMediaMetadata.OrientationType.ValueType # 3 + + FILESHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + ORIENTATIONTYPE_FIELD_NUMBER: builtins.int + fileSHA256: builtins.str + mediaKey: builtins.str + fileEncSHA256: builtins.str + directPath: builtins.str + mediaKeyTimestamp: builtins.int + mimetype: builtins.str + orientationType: global___BotMediaMetadata.OrientationType.ValueType + def __init__( + self, + *, + fileSHA256: builtins.str | None = ..., + mediaKey: builtins.str | None = ..., + fileEncSHA256: builtins.str | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + mimetype: builtins.str | None = ..., + orientationType: global___BotMediaMetadata.OrientationType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "orientationType", b"orientationType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "orientationType", b"orientationType"]) -> None: ... + +global___BotMediaMetadata = BotMediaMetadata + +@typing.final +class BotReminderMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ReminderFrequency: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ReminderFrequencyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotReminderMetadata._ReminderFrequency.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ONCE: BotReminderMetadata._ReminderFrequency.ValueType # 1 + DAILY: BotReminderMetadata._ReminderFrequency.ValueType # 2 + WEEKLY: BotReminderMetadata._ReminderFrequency.ValueType # 3 + BIWEEKLY: BotReminderMetadata._ReminderFrequency.ValueType # 4 + MONTHLY: BotReminderMetadata._ReminderFrequency.ValueType # 5 + + class ReminderFrequency(_ReminderFrequency, metaclass=_ReminderFrequencyEnumTypeWrapper): ... + ONCE: BotReminderMetadata.ReminderFrequency.ValueType # 1 + DAILY: BotReminderMetadata.ReminderFrequency.ValueType # 2 + WEEKLY: BotReminderMetadata.ReminderFrequency.ValueType # 3 + BIWEEKLY: BotReminderMetadata.ReminderFrequency.ValueType # 4 + MONTHLY: BotReminderMetadata.ReminderFrequency.ValueType # 5 + + class _ReminderAction: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ReminderActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotReminderMetadata._ReminderAction.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NOTIFY: BotReminderMetadata._ReminderAction.ValueType # 1 + CREATE: BotReminderMetadata._ReminderAction.ValueType # 2 + DELETE: BotReminderMetadata._ReminderAction.ValueType # 3 + UPDATE: BotReminderMetadata._ReminderAction.ValueType # 4 + + class ReminderAction(_ReminderAction, metaclass=_ReminderActionEnumTypeWrapper): ... + NOTIFY: BotReminderMetadata.ReminderAction.ValueType # 1 + CREATE: BotReminderMetadata.ReminderAction.ValueType # 2 + DELETE: BotReminderMetadata.ReminderAction.ValueType # 3 + UPDATE: BotReminderMetadata.ReminderAction.ValueType # 4 + + REQUESTMESSAGEKEY_FIELD_NUMBER: builtins.int + ACTION_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + NEXTTRIGGERTIMESTAMP_FIELD_NUMBER: builtins.int + FREQUENCY_FIELD_NUMBER: builtins.int + action: global___BotReminderMetadata.ReminderAction.ValueType + name: builtins.str + nextTriggerTimestamp: builtins.int + frequency: global___BotReminderMetadata.ReminderFrequency.ValueType + @property + def requestMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + requestMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + action: global___BotReminderMetadata.ReminderAction.ValueType | None = ..., + name: builtins.str | None = ..., + nextTriggerTimestamp: builtins.int | None = ..., + frequency: global___BotReminderMetadata.ReminderFrequency.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "frequency", b"frequency", "name", b"name", "nextTriggerTimestamp", b"nextTriggerTimestamp", "requestMessageKey", b"requestMessageKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "frequency", b"frequency", "name", b"name", "nextTriggerTimestamp", b"nextTriggerTimestamp", "requestMessageKey", b"requestMessageKey"]) -> None: ... + +global___BotReminderMetadata = BotReminderMetadata + +@typing.final +class BotModelMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PremiumModelStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PremiumModelStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModelMetadata._PremiumModelStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_STATUS: BotModelMetadata._PremiumModelStatus.ValueType # 0 + AVAILABLE: BotModelMetadata._PremiumModelStatus.ValueType # 1 + QUOTA_EXCEED_LIMIT: BotModelMetadata._PremiumModelStatus.ValueType # 2 + + class PremiumModelStatus(_PremiumModelStatus, metaclass=_PremiumModelStatusEnumTypeWrapper): ... + UNKNOWN_STATUS: BotModelMetadata.PremiumModelStatus.ValueType # 0 + AVAILABLE: BotModelMetadata.PremiumModelStatus.ValueType # 1 + QUOTA_EXCEED_LIMIT: BotModelMetadata.PremiumModelStatus.ValueType # 2 + + class _ModelType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ModelTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModelMetadata._ModelType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_TYPE: BotModelMetadata._ModelType.ValueType # 0 + LLAMA_PROD: BotModelMetadata._ModelType.ValueType # 1 + LLAMA_PROD_PREMIUM: BotModelMetadata._ModelType.ValueType # 2 + + class ModelType(_ModelType, metaclass=_ModelTypeEnumTypeWrapper): ... + UNKNOWN_TYPE: BotModelMetadata.ModelType.ValueType # 0 + LLAMA_PROD: BotModelMetadata.ModelType.ValueType # 1 + LLAMA_PROD_PREMIUM: BotModelMetadata.ModelType.ValueType # 2 + + MODELTYPE_FIELD_NUMBER: builtins.int + PREMIUMMODELSTATUS_FIELD_NUMBER: builtins.int + modelType: global___BotModelMetadata.ModelType.ValueType + premiumModelStatus: global___BotModelMetadata.PremiumModelStatus.ValueType + def __init__( + self, + *, + modelType: global___BotModelMetadata.ModelType.ValueType | None = ..., + premiumModelStatus: global___BotModelMetadata.PremiumModelStatus.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["modelType", b"modelType", "premiumModelStatus", b"premiumModelStatus"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["modelType", b"modelType", "premiumModelStatus", b"premiumModelStatus"]) -> None: ... + +global___BotModelMetadata = BotModelMetadata + +@typing.final +class BotProgressIndicatorMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class BotPlanningStepMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotSearchSourceProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotSearchSourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_PROVIDER: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 3 + + class BotSearchSourceProvider(_BotSearchSourceProvider, metaclass=_BotSearchSourceProviderEnumTypeWrapper): ... + UNKNOWN_PROVIDER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 3 + + class _PlanningStepStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PlanningStepStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 0 + PLANNED: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 1 + EXECUTING: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 2 + FINISHED: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 3 + + class PlanningStepStatus(_PlanningStepStatus, metaclass=_PlanningStepStatusEnumTypeWrapper): ... + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 0 + PLANNED: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 1 + EXECUTING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 2 + FINISHED: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 3 + + @typing.final + class BotPlanningSearchSourcesMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotPlanningSearchSourceProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotPlanningSearchSourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 3 + + class BotPlanningSearchSourceProvider(_BotPlanningSearchSourceProvider, metaclass=_BotPlanningSearchSourceProviderEnumTypeWrapper): ... + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 3 + + SOURCETITLE_FIELD_NUMBER: builtins.int + PROVIDER_FIELD_NUMBER: builtins.int + SOURCEURL_FIELD_NUMBER: builtins.int + sourceTitle: builtins.str + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType + sourceURL: builtins.str + def __init__( + self, + *, + sourceTitle: builtins.str | None = ..., + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType | None = ..., + sourceURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["provider", b"provider", "sourceTitle", b"sourceTitle", "sourceURL", b"sourceURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["provider", b"provider", "sourceTitle", b"sourceTitle", "sourceURL", b"sourceURL"]) -> None: ... + + @typing.final + class BotPlanningStepSectionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SECTIONTITLE_FIELD_NUMBER: builtins.int + SECTIONBODY_FIELD_NUMBER: builtins.int + SOURCESMETADATA_FIELD_NUMBER: builtins.int + sectionTitle: builtins.str + sectionBody: builtins.str + @property + def sourcesMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata]: ... + def __init__( + self, + *, + sectionTitle: builtins.str | None = ..., + sectionBody: builtins.str | None = ..., + sourcesMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sectionBody", b"sectionBody", "sectionTitle", b"sectionTitle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sectionBody", b"sectionBody", "sectionTitle", b"sectionTitle", "sourcesMetadata", b"sourcesMetadata"]) -> None: ... + + @typing.final + class BotPlanningSearchSourceMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + PROVIDER_FIELD_NUMBER: builtins.int + SOURCEURL_FIELD_NUMBER: builtins.int + FAVICONURL_FIELD_NUMBER: builtins.int + title: builtins.str + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType + sourceURL: builtins.str + favIconURL: builtins.str + def __init__( + self, + *, + title: builtins.str | None = ..., + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType | None = ..., + sourceURL: builtins.str | None = ..., + favIconURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["favIconURL", b"favIconURL", "provider", b"provider", "sourceURL", b"sourceURL", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["favIconURL", b"favIconURL", "provider", b"provider", "sourceURL", b"sourceURL", "title", b"title"]) -> None: ... + + STATUSTITLE_FIELD_NUMBER: builtins.int + STATUSBODY_FIELD_NUMBER: builtins.int + SOURCESMETADATA_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + ISREASONING_FIELD_NUMBER: builtins.int + ISENHANCEDSEARCH_FIELD_NUMBER: builtins.int + SECTIONS_FIELD_NUMBER: builtins.int + statusTitle: builtins.str + statusBody: builtins.str + status: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType + isReasoning: builtins.bool + isEnhancedSearch: builtins.bool + @property + def sourcesMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata]: ... + @property + def sections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata]: ... + def __init__( + self, + *, + statusTitle: builtins.str | None = ..., + statusBody: builtins.str | None = ..., + sourcesMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata] | None = ..., + status: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType | None = ..., + isReasoning: builtins.bool | None = ..., + isEnhancedSearch: builtins.bool | None = ..., + sections: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isEnhancedSearch", b"isEnhancedSearch", "isReasoning", b"isReasoning", "status", b"status", "statusBody", b"statusBody", "statusTitle", b"statusTitle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isEnhancedSearch", b"isEnhancedSearch", "isReasoning", b"isReasoning", "sections", b"sections", "sourcesMetadata", b"sourcesMetadata", "status", b"status", "statusBody", b"statusBody", "statusTitle", b"statusTitle"]) -> None: ... + + PROGRESSDESCRIPTION_FIELD_NUMBER: builtins.int + STEPSMETADATA_FIELD_NUMBER: builtins.int + progressDescription: builtins.str + @property + def stepsMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata]: ... + def __init__( + self, + *, + progressDescription: builtins.str | None = ..., + stepsMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["progressDescription", b"progressDescription"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["progressDescription", b"progressDescription", "stepsMetadata", b"stepsMetadata"]) -> None: ... + +global___BotProgressIndicatorMetadata = BotProgressIndicatorMetadata + +@typing.final +class BotCapabilityMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotCapabilityType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotCapabilityTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotCapabilityMetadata._BotCapabilityType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotCapabilityMetadata._BotCapabilityType.ValueType # 0 + PROGRESS_INDICATOR: BotCapabilityMetadata._BotCapabilityType.ValueType # 1 + RICH_RESPONSE_HEADING: BotCapabilityMetadata._BotCapabilityType.ValueType # 2 + RICH_RESPONSE_NESTED_LIST: BotCapabilityMetadata._BotCapabilityType.ValueType # 3 + AI_MEMORY: BotCapabilityMetadata._BotCapabilityType.ValueType # 4 + RICH_RESPONSE_THREAD_SURFING: BotCapabilityMetadata._BotCapabilityType.ValueType # 5 + RICH_RESPONSE_TABLE: BotCapabilityMetadata._BotCapabilityType.ValueType # 6 + RICH_RESPONSE_CODE: BotCapabilityMetadata._BotCapabilityType.ValueType # 7 + RICH_RESPONSE_STRUCTURED_RESPONSE: BotCapabilityMetadata._BotCapabilityType.ValueType # 8 + RICH_RESPONSE_INLINE_IMAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 9 + WA_IG_1P_PLUGIN_RANKING_CONTROL: BotCapabilityMetadata._BotCapabilityType.ValueType # 10 + WA_IG_1P_PLUGIN_RANKING_UPDATE_1: BotCapabilityMetadata._BotCapabilityType.ValueType # 11 + WA_IG_1P_PLUGIN_RANKING_UPDATE_2: BotCapabilityMetadata._BotCapabilityType.ValueType # 12 + WA_IG_1P_PLUGIN_RANKING_UPDATE_3: BotCapabilityMetadata._BotCapabilityType.ValueType # 13 + WA_IG_1P_PLUGIN_RANKING_UPDATE_4: BotCapabilityMetadata._BotCapabilityType.ValueType # 14 + WA_IG_1P_PLUGIN_RANKING_UPDATE_5: BotCapabilityMetadata._BotCapabilityType.ValueType # 15 + WA_IG_1P_PLUGIN_RANKING_UPDATE_6: BotCapabilityMetadata._BotCapabilityType.ValueType # 16 + WA_IG_1P_PLUGIN_RANKING_UPDATE_7: BotCapabilityMetadata._BotCapabilityType.ValueType # 17 + WA_IG_1P_PLUGIN_RANKING_UPDATE_8: BotCapabilityMetadata._BotCapabilityType.ValueType # 18 + WA_IG_1P_PLUGIN_RANKING_UPDATE_9: BotCapabilityMetadata._BotCapabilityType.ValueType # 19 + WA_IG_1P_PLUGIN_RANKING_UPDATE_10: BotCapabilityMetadata._BotCapabilityType.ValueType # 20 + RICH_RESPONSE_SUB_HEADING: BotCapabilityMetadata._BotCapabilityType.ValueType # 21 + RICH_RESPONSE_GRID_IMAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 22 + AI_STUDIO_UGC_MEMORY: BotCapabilityMetadata._BotCapabilityType.ValueType # 23 + RICH_RESPONSE_LATEX: BotCapabilityMetadata._BotCapabilityType.ValueType # 24 + RICH_RESPONSE_MAPS: BotCapabilityMetadata._BotCapabilityType.ValueType # 25 + RICH_RESPONSE_INLINE_REELS: BotCapabilityMetadata._BotCapabilityType.ValueType # 26 + AGENTIC_PLANNING: BotCapabilityMetadata._BotCapabilityType.ValueType # 27 + ACCOUNT_LINKING: BotCapabilityMetadata._BotCapabilityType.ValueType # 28 + STREAMING_DISAGGREGATION: BotCapabilityMetadata._BotCapabilityType.ValueType # 29 + RICH_RESPONSE_GRID_IMAGE_3P: BotCapabilityMetadata._BotCapabilityType.ValueType # 30 + RICH_RESPONSE_LATEX_INLINE: BotCapabilityMetadata._BotCapabilityType.ValueType # 31 + QUERY_PLAN: BotCapabilityMetadata._BotCapabilityType.ValueType # 32 + PROACTIVE_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 33 + RICH_RESPONSE_UNIFIED_RESPONSE: BotCapabilityMetadata._BotCapabilityType.ValueType # 34 + PROMOTION_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 35 + SIMPLIFIED_PROFILE_PAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 36 + RICH_RESPONSE_SOURCES_IN_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 37 + RICH_RESPONSE_SIDE_BY_SIDE_SURVEY: BotCapabilityMetadata._BotCapabilityType.ValueType # 38 + RICH_RESPONSE_UNIFIED_TEXT_COMPONENT: BotCapabilityMetadata._BotCapabilityType.ValueType # 39 + AI_SHARED_MEMORY: BotCapabilityMetadata._BotCapabilityType.ValueType # 40 + RICH_RESPONSE_UNIFIED_SOURCES: BotCapabilityMetadata._BotCapabilityType.ValueType # 41 + RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS: BotCapabilityMetadata._BotCapabilityType.ValueType # 42 + + class BotCapabilityType(_BotCapabilityType, metaclass=_BotCapabilityTypeEnumTypeWrapper): ... + UNKNOWN: BotCapabilityMetadata.BotCapabilityType.ValueType # 0 + PROGRESS_INDICATOR: BotCapabilityMetadata.BotCapabilityType.ValueType # 1 + RICH_RESPONSE_HEADING: BotCapabilityMetadata.BotCapabilityType.ValueType # 2 + RICH_RESPONSE_NESTED_LIST: BotCapabilityMetadata.BotCapabilityType.ValueType # 3 + AI_MEMORY: BotCapabilityMetadata.BotCapabilityType.ValueType # 4 + RICH_RESPONSE_THREAD_SURFING: BotCapabilityMetadata.BotCapabilityType.ValueType # 5 + RICH_RESPONSE_TABLE: BotCapabilityMetadata.BotCapabilityType.ValueType # 6 + RICH_RESPONSE_CODE: BotCapabilityMetadata.BotCapabilityType.ValueType # 7 + RICH_RESPONSE_STRUCTURED_RESPONSE: BotCapabilityMetadata.BotCapabilityType.ValueType # 8 + RICH_RESPONSE_INLINE_IMAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 9 + WA_IG_1P_PLUGIN_RANKING_CONTROL: BotCapabilityMetadata.BotCapabilityType.ValueType # 10 + WA_IG_1P_PLUGIN_RANKING_UPDATE_1: BotCapabilityMetadata.BotCapabilityType.ValueType # 11 + WA_IG_1P_PLUGIN_RANKING_UPDATE_2: BotCapabilityMetadata.BotCapabilityType.ValueType # 12 + WA_IG_1P_PLUGIN_RANKING_UPDATE_3: BotCapabilityMetadata.BotCapabilityType.ValueType # 13 + WA_IG_1P_PLUGIN_RANKING_UPDATE_4: BotCapabilityMetadata.BotCapabilityType.ValueType # 14 + WA_IG_1P_PLUGIN_RANKING_UPDATE_5: BotCapabilityMetadata.BotCapabilityType.ValueType # 15 + WA_IG_1P_PLUGIN_RANKING_UPDATE_6: BotCapabilityMetadata.BotCapabilityType.ValueType # 16 + WA_IG_1P_PLUGIN_RANKING_UPDATE_7: BotCapabilityMetadata.BotCapabilityType.ValueType # 17 + WA_IG_1P_PLUGIN_RANKING_UPDATE_8: BotCapabilityMetadata.BotCapabilityType.ValueType # 18 + WA_IG_1P_PLUGIN_RANKING_UPDATE_9: BotCapabilityMetadata.BotCapabilityType.ValueType # 19 + WA_IG_1P_PLUGIN_RANKING_UPDATE_10: BotCapabilityMetadata.BotCapabilityType.ValueType # 20 + RICH_RESPONSE_SUB_HEADING: BotCapabilityMetadata.BotCapabilityType.ValueType # 21 + RICH_RESPONSE_GRID_IMAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 22 + AI_STUDIO_UGC_MEMORY: BotCapabilityMetadata.BotCapabilityType.ValueType # 23 + RICH_RESPONSE_LATEX: BotCapabilityMetadata.BotCapabilityType.ValueType # 24 + RICH_RESPONSE_MAPS: BotCapabilityMetadata.BotCapabilityType.ValueType # 25 + RICH_RESPONSE_INLINE_REELS: BotCapabilityMetadata.BotCapabilityType.ValueType # 26 + AGENTIC_PLANNING: BotCapabilityMetadata.BotCapabilityType.ValueType # 27 + ACCOUNT_LINKING: BotCapabilityMetadata.BotCapabilityType.ValueType # 28 + STREAMING_DISAGGREGATION: BotCapabilityMetadata.BotCapabilityType.ValueType # 29 + RICH_RESPONSE_GRID_IMAGE_3P: BotCapabilityMetadata.BotCapabilityType.ValueType # 30 + RICH_RESPONSE_LATEX_INLINE: BotCapabilityMetadata.BotCapabilityType.ValueType # 31 + QUERY_PLAN: BotCapabilityMetadata.BotCapabilityType.ValueType # 32 + PROACTIVE_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 33 + RICH_RESPONSE_UNIFIED_RESPONSE: BotCapabilityMetadata.BotCapabilityType.ValueType # 34 + PROMOTION_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 35 + SIMPLIFIED_PROFILE_PAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 36 + RICH_RESPONSE_SOURCES_IN_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 37 + RICH_RESPONSE_SIDE_BY_SIDE_SURVEY: BotCapabilityMetadata.BotCapabilityType.ValueType # 38 + RICH_RESPONSE_UNIFIED_TEXT_COMPONENT: BotCapabilityMetadata.BotCapabilityType.ValueType # 39 + AI_SHARED_MEMORY: BotCapabilityMetadata.BotCapabilityType.ValueType # 40 + RICH_RESPONSE_UNIFIED_SOURCES: BotCapabilityMetadata.BotCapabilityType.ValueType # 41 + RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS: BotCapabilityMetadata.BotCapabilityType.ValueType # 42 + + CAPABILITIES_FIELD_NUMBER: builtins.int + @property + def capabilities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___BotCapabilityMetadata.BotCapabilityType.ValueType]: ... + def __init__( + self, + *, + capabilities: collections.abc.Iterable[global___BotCapabilityMetadata.BotCapabilityType.ValueType] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["capabilities", b"capabilities"]) -> None: ... + +global___BotCapabilityMetadata = BotCapabilityMetadata + +@typing.final +class BotModeSelectionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotUserSelectionMode: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotUserSelectionModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModeSelectionMetadata._BotUserSelectionMode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_MODE: BotModeSelectionMetadata._BotUserSelectionMode.ValueType # 0 + REASONING_MODE: BotModeSelectionMetadata._BotUserSelectionMode.ValueType # 1 + + class BotUserSelectionMode(_BotUserSelectionMode, metaclass=_BotUserSelectionModeEnumTypeWrapper): ... + UNKNOWN_MODE: BotModeSelectionMetadata.BotUserSelectionMode.ValueType # 0 + REASONING_MODE: BotModeSelectionMetadata.BotUserSelectionMode.ValueType # 1 + + MODE_FIELD_NUMBER: builtins.int + @property + def mode(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___BotModeSelectionMetadata.BotUserSelectionMode.ValueType]: ... + def __init__( + self, + *, + mode: collections.abc.Iterable[global___BotModeSelectionMetadata.BotUserSelectionMode.ValueType] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["mode", b"mode"]) -> None: ... + +global___BotModeSelectionMetadata = BotModeSelectionMetadata + +@typing.final +class BotQuotaMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class BotFeatureQuotaMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotFeatureType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotFeatureTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType # 0 + REASONING_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType # 1 + + class BotFeatureType(_BotFeatureType, metaclass=_BotFeatureTypeEnumTypeWrapper): ... + UNKNOWN_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType # 0 + REASONING_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType # 1 + + FEATURETYPE_FIELD_NUMBER: builtins.int + REMAININGQUOTA_FIELD_NUMBER: builtins.int + EXPIRATIONTIMESTAMP_FIELD_NUMBER: builtins.int + featureType: global___BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType + remainingQuota: builtins.int + expirationTimestamp: builtins.int + def __init__( + self, + *, + featureType: global___BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType | None = ..., + remainingQuota: builtins.int | None = ..., + expirationTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["expirationTimestamp", b"expirationTimestamp", "featureType", b"featureType", "remainingQuota", b"remainingQuota"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["expirationTimestamp", b"expirationTimestamp", "featureType", b"featureType", "remainingQuota", b"remainingQuota"]) -> None: ... + + BOTFEATUREQUOTAMETADATA_FIELD_NUMBER: builtins.int + @property + def botFeatureQuotaMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotQuotaMetadata.BotFeatureQuotaMetadata]: ... + def __init__( + self, + *, + botFeatureQuotaMetadata: collections.abc.Iterable[global___BotQuotaMetadata.BotFeatureQuotaMetadata] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["botFeatureQuotaMetadata", b"botFeatureQuotaMetadata"]) -> None: ... + +global___BotQuotaMetadata = BotQuotaMetadata + +@typing.final +class BotImagineMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ImagineType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ImagineTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotImagineMetadata._ImagineType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotImagineMetadata._ImagineType.ValueType # 0 + IMAGINE: BotImagineMetadata._ImagineType.ValueType # 1 + MEMU: BotImagineMetadata._ImagineType.ValueType # 2 + FLASH: BotImagineMetadata._ImagineType.ValueType # 3 + EDIT: BotImagineMetadata._ImagineType.ValueType # 4 + + class ImagineType(_ImagineType, metaclass=_ImagineTypeEnumTypeWrapper): ... + UNKNOWN: BotImagineMetadata.ImagineType.ValueType # 0 + IMAGINE: BotImagineMetadata.ImagineType.ValueType # 1 + MEMU: BotImagineMetadata.ImagineType.ValueType # 2 + FLASH: BotImagineMetadata.ImagineType.ValueType # 3 + EDIT: BotImagineMetadata.ImagineType.ValueType # 4 + + IMAGINETYPE_FIELD_NUMBER: builtins.int + imagineType: global___BotImagineMetadata.ImagineType.ValueType + def __init__( + self, + *, + imagineType: global___BotImagineMetadata.ImagineType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["imagineType", b"imagineType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["imagineType", b"imagineType"]) -> None: ... + +global___BotImagineMetadata = BotImagineMetadata + +@typing.final +class BotSourcesMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class BotSourceItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _SourceProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 0 + BING: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 1 + GOOGLE: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 2 + SUPPORT: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 3 + OTHER: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 4 + + class SourceProvider(_SourceProvider, metaclass=_SourceProviderEnumTypeWrapper): ... + UNKNOWN: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 0 + BING: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 1 + GOOGLE: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 2 + SUPPORT: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 3 + OTHER: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 4 + + PROVIDER_FIELD_NUMBER: builtins.int + THUMBNAILCDNURL_FIELD_NUMBER: builtins.int + SOURCEPROVIDERURL_FIELD_NUMBER: builtins.int + SOURCEQUERY_FIELD_NUMBER: builtins.int + FAVICONCDNURL_FIELD_NUMBER: builtins.int + CITATIONNUMBER_FIELD_NUMBER: builtins.int + SOURCETITLE_FIELD_NUMBER: builtins.int + provider: global___BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType + thumbnailCDNURL: builtins.str + sourceProviderURL: builtins.str + sourceQuery: builtins.str + faviconCDNURL: builtins.str + citationNumber: builtins.int + sourceTitle: builtins.str + def __init__( + self, + *, + provider: global___BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType | None = ..., + thumbnailCDNURL: builtins.str | None = ..., + sourceProviderURL: builtins.str | None = ..., + sourceQuery: builtins.str | None = ..., + faviconCDNURL: builtins.str | None = ..., + citationNumber: builtins.int | None = ..., + sourceTitle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["citationNumber", b"citationNumber", "faviconCDNURL", b"faviconCDNURL", "provider", b"provider", "sourceProviderURL", b"sourceProviderURL", "sourceQuery", b"sourceQuery", "sourceTitle", b"sourceTitle", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["citationNumber", b"citationNumber", "faviconCDNURL", b"faviconCDNURL", "provider", b"provider", "sourceProviderURL", b"sourceProviderURL", "sourceQuery", b"sourceQuery", "sourceTitle", b"sourceTitle", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> None: ... + + SOURCES_FIELD_NUMBER: builtins.int + @property + def sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotSourcesMetadata.BotSourceItem]: ... + def __init__( + self, + *, + sources: collections.abc.Iterable[global___BotSourcesMetadata.BotSourceItem] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["sources", b"sources"]) -> None: ... + +global___BotSourcesMetadata = BotSourcesMetadata + +@typing.final +class BotMessageOrigin(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotMessageOriginType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotMessageOriginTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotMessageOrigin._BotMessageOriginType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED: BotMessageOrigin._BotMessageOriginType.ValueType # 0 + + class BotMessageOriginType(_BotMessageOriginType, metaclass=_BotMessageOriginTypeEnumTypeWrapper): ... + BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED: BotMessageOrigin.BotMessageOriginType.ValueType # 0 + + TYPE_FIELD_NUMBER: builtins.int + type: global___BotMessageOrigin.BotMessageOriginType.ValueType + def __init__( + self, + *, + type: global___BotMessageOrigin.BotMessageOriginType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + +global___BotMessageOrigin = BotMessageOrigin + +@typing.final +class AIThreadInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class AIThreadClientInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AIThreadType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AIThreadTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIThreadInfo.AIThreadClientInfo._AIThreadType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: AIThreadInfo.AIThreadClientInfo._AIThreadType.ValueType # 0 + DEFAULT: AIThreadInfo.AIThreadClientInfo._AIThreadType.ValueType # 1 + INCOGNITO: AIThreadInfo.AIThreadClientInfo._AIThreadType.ValueType # 2 + + class AIThreadType(_AIThreadType, metaclass=_AIThreadTypeEnumTypeWrapper): ... + UNKNOWN: AIThreadInfo.AIThreadClientInfo.AIThreadType.ValueType # 0 + DEFAULT: AIThreadInfo.AIThreadClientInfo.AIThreadType.ValueType # 1 + INCOGNITO: AIThreadInfo.AIThreadClientInfo.AIThreadType.ValueType # 2 + + TYPE_FIELD_NUMBER: builtins.int + type: global___AIThreadInfo.AIThreadClientInfo.AIThreadType.ValueType + def __init__( + self, + *, + type: global___AIThreadInfo.AIThreadClientInfo.AIThreadType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + + @typing.final + class AIThreadServerInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + title: builtins.str + def __init__( + self, + *, + title: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["title", b"title"]) -> None: ... + + SERVERINFO_FIELD_NUMBER: builtins.int + CLIENTINFO_FIELD_NUMBER: builtins.int + @property + def serverInfo(self) -> global___AIThreadInfo.AIThreadServerInfo: ... + @property + def clientInfo(self) -> global___AIThreadInfo.AIThreadClientInfo: ... + def __init__( + self, + *, + serverInfo: global___AIThreadInfo.AIThreadServerInfo | None = ..., + clientInfo: global___AIThreadInfo.AIThreadClientInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["clientInfo", b"clientInfo", "serverInfo", b"serverInfo"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clientInfo", b"clientInfo", "serverInfo", b"serverInfo"]) -> None: ... + +global___AIThreadInfo = AIThreadInfo + +@typing.final +class BotAvatarMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SENTIMENT_FIELD_NUMBER: builtins.int + BEHAVIORGRAPH_FIELD_NUMBER: builtins.int + ACTION_FIELD_NUMBER: builtins.int + INTENSITY_FIELD_NUMBER: builtins.int + WORDCOUNT_FIELD_NUMBER: builtins.int + sentiment: builtins.int + behaviorGraph: builtins.str + action: builtins.int + intensity: builtins.int + wordCount: builtins.int + def __init__( + self, + *, + sentiment: builtins.int | None = ..., + behaviorGraph: builtins.str | None = ..., + action: builtins.int | None = ..., + intensity: builtins.int | None = ..., + wordCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "behaviorGraph", b"behaviorGraph", "intensity", b"intensity", "sentiment", b"sentiment", "wordCount", b"wordCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "behaviorGraph", b"behaviorGraph", "intensity", b"intensity", "sentiment", b"sentiment", "wordCount", b"wordCount"]) -> None: ... + +global___BotAvatarMetadata = BotAvatarMetadata + +@typing.final +class BotSuggestedPromptMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SUGGESTEDPROMPTS_FIELD_NUMBER: builtins.int + SELECTEDPROMPTINDEX_FIELD_NUMBER: builtins.int + PROMPTSUGGESTIONS_FIELD_NUMBER: builtins.int + SELECTEDPROMPTID_FIELD_NUMBER: builtins.int + selectedPromptIndex: builtins.int + selectedPromptID: builtins.str + @property + def suggestedPrompts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def promptSuggestions(self) -> global___BotPromptSuggestions: ... + def __init__( + self, + *, + suggestedPrompts: collections.abc.Iterable[builtins.str] | None = ..., + selectedPromptIndex: builtins.int | None = ..., + promptSuggestions: global___BotPromptSuggestions | None = ..., + selectedPromptID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["promptSuggestions", b"promptSuggestions", "selectedPromptID", b"selectedPromptID", "selectedPromptIndex", b"selectedPromptIndex"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["promptSuggestions", b"promptSuggestions", "selectedPromptID", b"selectedPromptID", "selectedPromptIndex", b"selectedPromptIndex", "suggestedPrompts", b"suggestedPrompts"]) -> None: ... + +global___BotSuggestedPromptMetadata = BotSuggestedPromptMetadata + +@typing.final +class BotPromptSuggestions(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SUGGESTIONS_FIELD_NUMBER: builtins.int + @property + def suggestions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotPromptSuggestion]: ... + def __init__( + self, + *, + suggestions: collections.abc.Iterable[global___BotPromptSuggestion] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["suggestions", b"suggestions"]) -> None: ... + +global___BotPromptSuggestions = BotPromptSuggestions + +@typing.final +class BotPromptSuggestion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PROMPT_FIELD_NUMBER: builtins.int + PROMPTID_FIELD_NUMBER: builtins.int + prompt: builtins.str + promptID: builtins.str + def __init__( + self, + *, + prompt: builtins.str | None = ..., + promptID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["prompt", b"prompt", "promptID", b"promptID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["prompt", b"prompt", "promptID", b"promptID"]) -> None: ... + +global___BotPromptSuggestion = BotPromptSuggestion + +@typing.final +class BotLinkedAccountsMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ACCOUNTS_FIELD_NUMBER: builtins.int + ACAUTHTOKENS_FIELD_NUMBER: builtins.int + ACERRORCODE_FIELD_NUMBER: builtins.int + acAuthTokens: builtins.bytes + acErrorCode: builtins.int + @property + def accounts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotLinkedAccount]: ... + def __init__( + self, + *, + accounts: collections.abc.Iterable[global___BotLinkedAccount] | None = ..., + acAuthTokens: builtins.bytes | None = ..., + acErrorCode: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["acAuthTokens", b"acAuthTokens", "acErrorCode", b"acErrorCode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["acAuthTokens", b"acAuthTokens", "acErrorCode", b"acErrorCode", "accounts", b"accounts"]) -> None: ... + +global___BotLinkedAccountsMetadata = BotLinkedAccountsMetadata + +@typing.final +class BotMemoryMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ADDEDFACTS_FIELD_NUMBER: builtins.int + REMOVEDFACTS_FIELD_NUMBER: builtins.int + DISCLAIMER_FIELD_NUMBER: builtins.int + disclaimer: builtins.str + @property + def addedFacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMemoryFact]: ... + @property + def removedFacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMemoryFact]: ... + def __init__( + self, + *, + addedFacts: collections.abc.Iterable[global___BotMemoryFact] | None = ..., + removedFacts: collections.abc.Iterable[global___BotMemoryFact] | None = ..., + disclaimer: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["disclaimer", b"disclaimer"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["addedFacts", b"addedFacts", "disclaimer", b"disclaimer", "removedFacts", b"removedFacts"]) -> None: ... + +global___BotMemoryMetadata = BotMemoryMetadata + +@typing.final +class BotMemoryFact(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FACT_FIELD_NUMBER: builtins.int + FACTID_FIELD_NUMBER: builtins.int + fact: builtins.str + factID: builtins.str + def __init__( + self, + *, + fact: builtins.str | None = ..., + factID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fact", b"fact", "factID", b"factID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fact", b"fact", "factID", b"factID"]) -> None: ... + +global___BotMemoryFact = BotMemoryFact + +@typing.final +class BotSignatureVerificationMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PROOFS_FIELD_NUMBER: builtins.int + @property + def proofs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotSignatureVerificationUseCaseProof]: ... + def __init__( + self, + *, + proofs: collections.abc.Iterable[global___BotSignatureVerificationUseCaseProof] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["proofs", b"proofs"]) -> None: ... + +global___BotSignatureVerificationMetadata = BotSignatureVerificationMetadata + +@typing.final +class BotRenderingMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Keyword(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VALUE_FIELD_NUMBER: builtins.int + ASSOCIATEDPROMPTS_FIELD_NUMBER: builtins.int + value: builtins.str + @property + def associatedPrompts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + value: builtins.str | None = ..., + associatedPrompts: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["associatedPrompts", b"associatedPrompts", "value", b"value"]) -> None: ... + + KEYWORDS_FIELD_NUMBER: builtins.int + @property + def keywords(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotRenderingMetadata.Keyword]: ... + def __init__( + self, + *, + keywords: collections.abc.Iterable[global___BotRenderingMetadata.Keyword] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["keywords", b"keywords"]) -> None: ... + +global___BotRenderingMetadata = BotRenderingMetadata + +@typing.final +class BotMetricsMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DESTINATIONID_FIELD_NUMBER: builtins.int + DESTINATIONENTRYPOINT_FIELD_NUMBER: builtins.int + THREADORIGIN_FIELD_NUMBER: builtins.int + destinationID: builtins.str + destinationEntryPoint: global___BotMetricsEntryPoint.ValueType + threadOrigin: global___BotMetricsThreadEntryPoint.ValueType + def __init__( + self, + *, + destinationID: builtins.str | None = ..., + destinationEntryPoint: global___BotMetricsEntryPoint.ValueType | None = ..., + threadOrigin: global___BotMetricsThreadEntryPoint.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["destinationEntryPoint", b"destinationEntryPoint", "destinationID", b"destinationID", "threadOrigin", b"threadOrigin"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["destinationEntryPoint", b"destinationEntryPoint", "destinationID", b"destinationID", "threadOrigin", b"threadOrigin"]) -> None: ... + +global___BotMetricsMetadata = BotMetricsMetadata + +@typing.final +class BotSessionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SESSIONID_FIELD_NUMBER: builtins.int + SESSIONSOURCE_FIELD_NUMBER: builtins.int + sessionID: builtins.str + sessionSource: global___BotSessionSource.ValueType + def __init__( + self, + *, + sessionID: builtins.str | None = ..., + sessionSource: global___BotSessionSource.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sessionID", b"sessionID", "sessionSource", b"sessionSource"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sessionID", b"sessionID", "sessionSource", b"sessionSource"]) -> None: ... + +global___BotSessionMetadata = BotSessionMetadata + +@typing.final +class BotMemuMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FACEIMAGES_FIELD_NUMBER: builtins.int + @property + def faceImages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMediaMetadata]: ... + def __init__( + self, + *, + faceImages: collections.abc.Iterable[global___BotMediaMetadata] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["faceImages", b"faceImages"]) -> None: ... + +global___BotMemuMetadata = BotMemuMetadata + +@typing.final +class BotAgeCollectionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AGECOLLECTIONELIGIBLE_FIELD_NUMBER: builtins.int + SHOULDTRIGGERAGECOLLECTIONONCLIENT_FIELD_NUMBER: builtins.int + ageCollectionEligible: builtins.bool + shouldTriggerAgeCollectionOnClient: builtins.bool + def __init__( + self, + *, + ageCollectionEligible: builtins.bool | None = ..., + shouldTriggerAgeCollectionOnClient: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ageCollectionEligible", b"ageCollectionEligible", "shouldTriggerAgeCollectionOnClient", b"shouldTriggerAgeCollectionOnClient"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ageCollectionEligible", b"ageCollectionEligible", "shouldTriggerAgeCollectionOnClient", b"shouldTriggerAgeCollectionOnClient"]) -> None: ... + +global___BotAgeCollectionMetadata = BotAgeCollectionMetadata + +@typing.final +class InThreadSurveyMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class InThreadSurveyPrivacyStatementPart(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TEXT_FIELD_NUMBER: builtins.int + URL_FIELD_NUMBER: builtins.int + text: builtins.str + URL: builtins.str + def __init__( + self, + *, + text: builtins.str | None = ..., + URL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "text", b"text"]) -> None: ... + + @typing.final + class InThreadSurveyOption(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STRINGVALUE_FIELD_NUMBER: builtins.int + NUMERICVALUE_FIELD_NUMBER: builtins.int + TEXTTRANSLATED_FIELD_NUMBER: builtins.int + stringValue: builtins.str + numericValue: builtins.int + textTranslated: builtins.str + def __init__( + self, + *, + stringValue: builtins.str | None = ..., + numericValue: builtins.int | None = ..., + textTranslated: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["numericValue", b"numericValue", "stringValue", b"stringValue", "textTranslated", b"textTranslated"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["numericValue", b"numericValue", "stringValue", b"stringValue", "textTranslated", b"textTranslated"]) -> None: ... + + @typing.final + class InThreadSurveyQuestion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + QUESTIONTEXT_FIELD_NUMBER: builtins.int + QUESTIONID_FIELD_NUMBER: builtins.int + QUESTIONOPTIONS_FIELD_NUMBER: builtins.int + questionText: builtins.str + questionID: builtins.str + @property + def questionOptions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InThreadSurveyMetadata.InThreadSurveyOption]: ... + def __init__( + self, + *, + questionText: builtins.str | None = ..., + questionID: builtins.str | None = ..., + questionOptions: collections.abc.Iterable[global___InThreadSurveyMetadata.InThreadSurveyOption] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["questionID", b"questionID", "questionText", b"questionText"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["questionID", b"questionID", "questionOptions", b"questionOptions", "questionText", b"questionText"]) -> None: ... + + TESSASESSIONID_FIELD_NUMBER: builtins.int + SIMONSESSIONID_FIELD_NUMBER: builtins.int + SIMONSURVEYID_FIELD_NUMBER: builtins.int + TESSAROOTID_FIELD_NUMBER: builtins.int + REQUESTID_FIELD_NUMBER: builtins.int + TESSAEVENT_FIELD_NUMBER: builtins.int + INVITATIONHEADERTEXT_FIELD_NUMBER: builtins.int + INVITATIONBODYTEXT_FIELD_NUMBER: builtins.int + INVITATIONCTATEXT_FIELD_NUMBER: builtins.int + INVITATIONCTAURL_FIELD_NUMBER: builtins.int + SURVEYTITLE_FIELD_NUMBER: builtins.int + QUESTIONS_FIELD_NUMBER: builtins.int + SURVEYCONTINUEBUTTONTEXT_FIELD_NUMBER: builtins.int + SURVEYSUBMITBUTTONTEXT_FIELD_NUMBER: builtins.int + PRIVACYSTATEMENTFULL_FIELD_NUMBER: builtins.int + PRIVACYSTATEMENTPARTS_FIELD_NUMBER: builtins.int + FEEDBACKTOASTTEXT_FIELD_NUMBER: builtins.int + tessaSessionID: builtins.str + simonSessionID: builtins.str + simonSurveyID: builtins.str + tessaRootID: builtins.str + requestID: builtins.str + tessaEvent: builtins.str + invitationHeaderText: builtins.str + invitationBodyText: builtins.str + invitationCtaText: builtins.str + invitationCtaURL: builtins.str + surveyTitle: builtins.str + surveyContinueButtonText: builtins.str + surveySubmitButtonText: builtins.str + privacyStatementFull: builtins.str + feedbackToastText: builtins.str + @property + def questions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InThreadSurveyMetadata.InThreadSurveyQuestion]: ... + @property + def privacyStatementParts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InThreadSurveyMetadata.InThreadSurveyPrivacyStatementPart]: ... + def __init__( + self, + *, + tessaSessionID: builtins.str | None = ..., + simonSessionID: builtins.str | None = ..., + simonSurveyID: builtins.str | None = ..., + tessaRootID: builtins.str | None = ..., + requestID: builtins.str | None = ..., + tessaEvent: builtins.str | None = ..., + invitationHeaderText: builtins.str | None = ..., + invitationBodyText: builtins.str | None = ..., + invitationCtaText: builtins.str | None = ..., + invitationCtaURL: builtins.str | None = ..., + surveyTitle: builtins.str | None = ..., + questions: collections.abc.Iterable[global___InThreadSurveyMetadata.InThreadSurveyQuestion] | None = ..., + surveyContinueButtonText: builtins.str | None = ..., + surveySubmitButtonText: builtins.str | None = ..., + privacyStatementFull: builtins.str | None = ..., + privacyStatementParts: collections.abc.Iterable[global___InThreadSurveyMetadata.InThreadSurveyPrivacyStatementPart] | None = ..., + feedbackToastText: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["feedbackToastText", b"feedbackToastText", "invitationBodyText", b"invitationBodyText", "invitationCtaText", b"invitationCtaText", "invitationCtaURL", b"invitationCtaURL", "invitationHeaderText", b"invitationHeaderText", "privacyStatementFull", b"privacyStatementFull", "requestID", b"requestID", "simonSessionID", b"simonSessionID", "simonSurveyID", b"simonSurveyID", "surveyContinueButtonText", b"surveyContinueButtonText", "surveySubmitButtonText", b"surveySubmitButtonText", "surveyTitle", b"surveyTitle", "tessaEvent", b"tessaEvent", "tessaRootID", b"tessaRootID", "tessaSessionID", b"tessaSessionID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["feedbackToastText", b"feedbackToastText", "invitationBodyText", b"invitationBodyText", "invitationCtaText", b"invitationCtaText", "invitationCtaURL", b"invitationCtaURL", "invitationHeaderText", b"invitationHeaderText", "privacyStatementFull", b"privacyStatementFull", "privacyStatementParts", b"privacyStatementParts", "questions", b"questions", "requestID", b"requestID", "simonSessionID", b"simonSessionID", "simonSurveyID", b"simonSurveyID", "surveyContinueButtonText", b"surveyContinueButtonText", "surveySubmitButtonText", b"surveySubmitButtonText", "surveyTitle", b"surveyTitle", "tessaEvent", b"tessaEvent", "tessaRootID", b"tessaRootID", "tessaSessionID", b"tessaSessionID"]) -> None: ... + +global___InThreadSurveyMetadata = InThreadSurveyMetadata + +@typing.final +class BotMessageOriginMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ORIGINS_FIELD_NUMBER: builtins.int + @property + def origins(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMessageOrigin]: ... + def __init__( + self, + *, + origins: collections.abc.Iterable[global___BotMessageOrigin] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["origins", b"origins"]) -> None: ... + +global___BotMessageOriginMetadata = BotMessageOriginMetadata + +@typing.final +class BotUnifiedResponseMutation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class MediaDetailsMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + HIGHRESMEDIA_FIELD_NUMBER: builtins.int + PREVIEWMEDIA_FIELD_NUMBER: builtins.int + ID: builtins.str + @property + def highResMedia(self) -> global___BotMediaMetadata: ... + @property + def previewMedia(self) -> global___BotMediaMetadata: ... + def __init__( + self, + *, + ID: builtins.str | None = ..., + highResMedia: global___BotMediaMetadata | None = ..., + previewMedia: global___BotMediaMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "highResMedia", b"highResMedia", "previewMedia", b"previewMedia"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "highResMedia", b"highResMedia", "previewMedia", b"previewMedia"]) -> None: ... + + @typing.final + class SideBySideMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRIMARYRESPONSEID_FIELD_NUMBER: builtins.int + primaryResponseID: builtins.str + def __init__( + self, + *, + primaryResponseID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["primaryResponseID", b"primaryResponseID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["primaryResponseID", b"primaryResponseID"]) -> None: ... + + SBSMETADATA_FIELD_NUMBER: builtins.int + MEDIADETAILSMETADATALIST_FIELD_NUMBER: builtins.int + @property + def sbsMetadata(self) -> global___BotUnifiedResponseMutation.SideBySideMetadata: ... + @property + def mediaDetailsMetadataList(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotUnifiedResponseMutation.MediaDetailsMetadata]: ... + def __init__( + self, + *, + sbsMetadata: global___BotUnifiedResponseMutation.SideBySideMetadata | None = ..., + mediaDetailsMetadataList: collections.abc.Iterable[global___BotUnifiedResponseMutation.MediaDetailsMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sbsMetadata", b"sbsMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mediaDetailsMetadataList", b"mediaDetailsMetadataList", "sbsMetadata", b"sbsMetadata"]) -> None: ... + +global___BotUnifiedResponseMutation = BotUnifiedResponseMutation + +@typing.final +class BotMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AVATARMETADATA_FIELD_NUMBER: builtins.int + PERSONAID_FIELD_NUMBER: builtins.int + PLUGINMETADATA_FIELD_NUMBER: builtins.int + SUGGESTEDPROMPTMETADATA_FIELD_NUMBER: builtins.int + INVOKERJID_FIELD_NUMBER: builtins.int + SESSIONMETADATA_FIELD_NUMBER: builtins.int + MEMUMETADATA_FIELD_NUMBER: builtins.int + TIMEZONE_FIELD_NUMBER: builtins.int + REMINDERMETADATA_FIELD_NUMBER: builtins.int + MODELMETADATA_FIELD_NUMBER: builtins.int + MESSAGEDISCLAIMERTEXT_FIELD_NUMBER: builtins.int + PROGRESSINDICATORMETADATA_FIELD_NUMBER: builtins.int + CAPABILITYMETADATA_FIELD_NUMBER: builtins.int + IMAGINEMETADATA_FIELD_NUMBER: builtins.int + MEMORYMETADATA_FIELD_NUMBER: builtins.int + RENDERINGMETADATA_FIELD_NUMBER: builtins.int + BOTMETRICSMETADATA_FIELD_NUMBER: builtins.int + BOTLINKEDACCOUNTSMETADATA_FIELD_NUMBER: builtins.int + RICHRESPONSESOURCESMETADATA_FIELD_NUMBER: builtins.int + AICONVERSATIONCONTEXT_FIELD_NUMBER: builtins.int + BOTPROMOTIONMESSAGEMETADATA_FIELD_NUMBER: builtins.int + BOTMODESELECTIONMETADATA_FIELD_NUMBER: builtins.int + BOTQUOTAMETADATA_FIELD_NUMBER: builtins.int + BOTAGECOLLECTIONMETADATA_FIELD_NUMBER: builtins.int + CONVERSATIONSTARTERPROMPTID_FIELD_NUMBER: builtins.int + BOTRESPONSEID_FIELD_NUMBER: builtins.int + VERIFICATIONMETADATA_FIELD_NUMBER: builtins.int + UNIFIEDRESPONSEMUTATION_FIELD_NUMBER: builtins.int + BOTMESSAGEORIGINMETADATA_FIELD_NUMBER: builtins.int + INTHREADSURVEYMETADATA_FIELD_NUMBER: builtins.int + BOTTHREADINFO_FIELD_NUMBER: builtins.int + INTERNALMETADATA_FIELD_NUMBER: builtins.int + personaID: builtins.str + invokerJID: builtins.str + timezone: builtins.str + messageDisclaimerText: builtins.str + aiConversationContext: builtins.bytes + conversationStarterPromptID: builtins.str + botResponseID: builtins.str + internalMetadata: builtins.bytes + @property + def avatarMetadata(self) -> global___BotAvatarMetadata: ... + @property + def pluginMetadata(self) -> global___BotPluginMetadata: ... + @property + def suggestedPromptMetadata(self) -> global___BotSuggestedPromptMetadata: ... + @property + def sessionMetadata(self) -> global___BotSessionMetadata: ... + @property + def memuMetadata(self) -> global___BotMemuMetadata: ... + @property + def reminderMetadata(self) -> global___BotReminderMetadata: ... + @property + def modelMetadata(self) -> global___BotModelMetadata: ... + @property + def progressIndicatorMetadata(self) -> global___BotProgressIndicatorMetadata: ... + @property + def capabilityMetadata(self) -> global___BotCapabilityMetadata: ... + @property + def imagineMetadata(self) -> global___BotImagineMetadata: ... + @property + def memoryMetadata(self) -> global___BotMemoryMetadata: ... + @property + def renderingMetadata(self) -> global___BotRenderingMetadata: ... + @property + def botMetricsMetadata(self) -> global___BotMetricsMetadata: ... + @property + def botLinkedAccountsMetadata(self) -> global___BotLinkedAccountsMetadata: ... + @property + def richResponseSourcesMetadata(self) -> global___BotSourcesMetadata: ... + @property + def botPromotionMessageMetadata(self) -> global___BotPromotionMessageMetadata: ... + @property + def botModeSelectionMetadata(self) -> global___BotModeSelectionMetadata: ... + @property + def botQuotaMetadata(self) -> global___BotQuotaMetadata: ... + @property + def botAgeCollectionMetadata(self) -> global___BotAgeCollectionMetadata: ... + @property + def verificationMetadata(self) -> global___BotSignatureVerificationMetadata: ... + @property + def unifiedResponseMutation(self) -> global___BotUnifiedResponseMutation: ... + @property + def botMessageOriginMetadata(self) -> global___BotMessageOriginMetadata: ... + @property + def inThreadSurveyMetadata(self) -> global___InThreadSurveyMetadata: ... + @property + def botThreadInfo(self) -> global___AIThreadInfo: ... + def __init__( + self, + *, + avatarMetadata: global___BotAvatarMetadata | None = ..., + personaID: builtins.str | None = ..., + pluginMetadata: global___BotPluginMetadata | None = ..., + suggestedPromptMetadata: global___BotSuggestedPromptMetadata | None = ..., + invokerJID: builtins.str | None = ..., + sessionMetadata: global___BotSessionMetadata | None = ..., + memuMetadata: global___BotMemuMetadata | None = ..., + timezone: builtins.str | None = ..., + reminderMetadata: global___BotReminderMetadata | None = ..., + modelMetadata: global___BotModelMetadata | None = ..., + messageDisclaimerText: builtins.str | None = ..., + progressIndicatorMetadata: global___BotProgressIndicatorMetadata | None = ..., + capabilityMetadata: global___BotCapabilityMetadata | None = ..., + imagineMetadata: global___BotImagineMetadata | None = ..., + memoryMetadata: global___BotMemoryMetadata | None = ..., + renderingMetadata: global___BotRenderingMetadata | None = ..., + botMetricsMetadata: global___BotMetricsMetadata | None = ..., + botLinkedAccountsMetadata: global___BotLinkedAccountsMetadata | None = ..., + richResponseSourcesMetadata: global___BotSourcesMetadata | None = ..., + aiConversationContext: builtins.bytes | None = ..., + botPromotionMessageMetadata: global___BotPromotionMessageMetadata | None = ..., + botModeSelectionMetadata: global___BotModeSelectionMetadata | None = ..., + botQuotaMetadata: global___BotQuotaMetadata | None = ..., + botAgeCollectionMetadata: global___BotAgeCollectionMetadata | None = ..., + conversationStarterPromptID: builtins.str | None = ..., + botResponseID: builtins.str | None = ..., + verificationMetadata: global___BotSignatureVerificationMetadata | None = ..., + unifiedResponseMutation: global___BotUnifiedResponseMutation | None = ..., + botMessageOriginMetadata: global___BotMessageOriginMetadata | None = ..., + inThreadSurveyMetadata: global___InThreadSurveyMetadata | None = ..., + botThreadInfo: global___AIThreadInfo | None = ..., + internalMetadata: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["aiConversationContext", b"aiConversationContext", "avatarMetadata", b"avatarMetadata", "botAgeCollectionMetadata", b"botAgeCollectionMetadata", "botLinkedAccountsMetadata", b"botLinkedAccountsMetadata", "botMessageOriginMetadata", b"botMessageOriginMetadata", "botMetricsMetadata", b"botMetricsMetadata", "botModeSelectionMetadata", b"botModeSelectionMetadata", "botPromotionMessageMetadata", b"botPromotionMessageMetadata", "botQuotaMetadata", b"botQuotaMetadata", "botResponseID", b"botResponseID", "botThreadInfo", b"botThreadInfo", "capabilityMetadata", b"capabilityMetadata", "conversationStarterPromptID", b"conversationStarterPromptID", "imagineMetadata", b"imagineMetadata", "inThreadSurveyMetadata", b"inThreadSurveyMetadata", "internalMetadata", b"internalMetadata", "invokerJID", b"invokerJID", "memoryMetadata", b"memoryMetadata", "memuMetadata", b"memuMetadata", "messageDisclaimerText", b"messageDisclaimerText", "modelMetadata", b"modelMetadata", "personaID", b"personaID", "pluginMetadata", b"pluginMetadata", "progressIndicatorMetadata", b"progressIndicatorMetadata", "reminderMetadata", b"reminderMetadata", "renderingMetadata", b"renderingMetadata", "richResponseSourcesMetadata", b"richResponseSourcesMetadata", "sessionMetadata", b"sessionMetadata", "suggestedPromptMetadata", b"suggestedPromptMetadata", "timezone", b"timezone", "unifiedResponseMutation", b"unifiedResponseMutation", "verificationMetadata", b"verificationMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["aiConversationContext", b"aiConversationContext", "avatarMetadata", b"avatarMetadata", "botAgeCollectionMetadata", b"botAgeCollectionMetadata", "botLinkedAccountsMetadata", b"botLinkedAccountsMetadata", "botMessageOriginMetadata", b"botMessageOriginMetadata", "botMetricsMetadata", b"botMetricsMetadata", "botModeSelectionMetadata", b"botModeSelectionMetadata", "botPromotionMessageMetadata", b"botPromotionMessageMetadata", "botQuotaMetadata", b"botQuotaMetadata", "botResponseID", b"botResponseID", "botThreadInfo", b"botThreadInfo", "capabilityMetadata", b"capabilityMetadata", "conversationStarterPromptID", b"conversationStarterPromptID", "imagineMetadata", b"imagineMetadata", "inThreadSurveyMetadata", b"inThreadSurveyMetadata", "internalMetadata", b"internalMetadata", "invokerJID", b"invokerJID", "memoryMetadata", b"memoryMetadata", "memuMetadata", b"memuMetadata", "messageDisclaimerText", b"messageDisclaimerText", "modelMetadata", b"modelMetadata", "personaID", b"personaID", "pluginMetadata", b"pluginMetadata", "progressIndicatorMetadata", b"progressIndicatorMetadata", "reminderMetadata", b"reminderMetadata", "renderingMetadata", b"renderingMetadata", "richResponseSourcesMetadata", b"richResponseSourcesMetadata", "sessionMetadata", b"sessionMetadata", "suggestedPromptMetadata", b"suggestedPromptMetadata", "timezone", b"timezone", "unifiedResponseMutation", b"unifiedResponseMutation", "verificationMetadata", b"verificationMetadata"]) -> None: ... + +global___BotMetadata = BotMetadata diff --git a/neonize/proto/waBotMetadata/WAWebProtobufsBotMetadata_pb2.py b/neonize/proto/waBotMetadata/WAWebProtobufsBotMetadata_pb2.py new file mode 100644 index 00000000..010c8f66 --- /dev/null +++ b/neonize/proto/waBotMetadata/WAWebProtobufsBotMetadata_pb2.py @@ -0,0 +1,156 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waBotMetadata/WAWebProtobufsBotMetadata.proto +# Protobuf Python Version: 6.30.2 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 30, + 2, + '', + 'waBotMetadata/WAWebProtobufsBotMetadata.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-waBotMetadata/WAWebProtobufsBotMetadata.proto\x12\x19WAWebProtobufsBotMetadata\x1a\x17waCommon/WACommon.proto\"\xb5\x05\n\x11\x42otPluginMetadata\x12M\n\x08provider\x18\x01 \x01(\x0e\x32;.WAWebProtobufsBotMetadata.BotPluginMetadata.SearchProvider\x12K\n\npluginType\x18\x02 \x01(\x0e\x32\x37.WAWebProtobufsBotMetadata.BotPluginMetadata.PluginType\x12\x17\n\x0fthumbnailCDNURL\x18\x03 \x01(\t\x12\x1a\n\x12profilePhotoCDNURL\x18\x04 \x01(\t\x12\x19\n\x11searchProviderURL\x18\x05 \x01(\t\x12\x16\n\x0ereferenceIndex\x18\x06 \x01(\r\x12\x1a\n\x12\x65xpectedLinksCount\x18\x07 \x01(\r\x12\x13\n\x0bsearchQuery\x18\t \x01(\t\x12\x34\n\x16parentPluginMessageKey\x18\n \x01(\x0b\x32\x14.WACommon.MessageKey\x12P\n\x0f\x64\x65precatedField\x18\x0b \x01(\x0e\x32\x37.WAWebProtobufsBotMetadata.BotPluginMetadata.PluginType\x12Q\n\x10parentPluginType\x18\x0c \x01(\x0e\x32\x37.WAWebProtobufsBotMetadata.BotPluginMetadata.PluginType\x12\x15\n\rfaviconCDNURL\x18\r \x01(\t\"7\n\nPluginType\x12\x12\n\x0eUNKNOWN_PLUGIN\x10\x00\x12\t\n\x05REELS\x10\x01\x12\n\n\x06SEARCH\x10\x02\"@\n\x0eSearchProvider\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x42ING\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x0b\n\x07SUPPORT\x10\x03\"\x9a\x01\n\x10\x42otLinkedAccount\x12N\n\x04type\x18\x01 \x01(\x0e\x32@.WAWebProtobufsBotMetadata.BotLinkedAccount.BotLinkedAccountType\"6\n\x14\x42otLinkedAccountType\x12\x1e\n\x1a\x42OT_LINKED_ACCOUNT_TYPE_1P\x10\x00\"\xf1\x01\n$BotSignatureVerificationUseCaseProof\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x64\n\x07useCase\x18\x02 \x01(\x0e\x32S.WAWebProtobufsBotMetadata.BotSignatureVerificationUseCaseProof.BotSignatureUseCase\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x18\n\x10\x63\x65rtificateChain\x18\x04 \x01(\x0c\"%\n\x13\x42otSignatureUseCase\x12\x0e\n\nWA_BOT_MSG\x10\x00\"\xc1\x01\n\x1b\x42otPromotionMessageMetadata\x12^\n\rpromotionType\x18\x01 \x01(\x0e\x32G.WAWebProtobufsBotMetadata.BotPromotionMessageMetadata.BotPromotionType\x12\x13\n\x0b\x62uttonTitle\x18\x02 \x01(\t\"-\n\x10\x42otPromotionType\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\x07\n\x03\x43\x35\x30\x10\x01\"\x9a\x02\n\x10\x42otMediaMetadata\x12\x12\n\nfileSHA256\x18\x01 \x01(\t\x12\x10\n\x08mediaKey\x18\x02 \x01(\t\x12\x15\n\rfileEncSHA256\x18\x03 \x01(\t\x12\x12\n\ndirectPath\x18\x04 \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x05 \x01(\x03\x12\x10\n\x08mimetype\x18\x06 \x01(\t\x12T\n\x0forientationType\x18\x07 \x01(\x0e\x32;.WAWebProtobufsBotMetadata.BotMediaMetadata.OrientationType\"2\n\x0fOrientationType\x12\n\n\x06\x43\x45NTER\x10\x01\x12\x08\n\x04LEFT\x10\x02\x12\t\n\x05RIGHT\x10\x03\"\xa9\x03\n\x13\x42otReminderMetadata\x12/\n\x11requestMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12M\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32=.WAWebProtobufsBotMetadata.BotReminderMetadata.ReminderAction\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x1c\n\x14nextTriggerTimestamp\x18\x04 \x01(\x04\x12S\n\tfrequency\x18\x05 \x01(\x0e\x32@.WAWebProtobufsBotMetadata.BotReminderMetadata.ReminderFrequency\"O\n\x11ReminderFrequency\x12\x08\n\x04ONCE\x10\x01\x12\t\n\x05\x44\x41ILY\x10\x02\x12\n\n\x06WEEKLY\x10\x03\x12\x0c\n\x08\x42IWEEKLY\x10\x04\x12\x0b\n\x07MONTHLY\x10\x05\"@\n\x0eReminderAction\x12\n\n\x06NOTIFY\x10\x01\x12\n\n\x06\x43REATE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\x12\n\n\x06UPDATE\x10\x04\"\xd0\x02\n\x10\x42otModelMetadata\x12H\n\tmodelType\x18\x01 \x01(\x0e\x32\x35.WAWebProtobufsBotMetadata.BotModelMetadata.ModelType\x12Z\n\x12premiumModelStatus\x18\x02 \x01(\x0e\x32>.WAWebProtobufsBotMetadata.BotModelMetadata.PremiumModelStatus\"O\n\x12PremiumModelStatus\x12\x12\n\x0eUNKNOWN_STATUS\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\x16\n\x12QUOTA_EXCEED_LIMIT\x10\x02\"E\n\tModelType\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\x0e\n\nLLAMA_PROD\x10\x01\x12\x16\n\x12LLAMA_PROD_PREMIUM\x10\x02\"\xab\x0c\n\x1c\x42otProgressIndicatorMetadata\x12\x1b\n\x13progressDescription\x18\x01 \x01(\t\x12\x66\n\rstepsMetadata\x18\x02 \x03(\x0b\x32O.WAWebProtobufsBotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata\x1a\x85\x0b\n\x17\x42otPlanningStepMetadata\x12\x13\n\x0bstatusTitle\x18\x01 \x01(\t\x12\x12\n\nstatusBody\x18\x02 \x01(\t\x12\x89\x01\n\x0fsourcesMetadata\x18\x03 \x03(\x0b\x32p.WAWebProtobufsBotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata\x12r\n\x06status\x18\x04 \x01(\x0e\x32\x62.WAWebProtobufsBotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus\x12\x13\n\x0bisReasoning\x18\x05 \x01(\x08\x12\x18\n\x10isEnhancedSearch\x18\x06 \x01(\x08\x12\x80\x01\n\x08sections\x18\x07 \x03(\x0b\x32n.WAWebProtobufsBotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata\x1a\xc1\x02\n BotPlanningSearchSourcesMetadata\x12\x13\n\x0bsourceTitle\x18\x01 \x01(\t\x12\xa3\x01\n\x08provider\x18\x02 \x01(\x0e\x32\x90\x01.WAWebProtobufsBotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider\x12\x11\n\tsourceURL\x18\x03 \x01(\t\"O\n\x1f\x42otPlanningSearchSourceProvider\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05OTHER\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x08\n\x04\x42ING\x10\x03\x1a\xd6\x01\n\x1e\x42otPlanningStepSectionMetadata\x12\x14\n\x0csectionTitle\x18\x01 \x01(\t\x12\x13\n\x0bsectionBody\x18\x02 \x01(\t\x12\x88\x01\n\x0fsourcesMetadata\x18\x03 \x03(\x0b\x32o.WAWebProtobufsBotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata\x1a\xd2\x01\n\x1f\x42otPlanningSearchSourceMetadata\x12\r\n\x05title\x18\x01 \x01(\t\x12y\n\x08provider\x18\x02 \x01(\x0e\x32g.WAWebProtobufsBotMetadata.BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider\x12\x11\n\tsourceURL\x18\x03 \x01(\t\x12\x12\n\nfavIconURL\x18\x04 \x01(\t\"P\n\x17\x42otSearchSourceProvider\x12\x14\n\x10UNKNOWN_PROVIDER\x10\x00\x12\t\n\x05OTHER\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x08\n\x04\x42ING\x10\x03\"K\n\x12PlanningStepStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07PLANNED\x10\x01\x12\r\n\tEXECUTING\x10\x02\x12\x0c\n\x08\x46INISHED\x10\x03\"\xaf\n\n\x15\x42otCapabilityMetadata\x12X\n\x0c\x63\x61pabilities\x18\x01 \x03(\x0e\x32\x42.WAWebProtobufsBotMetadata.BotCapabilityMetadata.BotCapabilityType\"\xbb\t\n\x11\x42otCapabilityType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x16\n\x12PROGRESS_INDICATOR\x10\x01\x12\x19\n\x15RICH_RESPONSE_HEADING\x10\x02\x12\x1d\n\x19RICH_RESPONSE_NESTED_LIST\x10\x03\x12\r\n\tAI_MEMORY\x10\x04\x12 \n\x1cRICH_RESPONSE_THREAD_SURFING\x10\x05\x12\x17\n\x13RICH_RESPONSE_TABLE\x10\x06\x12\x16\n\x12RICH_RESPONSE_CODE\x10\x07\x12%\n!RICH_RESPONSE_STRUCTURED_RESPONSE\x10\x08\x12\x1e\n\x1aRICH_RESPONSE_INLINE_IMAGE\x10\t\x12#\n\x1fWA_IG_1P_PLUGIN_RANKING_CONTROL\x10\n\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_1\x10\x0b\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_2\x10\x0c\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_3\x10\r\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_4\x10\x0e\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_5\x10\x0f\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_6\x10\x10\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_7\x10\x11\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_8\x10\x12\x12$\n WA_IG_1P_PLUGIN_RANKING_UPDATE_9\x10\x13\x12%\n!WA_IG_1P_PLUGIN_RANKING_UPDATE_10\x10\x14\x12\x1d\n\x19RICH_RESPONSE_SUB_HEADING\x10\x15\x12\x1c\n\x18RICH_RESPONSE_GRID_IMAGE\x10\x16\x12\x18\n\x14\x41I_STUDIO_UGC_MEMORY\x10\x17\x12\x17\n\x13RICH_RESPONSE_LATEX\x10\x18\x12\x16\n\x12RICH_RESPONSE_MAPS\x10\x19\x12\x1e\n\x1aRICH_RESPONSE_INLINE_REELS\x10\x1a\x12\x14\n\x10\x41GENTIC_PLANNING\x10\x1b\x12\x13\n\x0f\x41\x43\x43OUNT_LINKING\x10\x1c\x12\x1c\n\x18STREAMING_DISAGGREGATION\x10\x1d\x12\x1f\n\x1bRICH_RESPONSE_GRID_IMAGE_3P\x10\x1e\x12\x1e\n\x1aRICH_RESPONSE_LATEX_INLINE\x10\x1f\x12\x0e\n\nQUERY_PLAN\x10 \x12\x15\n\x11PROACTIVE_MESSAGE\x10!\x12\"\n\x1eRICH_RESPONSE_UNIFIED_RESPONSE\x10\"\x12\x15\n\x11PROMOTION_MESSAGE\x10#\x12\x1b\n\x17SIMPLIFIED_PROFILE_PAGE\x10$\x12$\n RICH_RESPONSE_SOURCES_IN_MESSAGE\x10%\x12%\n!RICH_RESPONSE_SIDE_BY_SIDE_SURVEY\x10&\"\xb0\x01\n\x18\x42otModeSelectionMetadata\x12V\n\x04mode\x18\x01 \x03(\x0e\x32H.WAWebProtobufsBotMetadata.BotModeSelectionMetadata.BotUserSelectionMode\"<\n\x14\x42otUserSelectionMode\x12\x10\n\x0cUNKNOWN_MODE\x10\x00\x12\x12\n\x0eREASONING_MODE\x10\x01\"\xf0\x02\n\x10\x42otQuotaMetadata\x12\x64\n\x17\x62otFeatureQuotaMetadata\x18\x01 \x03(\x0b\x32\x43.WAWebProtobufsBotMetadata.BotQuotaMetadata.BotFeatureQuotaMetadata\x1a\xf5\x01\n\x17\x42otFeatureQuotaMetadata\x12g\n\x0b\x66\x65\x61tureType\x18\x01 \x01(\x0e\x32R.WAWebProtobufsBotMetadata.BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType\x12\x16\n\x0eremainingQuota\x18\x02 \x01(\r\x12\x1b\n\x13\x65xpirationTimestamp\x18\x03 \x01(\x04\"<\n\x0e\x42otFeatureType\x12\x13\n\x0fUNKNOWN_FEATURE\x10\x00\x12\x15\n\x11REASONING_FEATURE\x10\x01\"\xac\x01\n\x12\x42otImagineMetadata\x12N\n\x0bimagineType\x18\x01 \x01(\x0e\x32\x39.WAWebProtobufsBotMetadata.BotImagineMetadata.ImagineType\"F\n\x0bImagineType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07IMAGINE\x10\x01\x12\x08\n\x04MEMU\x10\x02\x12\t\n\x05\x46LASH\x10\x03\x12\x08\n\x04\x45\x44IT\x10\x04\"\xac\x03\n\x12\x42otSourcesMetadata\x12L\n\x07sources\x18\x01 \x03(\x0b\x32;.WAWebProtobufsBotMetadata.BotSourcesMetadata.BotSourceItem\x1a\xc7\x02\n\rBotSourceItem\x12\\\n\x08provider\x18\x01 \x01(\x0e\x32J.WAWebProtobufsBotMetadata.BotSourcesMetadata.BotSourceItem.SourceProvider\x12\x17\n\x0fthumbnailCDNURL\x18\x02 \x01(\t\x12\x19\n\x11sourceProviderURL\x18\x03 \x01(\t\x12\x13\n\x0bsourceQuery\x18\x04 \x01(\t\x12\x15\n\rfaviconCDNURL\x18\x05 \x01(\t\x12\x16\n\x0e\x63itationNumber\x18\x06 \x01(\r\x12\x13\n\x0bsourceTitle\x18\x07 \x01(\t\"K\n\x0eSourceProvider\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x42ING\x10\x01\x12\n\n\x06GOOGLE\x10\x02\x12\x0b\n\x07SUPPORT\x10\x03\x12\t\n\x05OTHER\x10\x04\"\xa4\x01\n\x10\x42otMessageOrigin\x12N\n\x04type\x18\x01 \x01(\x0e\x32@.WAWebProtobufsBotMetadata.BotMessageOrigin.BotMessageOriginType\"@\n\x14\x42otMessageOriginType\x12(\n$BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED\x10\x00\"s\n\x11\x42otAvatarMetadata\x12\x11\n\tsentiment\x18\x01 \x01(\r\x12\x15\n\rbehaviorGraph\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\r\x12\x11\n\tintensity\x18\x04 \x01(\r\x12\x11\n\twordCount\x18\x05 \x01(\r\"\xb9\x01\n\x1a\x42otSuggestedPromptMetadata\x12\x18\n\x10suggestedPrompts\x18\x01 \x03(\t\x12\x1b\n\x13selectedPromptIndex\x18\x02 \x01(\r\x12J\n\x11promptSuggestions\x18\x03 \x01(\x0b\x32/.WAWebProtobufsBotMetadata.BotPromptSuggestions\x12\x18\n\x10selectedPromptID\x18\x04 \x01(\t\"[\n\x14\x42otPromptSuggestions\x12\x43\n\x0bsuggestions\x18\x01 \x03(\x0b\x32..WAWebProtobufsBotMetadata.BotPromptSuggestion\"7\n\x13\x42otPromptSuggestion\x12\x0e\n\x06prompt\x18\x01 \x01(\t\x12\x10\n\x08promptID\x18\x02 \x01(\t\"\x85\x01\n\x19\x42otLinkedAccountsMetadata\x12=\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32+.WAWebProtobufsBotMetadata.BotLinkedAccount\x12\x14\n\x0c\x61\x63\x41uthTokens\x18\x02 \x01(\x0c\x12\x13\n\x0b\x61\x63\x45rrorCode\x18\x03 \x01(\x05\"\xa5\x01\n\x11\x42otMemoryMetadata\x12<\n\naddedFacts\x18\x01 \x03(\x0b\x32(.WAWebProtobufsBotMetadata.BotMemoryFact\x12>\n\x0cremovedFacts\x18\x02 \x03(\x0b\x32(.WAWebProtobufsBotMetadata.BotMemoryFact\x12\x12\n\ndisclaimer\x18\x03 \x01(\t\"-\n\rBotMemoryFact\x12\x0c\n\x04\x66\x61\x63t\x18\x01 \x01(\t\x12\x0e\n\x06\x66\x61\x63tID\x18\x02 \x01(\t\"s\n BotSignatureVerificationMetadata\x12O\n\x06proofs\x18\x01 \x03(\x0b\x32?.WAWebProtobufsBotMetadata.BotSignatureVerificationUseCaseProof\"\x96\x01\n\x14\x42otRenderingMetadata\x12I\n\x08keywords\x18\x01 \x03(\x0b\x32\x37.WAWebProtobufsBotMetadata.BotRenderingMetadata.Keyword\x1a\x33\n\x07Keyword\x12\r\n\x05value\x18\x01 \x01(\t\x12\x19\n\x11\x61ssociatedPrompts\x18\x02 \x03(\t\"\xc8\x01\n\x12\x42otMetricsMetadata\x12\x15\n\rdestinationID\x18\x01 \x01(\t\x12N\n\x15\x64\x65stinationEntryPoint\x18\x02 \x01(\x0e\x32/.WAWebProtobufsBotMetadata.BotMetricsEntryPoint\x12K\n\x0cthreadOrigin\x18\x03 \x01(\x0e\x32\x35.WAWebProtobufsBotMetadata.BotMetricsThreadEntryPoint\"k\n\x12\x42otSessionMetadata\x12\x11\n\tsessionID\x18\x01 \x01(\t\x12\x42\n\rsessionSource\x18\x02 \x01(\x0e\x32+.WAWebProtobufsBotMetadata.BotSessionSource\"R\n\x0f\x42otMemuMetadata\x12?\n\nfaceImages\x18\x01 \x03(\x0b\x32+.WAWebProtobufsBotMetadata.BotMediaMetadata\"e\n\x18\x42otAgeCollectionMetadata\x12\x1d\n\x15\x61geCollectionEligible\x18\x01 \x01(\x08\x12*\n\"shouldTriggerAgeCollectionOnClient\x18\x02 \x01(\x08\"X\n\x18\x42otMessageOriginMetadata\x12<\n\x07origins\x18\x01 \x03(\x0b\x32+.WAWebProtobufsBotMetadata.BotMessageOrigin\"\xac\x01\n\x1a\x42otUnifiedResponseMutation\x12]\n\x0bsbsMetadata\x18\x01 \x01(\x0b\x32H.WAWebProtobufsBotMetadata.BotUnifiedResponseMutation.SideBySideMetadata\x1a/\n\x12SideBySideMetadata\x12\x19\n\x11primaryResponseID\x18\x01 \x01(\t\"\x94\x0f\n\x0b\x42otMetadata\x12\x44\n\x0e\x61vatarMetadata\x18\x01 \x01(\x0b\x32,.WAWebProtobufsBotMetadata.BotAvatarMetadata\x12\x11\n\tpersonaID\x18\x02 \x01(\t\x12\x44\n\x0epluginMetadata\x18\x03 \x01(\x0b\x32,.WAWebProtobufsBotMetadata.BotPluginMetadata\x12V\n\x17suggestedPromptMetadata\x18\x04 \x01(\x0b\x32\x35.WAWebProtobufsBotMetadata.BotSuggestedPromptMetadata\x12\x12\n\ninvokerJID\x18\x05 \x01(\t\x12\x46\n\x0fsessionMetadata\x18\x06 \x01(\x0b\x32-.WAWebProtobufsBotMetadata.BotSessionMetadata\x12@\n\x0cmemuMetadata\x18\x07 \x01(\x0b\x32*.WAWebProtobufsBotMetadata.BotMemuMetadata\x12\x10\n\x08timezone\x18\x08 \x01(\t\x12H\n\x10reminderMetadata\x18\t \x01(\x0b\x32..WAWebProtobufsBotMetadata.BotReminderMetadata\x12\x42\n\rmodelMetadata\x18\n \x01(\x0b\x32+.WAWebProtobufsBotMetadata.BotModelMetadata\x12\x1d\n\x15messageDisclaimerText\x18\x0b \x01(\t\x12Z\n\x19progressIndicatorMetadata\x18\x0c \x01(\x0b\x32\x37.WAWebProtobufsBotMetadata.BotProgressIndicatorMetadata\x12L\n\x12\x63\x61pabilityMetadata\x18\r \x01(\x0b\x32\x30.WAWebProtobufsBotMetadata.BotCapabilityMetadata\x12\x46\n\x0fimagineMetadata\x18\x0e \x01(\x0b\x32-.WAWebProtobufsBotMetadata.BotImagineMetadata\x12\x44\n\x0ememoryMetadata\x18\x0f \x01(\x0b\x32,.WAWebProtobufsBotMetadata.BotMemoryMetadata\x12J\n\x11renderingMetadata\x18\x10 \x01(\x0b\x32/.WAWebProtobufsBotMetadata.BotRenderingMetadata\x12I\n\x12\x62otMetricsMetadata\x18\x11 \x01(\x0b\x32-.WAWebProtobufsBotMetadata.BotMetricsMetadata\x12W\n\x19\x62otLinkedAccountsMetadata\x18\x12 \x01(\x0b\x32\x34.WAWebProtobufsBotMetadata.BotLinkedAccountsMetadata\x12R\n\x1brichResponseSourcesMetadata\x18\x13 \x01(\x0b\x32-.WAWebProtobufsBotMetadata.BotSourcesMetadata\x12\x1d\n\x15\x61iConversationContext\x18\x14 \x01(\x0c\x12[\n\x1b\x62otPromotionMessageMetadata\x18\x15 \x01(\x0b\x32\x36.WAWebProtobufsBotMetadata.BotPromotionMessageMetadata\x12U\n\x18\x62otModeSelectionMetadata\x18\x16 \x01(\x0b\x32\x33.WAWebProtobufsBotMetadata.BotModeSelectionMetadata\x12\x45\n\x10\x62otQuotaMetadata\x18\x17 \x01(\x0b\x32+.WAWebProtobufsBotMetadata.BotQuotaMetadata\x12U\n\x18\x62otAgeCollectionMetadata\x18\x18 \x01(\x0b\x32\x33.WAWebProtobufsBotMetadata.BotAgeCollectionMetadata\x12#\n\x1b\x63onversationStarterPromptID\x18\x19 \x01(\t\x12\x15\n\rbotResponseID\x18\x1a \x01(\t\x12Y\n\x14verificationMetadata\x18\x1b \x01(\x0b\x32;.WAWebProtobufsBotMetadata.BotSignatureVerificationMetadata\x12V\n\x17unifiedResponseMutation\x18\x1c \x01(\x0b\x32\x35.WAWebProtobufsBotMetadata.BotUnifiedResponseMutation\x12U\n\x18\x62otMessageOriginMetadata\x18\x1d \x01(\x0b\x32\x33.WAWebProtobufsBotMetadata.BotMessageOriginMetadata*\xac\x06\n\x14\x42otMetricsEntryPoint\x12\x0b\n\x07\x46\x41VICON\x10\x01\x12\x0c\n\x08\x43HATLIST\x10\x02\x12#\n\x1f\x41ISEARCH_NULL_STATE_PAPER_PLANE\x10\x03\x12\"\n\x1e\x41ISEARCH_NULL_STATE_SUGGESTION\x10\x04\x12\"\n\x1e\x41ISEARCH_TYPE_AHEAD_SUGGESTION\x10\x05\x12#\n\x1f\x41ISEARCH_TYPE_AHEAD_PAPER_PLANE\x10\x06\x12\'\n#AISEARCH_TYPE_AHEAD_RESULT_CHATLIST\x10\x07\x12\'\n#AISEARCH_TYPE_AHEAD_RESULT_MESSAGES\x10\x08\x12\x16\n\x12\x41IVOICE_SEARCH_BAR\x10\t\x12\x13\n\x0f\x41IVOICE_FAVICON\x10\n\x12\x0c\n\x08\x41ISTUDIO\x10\x0b\x12\x0c\n\x08\x44\x45\x45PLINK\x10\x0c\x12\x10\n\x0cNOTIFICATION\x10\r\x12\x1a\n\x16PROFILE_MESSAGE_BUTTON\x10\x0e\x12\x0b\n\x07\x46ORWARD\x10\x0f\x12\x10\n\x0c\x41PP_SHORTCUT\x10\x10\x12\r\n\tFF_FAMILY\x10\x11\x12\n\n\x06\x41I_TAB\x10\x12\x12\x0b\n\x07\x41I_HOME\x10\x13\x12\x19\n\x15\x41I_DEEPLINK_IMMERSIVE\x10\x14\x12\x0f\n\x0b\x41I_DEEPLINK\x10\x15\x12#\n\x1fMETA_AI_CHAT_SHORTCUT_AI_STUDIO\x10\x16\x12\x1f\n\x1bUGC_CHAT_SHORTCUT_AI_STUDIO\x10\x17\x12\x16\n\x12NEW_CHAT_AI_STUDIO\x10\x18\x12 \n\x1c\x41IVOICE_FAVICON_CALL_HISTORY\x10\x19\x12\x1c\n\x18\x41SK_META_AI_CONTEXT_MENU\x10\x1a\x12!\n\x1d\x41SK_META_AI_CONTEXT_MENU_1ON1\x10\x1b\x12\"\n\x1e\x41SK_META_AI_CONTEXT_MENU_GROUP\x10\x1c\x12\x17\n\x13INVOKE_META_AI_1ON1\x10\x1d\x12\x18\n\x14INVOKE_META_AI_GROUP\x10\x1e\x12\x13\n\x0fMETA_AI_FORWARD\x10\x1f*\xa2\x01\n\x1a\x42otMetricsThreadEntryPoint\x12\x11\n\rAI_TAB_THREAD\x10\x01\x12\x12\n\x0e\x41I_HOME_THREAD\x10\x02\x12 \n\x1c\x41I_DEEPLINK_IMMERSIVE_THREAD\x10\x03\x12\x16\n\x12\x41I_DEEPLINK_THREAD\x10\x04\x12#\n\x1f\x41SK_META_AI_CONTEXT_MENU_THREAD\x10\x05*}\n\x10\x42otSessionSource\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nNULL_STATE\x10\x01\x12\r\n\tTYPEAHEAD\x10\x02\x12\x0e\n\nUSER_INPUT\x10\x03\x12\r\n\tEMU_FLASH\x10\x04\x12\x16\n\x12\x45MU_FLASH_FOLLOWUP\x10\x05\x12\t\n\x05VOICE\x10\x06\x42)Z\'go.mau.fi/whatsmeow/proto/waBotMetadata') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waBotMetadata.WAWebProtobufsBotMetadata_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\'go.mau.fi/whatsmeow/proto/waBotMetadata' + _globals['_BOTMETRICSENTRYPOINT']._serialized_start=10465 + _globals['_BOTMETRICSENTRYPOINT']._serialized_end=11277 + _globals['_BOTMETRICSTHREADENTRYPOINT']._serialized_start=11280 + _globals['_BOTMETRICSTHREADENTRYPOINT']._serialized_end=11442 + _globals['_BOTSESSIONSOURCE']._serialized_start=11444 + _globals['_BOTSESSIONSOURCE']._serialized_end=11569 + _globals['_BOTPLUGINMETADATA']._serialized_start=102 + _globals['_BOTPLUGINMETADATA']._serialized_end=795 + _globals['_BOTPLUGINMETADATA_PLUGINTYPE']._serialized_start=674 + _globals['_BOTPLUGINMETADATA_PLUGINTYPE']._serialized_end=729 + _globals['_BOTPLUGINMETADATA_SEARCHPROVIDER']._serialized_start=731 + _globals['_BOTPLUGINMETADATA_SEARCHPROVIDER']._serialized_end=795 + _globals['_BOTLINKEDACCOUNT']._serialized_start=798 + _globals['_BOTLINKEDACCOUNT']._serialized_end=952 + _globals['_BOTLINKEDACCOUNT_BOTLINKEDACCOUNTTYPE']._serialized_start=898 + _globals['_BOTLINKEDACCOUNT_BOTLINKEDACCOUNTTYPE']._serialized_end=952 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF']._serialized_start=955 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF']._serialized_end=1196 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF_BOTSIGNATUREUSECASE']._serialized_start=1159 + _globals['_BOTSIGNATUREVERIFICATIONUSECASEPROOF_BOTSIGNATUREUSECASE']._serialized_end=1196 + _globals['_BOTPROMOTIONMESSAGEMETADATA']._serialized_start=1199 + _globals['_BOTPROMOTIONMESSAGEMETADATA']._serialized_end=1392 + _globals['_BOTPROMOTIONMESSAGEMETADATA_BOTPROMOTIONTYPE']._serialized_start=1347 + _globals['_BOTPROMOTIONMESSAGEMETADATA_BOTPROMOTIONTYPE']._serialized_end=1392 + _globals['_BOTMEDIAMETADATA']._serialized_start=1395 + _globals['_BOTMEDIAMETADATA']._serialized_end=1677 + _globals['_BOTMEDIAMETADATA_ORIENTATIONTYPE']._serialized_start=1627 + _globals['_BOTMEDIAMETADATA_ORIENTATIONTYPE']._serialized_end=1677 + _globals['_BOTREMINDERMETADATA']._serialized_start=1680 + _globals['_BOTREMINDERMETADATA']._serialized_end=2105 + _globals['_BOTREMINDERMETADATA_REMINDERFREQUENCY']._serialized_start=1960 + _globals['_BOTREMINDERMETADATA_REMINDERFREQUENCY']._serialized_end=2039 + _globals['_BOTREMINDERMETADATA_REMINDERACTION']._serialized_start=2041 + _globals['_BOTREMINDERMETADATA_REMINDERACTION']._serialized_end=2105 + _globals['_BOTMODELMETADATA']._serialized_start=2108 + _globals['_BOTMODELMETADATA']._serialized_end=2444 + _globals['_BOTMODELMETADATA_PREMIUMMODELSTATUS']._serialized_start=2294 + _globals['_BOTMODELMETADATA_PREMIUMMODELSTATUS']._serialized_end=2373 + _globals['_BOTMODELMETADATA_MODELTYPE']._serialized_start=2375 + _globals['_BOTMODELMETADATA_MODELTYPE']._serialized_end=2444 + _globals['_BOTPROGRESSINDICATORMETADATA']._serialized_start=2447 + _globals['_BOTPROGRESSINDICATORMETADATA']._serialized_end=4026 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA']._serialized_start=2613 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA']._serialized_end=4026 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA']._serialized_start=3116 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA']._serialized_end=3437 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA_BOTPLANNINGSEARCHSOURCEPROVIDER']._serialized_start=3358 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCESMETADATA_BOTPLANNINGSEARCHSOURCEPROVIDER']._serialized_end=3437 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSTEPSECTIONMETADATA']._serialized_start=3440 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSTEPSECTIONMETADATA']._serialized_end=3654 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCEMETADATA']._serialized_start=3657 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTPLANNINGSEARCHSOURCEMETADATA']._serialized_end=3867 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTSEARCHSOURCEPROVIDER']._serialized_start=3869 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_BOTSEARCHSOURCEPROVIDER']._serialized_end=3949 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_PLANNINGSTEPSTATUS']._serialized_start=3951 + _globals['_BOTPROGRESSINDICATORMETADATA_BOTPLANNINGSTEPMETADATA_PLANNINGSTEPSTATUS']._serialized_end=4026 + _globals['_BOTCAPABILITYMETADATA']._serialized_start=4029 + _globals['_BOTCAPABILITYMETADATA']._serialized_end=5356 + _globals['_BOTCAPABILITYMETADATA_BOTCAPABILITYTYPE']._serialized_start=4145 + _globals['_BOTCAPABILITYMETADATA_BOTCAPABILITYTYPE']._serialized_end=5356 + _globals['_BOTMODESELECTIONMETADATA']._serialized_start=5359 + _globals['_BOTMODESELECTIONMETADATA']._serialized_end=5535 + _globals['_BOTMODESELECTIONMETADATA_BOTUSERSELECTIONMODE']._serialized_start=5475 + _globals['_BOTMODESELECTIONMETADATA_BOTUSERSELECTIONMODE']._serialized_end=5535 + _globals['_BOTQUOTAMETADATA']._serialized_start=5538 + _globals['_BOTQUOTAMETADATA']._serialized_end=5906 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA']._serialized_start=5661 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA']._serialized_end=5906 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA_BOTFEATURETYPE']._serialized_start=5846 + _globals['_BOTQUOTAMETADATA_BOTFEATUREQUOTAMETADATA_BOTFEATURETYPE']._serialized_end=5906 + _globals['_BOTIMAGINEMETADATA']._serialized_start=5909 + _globals['_BOTIMAGINEMETADATA']._serialized_end=6081 + _globals['_BOTIMAGINEMETADATA_IMAGINETYPE']._serialized_start=6011 + _globals['_BOTIMAGINEMETADATA_IMAGINETYPE']._serialized_end=6081 + _globals['_BOTSOURCESMETADATA']._serialized_start=6084 + _globals['_BOTSOURCESMETADATA']._serialized_end=6512 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM']._serialized_start=6185 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM']._serialized_end=6512 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM_SOURCEPROVIDER']._serialized_start=6437 + _globals['_BOTSOURCESMETADATA_BOTSOURCEITEM_SOURCEPROVIDER']._serialized_end=6512 + _globals['_BOTMESSAGEORIGIN']._serialized_start=6515 + _globals['_BOTMESSAGEORIGIN']._serialized_end=6679 + _globals['_BOTMESSAGEORIGIN_BOTMESSAGEORIGINTYPE']._serialized_start=6615 + _globals['_BOTMESSAGEORIGIN_BOTMESSAGEORIGINTYPE']._serialized_end=6679 + _globals['_BOTAVATARMETADATA']._serialized_start=6681 + _globals['_BOTAVATARMETADATA']._serialized_end=6796 + _globals['_BOTSUGGESTEDPROMPTMETADATA']._serialized_start=6799 + _globals['_BOTSUGGESTEDPROMPTMETADATA']._serialized_end=6984 + _globals['_BOTPROMPTSUGGESTIONS']._serialized_start=6986 + _globals['_BOTPROMPTSUGGESTIONS']._serialized_end=7077 + _globals['_BOTPROMPTSUGGESTION']._serialized_start=7079 + _globals['_BOTPROMPTSUGGESTION']._serialized_end=7134 + _globals['_BOTLINKEDACCOUNTSMETADATA']._serialized_start=7137 + _globals['_BOTLINKEDACCOUNTSMETADATA']._serialized_end=7270 + _globals['_BOTMEMORYMETADATA']._serialized_start=7273 + _globals['_BOTMEMORYMETADATA']._serialized_end=7438 + _globals['_BOTMEMORYFACT']._serialized_start=7440 + _globals['_BOTMEMORYFACT']._serialized_end=7485 + _globals['_BOTSIGNATUREVERIFICATIONMETADATA']._serialized_start=7487 + _globals['_BOTSIGNATUREVERIFICATIONMETADATA']._serialized_end=7602 + _globals['_BOTRENDERINGMETADATA']._serialized_start=7605 + _globals['_BOTRENDERINGMETADATA']._serialized_end=7755 + _globals['_BOTRENDERINGMETADATA_KEYWORD']._serialized_start=7704 + _globals['_BOTRENDERINGMETADATA_KEYWORD']._serialized_end=7755 + _globals['_BOTMETRICSMETADATA']._serialized_start=7758 + _globals['_BOTMETRICSMETADATA']._serialized_end=7958 + _globals['_BOTSESSIONMETADATA']._serialized_start=7960 + _globals['_BOTSESSIONMETADATA']._serialized_end=8067 + _globals['_BOTMEMUMETADATA']._serialized_start=8069 + _globals['_BOTMEMUMETADATA']._serialized_end=8151 + _globals['_BOTAGECOLLECTIONMETADATA']._serialized_start=8153 + _globals['_BOTAGECOLLECTIONMETADATA']._serialized_end=8254 + _globals['_BOTMESSAGEORIGINMETADATA']._serialized_start=8256 + _globals['_BOTMESSAGEORIGINMETADATA']._serialized_end=8344 + _globals['_BOTUNIFIEDRESPONSEMUTATION']._serialized_start=8347 + _globals['_BOTUNIFIEDRESPONSEMUTATION']._serialized_end=8519 + _globals['_BOTUNIFIEDRESPONSEMUTATION_SIDEBYSIDEMETADATA']._serialized_start=8472 + _globals['_BOTUNIFIEDRESPONSEMUTATION_SIDEBYSIDEMETADATA']._serialized_end=8519 + _globals['_BOTMETADATA']._serialized_start=8522 + _globals['_BOTMETADATA']._serialized_end=10462 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waBotMetadata/WAWebProtobufsBotMetadata_pb2.pyi b/neonize/proto/waBotMetadata/WAWebProtobufsBotMetadata_pb2.pyi new file mode 100644 index 00000000..56cdc5a6 --- /dev/null +++ b/neonize/proto/waBotMetadata/WAWebProtobufsBotMetadata_pb2.pyi @@ -0,0 +1,1410 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waCommon.WACommon_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _BotMetricsEntryPoint: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _BotMetricsEntryPointEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotMetricsEntryPoint.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + FAVICON: _BotMetricsEntryPoint.ValueType # 1 + CHATLIST: _BotMetricsEntryPoint.ValueType # 2 + AISEARCH_NULL_STATE_PAPER_PLANE: _BotMetricsEntryPoint.ValueType # 3 + AISEARCH_NULL_STATE_SUGGESTION: _BotMetricsEntryPoint.ValueType # 4 + AISEARCH_TYPE_AHEAD_SUGGESTION: _BotMetricsEntryPoint.ValueType # 5 + AISEARCH_TYPE_AHEAD_PAPER_PLANE: _BotMetricsEntryPoint.ValueType # 6 + AISEARCH_TYPE_AHEAD_RESULT_CHATLIST: _BotMetricsEntryPoint.ValueType # 7 + AISEARCH_TYPE_AHEAD_RESULT_MESSAGES: _BotMetricsEntryPoint.ValueType # 8 + AIVOICE_SEARCH_BAR: _BotMetricsEntryPoint.ValueType # 9 + AIVOICE_FAVICON: _BotMetricsEntryPoint.ValueType # 10 + AISTUDIO: _BotMetricsEntryPoint.ValueType # 11 + DEEPLINK: _BotMetricsEntryPoint.ValueType # 12 + NOTIFICATION: _BotMetricsEntryPoint.ValueType # 13 + PROFILE_MESSAGE_BUTTON: _BotMetricsEntryPoint.ValueType # 14 + FORWARD: _BotMetricsEntryPoint.ValueType # 15 + APP_SHORTCUT: _BotMetricsEntryPoint.ValueType # 16 + FF_FAMILY: _BotMetricsEntryPoint.ValueType # 17 + AI_TAB: _BotMetricsEntryPoint.ValueType # 18 + AI_HOME: _BotMetricsEntryPoint.ValueType # 19 + AI_DEEPLINK_IMMERSIVE: _BotMetricsEntryPoint.ValueType # 20 + AI_DEEPLINK: _BotMetricsEntryPoint.ValueType # 21 + META_AI_CHAT_SHORTCUT_AI_STUDIO: _BotMetricsEntryPoint.ValueType # 22 + UGC_CHAT_SHORTCUT_AI_STUDIO: _BotMetricsEntryPoint.ValueType # 23 + NEW_CHAT_AI_STUDIO: _BotMetricsEntryPoint.ValueType # 24 + AIVOICE_FAVICON_CALL_HISTORY: _BotMetricsEntryPoint.ValueType # 25 + ASK_META_AI_CONTEXT_MENU: _BotMetricsEntryPoint.ValueType # 26 + ASK_META_AI_CONTEXT_MENU_1ON1: _BotMetricsEntryPoint.ValueType # 27 + ASK_META_AI_CONTEXT_MENU_GROUP: _BotMetricsEntryPoint.ValueType # 28 + INVOKE_META_AI_1ON1: _BotMetricsEntryPoint.ValueType # 29 + INVOKE_META_AI_GROUP: _BotMetricsEntryPoint.ValueType # 30 + META_AI_FORWARD: _BotMetricsEntryPoint.ValueType # 31 + +class BotMetricsEntryPoint(_BotMetricsEntryPoint, metaclass=_BotMetricsEntryPointEnumTypeWrapper): ... + +FAVICON: BotMetricsEntryPoint.ValueType # 1 +CHATLIST: BotMetricsEntryPoint.ValueType # 2 +AISEARCH_NULL_STATE_PAPER_PLANE: BotMetricsEntryPoint.ValueType # 3 +AISEARCH_NULL_STATE_SUGGESTION: BotMetricsEntryPoint.ValueType # 4 +AISEARCH_TYPE_AHEAD_SUGGESTION: BotMetricsEntryPoint.ValueType # 5 +AISEARCH_TYPE_AHEAD_PAPER_PLANE: BotMetricsEntryPoint.ValueType # 6 +AISEARCH_TYPE_AHEAD_RESULT_CHATLIST: BotMetricsEntryPoint.ValueType # 7 +AISEARCH_TYPE_AHEAD_RESULT_MESSAGES: BotMetricsEntryPoint.ValueType # 8 +AIVOICE_SEARCH_BAR: BotMetricsEntryPoint.ValueType # 9 +AIVOICE_FAVICON: BotMetricsEntryPoint.ValueType # 10 +AISTUDIO: BotMetricsEntryPoint.ValueType # 11 +DEEPLINK: BotMetricsEntryPoint.ValueType # 12 +NOTIFICATION: BotMetricsEntryPoint.ValueType # 13 +PROFILE_MESSAGE_BUTTON: BotMetricsEntryPoint.ValueType # 14 +FORWARD: BotMetricsEntryPoint.ValueType # 15 +APP_SHORTCUT: BotMetricsEntryPoint.ValueType # 16 +FF_FAMILY: BotMetricsEntryPoint.ValueType # 17 +AI_TAB: BotMetricsEntryPoint.ValueType # 18 +AI_HOME: BotMetricsEntryPoint.ValueType # 19 +AI_DEEPLINK_IMMERSIVE: BotMetricsEntryPoint.ValueType # 20 +AI_DEEPLINK: BotMetricsEntryPoint.ValueType # 21 +META_AI_CHAT_SHORTCUT_AI_STUDIO: BotMetricsEntryPoint.ValueType # 22 +UGC_CHAT_SHORTCUT_AI_STUDIO: BotMetricsEntryPoint.ValueType # 23 +NEW_CHAT_AI_STUDIO: BotMetricsEntryPoint.ValueType # 24 +AIVOICE_FAVICON_CALL_HISTORY: BotMetricsEntryPoint.ValueType # 25 +ASK_META_AI_CONTEXT_MENU: BotMetricsEntryPoint.ValueType # 26 +ASK_META_AI_CONTEXT_MENU_1ON1: BotMetricsEntryPoint.ValueType # 27 +ASK_META_AI_CONTEXT_MENU_GROUP: BotMetricsEntryPoint.ValueType # 28 +INVOKE_META_AI_1ON1: BotMetricsEntryPoint.ValueType # 29 +INVOKE_META_AI_GROUP: BotMetricsEntryPoint.ValueType # 30 +META_AI_FORWARD: BotMetricsEntryPoint.ValueType # 31 +global___BotMetricsEntryPoint = BotMetricsEntryPoint + +class _BotMetricsThreadEntryPoint: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _BotMetricsThreadEntryPointEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotMetricsThreadEntryPoint.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + AI_TAB_THREAD: _BotMetricsThreadEntryPoint.ValueType # 1 + AI_HOME_THREAD: _BotMetricsThreadEntryPoint.ValueType # 2 + AI_DEEPLINK_IMMERSIVE_THREAD: _BotMetricsThreadEntryPoint.ValueType # 3 + AI_DEEPLINK_THREAD: _BotMetricsThreadEntryPoint.ValueType # 4 + ASK_META_AI_CONTEXT_MENU_THREAD: _BotMetricsThreadEntryPoint.ValueType # 5 + +class BotMetricsThreadEntryPoint(_BotMetricsThreadEntryPoint, metaclass=_BotMetricsThreadEntryPointEnumTypeWrapper): ... + +AI_TAB_THREAD: BotMetricsThreadEntryPoint.ValueType # 1 +AI_HOME_THREAD: BotMetricsThreadEntryPoint.ValueType # 2 +AI_DEEPLINK_IMMERSIVE_THREAD: BotMetricsThreadEntryPoint.ValueType # 3 +AI_DEEPLINK_THREAD: BotMetricsThreadEntryPoint.ValueType # 4 +ASK_META_AI_CONTEXT_MENU_THREAD: BotMetricsThreadEntryPoint.ValueType # 5 +global___BotMetricsThreadEntryPoint = BotMetricsThreadEntryPoint + +class _BotSessionSource: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _BotSessionSourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotSessionSource.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: _BotSessionSource.ValueType # 0 + NULL_STATE: _BotSessionSource.ValueType # 1 + TYPEAHEAD: _BotSessionSource.ValueType # 2 + USER_INPUT: _BotSessionSource.ValueType # 3 + EMU_FLASH: _BotSessionSource.ValueType # 4 + EMU_FLASH_FOLLOWUP: _BotSessionSource.ValueType # 5 + VOICE: _BotSessionSource.ValueType # 6 + +class BotSessionSource(_BotSessionSource, metaclass=_BotSessionSourceEnumTypeWrapper): ... + +NONE: BotSessionSource.ValueType # 0 +NULL_STATE: BotSessionSource.ValueType # 1 +TYPEAHEAD: BotSessionSource.ValueType # 2 +USER_INPUT: BotSessionSource.ValueType # 3 +EMU_FLASH: BotSessionSource.ValueType # 4 +EMU_FLASH_FOLLOWUP: BotSessionSource.ValueType # 5 +VOICE: BotSessionSource.ValueType # 6 +global___BotSessionSource = BotSessionSource + +@typing.final +class BotPluginMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PluginType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PluginTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPluginMetadata._PluginType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_PLUGIN: BotPluginMetadata._PluginType.ValueType # 0 + REELS: BotPluginMetadata._PluginType.ValueType # 1 + SEARCH: BotPluginMetadata._PluginType.ValueType # 2 + + class PluginType(_PluginType, metaclass=_PluginTypeEnumTypeWrapper): ... + UNKNOWN_PLUGIN: BotPluginMetadata.PluginType.ValueType # 0 + REELS: BotPluginMetadata.PluginType.ValueType # 1 + SEARCH: BotPluginMetadata.PluginType.ValueType # 2 + + class _SearchProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SearchProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPluginMetadata._SearchProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotPluginMetadata._SearchProvider.ValueType # 0 + BING: BotPluginMetadata._SearchProvider.ValueType # 1 + GOOGLE: BotPluginMetadata._SearchProvider.ValueType # 2 + SUPPORT: BotPluginMetadata._SearchProvider.ValueType # 3 + + class SearchProvider(_SearchProvider, metaclass=_SearchProviderEnumTypeWrapper): ... + UNKNOWN: BotPluginMetadata.SearchProvider.ValueType # 0 + BING: BotPluginMetadata.SearchProvider.ValueType # 1 + GOOGLE: BotPluginMetadata.SearchProvider.ValueType # 2 + SUPPORT: BotPluginMetadata.SearchProvider.ValueType # 3 + + PROVIDER_FIELD_NUMBER: builtins.int + PLUGINTYPE_FIELD_NUMBER: builtins.int + THUMBNAILCDNURL_FIELD_NUMBER: builtins.int + PROFILEPHOTOCDNURL_FIELD_NUMBER: builtins.int + SEARCHPROVIDERURL_FIELD_NUMBER: builtins.int + REFERENCEINDEX_FIELD_NUMBER: builtins.int + EXPECTEDLINKSCOUNT_FIELD_NUMBER: builtins.int + SEARCHQUERY_FIELD_NUMBER: builtins.int + PARENTPLUGINMESSAGEKEY_FIELD_NUMBER: builtins.int + DEPRECATEDFIELD_FIELD_NUMBER: builtins.int + PARENTPLUGINTYPE_FIELD_NUMBER: builtins.int + FAVICONCDNURL_FIELD_NUMBER: builtins.int + provider: global___BotPluginMetadata.SearchProvider.ValueType + pluginType: global___BotPluginMetadata.PluginType.ValueType + thumbnailCDNURL: builtins.str + profilePhotoCDNURL: builtins.str + searchProviderURL: builtins.str + referenceIndex: builtins.int + expectedLinksCount: builtins.int + searchQuery: builtins.str + deprecatedField: global___BotPluginMetadata.PluginType.ValueType + parentPluginType: global___BotPluginMetadata.PluginType.ValueType + faviconCDNURL: builtins.str + @property + def parentPluginMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + provider: global___BotPluginMetadata.SearchProvider.ValueType | None = ..., + pluginType: global___BotPluginMetadata.PluginType.ValueType | None = ..., + thumbnailCDNURL: builtins.str | None = ..., + profilePhotoCDNURL: builtins.str | None = ..., + searchProviderURL: builtins.str | None = ..., + referenceIndex: builtins.int | None = ..., + expectedLinksCount: builtins.int | None = ..., + searchQuery: builtins.str | None = ..., + parentPluginMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + deprecatedField: global___BotPluginMetadata.PluginType.ValueType | None = ..., + parentPluginType: global___BotPluginMetadata.PluginType.ValueType | None = ..., + faviconCDNURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deprecatedField", b"deprecatedField", "expectedLinksCount", b"expectedLinksCount", "faviconCDNURL", b"faviconCDNURL", "parentPluginMessageKey", b"parentPluginMessageKey", "parentPluginType", b"parentPluginType", "pluginType", b"pluginType", "profilePhotoCDNURL", b"profilePhotoCDNURL", "provider", b"provider", "referenceIndex", b"referenceIndex", "searchProviderURL", b"searchProviderURL", "searchQuery", b"searchQuery", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deprecatedField", b"deprecatedField", "expectedLinksCount", b"expectedLinksCount", "faviconCDNURL", b"faviconCDNURL", "parentPluginMessageKey", b"parentPluginMessageKey", "parentPluginType", b"parentPluginType", "pluginType", b"pluginType", "profilePhotoCDNURL", b"profilePhotoCDNURL", "provider", b"provider", "referenceIndex", b"referenceIndex", "searchProviderURL", b"searchProviderURL", "searchQuery", b"searchQuery", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> None: ... + +global___BotPluginMetadata = BotPluginMetadata + +@typing.final +class BotLinkedAccount(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotLinkedAccountType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotLinkedAccountTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotLinkedAccount._BotLinkedAccountType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BOT_LINKED_ACCOUNT_TYPE_1P: BotLinkedAccount._BotLinkedAccountType.ValueType # 0 + + class BotLinkedAccountType(_BotLinkedAccountType, metaclass=_BotLinkedAccountTypeEnumTypeWrapper): ... + BOT_LINKED_ACCOUNT_TYPE_1P: BotLinkedAccount.BotLinkedAccountType.ValueType # 0 + + TYPE_FIELD_NUMBER: builtins.int + type: global___BotLinkedAccount.BotLinkedAccountType.ValueType + def __init__( + self, + *, + type: global___BotLinkedAccount.BotLinkedAccountType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + +global___BotLinkedAccount = BotLinkedAccount + +@typing.final +class BotSignatureVerificationUseCaseProof(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotSignatureUseCase: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotSignatureUseCaseEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotSignatureVerificationUseCaseProof._BotSignatureUseCase.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + WA_BOT_MSG: BotSignatureVerificationUseCaseProof._BotSignatureUseCase.ValueType # 0 + + class BotSignatureUseCase(_BotSignatureUseCase, metaclass=_BotSignatureUseCaseEnumTypeWrapper): ... + WA_BOT_MSG: BotSignatureVerificationUseCaseProof.BotSignatureUseCase.ValueType # 0 + + VERSION_FIELD_NUMBER: builtins.int + USECASE_FIELD_NUMBER: builtins.int + SIGNATURE_FIELD_NUMBER: builtins.int + CERTIFICATECHAIN_FIELD_NUMBER: builtins.int + version: builtins.int + useCase: global___BotSignatureVerificationUseCaseProof.BotSignatureUseCase.ValueType + signature: builtins.bytes + certificateChain: builtins.bytes + def __init__( + self, + *, + version: builtins.int | None = ..., + useCase: global___BotSignatureVerificationUseCaseProof.BotSignatureUseCase.ValueType | None = ..., + signature: builtins.bytes | None = ..., + certificateChain: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["certificateChain", b"certificateChain", "signature", b"signature", "useCase", b"useCase", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["certificateChain", b"certificateChain", "signature", b"signature", "useCase", b"useCase", "version", b"version"]) -> None: ... + +global___BotSignatureVerificationUseCaseProof = BotSignatureVerificationUseCaseProof + +@typing.final +class BotPromotionMessageMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotPromotionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotPromotionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPromotionMessageMetadata._BotPromotionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_TYPE: BotPromotionMessageMetadata._BotPromotionType.ValueType # 0 + C50: BotPromotionMessageMetadata._BotPromotionType.ValueType # 1 + + class BotPromotionType(_BotPromotionType, metaclass=_BotPromotionTypeEnumTypeWrapper): ... + UNKNOWN_TYPE: BotPromotionMessageMetadata.BotPromotionType.ValueType # 0 + C50: BotPromotionMessageMetadata.BotPromotionType.ValueType # 1 + + PROMOTIONTYPE_FIELD_NUMBER: builtins.int + BUTTONTITLE_FIELD_NUMBER: builtins.int + promotionType: global___BotPromotionMessageMetadata.BotPromotionType.ValueType + buttonTitle: builtins.str + def __init__( + self, + *, + promotionType: global___BotPromotionMessageMetadata.BotPromotionType.ValueType | None = ..., + buttonTitle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["buttonTitle", b"buttonTitle", "promotionType", b"promotionType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buttonTitle", b"buttonTitle", "promotionType", b"promotionType"]) -> None: ... + +global___BotPromotionMessageMetadata = BotPromotionMessageMetadata + +@typing.final +class BotMediaMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _OrientationType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _OrientationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotMediaMetadata._OrientationType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CENTER: BotMediaMetadata._OrientationType.ValueType # 1 + LEFT: BotMediaMetadata._OrientationType.ValueType # 2 + RIGHT: BotMediaMetadata._OrientationType.ValueType # 3 + + class OrientationType(_OrientationType, metaclass=_OrientationTypeEnumTypeWrapper): ... + CENTER: BotMediaMetadata.OrientationType.ValueType # 1 + LEFT: BotMediaMetadata.OrientationType.ValueType # 2 + RIGHT: BotMediaMetadata.OrientationType.ValueType # 3 + + FILESHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + ORIENTATIONTYPE_FIELD_NUMBER: builtins.int + fileSHA256: builtins.str + mediaKey: builtins.str + fileEncSHA256: builtins.str + directPath: builtins.str + mediaKeyTimestamp: builtins.int + mimetype: builtins.str + orientationType: global___BotMediaMetadata.OrientationType.ValueType + def __init__( + self, + *, + fileSHA256: builtins.str | None = ..., + mediaKey: builtins.str | None = ..., + fileEncSHA256: builtins.str | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + mimetype: builtins.str | None = ..., + orientationType: global___BotMediaMetadata.OrientationType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "orientationType", b"orientationType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "orientationType", b"orientationType"]) -> None: ... + +global___BotMediaMetadata = BotMediaMetadata + +@typing.final +class BotReminderMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ReminderFrequency: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ReminderFrequencyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotReminderMetadata._ReminderFrequency.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ONCE: BotReminderMetadata._ReminderFrequency.ValueType # 1 + DAILY: BotReminderMetadata._ReminderFrequency.ValueType # 2 + WEEKLY: BotReminderMetadata._ReminderFrequency.ValueType # 3 + BIWEEKLY: BotReminderMetadata._ReminderFrequency.ValueType # 4 + MONTHLY: BotReminderMetadata._ReminderFrequency.ValueType # 5 + + class ReminderFrequency(_ReminderFrequency, metaclass=_ReminderFrequencyEnumTypeWrapper): ... + ONCE: BotReminderMetadata.ReminderFrequency.ValueType # 1 + DAILY: BotReminderMetadata.ReminderFrequency.ValueType # 2 + WEEKLY: BotReminderMetadata.ReminderFrequency.ValueType # 3 + BIWEEKLY: BotReminderMetadata.ReminderFrequency.ValueType # 4 + MONTHLY: BotReminderMetadata.ReminderFrequency.ValueType # 5 + + class _ReminderAction: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ReminderActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotReminderMetadata._ReminderAction.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NOTIFY: BotReminderMetadata._ReminderAction.ValueType # 1 + CREATE: BotReminderMetadata._ReminderAction.ValueType # 2 + DELETE: BotReminderMetadata._ReminderAction.ValueType # 3 + UPDATE: BotReminderMetadata._ReminderAction.ValueType # 4 + + class ReminderAction(_ReminderAction, metaclass=_ReminderActionEnumTypeWrapper): ... + NOTIFY: BotReminderMetadata.ReminderAction.ValueType # 1 + CREATE: BotReminderMetadata.ReminderAction.ValueType # 2 + DELETE: BotReminderMetadata.ReminderAction.ValueType # 3 + UPDATE: BotReminderMetadata.ReminderAction.ValueType # 4 + + REQUESTMESSAGEKEY_FIELD_NUMBER: builtins.int + ACTION_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + NEXTTRIGGERTIMESTAMP_FIELD_NUMBER: builtins.int + FREQUENCY_FIELD_NUMBER: builtins.int + action: global___BotReminderMetadata.ReminderAction.ValueType + name: builtins.str + nextTriggerTimestamp: builtins.int + frequency: global___BotReminderMetadata.ReminderFrequency.ValueType + @property + def requestMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + requestMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + action: global___BotReminderMetadata.ReminderAction.ValueType | None = ..., + name: builtins.str | None = ..., + nextTriggerTimestamp: builtins.int | None = ..., + frequency: global___BotReminderMetadata.ReminderFrequency.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "frequency", b"frequency", "name", b"name", "nextTriggerTimestamp", b"nextTriggerTimestamp", "requestMessageKey", b"requestMessageKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "frequency", b"frequency", "name", b"name", "nextTriggerTimestamp", b"nextTriggerTimestamp", "requestMessageKey", b"requestMessageKey"]) -> None: ... + +global___BotReminderMetadata = BotReminderMetadata + +@typing.final +class BotModelMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PremiumModelStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PremiumModelStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModelMetadata._PremiumModelStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_STATUS: BotModelMetadata._PremiumModelStatus.ValueType # 0 + AVAILABLE: BotModelMetadata._PremiumModelStatus.ValueType # 1 + QUOTA_EXCEED_LIMIT: BotModelMetadata._PremiumModelStatus.ValueType # 2 + + class PremiumModelStatus(_PremiumModelStatus, metaclass=_PremiumModelStatusEnumTypeWrapper): ... + UNKNOWN_STATUS: BotModelMetadata.PremiumModelStatus.ValueType # 0 + AVAILABLE: BotModelMetadata.PremiumModelStatus.ValueType # 1 + QUOTA_EXCEED_LIMIT: BotModelMetadata.PremiumModelStatus.ValueType # 2 + + class _ModelType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ModelTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModelMetadata._ModelType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_TYPE: BotModelMetadata._ModelType.ValueType # 0 + LLAMA_PROD: BotModelMetadata._ModelType.ValueType # 1 + LLAMA_PROD_PREMIUM: BotModelMetadata._ModelType.ValueType # 2 + + class ModelType(_ModelType, metaclass=_ModelTypeEnumTypeWrapper): ... + UNKNOWN_TYPE: BotModelMetadata.ModelType.ValueType # 0 + LLAMA_PROD: BotModelMetadata.ModelType.ValueType # 1 + LLAMA_PROD_PREMIUM: BotModelMetadata.ModelType.ValueType # 2 + + MODELTYPE_FIELD_NUMBER: builtins.int + PREMIUMMODELSTATUS_FIELD_NUMBER: builtins.int + modelType: global___BotModelMetadata.ModelType.ValueType + premiumModelStatus: global___BotModelMetadata.PremiumModelStatus.ValueType + def __init__( + self, + *, + modelType: global___BotModelMetadata.ModelType.ValueType | None = ..., + premiumModelStatus: global___BotModelMetadata.PremiumModelStatus.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["modelType", b"modelType", "premiumModelStatus", b"premiumModelStatus"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["modelType", b"modelType", "premiumModelStatus", b"premiumModelStatus"]) -> None: ... + +global___BotModelMetadata = BotModelMetadata + +@typing.final +class BotProgressIndicatorMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class BotPlanningStepMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotSearchSourceProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotSearchSourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_PROVIDER: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType # 3 + + class BotSearchSourceProvider(_BotSearchSourceProvider, metaclass=_BotSearchSourceProviderEnumTypeWrapper): ... + UNKNOWN_PROVIDER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType # 3 + + class _PlanningStepStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PlanningStepStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 0 + PLANNED: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 1 + EXECUTING: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 2 + FINISHED: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType # 3 + + class PlanningStepStatus(_PlanningStepStatus, metaclass=_PlanningStepStatusEnumTypeWrapper): ... + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 0 + PLANNED: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 1 + EXECUTING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 2 + FINISHED: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType # 3 + + @typing.final + class BotPlanningSearchSourcesMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotPlanningSearchSourceProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotPlanningSearchSourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType # 3 + + class BotPlanningSearchSourceProvider(_BotPlanningSearchSourceProvider, metaclass=_BotPlanningSearchSourceProviderEnumTypeWrapper): ... + UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 0 + OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 1 + GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 2 + BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType # 3 + + SOURCETITLE_FIELD_NUMBER: builtins.int + PROVIDER_FIELD_NUMBER: builtins.int + SOURCEURL_FIELD_NUMBER: builtins.int + sourceTitle: builtins.str + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType + sourceURL: builtins.str + def __init__( + self, + *, + sourceTitle: builtins.str | None = ..., + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType | None = ..., + sourceURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["provider", b"provider", "sourceTitle", b"sourceTitle", "sourceURL", b"sourceURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["provider", b"provider", "sourceTitle", b"sourceTitle", "sourceURL", b"sourceURL"]) -> None: ... + + @typing.final + class BotPlanningStepSectionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SECTIONTITLE_FIELD_NUMBER: builtins.int + SECTIONBODY_FIELD_NUMBER: builtins.int + SOURCESMETADATA_FIELD_NUMBER: builtins.int + sectionTitle: builtins.str + sectionBody: builtins.str + @property + def sourcesMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata]: ... + def __init__( + self, + *, + sectionTitle: builtins.str | None = ..., + sectionBody: builtins.str | None = ..., + sourcesMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sectionBody", b"sectionBody", "sectionTitle", b"sectionTitle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sectionBody", b"sectionBody", "sectionTitle", b"sectionTitle", "sourcesMetadata", b"sourcesMetadata"]) -> None: ... + + @typing.final + class BotPlanningSearchSourceMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + PROVIDER_FIELD_NUMBER: builtins.int + SOURCEURL_FIELD_NUMBER: builtins.int + FAVICONURL_FIELD_NUMBER: builtins.int + title: builtins.str + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType + sourceURL: builtins.str + favIconURL: builtins.str + def __init__( + self, + *, + title: builtins.str | None = ..., + provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType | None = ..., + sourceURL: builtins.str | None = ..., + favIconURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["favIconURL", b"favIconURL", "provider", b"provider", "sourceURL", b"sourceURL", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["favIconURL", b"favIconURL", "provider", b"provider", "sourceURL", b"sourceURL", "title", b"title"]) -> None: ... + + STATUSTITLE_FIELD_NUMBER: builtins.int + STATUSBODY_FIELD_NUMBER: builtins.int + SOURCESMETADATA_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + ISREASONING_FIELD_NUMBER: builtins.int + ISENHANCEDSEARCH_FIELD_NUMBER: builtins.int + SECTIONS_FIELD_NUMBER: builtins.int + statusTitle: builtins.str + statusBody: builtins.str + status: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType + isReasoning: builtins.bool + isEnhancedSearch: builtins.bool + @property + def sourcesMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata]: ... + @property + def sections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata]: ... + def __init__( + self, + *, + statusTitle: builtins.str | None = ..., + statusBody: builtins.str | None = ..., + sourcesMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata] | None = ..., + status: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType | None = ..., + isReasoning: builtins.bool | None = ..., + isEnhancedSearch: builtins.bool | None = ..., + sections: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isEnhancedSearch", b"isEnhancedSearch", "isReasoning", b"isReasoning", "status", b"status", "statusBody", b"statusBody", "statusTitle", b"statusTitle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isEnhancedSearch", b"isEnhancedSearch", "isReasoning", b"isReasoning", "sections", b"sections", "sourcesMetadata", b"sourcesMetadata", "status", b"status", "statusBody", b"statusBody", "statusTitle", b"statusTitle"]) -> None: ... + + PROGRESSDESCRIPTION_FIELD_NUMBER: builtins.int + STEPSMETADATA_FIELD_NUMBER: builtins.int + progressDescription: builtins.str + @property + def stepsMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata]: ... + def __init__( + self, + *, + progressDescription: builtins.str | None = ..., + stepsMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["progressDescription", b"progressDescription"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["progressDescription", b"progressDescription", "stepsMetadata", b"stepsMetadata"]) -> None: ... + +global___BotProgressIndicatorMetadata = BotProgressIndicatorMetadata + +@typing.final +class BotCapabilityMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotCapabilityType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotCapabilityTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotCapabilityMetadata._BotCapabilityType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotCapabilityMetadata._BotCapabilityType.ValueType # 0 + PROGRESS_INDICATOR: BotCapabilityMetadata._BotCapabilityType.ValueType # 1 + RICH_RESPONSE_HEADING: BotCapabilityMetadata._BotCapabilityType.ValueType # 2 + RICH_RESPONSE_NESTED_LIST: BotCapabilityMetadata._BotCapabilityType.ValueType # 3 + AI_MEMORY: BotCapabilityMetadata._BotCapabilityType.ValueType # 4 + RICH_RESPONSE_THREAD_SURFING: BotCapabilityMetadata._BotCapabilityType.ValueType # 5 + RICH_RESPONSE_TABLE: BotCapabilityMetadata._BotCapabilityType.ValueType # 6 + RICH_RESPONSE_CODE: BotCapabilityMetadata._BotCapabilityType.ValueType # 7 + RICH_RESPONSE_STRUCTURED_RESPONSE: BotCapabilityMetadata._BotCapabilityType.ValueType # 8 + RICH_RESPONSE_INLINE_IMAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 9 + WA_IG_1P_PLUGIN_RANKING_CONTROL: BotCapabilityMetadata._BotCapabilityType.ValueType # 10 + WA_IG_1P_PLUGIN_RANKING_UPDATE_1: BotCapabilityMetadata._BotCapabilityType.ValueType # 11 + WA_IG_1P_PLUGIN_RANKING_UPDATE_2: BotCapabilityMetadata._BotCapabilityType.ValueType # 12 + WA_IG_1P_PLUGIN_RANKING_UPDATE_3: BotCapabilityMetadata._BotCapabilityType.ValueType # 13 + WA_IG_1P_PLUGIN_RANKING_UPDATE_4: BotCapabilityMetadata._BotCapabilityType.ValueType # 14 + WA_IG_1P_PLUGIN_RANKING_UPDATE_5: BotCapabilityMetadata._BotCapabilityType.ValueType # 15 + WA_IG_1P_PLUGIN_RANKING_UPDATE_6: BotCapabilityMetadata._BotCapabilityType.ValueType # 16 + WA_IG_1P_PLUGIN_RANKING_UPDATE_7: BotCapabilityMetadata._BotCapabilityType.ValueType # 17 + WA_IG_1P_PLUGIN_RANKING_UPDATE_8: BotCapabilityMetadata._BotCapabilityType.ValueType # 18 + WA_IG_1P_PLUGIN_RANKING_UPDATE_9: BotCapabilityMetadata._BotCapabilityType.ValueType # 19 + WA_IG_1P_PLUGIN_RANKING_UPDATE_10: BotCapabilityMetadata._BotCapabilityType.ValueType # 20 + RICH_RESPONSE_SUB_HEADING: BotCapabilityMetadata._BotCapabilityType.ValueType # 21 + RICH_RESPONSE_GRID_IMAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 22 + AI_STUDIO_UGC_MEMORY: BotCapabilityMetadata._BotCapabilityType.ValueType # 23 + RICH_RESPONSE_LATEX: BotCapabilityMetadata._BotCapabilityType.ValueType # 24 + RICH_RESPONSE_MAPS: BotCapabilityMetadata._BotCapabilityType.ValueType # 25 + RICH_RESPONSE_INLINE_REELS: BotCapabilityMetadata._BotCapabilityType.ValueType # 26 + AGENTIC_PLANNING: BotCapabilityMetadata._BotCapabilityType.ValueType # 27 + ACCOUNT_LINKING: BotCapabilityMetadata._BotCapabilityType.ValueType # 28 + STREAMING_DISAGGREGATION: BotCapabilityMetadata._BotCapabilityType.ValueType # 29 + RICH_RESPONSE_GRID_IMAGE_3P: BotCapabilityMetadata._BotCapabilityType.ValueType # 30 + RICH_RESPONSE_LATEX_INLINE: BotCapabilityMetadata._BotCapabilityType.ValueType # 31 + QUERY_PLAN: BotCapabilityMetadata._BotCapabilityType.ValueType # 32 + PROACTIVE_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 33 + RICH_RESPONSE_UNIFIED_RESPONSE: BotCapabilityMetadata._BotCapabilityType.ValueType # 34 + PROMOTION_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 35 + SIMPLIFIED_PROFILE_PAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 36 + RICH_RESPONSE_SOURCES_IN_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType # 37 + RICH_RESPONSE_SIDE_BY_SIDE_SURVEY: BotCapabilityMetadata._BotCapabilityType.ValueType # 38 + + class BotCapabilityType(_BotCapabilityType, metaclass=_BotCapabilityTypeEnumTypeWrapper): ... + UNKNOWN: BotCapabilityMetadata.BotCapabilityType.ValueType # 0 + PROGRESS_INDICATOR: BotCapabilityMetadata.BotCapabilityType.ValueType # 1 + RICH_RESPONSE_HEADING: BotCapabilityMetadata.BotCapabilityType.ValueType # 2 + RICH_RESPONSE_NESTED_LIST: BotCapabilityMetadata.BotCapabilityType.ValueType # 3 + AI_MEMORY: BotCapabilityMetadata.BotCapabilityType.ValueType # 4 + RICH_RESPONSE_THREAD_SURFING: BotCapabilityMetadata.BotCapabilityType.ValueType # 5 + RICH_RESPONSE_TABLE: BotCapabilityMetadata.BotCapabilityType.ValueType # 6 + RICH_RESPONSE_CODE: BotCapabilityMetadata.BotCapabilityType.ValueType # 7 + RICH_RESPONSE_STRUCTURED_RESPONSE: BotCapabilityMetadata.BotCapabilityType.ValueType # 8 + RICH_RESPONSE_INLINE_IMAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 9 + WA_IG_1P_PLUGIN_RANKING_CONTROL: BotCapabilityMetadata.BotCapabilityType.ValueType # 10 + WA_IG_1P_PLUGIN_RANKING_UPDATE_1: BotCapabilityMetadata.BotCapabilityType.ValueType # 11 + WA_IG_1P_PLUGIN_RANKING_UPDATE_2: BotCapabilityMetadata.BotCapabilityType.ValueType # 12 + WA_IG_1P_PLUGIN_RANKING_UPDATE_3: BotCapabilityMetadata.BotCapabilityType.ValueType # 13 + WA_IG_1P_PLUGIN_RANKING_UPDATE_4: BotCapabilityMetadata.BotCapabilityType.ValueType # 14 + WA_IG_1P_PLUGIN_RANKING_UPDATE_5: BotCapabilityMetadata.BotCapabilityType.ValueType # 15 + WA_IG_1P_PLUGIN_RANKING_UPDATE_6: BotCapabilityMetadata.BotCapabilityType.ValueType # 16 + WA_IG_1P_PLUGIN_RANKING_UPDATE_7: BotCapabilityMetadata.BotCapabilityType.ValueType # 17 + WA_IG_1P_PLUGIN_RANKING_UPDATE_8: BotCapabilityMetadata.BotCapabilityType.ValueType # 18 + WA_IG_1P_PLUGIN_RANKING_UPDATE_9: BotCapabilityMetadata.BotCapabilityType.ValueType # 19 + WA_IG_1P_PLUGIN_RANKING_UPDATE_10: BotCapabilityMetadata.BotCapabilityType.ValueType # 20 + RICH_RESPONSE_SUB_HEADING: BotCapabilityMetadata.BotCapabilityType.ValueType # 21 + RICH_RESPONSE_GRID_IMAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 22 + AI_STUDIO_UGC_MEMORY: BotCapabilityMetadata.BotCapabilityType.ValueType # 23 + RICH_RESPONSE_LATEX: BotCapabilityMetadata.BotCapabilityType.ValueType # 24 + RICH_RESPONSE_MAPS: BotCapabilityMetadata.BotCapabilityType.ValueType # 25 + RICH_RESPONSE_INLINE_REELS: BotCapabilityMetadata.BotCapabilityType.ValueType # 26 + AGENTIC_PLANNING: BotCapabilityMetadata.BotCapabilityType.ValueType # 27 + ACCOUNT_LINKING: BotCapabilityMetadata.BotCapabilityType.ValueType # 28 + STREAMING_DISAGGREGATION: BotCapabilityMetadata.BotCapabilityType.ValueType # 29 + RICH_RESPONSE_GRID_IMAGE_3P: BotCapabilityMetadata.BotCapabilityType.ValueType # 30 + RICH_RESPONSE_LATEX_INLINE: BotCapabilityMetadata.BotCapabilityType.ValueType # 31 + QUERY_PLAN: BotCapabilityMetadata.BotCapabilityType.ValueType # 32 + PROACTIVE_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 33 + RICH_RESPONSE_UNIFIED_RESPONSE: BotCapabilityMetadata.BotCapabilityType.ValueType # 34 + PROMOTION_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 35 + SIMPLIFIED_PROFILE_PAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 36 + RICH_RESPONSE_SOURCES_IN_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType # 37 + RICH_RESPONSE_SIDE_BY_SIDE_SURVEY: BotCapabilityMetadata.BotCapabilityType.ValueType # 38 + + CAPABILITIES_FIELD_NUMBER: builtins.int + @property + def capabilities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___BotCapabilityMetadata.BotCapabilityType.ValueType]: ... + def __init__( + self, + *, + capabilities: collections.abc.Iterable[global___BotCapabilityMetadata.BotCapabilityType.ValueType] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["capabilities", b"capabilities"]) -> None: ... + +global___BotCapabilityMetadata = BotCapabilityMetadata + +@typing.final +class BotModeSelectionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotUserSelectionMode: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotUserSelectionModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModeSelectionMetadata._BotUserSelectionMode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_MODE: BotModeSelectionMetadata._BotUserSelectionMode.ValueType # 0 + REASONING_MODE: BotModeSelectionMetadata._BotUserSelectionMode.ValueType # 1 + + class BotUserSelectionMode(_BotUserSelectionMode, metaclass=_BotUserSelectionModeEnumTypeWrapper): ... + UNKNOWN_MODE: BotModeSelectionMetadata.BotUserSelectionMode.ValueType # 0 + REASONING_MODE: BotModeSelectionMetadata.BotUserSelectionMode.ValueType # 1 + + MODE_FIELD_NUMBER: builtins.int + @property + def mode(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___BotModeSelectionMetadata.BotUserSelectionMode.ValueType]: ... + def __init__( + self, + *, + mode: collections.abc.Iterable[global___BotModeSelectionMetadata.BotUserSelectionMode.ValueType] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["mode", b"mode"]) -> None: ... + +global___BotModeSelectionMetadata = BotModeSelectionMetadata + +@typing.final +class BotQuotaMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class BotFeatureQuotaMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotFeatureType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotFeatureTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType # 0 + REASONING_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType # 1 + + class BotFeatureType(_BotFeatureType, metaclass=_BotFeatureTypeEnumTypeWrapper): ... + UNKNOWN_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType # 0 + REASONING_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType # 1 + + FEATURETYPE_FIELD_NUMBER: builtins.int + REMAININGQUOTA_FIELD_NUMBER: builtins.int + EXPIRATIONTIMESTAMP_FIELD_NUMBER: builtins.int + featureType: global___BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType + remainingQuota: builtins.int + expirationTimestamp: builtins.int + def __init__( + self, + *, + featureType: global___BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType | None = ..., + remainingQuota: builtins.int | None = ..., + expirationTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["expirationTimestamp", b"expirationTimestamp", "featureType", b"featureType", "remainingQuota", b"remainingQuota"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["expirationTimestamp", b"expirationTimestamp", "featureType", b"featureType", "remainingQuota", b"remainingQuota"]) -> None: ... + + BOTFEATUREQUOTAMETADATA_FIELD_NUMBER: builtins.int + @property + def botFeatureQuotaMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotQuotaMetadata.BotFeatureQuotaMetadata]: ... + def __init__( + self, + *, + botFeatureQuotaMetadata: collections.abc.Iterable[global___BotQuotaMetadata.BotFeatureQuotaMetadata] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["botFeatureQuotaMetadata", b"botFeatureQuotaMetadata"]) -> None: ... + +global___BotQuotaMetadata = BotQuotaMetadata + +@typing.final +class BotImagineMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ImagineType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ImagineTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotImagineMetadata._ImagineType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotImagineMetadata._ImagineType.ValueType # 0 + IMAGINE: BotImagineMetadata._ImagineType.ValueType # 1 + MEMU: BotImagineMetadata._ImagineType.ValueType # 2 + FLASH: BotImagineMetadata._ImagineType.ValueType # 3 + EDIT: BotImagineMetadata._ImagineType.ValueType # 4 + + class ImagineType(_ImagineType, metaclass=_ImagineTypeEnumTypeWrapper): ... + UNKNOWN: BotImagineMetadata.ImagineType.ValueType # 0 + IMAGINE: BotImagineMetadata.ImagineType.ValueType # 1 + MEMU: BotImagineMetadata.ImagineType.ValueType # 2 + FLASH: BotImagineMetadata.ImagineType.ValueType # 3 + EDIT: BotImagineMetadata.ImagineType.ValueType # 4 + + IMAGINETYPE_FIELD_NUMBER: builtins.int + imagineType: global___BotImagineMetadata.ImagineType.ValueType + def __init__( + self, + *, + imagineType: global___BotImagineMetadata.ImagineType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["imagineType", b"imagineType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["imagineType", b"imagineType"]) -> None: ... + +global___BotImagineMetadata = BotImagineMetadata + +@typing.final +class BotSourcesMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class BotSourceItem(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _SourceProvider: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 0 + BING: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 1 + GOOGLE: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 2 + SUPPORT: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 3 + OTHER: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType # 4 + + class SourceProvider(_SourceProvider, metaclass=_SourceProviderEnumTypeWrapper): ... + UNKNOWN: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 0 + BING: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 1 + GOOGLE: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 2 + SUPPORT: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 3 + OTHER: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType # 4 + + PROVIDER_FIELD_NUMBER: builtins.int + THUMBNAILCDNURL_FIELD_NUMBER: builtins.int + SOURCEPROVIDERURL_FIELD_NUMBER: builtins.int + SOURCEQUERY_FIELD_NUMBER: builtins.int + FAVICONCDNURL_FIELD_NUMBER: builtins.int + CITATIONNUMBER_FIELD_NUMBER: builtins.int + SOURCETITLE_FIELD_NUMBER: builtins.int + provider: global___BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType + thumbnailCDNURL: builtins.str + sourceProviderURL: builtins.str + sourceQuery: builtins.str + faviconCDNURL: builtins.str + citationNumber: builtins.int + sourceTitle: builtins.str + def __init__( + self, + *, + provider: global___BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType | None = ..., + thumbnailCDNURL: builtins.str | None = ..., + sourceProviderURL: builtins.str | None = ..., + sourceQuery: builtins.str | None = ..., + faviconCDNURL: builtins.str | None = ..., + citationNumber: builtins.int | None = ..., + sourceTitle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["citationNumber", b"citationNumber", "faviconCDNURL", b"faviconCDNURL", "provider", b"provider", "sourceProviderURL", b"sourceProviderURL", "sourceQuery", b"sourceQuery", "sourceTitle", b"sourceTitle", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["citationNumber", b"citationNumber", "faviconCDNURL", b"faviconCDNURL", "provider", b"provider", "sourceProviderURL", b"sourceProviderURL", "sourceQuery", b"sourceQuery", "sourceTitle", b"sourceTitle", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> None: ... + + SOURCES_FIELD_NUMBER: builtins.int + @property + def sources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotSourcesMetadata.BotSourceItem]: ... + def __init__( + self, + *, + sources: collections.abc.Iterable[global___BotSourcesMetadata.BotSourceItem] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["sources", b"sources"]) -> None: ... + +global___BotSourcesMetadata = BotSourcesMetadata + +@typing.final +class BotMessageOrigin(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotMessageOriginType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotMessageOriginTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotMessageOrigin._BotMessageOriginType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED: BotMessageOrigin._BotMessageOriginType.ValueType # 0 + + class BotMessageOriginType(_BotMessageOriginType, metaclass=_BotMessageOriginTypeEnumTypeWrapper): ... + BOT_MESSAGE_ORIGIN_TYPE_AI_INITIATED: BotMessageOrigin.BotMessageOriginType.ValueType # 0 + + TYPE_FIELD_NUMBER: builtins.int + type: global___BotMessageOrigin.BotMessageOriginType.ValueType + def __init__( + self, + *, + type: global___BotMessageOrigin.BotMessageOriginType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + +global___BotMessageOrigin = BotMessageOrigin + +@typing.final +class BotAvatarMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SENTIMENT_FIELD_NUMBER: builtins.int + BEHAVIORGRAPH_FIELD_NUMBER: builtins.int + ACTION_FIELD_NUMBER: builtins.int + INTENSITY_FIELD_NUMBER: builtins.int + WORDCOUNT_FIELD_NUMBER: builtins.int + sentiment: builtins.int + behaviorGraph: builtins.str + action: builtins.int + intensity: builtins.int + wordCount: builtins.int + def __init__( + self, + *, + sentiment: builtins.int | None = ..., + behaviorGraph: builtins.str | None = ..., + action: builtins.int | None = ..., + intensity: builtins.int | None = ..., + wordCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "behaviorGraph", b"behaviorGraph", "intensity", b"intensity", "sentiment", b"sentiment", "wordCount", b"wordCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "behaviorGraph", b"behaviorGraph", "intensity", b"intensity", "sentiment", b"sentiment", "wordCount", b"wordCount"]) -> None: ... + +global___BotAvatarMetadata = BotAvatarMetadata + +@typing.final +class BotSuggestedPromptMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SUGGESTEDPROMPTS_FIELD_NUMBER: builtins.int + SELECTEDPROMPTINDEX_FIELD_NUMBER: builtins.int + PROMPTSUGGESTIONS_FIELD_NUMBER: builtins.int + SELECTEDPROMPTID_FIELD_NUMBER: builtins.int + selectedPromptIndex: builtins.int + selectedPromptID: builtins.str + @property + def suggestedPrompts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def promptSuggestions(self) -> global___BotPromptSuggestions: ... + def __init__( + self, + *, + suggestedPrompts: collections.abc.Iterable[builtins.str] | None = ..., + selectedPromptIndex: builtins.int | None = ..., + promptSuggestions: global___BotPromptSuggestions | None = ..., + selectedPromptID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["promptSuggestions", b"promptSuggestions", "selectedPromptID", b"selectedPromptID", "selectedPromptIndex", b"selectedPromptIndex"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["promptSuggestions", b"promptSuggestions", "selectedPromptID", b"selectedPromptID", "selectedPromptIndex", b"selectedPromptIndex", "suggestedPrompts", b"suggestedPrompts"]) -> None: ... + +global___BotSuggestedPromptMetadata = BotSuggestedPromptMetadata + +@typing.final +class BotPromptSuggestions(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SUGGESTIONS_FIELD_NUMBER: builtins.int + @property + def suggestions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotPromptSuggestion]: ... + def __init__( + self, + *, + suggestions: collections.abc.Iterable[global___BotPromptSuggestion] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["suggestions", b"suggestions"]) -> None: ... + +global___BotPromptSuggestions = BotPromptSuggestions + +@typing.final +class BotPromptSuggestion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PROMPT_FIELD_NUMBER: builtins.int + PROMPTID_FIELD_NUMBER: builtins.int + prompt: builtins.str + promptID: builtins.str + def __init__( + self, + *, + prompt: builtins.str | None = ..., + promptID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["prompt", b"prompt", "promptID", b"promptID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["prompt", b"prompt", "promptID", b"promptID"]) -> None: ... + +global___BotPromptSuggestion = BotPromptSuggestion + +@typing.final +class BotLinkedAccountsMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ACCOUNTS_FIELD_NUMBER: builtins.int + ACAUTHTOKENS_FIELD_NUMBER: builtins.int + ACERRORCODE_FIELD_NUMBER: builtins.int + acAuthTokens: builtins.bytes + acErrorCode: builtins.int + @property + def accounts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotLinkedAccount]: ... + def __init__( + self, + *, + accounts: collections.abc.Iterable[global___BotLinkedAccount] | None = ..., + acAuthTokens: builtins.bytes | None = ..., + acErrorCode: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["acAuthTokens", b"acAuthTokens", "acErrorCode", b"acErrorCode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["acAuthTokens", b"acAuthTokens", "acErrorCode", b"acErrorCode", "accounts", b"accounts"]) -> None: ... + +global___BotLinkedAccountsMetadata = BotLinkedAccountsMetadata + +@typing.final +class BotMemoryMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ADDEDFACTS_FIELD_NUMBER: builtins.int + REMOVEDFACTS_FIELD_NUMBER: builtins.int + DISCLAIMER_FIELD_NUMBER: builtins.int + disclaimer: builtins.str + @property + def addedFacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMemoryFact]: ... + @property + def removedFacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMemoryFact]: ... + def __init__( + self, + *, + addedFacts: collections.abc.Iterable[global___BotMemoryFact] | None = ..., + removedFacts: collections.abc.Iterable[global___BotMemoryFact] | None = ..., + disclaimer: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["disclaimer", b"disclaimer"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["addedFacts", b"addedFacts", "disclaimer", b"disclaimer", "removedFacts", b"removedFacts"]) -> None: ... + +global___BotMemoryMetadata = BotMemoryMetadata + +@typing.final +class BotMemoryFact(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FACT_FIELD_NUMBER: builtins.int + FACTID_FIELD_NUMBER: builtins.int + fact: builtins.str + factID: builtins.str + def __init__( + self, + *, + fact: builtins.str | None = ..., + factID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fact", b"fact", "factID", b"factID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fact", b"fact", "factID", b"factID"]) -> None: ... + +global___BotMemoryFact = BotMemoryFact + +@typing.final +class BotSignatureVerificationMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PROOFS_FIELD_NUMBER: builtins.int + @property + def proofs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotSignatureVerificationUseCaseProof]: ... + def __init__( + self, + *, + proofs: collections.abc.Iterable[global___BotSignatureVerificationUseCaseProof] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["proofs", b"proofs"]) -> None: ... + +global___BotSignatureVerificationMetadata = BotSignatureVerificationMetadata + +@typing.final +class BotRenderingMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Keyword(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VALUE_FIELD_NUMBER: builtins.int + ASSOCIATEDPROMPTS_FIELD_NUMBER: builtins.int + value: builtins.str + @property + def associatedPrompts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + value: builtins.str | None = ..., + associatedPrompts: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["associatedPrompts", b"associatedPrompts", "value", b"value"]) -> None: ... + + KEYWORDS_FIELD_NUMBER: builtins.int + @property + def keywords(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotRenderingMetadata.Keyword]: ... + def __init__( + self, + *, + keywords: collections.abc.Iterable[global___BotRenderingMetadata.Keyword] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["keywords", b"keywords"]) -> None: ... + +global___BotRenderingMetadata = BotRenderingMetadata + +@typing.final +class BotMetricsMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DESTINATIONID_FIELD_NUMBER: builtins.int + DESTINATIONENTRYPOINT_FIELD_NUMBER: builtins.int + THREADORIGIN_FIELD_NUMBER: builtins.int + destinationID: builtins.str + destinationEntryPoint: global___BotMetricsEntryPoint.ValueType + threadOrigin: global___BotMetricsThreadEntryPoint.ValueType + def __init__( + self, + *, + destinationID: builtins.str | None = ..., + destinationEntryPoint: global___BotMetricsEntryPoint.ValueType | None = ..., + threadOrigin: global___BotMetricsThreadEntryPoint.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["destinationEntryPoint", b"destinationEntryPoint", "destinationID", b"destinationID", "threadOrigin", b"threadOrigin"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["destinationEntryPoint", b"destinationEntryPoint", "destinationID", b"destinationID", "threadOrigin", b"threadOrigin"]) -> None: ... + +global___BotMetricsMetadata = BotMetricsMetadata + +@typing.final +class BotSessionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SESSIONID_FIELD_NUMBER: builtins.int + SESSIONSOURCE_FIELD_NUMBER: builtins.int + sessionID: builtins.str + sessionSource: global___BotSessionSource.ValueType + def __init__( + self, + *, + sessionID: builtins.str | None = ..., + sessionSource: global___BotSessionSource.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sessionID", b"sessionID", "sessionSource", b"sessionSource"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sessionID", b"sessionID", "sessionSource", b"sessionSource"]) -> None: ... + +global___BotSessionMetadata = BotSessionMetadata + +@typing.final +class BotMemuMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FACEIMAGES_FIELD_NUMBER: builtins.int + @property + def faceImages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMediaMetadata]: ... + def __init__( + self, + *, + faceImages: collections.abc.Iterable[global___BotMediaMetadata] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["faceImages", b"faceImages"]) -> None: ... + +global___BotMemuMetadata = BotMemuMetadata + +@typing.final +class BotAgeCollectionMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AGECOLLECTIONELIGIBLE_FIELD_NUMBER: builtins.int + SHOULDTRIGGERAGECOLLECTIONONCLIENT_FIELD_NUMBER: builtins.int + ageCollectionEligible: builtins.bool + shouldTriggerAgeCollectionOnClient: builtins.bool + def __init__( + self, + *, + ageCollectionEligible: builtins.bool | None = ..., + shouldTriggerAgeCollectionOnClient: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ageCollectionEligible", b"ageCollectionEligible", "shouldTriggerAgeCollectionOnClient", b"shouldTriggerAgeCollectionOnClient"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ageCollectionEligible", b"ageCollectionEligible", "shouldTriggerAgeCollectionOnClient", b"shouldTriggerAgeCollectionOnClient"]) -> None: ... + +global___BotAgeCollectionMetadata = BotAgeCollectionMetadata + +@typing.final +class BotMessageOriginMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ORIGINS_FIELD_NUMBER: builtins.int + @property + def origins(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMessageOrigin]: ... + def __init__( + self, + *, + origins: collections.abc.Iterable[global___BotMessageOrigin] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["origins", b"origins"]) -> None: ... + +global___BotMessageOriginMetadata = BotMessageOriginMetadata + +@typing.final +class BotUnifiedResponseMutation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class SideBySideMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRIMARYRESPONSEID_FIELD_NUMBER: builtins.int + primaryResponseID: builtins.str + def __init__( + self, + *, + primaryResponseID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["primaryResponseID", b"primaryResponseID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["primaryResponseID", b"primaryResponseID"]) -> None: ... + + SBSMETADATA_FIELD_NUMBER: builtins.int + @property + def sbsMetadata(self) -> global___BotUnifiedResponseMutation.SideBySideMetadata: ... + def __init__( + self, + *, + sbsMetadata: global___BotUnifiedResponseMutation.SideBySideMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sbsMetadata", b"sbsMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sbsMetadata", b"sbsMetadata"]) -> None: ... + +global___BotUnifiedResponseMutation = BotUnifiedResponseMutation + +@typing.final +class BotMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AVATARMETADATA_FIELD_NUMBER: builtins.int + PERSONAID_FIELD_NUMBER: builtins.int + PLUGINMETADATA_FIELD_NUMBER: builtins.int + SUGGESTEDPROMPTMETADATA_FIELD_NUMBER: builtins.int + INVOKERJID_FIELD_NUMBER: builtins.int + SESSIONMETADATA_FIELD_NUMBER: builtins.int + MEMUMETADATA_FIELD_NUMBER: builtins.int + TIMEZONE_FIELD_NUMBER: builtins.int + REMINDERMETADATA_FIELD_NUMBER: builtins.int + MODELMETADATA_FIELD_NUMBER: builtins.int + MESSAGEDISCLAIMERTEXT_FIELD_NUMBER: builtins.int + PROGRESSINDICATORMETADATA_FIELD_NUMBER: builtins.int + CAPABILITYMETADATA_FIELD_NUMBER: builtins.int + IMAGINEMETADATA_FIELD_NUMBER: builtins.int + MEMORYMETADATA_FIELD_NUMBER: builtins.int + RENDERINGMETADATA_FIELD_NUMBER: builtins.int + BOTMETRICSMETADATA_FIELD_NUMBER: builtins.int + BOTLINKEDACCOUNTSMETADATA_FIELD_NUMBER: builtins.int + RICHRESPONSESOURCESMETADATA_FIELD_NUMBER: builtins.int + AICONVERSATIONCONTEXT_FIELD_NUMBER: builtins.int + BOTPROMOTIONMESSAGEMETADATA_FIELD_NUMBER: builtins.int + BOTMODESELECTIONMETADATA_FIELD_NUMBER: builtins.int + BOTQUOTAMETADATA_FIELD_NUMBER: builtins.int + BOTAGECOLLECTIONMETADATA_FIELD_NUMBER: builtins.int + CONVERSATIONSTARTERPROMPTID_FIELD_NUMBER: builtins.int + BOTRESPONSEID_FIELD_NUMBER: builtins.int + VERIFICATIONMETADATA_FIELD_NUMBER: builtins.int + UNIFIEDRESPONSEMUTATION_FIELD_NUMBER: builtins.int + BOTMESSAGEORIGINMETADATA_FIELD_NUMBER: builtins.int + personaID: builtins.str + invokerJID: builtins.str + timezone: builtins.str + messageDisclaimerText: builtins.str + aiConversationContext: builtins.bytes + conversationStarterPromptID: builtins.str + botResponseID: builtins.str + @property + def avatarMetadata(self) -> global___BotAvatarMetadata: ... + @property + def pluginMetadata(self) -> global___BotPluginMetadata: ... + @property + def suggestedPromptMetadata(self) -> global___BotSuggestedPromptMetadata: ... + @property + def sessionMetadata(self) -> global___BotSessionMetadata: ... + @property + def memuMetadata(self) -> global___BotMemuMetadata: ... + @property + def reminderMetadata(self) -> global___BotReminderMetadata: ... + @property + def modelMetadata(self) -> global___BotModelMetadata: ... + @property + def progressIndicatorMetadata(self) -> global___BotProgressIndicatorMetadata: ... + @property + def capabilityMetadata(self) -> global___BotCapabilityMetadata: ... + @property + def imagineMetadata(self) -> global___BotImagineMetadata: ... + @property + def memoryMetadata(self) -> global___BotMemoryMetadata: ... + @property + def renderingMetadata(self) -> global___BotRenderingMetadata: ... + @property + def botMetricsMetadata(self) -> global___BotMetricsMetadata: ... + @property + def botLinkedAccountsMetadata(self) -> global___BotLinkedAccountsMetadata: ... + @property + def richResponseSourcesMetadata(self) -> global___BotSourcesMetadata: ... + @property + def botPromotionMessageMetadata(self) -> global___BotPromotionMessageMetadata: ... + @property + def botModeSelectionMetadata(self) -> global___BotModeSelectionMetadata: ... + @property + def botQuotaMetadata(self) -> global___BotQuotaMetadata: ... + @property + def botAgeCollectionMetadata(self) -> global___BotAgeCollectionMetadata: ... + @property + def verificationMetadata(self) -> global___BotSignatureVerificationMetadata: ... + @property + def unifiedResponseMutation(self) -> global___BotUnifiedResponseMutation: ... + @property + def botMessageOriginMetadata(self) -> global___BotMessageOriginMetadata: ... + def __init__( + self, + *, + avatarMetadata: global___BotAvatarMetadata | None = ..., + personaID: builtins.str | None = ..., + pluginMetadata: global___BotPluginMetadata | None = ..., + suggestedPromptMetadata: global___BotSuggestedPromptMetadata | None = ..., + invokerJID: builtins.str | None = ..., + sessionMetadata: global___BotSessionMetadata | None = ..., + memuMetadata: global___BotMemuMetadata | None = ..., + timezone: builtins.str | None = ..., + reminderMetadata: global___BotReminderMetadata | None = ..., + modelMetadata: global___BotModelMetadata | None = ..., + messageDisclaimerText: builtins.str | None = ..., + progressIndicatorMetadata: global___BotProgressIndicatorMetadata | None = ..., + capabilityMetadata: global___BotCapabilityMetadata | None = ..., + imagineMetadata: global___BotImagineMetadata | None = ..., + memoryMetadata: global___BotMemoryMetadata | None = ..., + renderingMetadata: global___BotRenderingMetadata | None = ..., + botMetricsMetadata: global___BotMetricsMetadata | None = ..., + botLinkedAccountsMetadata: global___BotLinkedAccountsMetadata | None = ..., + richResponseSourcesMetadata: global___BotSourcesMetadata | None = ..., + aiConversationContext: builtins.bytes | None = ..., + botPromotionMessageMetadata: global___BotPromotionMessageMetadata | None = ..., + botModeSelectionMetadata: global___BotModeSelectionMetadata | None = ..., + botQuotaMetadata: global___BotQuotaMetadata | None = ..., + botAgeCollectionMetadata: global___BotAgeCollectionMetadata | None = ..., + conversationStarterPromptID: builtins.str | None = ..., + botResponseID: builtins.str | None = ..., + verificationMetadata: global___BotSignatureVerificationMetadata | None = ..., + unifiedResponseMutation: global___BotUnifiedResponseMutation | None = ..., + botMessageOriginMetadata: global___BotMessageOriginMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["aiConversationContext", b"aiConversationContext", "avatarMetadata", b"avatarMetadata", "botAgeCollectionMetadata", b"botAgeCollectionMetadata", "botLinkedAccountsMetadata", b"botLinkedAccountsMetadata", "botMessageOriginMetadata", b"botMessageOriginMetadata", "botMetricsMetadata", b"botMetricsMetadata", "botModeSelectionMetadata", b"botModeSelectionMetadata", "botPromotionMessageMetadata", b"botPromotionMessageMetadata", "botQuotaMetadata", b"botQuotaMetadata", "botResponseID", b"botResponseID", "capabilityMetadata", b"capabilityMetadata", "conversationStarterPromptID", b"conversationStarterPromptID", "imagineMetadata", b"imagineMetadata", "invokerJID", b"invokerJID", "memoryMetadata", b"memoryMetadata", "memuMetadata", b"memuMetadata", "messageDisclaimerText", b"messageDisclaimerText", "modelMetadata", b"modelMetadata", "personaID", b"personaID", "pluginMetadata", b"pluginMetadata", "progressIndicatorMetadata", b"progressIndicatorMetadata", "reminderMetadata", b"reminderMetadata", "renderingMetadata", b"renderingMetadata", "richResponseSourcesMetadata", b"richResponseSourcesMetadata", "sessionMetadata", b"sessionMetadata", "suggestedPromptMetadata", b"suggestedPromptMetadata", "timezone", b"timezone", "unifiedResponseMutation", b"unifiedResponseMutation", "verificationMetadata", b"verificationMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["aiConversationContext", b"aiConversationContext", "avatarMetadata", b"avatarMetadata", "botAgeCollectionMetadata", b"botAgeCollectionMetadata", "botLinkedAccountsMetadata", b"botLinkedAccountsMetadata", "botMessageOriginMetadata", b"botMessageOriginMetadata", "botMetricsMetadata", b"botMetricsMetadata", "botModeSelectionMetadata", b"botModeSelectionMetadata", "botPromotionMessageMetadata", b"botPromotionMessageMetadata", "botQuotaMetadata", b"botQuotaMetadata", "botResponseID", b"botResponseID", "capabilityMetadata", b"capabilityMetadata", "conversationStarterPromptID", b"conversationStarterPromptID", "imagineMetadata", b"imagineMetadata", "invokerJID", b"invokerJID", "memoryMetadata", b"memoryMetadata", "memuMetadata", b"memuMetadata", "messageDisclaimerText", b"messageDisclaimerText", "modelMetadata", b"modelMetadata", "personaID", b"personaID", "pluginMetadata", b"pluginMetadata", "progressIndicatorMetadata", b"progressIndicatorMetadata", "reminderMetadata", b"reminderMetadata", "renderingMetadata", b"renderingMetadata", "richResponseSourcesMetadata", b"richResponseSourcesMetadata", "sessionMetadata", b"sessionMetadata", "suggestedPromptMetadata", b"suggestedPromptMetadata", "timezone", b"timezone", "unifiedResponseMutation", b"unifiedResponseMutation", "verificationMetadata", b"verificationMetadata"]) -> None: ... + +global___BotMetadata = BotMetadata diff --git a/neonize/proto/waCert/WACert_pb2.py b/neonize/proto/waCert/WACert_pb2.py new file mode 100644 index 00000000..a976aeb2 --- /dev/null +++ b/neonize/proto/waCert/WACert_pb2.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waCert/WACert.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waCert/WACert.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13waCert/WACert.proto\x12\x06WACert\"\x90\x01\n\x10NoiseCertificate\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x1aX\n\x07\x44\x65tails\x12\x0e\n\x06serial\x18\x01 \x01(\r\x12\x0e\n\x06issuer\x18\x02 \x01(\t\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0f\n\x07subject\x18\x04 \x01(\t\x12\x0b\n\x03key\x18\x05 \x01(\x0c\"\x93\x02\n\tCertChain\x12\x30\n\x04leaf\x18\x01 \x01(\x0b\x32\".WACert.CertChain.NoiseCertificate\x12\x38\n\x0cintermediate\x18\x02 \x01(\x0b\x32\".WACert.CertChain.NoiseCertificate\x1a\x99\x01\n\x10NoiseCertificate\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x1a\x61\n\x07\x44\x65tails\x12\x0e\n\x06serial\x18\x01 \x01(\r\x12\x14\n\x0cissuerSerial\x18\x02 \x01(\r\x12\x0b\n\x03key\x18\x03 \x01(\x0c\x12\x11\n\tnotBefore\x18\x04 \x01(\x04\x12\x10\n\x08notAfter\x18\x05 \x01(\x04\x42\"Z go.mau.fi/whatsmeow/proto/waCert') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waCert.WACert_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z go.mau.fi/whatsmeow/proto/waCert' + _globals['_NOISECERTIFICATE']._serialized_start=32 + _globals['_NOISECERTIFICATE']._serialized_end=176 + _globals['_NOISECERTIFICATE_DETAILS']._serialized_start=88 + _globals['_NOISECERTIFICATE_DETAILS']._serialized_end=176 + _globals['_CERTCHAIN']._serialized_start=179 + _globals['_CERTCHAIN']._serialized_end=454 + _globals['_CERTCHAIN_NOISECERTIFICATE']._serialized_start=301 + _globals['_CERTCHAIN_NOISECERTIFICATE']._serialized_end=454 + _globals['_CERTCHAIN_NOISECERTIFICATE_DETAILS']._serialized_start=357 + _globals['_CERTCHAIN_NOISECERTIFICATE_DETAILS']._serialized_end=454 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waCert/WACert_pb2.pyi b/neonize/proto/waCert/WACert_pb2.pyi new file mode 100644 index 00000000..f06fc0b1 --- /dev/null +++ b/neonize/proto/waCert/WACert_pb2.pyi @@ -0,0 +1,120 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class NoiseCertificate(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Details(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SERIAL_FIELD_NUMBER: builtins.int + ISSUER_FIELD_NUMBER: builtins.int + EXPIRES_FIELD_NUMBER: builtins.int + SUBJECT_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + serial: builtins.int + issuer: builtins.str + expires: builtins.int + subject: builtins.str + key: builtins.bytes + def __init__( + self, + *, + serial: builtins.int | None = ..., + issuer: builtins.str | None = ..., + expires: builtins.int | None = ..., + subject: builtins.str | None = ..., + key: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["expires", b"expires", "issuer", b"issuer", "key", b"key", "serial", b"serial", "subject", b"subject"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["expires", b"expires", "issuer", b"issuer", "key", b"key", "serial", b"serial", "subject", b"subject"]) -> None: ... + + DETAILS_FIELD_NUMBER: builtins.int + SIGNATURE_FIELD_NUMBER: builtins.int + details: builtins.bytes + signature: builtins.bytes + def __init__( + self, + *, + details: builtins.bytes | None = ..., + signature: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["details", b"details", "signature", b"signature"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["details", b"details", "signature", b"signature"]) -> None: ... + +global___NoiseCertificate = NoiseCertificate + +@typing.final +class CertChain(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class NoiseCertificate(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Details(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SERIAL_FIELD_NUMBER: builtins.int + ISSUERSERIAL_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + NOTBEFORE_FIELD_NUMBER: builtins.int + NOTAFTER_FIELD_NUMBER: builtins.int + serial: builtins.int + issuerSerial: builtins.int + key: builtins.bytes + notBefore: builtins.int + notAfter: builtins.int + def __init__( + self, + *, + serial: builtins.int | None = ..., + issuerSerial: builtins.int | None = ..., + key: builtins.bytes | None = ..., + notBefore: builtins.int | None = ..., + notAfter: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["issuerSerial", b"issuerSerial", "key", b"key", "notAfter", b"notAfter", "notBefore", b"notBefore", "serial", b"serial"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["issuerSerial", b"issuerSerial", "key", b"key", "notAfter", b"notAfter", "notBefore", b"notBefore", "serial", b"serial"]) -> None: ... + + DETAILS_FIELD_NUMBER: builtins.int + SIGNATURE_FIELD_NUMBER: builtins.int + details: builtins.bytes + signature: builtins.bytes + def __init__( + self, + *, + details: builtins.bytes | None = ..., + signature: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["details", b"details", "signature", b"signature"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["details", b"details", "signature", b"signature"]) -> None: ... + + LEAF_FIELD_NUMBER: builtins.int + INTERMEDIATE_FIELD_NUMBER: builtins.int + @property + def leaf(self) -> global___CertChain.NoiseCertificate: ... + @property + def intermediate(self) -> global___CertChain.NoiseCertificate: ... + def __init__( + self, + *, + leaf: global___CertChain.NoiseCertificate | None = ..., + intermediate: global___CertChain.NoiseCertificate | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["intermediate", b"intermediate", "leaf", b"leaf"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["intermediate", b"intermediate", "leaf", b"leaf"]) -> None: ... + +global___CertChain = CertChain diff --git a/neonize/proto/waChatLockSettings/WAProtobufsChatLockSettings_pb2.py b/neonize/proto/waChatLockSettings/WAProtobufsChatLockSettings_pb2.py new file mode 100644 index 00000000..8e23a76b --- /dev/null +++ b/neonize/proto/waChatLockSettings/WAProtobufsChatLockSettings_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waChatLockSettings/WAProtobufsChatLockSettings.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waChatLockSettings/WAProtobufsChatLockSettings.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waUserPassword import WAProtobufsUserPassword_pb2 as waUserPassword_dot_WAProtobufsUserPassword__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n4waChatLockSettings/WAProtobufsChatLockSettings.proto\x12\x1bWAProtobufsChatLockSettings\x1a,waUserPassword/WAProtobufsUserPassword.proto\"f\n\x10\x43hatLockSettings\x12\x17\n\x0fhideLockedChats\x18\x01 \x01(\x08\x12\x39\n\nsecretCode\x18\x02 \x01(\x0b\x32%.WAProtobufsUserPassword.UserPasswordB.Z,go.mau.fi/whatsmeow/proto/waChatLockSettings') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waChatLockSettings.WAProtobufsChatLockSettings_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z,go.mau.fi/whatsmeow/proto/waChatLockSettings' + _globals['_CHATLOCKSETTINGS']._serialized_start=131 + _globals['_CHATLOCKSETTINGS']._serialized_end=233 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waChatLockSettings/WAProtobufsChatLockSettings_pb2.pyi b/neonize/proto/waChatLockSettings/WAProtobufsChatLockSettings_pb2.pyi new file mode 100644 index 00000000..5b847787 --- /dev/null +++ b/neonize/proto/waChatLockSettings/WAProtobufsChatLockSettings_pb2.pyi @@ -0,0 +1,32 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import typing +import waUserPassword.WAProtobufsUserPassword_pb2 + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class ChatLockSettings(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + HIDELOCKEDCHATS_FIELD_NUMBER: builtins.int + SECRETCODE_FIELD_NUMBER: builtins.int + hideLockedChats: builtins.bool + @property + def secretCode(self) -> waUserPassword.WAProtobufsUserPassword_pb2.UserPassword: ... + def __init__( + self, + *, + hideLockedChats: builtins.bool | None = ..., + secretCode: waUserPassword.WAProtobufsUserPassword_pb2.UserPassword | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["hideLockedChats", b"hideLockedChats", "secretCode", b"secretCode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["hideLockedChats", b"hideLockedChats", "secretCode", b"secretCode"]) -> None: ... + +global___ChatLockSettings = ChatLockSettings diff --git a/neonize/proto/waCommon/WACommon_pb2.py b/neonize/proto/waCommon/WACommon_pb2.py new file mode 100644 index 00000000..c3d61576 --- /dev/null +++ b/neonize/proto/waCommon/WACommon_pb2.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waCommon/WACommon.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waCommon/WACommon.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17waCommon/WACommon.proto\x12\x08WACommon\"P\n\nMessageKey\x12\x11\n\tremoteJID\x18\x01 \x01(\t\x12\x0e\n\x06\x66romMe\x18\x02 \x01(\x08\x12\n\n\x02ID\x18\x03 \x01(\t\x12\x13\n\x0bparticipant\x18\x04 \x01(\t\"\xb7\x01\n\x07\x43ommand\x12\x32\n\x0b\x63ommandType\x18\x01 \x01(\x0e\x32\x1d.WACommon.Command.CommandType\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x17\n\x0fvalidationToken\x18\x04 \x01(\t\"?\n\x0b\x43ommandType\x12\x0c\n\x08\x45VERYONE\x10\x01\x12\n\n\x06SILENT\x10\x02\x12\x06\n\x02\x41I\x10\x03\x12\x0e\n\nAI_IMAGINE\x10\x04\"\x8f\x01\n\x07Mention\x12\x32\n\x0bmentionType\x18\x01 \x01(\x0e\x32\x1d.WACommon.Mention.MentionType\x12\x14\n\x0cmentionedJID\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\"\x1a\n\x0bMentionType\x12\x0b\n\x07PROFILE\x10\x00\"{\n\x0bMessageText\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x14\n\x0cmentionedJID\x18\x02 \x03(\t\x12#\n\x08\x63ommands\x18\x03 \x03(\x0b\x32\x11.WACommon.Command\x12#\n\x08mentions\x18\x04 \x03(\x0b\x32\x11.WACommon.Mention\"/\n\x0bSubProtocol\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x0f\n\x07version\x18\x02 \x01(\x05\"\xee\x01\n\x0cLimitSharing\x12\x16\n\x0esharingLimited\x18\x01 \x01(\x08\x12/\n\x07trigger\x18\x02 \x01(\x0e\x32\x1e.WACommon.LimitSharing.Trigger\x12$\n\x1climitSharingSettingTimestamp\x18\x03 \x01(\x03\x12\x15\n\rinitiatedByMe\x18\x04 \x01(\x08\"X\n\x07Trigger\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x10\n\x0c\x43HAT_SETTING\x10\x01\x12\x1b\n\x17\x42IZ_SUPPORTS_FB_HOSTING\x10\x02\x12\x11\n\rUNKNOWN_GROUP\x10\x03*F\n\x13\x46utureProofBehavior\x12\x0f\n\x0bPLACEHOLDER\x10\x00\x12\x12\n\x0eNO_PLACEHOLDER\x10\x01\x12\n\n\x06IGNORE\x10\x02\x42$Z\"go.mau.fi/whatsmeow/proto/waCommon') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waCommon.WACommon_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\"go.mau.fi/whatsmeow/proto/waCommon' + _globals['_FUTUREPROOFBEHAVIOR']._serialized_start=866 + _globals['_FUTUREPROOFBEHAVIOR']._serialized_end=936 + _globals['_MESSAGEKEY']._serialized_start=37 + _globals['_MESSAGEKEY']._serialized_end=117 + _globals['_COMMAND']._serialized_start=120 + _globals['_COMMAND']._serialized_end=303 + _globals['_COMMAND_COMMANDTYPE']._serialized_start=240 + _globals['_COMMAND_COMMANDTYPE']._serialized_end=303 + _globals['_MENTION']._serialized_start=306 + _globals['_MENTION']._serialized_end=449 + _globals['_MENTION_MENTIONTYPE']._serialized_start=423 + _globals['_MENTION_MENTIONTYPE']._serialized_end=449 + _globals['_MESSAGETEXT']._serialized_start=451 + _globals['_MESSAGETEXT']._serialized_end=574 + _globals['_SUBPROTOCOL']._serialized_start=576 + _globals['_SUBPROTOCOL']._serialized_end=623 + _globals['_LIMITSHARING']._serialized_start=626 + _globals['_LIMITSHARING']._serialized_end=864 + _globals['_LIMITSHARING_TRIGGER']._serialized_start=776 + _globals['_LIMITSHARING_TRIGGER']._serialized_end=864 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waCommon/WACommon_pb2.pyi b/neonize/proto/waCommon/WACommon_pb2.pyi new file mode 100644 index 00000000..992a4355 --- /dev/null +++ b/neonize/proto/waCommon/WACommon_pb2.pyi @@ -0,0 +1,229 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _FutureProofBehavior: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _FutureProofBehaviorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FutureProofBehavior.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PLACEHOLDER: _FutureProofBehavior.ValueType # 0 + NO_PLACEHOLDER: _FutureProofBehavior.ValueType # 1 + IGNORE: _FutureProofBehavior.ValueType # 2 + +class FutureProofBehavior(_FutureProofBehavior, metaclass=_FutureProofBehaviorEnumTypeWrapper): ... + +PLACEHOLDER: FutureProofBehavior.ValueType # 0 +NO_PLACEHOLDER: FutureProofBehavior.ValueType # 1 +IGNORE: FutureProofBehavior.ValueType # 2 +global___FutureProofBehavior = FutureProofBehavior + +@typing.final +class MessageKey(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REMOTEJID_FIELD_NUMBER: builtins.int + FROMME_FIELD_NUMBER: builtins.int + ID_FIELD_NUMBER: builtins.int + PARTICIPANT_FIELD_NUMBER: builtins.int + remoteJID: builtins.str + fromMe: builtins.bool + ID: builtins.str + participant: builtins.str + def __init__( + self, + *, + remoteJID: builtins.str | None = ..., + fromMe: builtins.bool | None = ..., + ID: builtins.str | None = ..., + participant: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "fromMe", b"fromMe", "participant", b"participant", "remoteJID", b"remoteJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "fromMe", b"fromMe", "participant", b"participant", "remoteJID", b"remoteJID"]) -> None: ... + +global___MessageKey = MessageKey + +@typing.final +class Command(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _CommandType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CommandTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Command._CommandType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + EVERYONE: Command._CommandType.ValueType # 1 + SILENT: Command._CommandType.ValueType # 2 + AI: Command._CommandType.ValueType # 3 + AI_IMAGINE: Command._CommandType.ValueType # 4 + + class CommandType(_CommandType, metaclass=_CommandTypeEnumTypeWrapper): ... + EVERYONE: Command.CommandType.ValueType # 1 + SILENT: Command.CommandType.ValueType # 2 + AI: Command.CommandType.ValueType # 3 + AI_IMAGINE: Command.CommandType.ValueType # 4 + + COMMANDTYPE_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + LENGTH_FIELD_NUMBER: builtins.int + VALIDATIONTOKEN_FIELD_NUMBER: builtins.int + commandType: global___Command.CommandType.ValueType + offset: builtins.int + length: builtins.int + validationToken: builtins.str + def __init__( + self, + *, + commandType: global___Command.CommandType.ValueType | None = ..., + offset: builtins.int | None = ..., + length: builtins.int | None = ..., + validationToken: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["commandType", b"commandType", "length", b"length", "offset", b"offset", "validationToken", b"validationToken"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["commandType", b"commandType", "length", b"length", "offset", b"offset", "validationToken", b"validationToken"]) -> None: ... + +global___Command = Command + +@typing.final +class Mention(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _MentionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _MentionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Mention._MentionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PROFILE: Mention._MentionType.ValueType # 0 + + class MentionType(_MentionType, metaclass=_MentionTypeEnumTypeWrapper): ... + PROFILE: Mention.MentionType.ValueType # 0 + + MENTIONTYPE_FIELD_NUMBER: builtins.int + MENTIONEDJID_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + LENGTH_FIELD_NUMBER: builtins.int + mentionType: global___Mention.MentionType.ValueType + mentionedJID: builtins.str + offset: builtins.int + length: builtins.int + def __init__( + self, + *, + mentionType: global___Mention.MentionType.ValueType | None = ..., + mentionedJID: builtins.str | None = ..., + offset: builtins.int | None = ..., + length: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["length", b"length", "mentionType", b"mentionType", "mentionedJID", b"mentionedJID", "offset", b"offset"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["length", b"length", "mentionType", b"mentionType", "mentionedJID", b"mentionedJID", "offset", b"offset"]) -> None: ... + +global___Mention = Mention + +@typing.final +class MessageText(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TEXT_FIELD_NUMBER: builtins.int + MENTIONEDJID_FIELD_NUMBER: builtins.int + COMMANDS_FIELD_NUMBER: builtins.int + MENTIONS_FIELD_NUMBER: builtins.int + text: builtins.str + @property + def mentionedJID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Command]: ... + @property + def mentions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Mention]: ... + def __init__( + self, + *, + text: builtins.str | None = ..., + mentionedJID: collections.abc.Iterable[builtins.str] | None = ..., + commands: collections.abc.Iterable[global___Command] | None = ..., + mentions: collections.abc.Iterable[global___Mention] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["commands", b"commands", "mentionedJID", b"mentionedJID", "mentions", b"mentions", "text", b"text"]) -> None: ... + +global___MessageText = MessageText + +@typing.final +class SubProtocol(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PAYLOAD_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + payload: builtins.bytes + version: builtins.int + def __init__( + self, + *, + payload: builtins.bytes | None = ..., + version: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["payload", b"payload", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["payload", b"payload", "version", b"version"]) -> None: ... + +global___SubProtocol = SubProtocol + +@typing.final +class LimitSharing(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Trigger: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TriggerEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[LimitSharing._Trigger.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: LimitSharing._Trigger.ValueType # 0 + CHAT_SETTING: LimitSharing._Trigger.ValueType # 1 + BIZ_SUPPORTS_FB_HOSTING: LimitSharing._Trigger.ValueType # 2 + UNKNOWN_GROUP: LimitSharing._Trigger.ValueType # 3 + + class Trigger(_Trigger, metaclass=_TriggerEnumTypeWrapper): ... + UNKNOWN: LimitSharing.Trigger.ValueType # 0 + CHAT_SETTING: LimitSharing.Trigger.ValueType # 1 + BIZ_SUPPORTS_FB_HOSTING: LimitSharing.Trigger.ValueType # 2 + UNKNOWN_GROUP: LimitSharing.Trigger.ValueType # 3 + + SHARINGLIMITED_FIELD_NUMBER: builtins.int + TRIGGER_FIELD_NUMBER: builtins.int + LIMITSHARINGSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int + INITIATEDBYME_FIELD_NUMBER: builtins.int + sharingLimited: builtins.bool + trigger: global___LimitSharing.Trigger.ValueType + limitSharingSettingTimestamp: builtins.int + initiatedByMe: builtins.bool + def __init__( + self, + *, + sharingLimited: builtins.bool | None = ..., + trigger: global___LimitSharing.Trigger.ValueType | None = ..., + limitSharingSettingTimestamp: builtins.int | None = ..., + initiatedByMe: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["initiatedByMe", b"initiatedByMe", "limitSharingSettingTimestamp", b"limitSharingSettingTimestamp", "sharingLimited", b"sharingLimited", "trigger", b"trigger"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["initiatedByMe", b"initiatedByMe", "limitSharingSettingTimestamp", b"limitSharingSettingTimestamp", "sharingLimited", b"sharingLimited", "trigger", b"trigger"]) -> None: ... + +global___LimitSharing = LimitSharing diff --git a/neonize/proto/waCommonParameterised/WACommonParameterised_pb2.py b/neonize/proto/waCommonParameterised/WACommonParameterised_pb2.py new file mode 100644 index 00000000..837aab26 --- /dev/null +++ b/neonize/proto/waCommonParameterised/WACommonParameterised_pb2.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waCommonParameterised/WACommonParameterised.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waCommonParameterised/WACommonParameterised.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1waCommonParameterised/WACommonParameterised.proto\x12\x15WACommonParameterised\"P\n\nMessageKey\x12\x11\n\tremoteJID\x18\x01 \x01(\t\x12\x0e\n\x06\x66romMe\x18\x02 \x01(\x08\x12\n\n\x02ID\x18\x03 \x01(\t\x12\x13\n\x0bparticipant\x18\x04 \x01(\t\"\xc4\x01\n\x07\x43ommand\x12?\n\x0b\x63ommandType\x18\x01 \x01(\x0e\x32*.WACommonParameterised.Command.CommandType\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x17\n\x0fvalidationToken\x18\x04 \x01(\t\"?\n\x0b\x43ommandType\x12\x0c\n\x08\x45VERYONE\x10\x01\x12\n\n\x06SILENT\x10\x02\x12\x06\n\x02\x41I\x10\x03\x12\x0e\n\nAI_IMAGINE\x10\x04\"\x9c\x01\n\x07Mention\x12?\n\x0bmentionType\x18\x01 \x01(\x0e\x32*.WACommonParameterised.Mention.MentionType\x12\x14\n\x0cmentionedJID\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\r\x12\x0e\n\x06length\x18\x04 \x01(\r\"\x1a\n\x0bMentionType\x12\x0b\n\x07PROFILE\x10\x00\"\x95\x01\n\x0bMessageText\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x14\n\x0cmentionedJID\x18\x02 \x03(\t\x12\x30\n\x08\x63ommands\x18\x03 \x03(\x0b\x32\x1e.WACommonParameterised.Command\x12\x30\n\x08mentions\x18\x04 \x03(\x0b\x32\x1e.WACommonParameterised.Mention\"/\n\x0bSubProtocol\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\x12\x0f\n\x07version\x18\x02 \x01(\x05*F\n\x13\x46utureProofBehavior\x12\x0f\n\x0bPLACEHOLDER\x10\x00\x12\x12\n\x0eNO_PLACEHOLDER\x10\x01\x12\n\n\x06IGNORE\x10\x02\x42\x31Z/go.mau.fi/whatsmeow/proto/waCommonParameterised') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waCommonParameterised.WACommonParameterised_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z/go.mau.fi/whatsmeow/proto/waCommonParameterised' + _globals['_FUTUREPROOFBEHAVIOR']._serialized_start=717 + _globals['_FUTUREPROOFBEHAVIOR']._serialized_end=787 + _globals['_MESSAGEKEY']._serialized_start=76 + _globals['_MESSAGEKEY']._serialized_end=156 + _globals['_COMMAND']._serialized_start=159 + _globals['_COMMAND']._serialized_end=355 + _globals['_COMMAND_COMMANDTYPE']._serialized_start=292 + _globals['_COMMAND_COMMANDTYPE']._serialized_end=355 + _globals['_MENTION']._serialized_start=358 + _globals['_MENTION']._serialized_end=514 + _globals['_MENTION_MENTIONTYPE']._serialized_start=488 + _globals['_MENTION_MENTIONTYPE']._serialized_end=514 + _globals['_MESSAGETEXT']._serialized_start=517 + _globals['_MESSAGETEXT']._serialized_end=666 + _globals['_SUBPROTOCOL']._serialized_start=668 + _globals['_SUBPROTOCOL']._serialized_end=715 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waCommonParameterised/WACommonParameterised_pb2.pyi b/neonize/proto/waCommonParameterised/WACommonParameterised_pb2.pyi new file mode 100644 index 00000000..bcbe7eaa --- /dev/null +++ b/neonize/proto/waCommonParameterised/WACommonParameterised_pb2.pyi @@ -0,0 +1,187 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _FutureProofBehavior: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _FutureProofBehaviorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_FutureProofBehavior.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PLACEHOLDER: _FutureProofBehavior.ValueType # 0 + NO_PLACEHOLDER: _FutureProofBehavior.ValueType # 1 + IGNORE: _FutureProofBehavior.ValueType # 2 + +class FutureProofBehavior(_FutureProofBehavior, metaclass=_FutureProofBehaviorEnumTypeWrapper): ... + +PLACEHOLDER: FutureProofBehavior.ValueType # 0 +NO_PLACEHOLDER: FutureProofBehavior.ValueType # 1 +IGNORE: FutureProofBehavior.ValueType # 2 +global___FutureProofBehavior = FutureProofBehavior + +@typing.final +class MessageKey(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REMOTEJID_FIELD_NUMBER: builtins.int + FROMME_FIELD_NUMBER: builtins.int + ID_FIELD_NUMBER: builtins.int + PARTICIPANT_FIELD_NUMBER: builtins.int + remoteJID: builtins.str + fromMe: builtins.bool + ID: builtins.str + participant: builtins.str + def __init__( + self, + *, + remoteJID: builtins.str | None = ..., + fromMe: builtins.bool | None = ..., + ID: builtins.str | None = ..., + participant: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "fromMe", b"fromMe", "participant", b"participant", "remoteJID", b"remoteJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "fromMe", b"fromMe", "participant", b"participant", "remoteJID", b"remoteJID"]) -> None: ... + +global___MessageKey = MessageKey + +@typing.final +class Command(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _CommandType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CommandTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Command._CommandType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + EVERYONE: Command._CommandType.ValueType # 1 + SILENT: Command._CommandType.ValueType # 2 + AI: Command._CommandType.ValueType # 3 + AI_IMAGINE: Command._CommandType.ValueType # 4 + + class CommandType(_CommandType, metaclass=_CommandTypeEnumTypeWrapper): ... + EVERYONE: Command.CommandType.ValueType # 1 + SILENT: Command.CommandType.ValueType # 2 + AI: Command.CommandType.ValueType # 3 + AI_IMAGINE: Command.CommandType.ValueType # 4 + + COMMANDTYPE_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + LENGTH_FIELD_NUMBER: builtins.int + VALIDATIONTOKEN_FIELD_NUMBER: builtins.int + commandType: global___Command.CommandType.ValueType + offset: builtins.int + length: builtins.int + validationToken: builtins.str + def __init__( + self, + *, + commandType: global___Command.CommandType.ValueType | None = ..., + offset: builtins.int | None = ..., + length: builtins.int | None = ..., + validationToken: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["commandType", b"commandType", "length", b"length", "offset", b"offset", "validationToken", b"validationToken"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["commandType", b"commandType", "length", b"length", "offset", b"offset", "validationToken", b"validationToken"]) -> None: ... + +global___Command = Command + +@typing.final +class Mention(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _MentionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _MentionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Mention._MentionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PROFILE: Mention._MentionType.ValueType # 0 + + class MentionType(_MentionType, metaclass=_MentionTypeEnumTypeWrapper): ... + PROFILE: Mention.MentionType.ValueType # 0 + + MENTIONTYPE_FIELD_NUMBER: builtins.int + MENTIONEDJID_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + LENGTH_FIELD_NUMBER: builtins.int + mentionType: global___Mention.MentionType.ValueType + mentionedJID: builtins.str + offset: builtins.int + length: builtins.int + def __init__( + self, + *, + mentionType: global___Mention.MentionType.ValueType | None = ..., + mentionedJID: builtins.str | None = ..., + offset: builtins.int | None = ..., + length: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["length", b"length", "mentionType", b"mentionType", "mentionedJID", b"mentionedJID", "offset", b"offset"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["length", b"length", "mentionType", b"mentionType", "mentionedJID", b"mentionedJID", "offset", b"offset"]) -> None: ... + +global___Mention = Mention + +@typing.final +class MessageText(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TEXT_FIELD_NUMBER: builtins.int + MENTIONEDJID_FIELD_NUMBER: builtins.int + COMMANDS_FIELD_NUMBER: builtins.int + MENTIONS_FIELD_NUMBER: builtins.int + text: builtins.str + @property + def mentionedJID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def commands(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Command]: ... + @property + def mentions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Mention]: ... + def __init__( + self, + *, + text: builtins.str | None = ..., + mentionedJID: collections.abc.Iterable[builtins.str] | None = ..., + commands: collections.abc.Iterable[global___Command] | None = ..., + mentions: collections.abc.Iterable[global___Mention] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["commands", b"commands", "mentionedJID", b"mentionedJID", "mentions", b"mentions", "text", b"text"]) -> None: ... + +global___MessageText = MessageText + +@typing.final +class SubProtocol(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PAYLOAD_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + payload: builtins.bytes + version: builtins.int + def __init__( + self, + *, + payload: builtins.bytes | None = ..., + version: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["payload", b"payload", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["payload", b"payload", "version", b"version"]) -> None: ... + +global___SubProtocol = SubProtocol diff --git a/neonize/proto/waCompanionReg/WACompanionReg_pb2.py b/neonize/proto/waCompanionReg/WACompanionReg_pb2.py new file mode 100644 index 00000000..277a3f73 --- /dev/null +++ b/neonize/proto/waCompanionReg/WACompanionReg_pb2.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waCompanionReg/WACompanionReg.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waCompanionReg/WACompanionReg.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#waCompanionReg/WACompanionReg.proto\x12\x0eWACompanionReg\"\x82\n\n\x0b\x44\x65viceProps\x12\n\n\x02os\x18\x01 \x01(\t\x12\x37\n\x07version\x18\x02 \x01(\x0b\x32&.WACompanionReg.DeviceProps.AppVersion\x12>\n\x0cplatformType\x18\x03 \x01(\x0e\x32(.WACompanionReg.DeviceProps.PlatformType\x12\x17\n\x0frequireFullSync\x18\x04 \x01(\x08\x12H\n\x11historySyncConfig\x18\x05 \x01(\x0b\x32-.WACompanionReg.DeviceProps.HistorySyncConfig\x1a\xbf\x04\n\x11HistorySyncConfig\x12\x19\n\x11\x66ullSyncDaysLimit\x18\x01 \x01(\r\x12\x1b\n\x13\x66ullSyncSizeMbLimit\x18\x02 \x01(\r\x12\x16\n\x0estorageQuotaMb\x18\x03 \x01(\r\x12%\n\x1dinlineInitialPayloadInE2EeMsg\x18\x04 \x01(\x08\x12\x1b\n\x13recentSyncDaysLimit\x18\x05 \x01(\r\x12\x1d\n\x15supportCallLogHistory\x18\x06 \x01(\x08\x12&\n\x1esupportBotUserAgentChatHistory\x18\x07 \x01(\x08\x12#\n\x1bsupportCagReactionsAndPolls\x18\x08 \x01(\x08\x12\x1b\n\x13supportBizHostedMsg\x18\t \x01(\x08\x12\x30\n(supportRecentSyncChunkMessageCountTuning\x18\n \x01(\x08\x12\x1d\n\x15supportHostedGroupMsg\x18\x0b \x01(\x08\x12!\n\x19supportFbidBotChatHistory\x18\x0c \x01(\x08\x12(\n supportAddOnHistorySyncMigration\x18\r \x01(\x08\x12!\n\x19supportMessageAssociation\x18\x0e \x01(\x08\x12\x1b\n\x13supportGroupHistory\x18\x0f \x01(\x08\x12\x15\n\ronDemandReady\x18\x10 \x01(\x08\x12\x18\n\x10supportGuestChat\x18\x11 \x01(\x08\x1ag\n\nAppVersion\x12\x0f\n\x07primary\x18\x01 \x01(\r\x12\x11\n\tsecondary\x18\x02 \x01(\r\x12\x10\n\x08tertiary\x18\x03 \x01(\r\x12\x12\n\nquaternary\x18\x04 \x01(\r\x12\x0f\n\x07quinary\x18\x05 \x01(\r\"\xdf\x02\n\x0cPlatformType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43HROME\x10\x01\x12\x0b\n\x07\x46IREFOX\x10\x02\x12\x06\n\x02IE\x10\x03\x12\t\n\x05OPERA\x10\x04\x12\n\n\x06SAFARI\x10\x05\x12\x08\n\x04\x45\x44GE\x10\x06\x12\x0b\n\x07\x44\x45SKTOP\x10\x07\x12\x08\n\x04IPAD\x10\x08\x12\x12\n\x0e\x41NDROID_TABLET\x10\t\x12\t\n\x05OHANA\x10\n\x12\t\n\x05\x41LOHA\x10\x0b\x12\x0c\n\x08\x43\x41TALINA\x10\x0c\x12\n\n\x06TCL_TV\x10\r\x12\r\n\tIOS_PHONE\x10\x0e\x12\x10\n\x0cIOS_CATALYST\x10\x0f\x12\x11\n\rANDROID_PHONE\x10\x10\x12\x15\n\x11\x41NDROID_AMBIGUOUS\x10\x11\x12\x0b\n\x07WEAR_OS\x10\x12\x12\x0c\n\x08\x41R_WRIST\x10\x13\x12\r\n\tAR_DEVICE\x10\x14\x12\x07\n\x03UWP\x10\x15\x12\x06\n\x02VR\x10\x16\x12\r\n\tCLOUD_API\x10\x17\x12\x10\n\x0cSMARTGLASSES\x10\x18\"z\n\x1a\x43ompanionEphemeralIdentity\x12\x11\n\tpublicKey\x18\x01 \x01(\x0c\x12<\n\ndeviceType\x18\x02 \x01(\x0e\x32(.WACompanionReg.DeviceProps.PlatformType\x12\x0b\n\x03ref\x18\x03 \x01(\t\"#\n\x13\x43ompanionCommitment\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\"n\n\x0fProloguePayload\x12\"\n\x1a\x63ompanionEphemeralIdentity\x18\x01 \x01(\x0c\x12\x37\n\ncommitment\x18\x02 \x01(\x0b\x32#.WACompanionReg.CompanionCommitment\"<\n\x18PrimaryEphemeralIdentity\x12\x11\n\tpublicKey\x18\x01 \x01(\x0c\x12\r\n\x05nonce\x18\x02 \x01(\x0c\"]\n\x0ePairingRequest\x12\x1a\n\x12\x63ompanionPublicKey\x18\x01 \x01(\x0c\x12\x1c\n\x14\x63ompanionIdentityKey\x18\x02 \x01(\x0c\x12\x11\n\tadvSecret\x18\x03 \x01(\x0c\"?\n\x17\x45ncryptedPairingRequest\x12\x18\n\x10\x65ncryptedPayload\x18\x01 \x01(\x0c\x12\n\n\x02IV\x18\x02 \x01(\x0c\"x\n\x12\x43lientPairingProps\x12\x1b\n\x13isChatDbLidMigrated\x18\x01 \x01(\x08\x12\x1d\n\x15isSyncdPureLidSession\x18\x02 \x01(\x08\x12&\n\x1eisSyncdSnapshotRecoveryEnabled\x18\x03 \x01(\x08\x42*Z(go.mau.fi/whatsmeow/proto/waCompanionReg') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waCompanionReg.WACompanionReg_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z(go.mau.fi/whatsmeow/proto/waCompanionReg' + _globals['_DEVICEPROPS']._serialized_start=56 + _globals['_DEVICEPROPS']._serialized_end=1338 + _globals['_DEVICEPROPS_HISTORYSYNCCONFIG']._serialized_start=304 + _globals['_DEVICEPROPS_HISTORYSYNCCONFIG']._serialized_end=879 + _globals['_DEVICEPROPS_APPVERSION']._serialized_start=881 + _globals['_DEVICEPROPS_APPVERSION']._serialized_end=984 + _globals['_DEVICEPROPS_PLATFORMTYPE']._serialized_start=987 + _globals['_DEVICEPROPS_PLATFORMTYPE']._serialized_end=1338 + _globals['_COMPANIONEPHEMERALIDENTITY']._serialized_start=1340 + _globals['_COMPANIONEPHEMERALIDENTITY']._serialized_end=1462 + _globals['_COMPANIONCOMMITMENT']._serialized_start=1464 + _globals['_COMPANIONCOMMITMENT']._serialized_end=1499 + _globals['_PROLOGUEPAYLOAD']._serialized_start=1501 + _globals['_PROLOGUEPAYLOAD']._serialized_end=1611 + _globals['_PRIMARYEPHEMERALIDENTITY']._serialized_start=1613 + _globals['_PRIMARYEPHEMERALIDENTITY']._serialized_end=1673 + _globals['_PAIRINGREQUEST']._serialized_start=1675 + _globals['_PAIRINGREQUEST']._serialized_end=1768 + _globals['_ENCRYPTEDPAIRINGREQUEST']._serialized_start=1770 + _globals['_ENCRYPTEDPAIRINGREQUEST']._serialized_end=1833 + _globals['_CLIENTPAIRINGPROPS']._serialized_start=1835 + _globals['_CLIENTPAIRINGPROPS']._serialized_end=1955 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waCompanionReg/WACompanionReg_pb2.pyi b/neonize/proto/waCompanionReg/WACompanionReg_pb2.pyi new file mode 100644 index 00000000..9bd90b6b --- /dev/null +++ b/neonize/proto/waCompanionReg/WACompanionReg_pb2.pyi @@ -0,0 +1,335 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class DeviceProps(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PlatformType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PlatformTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DeviceProps._PlatformType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: DeviceProps._PlatformType.ValueType # 0 + CHROME: DeviceProps._PlatformType.ValueType # 1 + FIREFOX: DeviceProps._PlatformType.ValueType # 2 + IE: DeviceProps._PlatformType.ValueType # 3 + OPERA: DeviceProps._PlatformType.ValueType # 4 + SAFARI: DeviceProps._PlatformType.ValueType # 5 + EDGE: DeviceProps._PlatformType.ValueType # 6 + DESKTOP: DeviceProps._PlatformType.ValueType # 7 + IPAD: DeviceProps._PlatformType.ValueType # 8 + ANDROID_TABLET: DeviceProps._PlatformType.ValueType # 9 + OHANA: DeviceProps._PlatformType.ValueType # 10 + ALOHA: DeviceProps._PlatformType.ValueType # 11 + CATALINA: DeviceProps._PlatformType.ValueType # 12 + TCL_TV: DeviceProps._PlatformType.ValueType # 13 + IOS_PHONE: DeviceProps._PlatformType.ValueType # 14 + IOS_CATALYST: DeviceProps._PlatformType.ValueType # 15 + ANDROID_PHONE: DeviceProps._PlatformType.ValueType # 16 + ANDROID_AMBIGUOUS: DeviceProps._PlatformType.ValueType # 17 + WEAR_OS: DeviceProps._PlatformType.ValueType # 18 + AR_WRIST: DeviceProps._PlatformType.ValueType # 19 + AR_DEVICE: DeviceProps._PlatformType.ValueType # 20 + UWP: DeviceProps._PlatformType.ValueType # 21 + VR: DeviceProps._PlatformType.ValueType # 22 + CLOUD_API: DeviceProps._PlatformType.ValueType # 23 + SMARTGLASSES: DeviceProps._PlatformType.ValueType # 24 + + class PlatformType(_PlatformType, metaclass=_PlatformTypeEnumTypeWrapper): ... + UNKNOWN: DeviceProps.PlatformType.ValueType # 0 + CHROME: DeviceProps.PlatformType.ValueType # 1 + FIREFOX: DeviceProps.PlatformType.ValueType # 2 + IE: DeviceProps.PlatformType.ValueType # 3 + OPERA: DeviceProps.PlatformType.ValueType # 4 + SAFARI: DeviceProps.PlatformType.ValueType # 5 + EDGE: DeviceProps.PlatformType.ValueType # 6 + DESKTOP: DeviceProps.PlatformType.ValueType # 7 + IPAD: DeviceProps.PlatformType.ValueType # 8 + ANDROID_TABLET: DeviceProps.PlatformType.ValueType # 9 + OHANA: DeviceProps.PlatformType.ValueType # 10 + ALOHA: DeviceProps.PlatformType.ValueType # 11 + CATALINA: DeviceProps.PlatformType.ValueType # 12 + TCL_TV: DeviceProps.PlatformType.ValueType # 13 + IOS_PHONE: DeviceProps.PlatformType.ValueType # 14 + IOS_CATALYST: DeviceProps.PlatformType.ValueType # 15 + ANDROID_PHONE: DeviceProps.PlatformType.ValueType # 16 + ANDROID_AMBIGUOUS: DeviceProps.PlatformType.ValueType # 17 + WEAR_OS: DeviceProps.PlatformType.ValueType # 18 + AR_WRIST: DeviceProps.PlatformType.ValueType # 19 + AR_DEVICE: DeviceProps.PlatformType.ValueType # 20 + UWP: DeviceProps.PlatformType.ValueType # 21 + VR: DeviceProps.PlatformType.ValueType # 22 + CLOUD_API: DeviceProps.PlatformType.ValueType # 23 + SMARTGLASSES: DeviceProps.PlatformType.ValueType # 24 + + @typing.final + class HistorySyncConfig(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FULLSYNCDAYSLIMIT_FIELD_NUMBER: builtins.int + FULLSYNCSIZEMBLIMIT_FIELD_NUMBER: builtins.int + STORAGEQUOTAMB_FIELD_NUMBER: builtins.int + INLINEINITIALPAYLOADINE2EEMSG_FIELD_NUMBER: builtins.int + RECENTSYNCDAYSLIMIT_FIELD_NUMBER: builtins.int + SUPPORTCALLLOGHISTORY_FIELD_NUMBER: builtins.int + SUPPORTBOTUSERAGENTCHATHISTORY_FIELD_NUMBER: builtins.int + SUPPORTCAGREACTIONSANDPOLLS_FIELD_NUMBER: builtins.int + SUPPORTBIZHOSTEDMSG_FIELD_NUMBER: builtins.int + SUPPORTRECENTSYNCCHUNKMESSAGECOUNTTUNING_FIELD_NUMBER: builtins.int + SUPPORTHOSTEDGROUPMSG_FIELD_NUMBER: builtins.int + SUPPORTFBIDBOTCHATHISTORY_FIELD_NUMBER: builtins.int + SUPPORTADDONHISTORYSYNCMIGRATION_FIELD_NUMBER: builtins.int + SUPPORTMESSAGEASSOCIATION_FIELD_NUMBER: builtins.int + SUPPORTGROUPHISTORY_FIELD_NUMBER: builtins.int + ONDEMANDREADY_FIELD_NUMBER: builtins.int + SUPPORTGUESTCHAT_FIELD_NUMBER: builtins.int + fullSyncDaysLimit: builtins.int + fullSyncSizeMbLimit: builtins.int + storageQuotaMb: builtins.int + inlineInitialPayloadInE2EeMsg: builtins.bool + recentSyncDaysLimit: builtins.int + supportCallLogHistory: builtins.bool + supportBotUserAgentChatHistory: builtins.bool + supportCagReactionsAndPolls: builtins.bool + supportBizHostedMsg: builtins.bool + supportRecentSyncChunkMessageCountTuning: builtins.bool + supportHostedGroupMsg: builtins.bool + supportFbidBotChatHistory: builtins.bool + supportAddOnHistorySyncMigration: builtins.bool + supportMessageAssociation: builtins.bool + supportGroupHistory: builtins.bool + onDemandReady: builtins.bool + supportGuestChat: builtins.bool + def __init__( + self, + *, + fullSyncDaysLimit: builtins.int | None = ..., + fullSyncSizeMbLimit: builtins.int | None = ..., + storageQuotaMb: builtins.int | None = ..., + inlineInitialPayloadInE2EeMsg: builtins.bool | None = ..., + recentSyncDaysLimit: builtins.int | None = ..., + supportCallLogHistory: builtins.bool | None = ..., + supportBotUserAgentChatHistory: builtins.bool | None = ..., + supportCagReactionsAndPolls: builtins.bool | None = ..., + supportBizHostedMsg: builtins.bool | None = ..., + supportRecentSyncChunkMessageCountTuning: builtins.bool | None = ..., + supportHostedGroupMsg: builtins.bool | None = ..., + supportFbidBotChatHistory: builtins.bool | None = ..., + supportAddOnHistorySyncMigration: builtins.bool | None = ..., + supportMessageAssociation: builtins.bool | None = ..., + supportGroupHistory: builtins.bool | None = ..., + onDemandReady: builtins.bool | None = ..., + supportGuestChat: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fullSyncDaysLimit", b"fullSyncDaysLimit", "fullSyncSizeMbLimit", b"fullSyncSizeMbLimit", "inlineInitialPayloadInE2EeMsg", b"inlineInitialPayloadInE2EeMsg", "onDemandReady", b"onDemandReady", "recentSyncDaysLimit", b"recentSyncDaysLimit", "storageQuotaMb", b"storageQuotaMb", "supportAddOnHistorySyncMigration", b"supportAddOnHistorySyncMigration", "supportBizHostedMsg", b"supportBizHostedMsg", "supportBotUserAgentChatHistory", b"supportBotUserAgentChatHistory", "supportCagReactionsAndPolls", b"supportCagReactionsAndPolls", "supportCallLogHistory", b"supportCallLogHistory", "supportFbidBotChatHistory", b"supportFbidBotChatHistory", "supportGroupHistory", b"supportGroupHistory", "supportGuestChat", b"supportGuestChat", "supportHostedGroupMsg", b"supportHostedGroupMsg", "supportMessageAssociation", b"supportMessageAssociation", "supportRecentSyncChunkMessageCountTuning", b"supportRecentSyncChunkMessageCountTuning"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fullSyncDaysLimit", b"fullSyncDaysLimit", "fullSyncSizeMbLimit", b"fullSyncSizeMbLimit", "inlineInitialPayloadInE2EeMsg", b"inlineInitialPayloadInE2EeMsg", "onDemandReady", b"onDemandReady", "recentSyncDaysLimit", b"recentSyncDaysLimit", "storageQuotaMb", b"storageQuotaMb", "supportAddOnHistorySyncMigration", b"supportAddOnHistorySyncMigration", "supportBizHostedMsg", b"supportBizHostedMsg", "supportBotUserAgentChatHistory", b"supportBotUserAgentChatHistory", "supportCagReactionsAndPolls", b"supportCagReactionsAndPolls", "supportCallLogHistory", b"supportCallLogHistory", "supportFbidBotChatHistory", b"supportFbidBotChatHistory", "supportGroupHistory", b"supportGroupHistory", "supportGuestChat", b"supportGuestChat", "supportHostedGroupMsg", b"supportHostedGroupMsg", "supportMessageAssociation", b"supportMessageAssociation", "supportRecentSyncChunkMessageCountTuning", b"supportRecentSyncChunkMessageCountTuning"]) -> None: ... + + @typing.final + class AppVersion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRIMARY_FIELD_NUMBER: builtins.int + SECONDARY_FIELD_NUMBER: builtins.int + TERTIARY_FIELD_NUMBER: builtins.int + QUATERNARY_FIELD_NUMBER: builtins.int + QUINARY_FIELD_NUMBER: builtins.int + primary: builtins.int + secondary: builtins.int + tertiary: builtins.int + quaternary: builtins.int + quinary: builtins.int + def __init__( + self, + *, + primary: builtins.int | None = ..., + secondary: builtins.int | None = ..., + tertiary: builtins.int | None = ..., + quaternary: builtins.int | None = ..., + quinary: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]) -> None: ... + + OS_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + PLATFORMTYPE_FIELD_NUMBER: builtins.int + REQUIREFULLSYNC_FIELD_NUMBER: builtins.int + HISTORYSYNCCONFIG_FIELD_NUMBER: builtins.int + os: builtins.str + platformType: global___DeviceProps.PlatformType.ValueType + requireFullSync: builtins.bool + @property + def version(self) -> global___DeviceProps.AppVersion: ... + @property + def historySyncConfig(self) -> global___DeviceProps.HistorySyncConfig: ... + def __init__( + self, + *, + os: builtins.str | None = ..., + version: global___DeviceProps.AppVersion | None = ..., + platformType: global___DeviceProps.PlatformType.ValueType | None = ..., + requireFullSync: builtins.bool | None = ..., + historySyncConfig: global___DeviceProps.HistorySyncConfig | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["historySyncConfig", b"historySyncConfig", "os", b"os", "platformType", b"platformType", "requireFullSync", b"requireFullSync", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["historySyncConfig", b"historySyncConfig", "os", b"os", "platformType", b"platformType", "requireFullSync", b"requireFullSync", "version", b"version"]) -> None: ... + +global___DeviceProps = DeviceProps + +@typing.final +class CompanionEphemeralIdentity(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PUBLICKEY_FIELD_NUMBER: builtins.int + DEVICETYPE_FIELD_NUMBER: builtins.int + REF_FIELD_NUMBER: builtins.int + publicKey: builtins.bytes + deviceType: global___DeviceProps.PlatformType.ValueType + ref: builtins.str + def __init__( + self, + *, + publicKey: builtins.bytes | None = ..., + deviceType: global___DeviceProps.PlatformType.ValueType | None = ..., + ref: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deviceType", b"deviceType", "publicKey", b"publicKey", "ref", b"ref"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deviceType", b"deviceType", "publicKey", b"publicKey", "ref", b"ref"]) -> None: ... + +global___CompanionEphemeralIdentity = CompanionEphemeralIdentity + +@typing.final +class CompanionCommitment(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + HASH_FIELD_NUMBER: builtins.int + hash: builtins.bytes + def __init__( + self, + *, + hash: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["hash", b"hash"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["hash", b"hash"]) -> None: ... + +global___CompanionCommitment = CompanionCommitment + +@typing.final +class ProloguePayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COMPANIONEPHEMERALIDENTITY_FIELD_NUMBER: builtins.int + COMMITMENT_FIELD_NUMBER: builtins.int + companionEphemeralIdentity: builtins.bytes + @property + def commitment(self) -> global___CompanionCommitment: ... + def __init__( + self, + *, + companionEphemeralIdentity: builtins.bytes | None = ..., + commitment: global___CompanionCommitment | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["commitment", b"commitment", "companionEphemeralIdentity", b"companionEphemeralIdentity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["commitment", b"commitment", "companionEphemeralIdentity", b"companionEphemeralIdentity"]) -> None: ... + +global___ProloguePayload = ProloguePayload + +@typing.final +class PrimaryEphemeralIdentity(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PUBLICKEY_FIELD_NUMBER: builtins.int + NONCE_FIELD_NUMBER: builtins.int + publicKey: builtins.bytes + nonce: builtins.bytes + def __init__( + self, + *, + publicKey: builtins.bytes | None = ..., + nonce: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["nonce", b"nonce", "publicKey", b"publicKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["nonce", b"nonce", "publicKey", b"publicKey"]) -> None: ... + +global___PrimaryEphemeralIdentity = PrimaryEphemeralIdentity + +@typing.final +class PairingRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COMPANIONPUBLICKEY_FIELD_NUMBER: builtins.int + COMPANIONIDENTITYKEY_FIELD_NUMBER: builtins.int + ADVSECRET_FIELD_NUMBER: builtins.int + companionPublicKey: builtins.bytes + companionIdentityKey: builtins.bytes + advSecret: builtins.bytes + def __init__( + self, + *, + companionPublicKey: builtins.bytes | None = ..., + companionIdentityKey: builtins.bytes | None = ..., + advSecret: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["advSecret", b"advSecret", "companionIdentityKey", b"companionIdentityKey", "companionPublicKey", b"companionPublicKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["advSecret", b"advSecret", "companionIdentityKey", b"companionIdentityKey", "companionPublicKey", b"companionPublicKey"]) -> None: ... + +global___PairingRequest = PairingRequest + +@typing.final +class EncryptedPairingRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ENCRYPTEDPAYLOAD_FIELD_NUMBER: builtins.int + IV_FIELD_NUMBER: builtins.int + encryptedPayload: builtins.bytes + IV: builtins.bytes + def __init__( + self, + *, + encryptedPayload: builtins.bytes | None = ..., + IV: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["IV", b"IV", "encryptedPayload", b"encryptedPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["IV", b"IV", "encryptedPayload", b"encryptedPayload"]) -> None: ... + +global___EncryptedPairingRequest = EncryptedPairingRequest + +@typing.final +class ClientPairingProps(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISCHATDBLIDMIGRATED_FIELD_NUMBER: builtins.int + ISSYNCDPURELIDSESSION_FIELD_NUMBER: builtins.int + ISSYNCDSNAPSHOTRECOVERYENABLED_FIELD_NUMBER: builtins.int + isChatDbLidMigrated: builtins.bool + isSyncdPureLidSession: builtins.bool + isSyncdSnapshotRecoveryEnabled: builtins.bool + def __init__( + self, + *, + isChatDbLidMigrated: builtins.bool | None = ..., + isSyncdPureLidSession: builtins.bool | None = ..., + isSyncdSnapshotRecoveryEnabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isChatDbLidMigrated", b"isChatDbLidMigrated", "isSyncdPureLidSession", b"isSyncdPureLidSession", "isSyncdSnapshotRecoveryEnabled", b"isSyncdSnapshotRecoveryEnabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isChatDbLidMigrated", b"isChatDbLidMigrated", "isSyncdPureLidSession", b"isSyncdPureLidSession", "isSyncdSnapshotRecoveryEnabled", b"isSyncdSnapshotRecoveryEnabled"]) -> None: ... + +global___ClientPairingProps = ClientPairingProps diff --git a/neonize/proto/waCompanionReg/WAWebProtobufsCompanionReg_pb2.py b/neonize/proto/waCompanionReg/WAWebProtobufsCompanionReg_pb2.py new file mode 100644 index 00000000..d8aadf7d --- /dev/null +++ b/neonize/proto/waCompanionReg/WAWebProtobufsCompanionReg_pb2.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: waCompanionReg/WAWebProtobufsCompanionReg.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/waCompanionReg/WAWebProtobufsCompanionReg.proto\x12\x1aWAWebProtobufsCompanionReg\"\xd8\t\n\x0b\x44\x65viceProps\x12\n\n\x02os\x18\x01 \x01(\t\x12\x43\n\x07version\x18\x02 \x01(\x0b\x32\x32.WAWebProtobufsCompanionReg.DeviceProps.AppVersion\x12J\n\x0cplatformType\x18\x03 \x01(\x0e\x32\x34.WAWebProtobufsCompanionReg.DeviceProps.PlatformType\x12\x17\n\x0frequireFullSync\x18\x04 \x01(\x08\x12T\n\x11historySyncConfig\x18\x05 \x01(\x0b\x32\x39.WAWebProtobufsCompanionReg.DeviceProps.HistorySyncConfig\x1a\xf1\x03\n\x11HistorySyncConfig\x12\x19\n\x11\x66ullSyncDaysLimit\x18\x01 \x01(\r\x12\x1b\n\x13\x66ullSyncSizeMbLimit\x18\x02 \x01(\r\x12\x16\n\x0estorageQuotaMb\x18\x03 \x01(\r\x12%\n\x1dinlineInitialPayloadInE2EeMsg\x18\x04 \x01(\x08\x12\x1b\n\x13recentSyncDaysLimit\x18\x05 \x01(\r\x12\x1d\n\x15supportCallLogHistory\x18\x06 \x01(\x08\x12&\n\x1esupportBotUserAgentChatHistory\x18\x07 \x01(\x08\x12#\n\x1bsupportCagReactionsAndPolls\x18\x08 \x01(\x08\x12\x1b\n\x13supportBizHostedMsg\x18\t \x01(\x08\x12\x30\n(supportRecentSyncChunkMessageCountTuning\x18\n \x01(\x08\x12\x1d\n\x15supportHostedGroupMsg\x18\x0b \x01(\x08\x12!\n\x19supportFbidBotChatHistory\x18\x0c \x01(\x08\x12(\n supportAddOnHistorySyncMigration\x18\r \x01(\x08\x12!\n\x19supportMessageAssociation\x18\x0e \x01(\x08\x1ag\n\nAppVersion\x12\x0f\n\x07primary\x18\x01 \x01(\r\x12\x11\n\tsecondary\x18\x02 \x01(\r\x12\x10\n\x08tertiary\x18\x03 \x01(\r\x12\x12\n\nquaternary\x18\x04 \x01(\r\x12\x0f\n\x07quinary\x18\x05 \x01(\r\"\xdf\x02\n\x0cPlatformType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43HROME\x10\x01\x12\x0b\n\x07\x46IREFOX\x10\x02\x12\x06\n\x02IE\x10\x03\x12\t\n\x05OPERA\x10\x04\x12\n\n\x06SAFARI\x10\x05\x12\x08\n\x04\x45\x44GE\x10\x06\x12\x0b\n\x07\x44\x45SKTOP\x10\x07\x12\x08\n\x04IPAD\x10\x08\x12\x12\n\x0e\x41NDROID_TABLET\x10\t\x12\t\n\x05OHANA\x10\n\x12\t\n\x05\x41LOHA\x10\x0b\x12\x0c\n\x08\x43\x41TALINA\x10\x0c\x12\n\n\x06TCL_TV\x10\r\x12\r\n\tIOS_PHONE\x10\x0e\x12\x10\n\x0cIOS_CATALYST\x10\x0f\x12\x11\n\rANDROID_PHONE\x10\x10\x12\x15\n\x11\x41NDROID_AMBIGUOUS\x10\x11\x12\x0b\n\x07WEAR_OS\x10\x12\x12\x0c\n\x08\x41R_WRIST\x10\x13\x12\r\n\tAR_DEVICE\x10\x14\x12\x07\n\x03UWP\x10\x15\x12\x06\n\x02VR\x10\x16\x12\r\n\tCLOUD_API\x10\x17\x12\x10\n\x0cSMARTGLASSES\x10\x18\"\x86\x01\n\x1a\x43ompanionEphemeralIdentity\x12\x11\n\tpublicKey\x18\x01 \x01(\x0c\x12H\n\ndeviceType\x18\x02 \x01(\x0e\x32\x34.WAWebProtobufsCompanionReg.DeviceProps.PlatformType\x12\x0b\n\x03ref\x18\x03 \x01(\t\"#\n\x13\x43ompanionCommitment\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\"z\n\x0fProloguePayload\x12\"\n\x1a\x63ompanionEphemeralIdentity\x18\x01 \x01(\x0c\x12\x43\n\ncommitment\x18\x02 \x01(\x0b\x32/.WAWebProtobufsCompanionReg.CompanionCommitment\"<\n\x18PrimaryEphemeralIdentity\x12\x11\n\tpublicKey\x18\x01 \x01(\x0c\x12\r\n\x05nonce\x18\x02 \x01(\x0c\"]\n\x0ePairingRequest\x12\x1a\n\x12\x63ompanionPublicKey\x18\x01 \x01(\x0c\x12\x1c\n\x14\x63ompanionIdentityKey\x18\x02 \x01(\x0c\x12\x11\n\tadvSecret\x18\x03 \x01(\x0c\"?\n\x17\x45ncryptedPairingRequest\x12\x18\n\x10\x65ncryptedPayload\x18\x01 \x01(\x0c\x12\n\n\x02IV\x18\x02 \x01(\x0c\"P\n\x12\x43lientPairingProps\x12\x1b\n\x13isChatDbLidMigrated\x18\x01 \x01(\x08\x12\x1d\n\x15isSyncdPureLidSession\x18\x02 \x01(\x08\x42*Z(go.mau.fi/whatsmeow/proto/waCompanionReg') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waCompanionReg.WAWebProtobufsCompanionReg_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z(go.mau.fi/whatsmeow/proto/waCompanionReg' + _globals['_DEVICEPROPS']._serialized_start=80 + _globals['_DEVICEPROPS']._serialized_end=1320 + _globals['_DEVICEPROPS_HISTORYSYNCCONFIG']._serialized_start=364 + _globals['_DEVICEPROPS_HISTORYSYNCCONFIG']._serialized_end=861 + _globals['_DEVICEPROPS_APPVERSION']._serialized_start=863 + _globals['_DEVICEPROPS_APPVERSION']._serialized_end=966 + _globals['_DEVICEPROPS_PLATFORMTYPE']._serialized_start=969 + _globals['_DEVICEPROPS_PLATFORMTYPE']._serialized_end=1320 + _globals['_COMPANIONEPHEMERALIDENTITY']._serialized_start=1323 + _globals['_COMPANIONEPHEMERALIDENTITY']._serialized_end=1457 + _globals['_COMPANIONCOMMITMENT']._serialized_start=1459 + _globals['_COMPANIONCOMMITMENT']._serialized_end=1494 + _globals['_PROLOGUEPAYLOAD']._serialized_start=1496 + _globals['_PROLOGUEPAYLOAD']._serialized_end=1618 + _globals['_PRIMARYEPHEMERALIDENTITY']._serialized_start=1620 + _globals['_PRIMARYEPHEMERALIDENTITY']._serialized_end=1680 + _globals['_PAIRINGREQUEST']._serialized_start=1682 + _globals['_PAIRINGREQUEST']._serialized_end=1775 + _globals['_ENCRYPTEDPAIRINGREQUEST']._serialized_start=1777 + _globals['_ENCRYPTEDPAIRINGREQUEST']._serialized_end=1840 + _globals['_CLIENTPAIRINGPROPS']._serialized_start=1842 + _globals['_CLIENTPAIRINGPROPS']._serialized_end=1922 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waCompanionReg/WAWebProtobufsCompanionReg_pb2.pyi b/neonize/proto/waCompanionReg/WAWebProtobufsCompanionReg_pb2.pyi new file mode 100644 index 00000000..93219261 --- /dev/null +++ b/neonize/proto/waCompanionReg/WAWebProtobufsCompanionReg_pb2.pyi @@ -0,0 +1,323 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class DeviceProps(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PlatformType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PlatformTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DeviceProps._PlatformType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: DeviceProps._PlatformType.ValueType # 0 + CHROME: DeviceProps._PlatformType.ValueType # 1 + FIREFOX: DeviceProps._PlatformType.ValueType # 2 + IE: DeviceProps._PlatformType.ValueType # 3 + OPERA: DeviceProps._PlatformType.ValueType # 4 + SAFARI: DeviceProps._PlatformType.ValueType # 5 + EDGE: DeviceProps._PlatformType.ValueType # 6 + DESKTOP: DeviceProps._PlatformType.ValueType # 7 + IPAD: DeviceProps._PlatformType.ValueType # 8 + ANDROID_TABLET: DeviceProps._PlatformType.ValueType # 9 + OHANA: DeviceProps._PlatformType.ValueType # 10 + ALOHA: DeviceProps._PlatformType.ValueType # 11 + CATALINA: DeviceProps._PlatformType.ValueType # 12 + TCL_TV: DeviceProps._PlatformType.ValueType # 13 + IOS_PHONE: DeviceProps._PlatformType.ValueType # 14 + IOS_CATALYST: DeviceProps._PlatformType.ValueType # 15 + ANDROID_PHONE: DeviceProps._PlatformType.ValueType # 16 + ANDROID_AMBIGUOUS: DeviceProps._PlatformType.ValueType # 17 + WEAR_OS: DeviceProps._PlatformType.ValueType # 18 + AR_WRIST: DeviceProps._PlatformType.ValueType # 19 + AR_DEVICE: DeviceProps._PlatformType.ValueType # 20 + UWP: DeviceProps._PlatformType.ValueType # 21 + VR: DeviceProps._PlatformType.ValueType # 22 + CLOUD_API: DeviceProps._PlatformType.ValueType # 23 + SMARTGLASSES: DeviceProps._PlatformType.ValueType # 24 + + class PlatformType(_PlatformType, metaclass=_PlatformTypeEnumTypeWrapper): ... + UNKNOWN: DeviceProps.PlatformType.ValueType # 0 + CHROME: DeviceProps.PlatformType.ValueType # 1 + FIREFOX: DeviceProps.PlatformType.ValueType # 2 + IE: DeviceProps.PlatformType.ValueType # 3 + OPERA: DeviceProps.PlatformType.ValueType # 4 + SAFARI: DeviceProps.PlatformType.ValueType # 5 + EDGE: DeviceProps.PlatformType.ValueType # 6 + DESKTOP: DeviceProps.PlatformType.ValueType # 7 + IPAD: DeviceProps.PlatformType.ValueType # 8 + ANDROID_TABLET: DeviceProps.PlatformType.ValueType # 9 + OHANA: DeviceProps.PlatformType.ValueType # 10 + ALOHA: DeviceProps.PlatformType.ValueType # 11 + CATALINA: DeviceProps.PlatformType.ValueType # 12 + TCL_TV: DeviceProps.PlatformType.ValueType # 13 + IOS_PHONE: DeviceProps.PlatformType.ValueType # 14 + IOS_CATALYST: DeviceProps.PlatformType.ValueType # 15 + ANDROID_PHONE: DeviceProps.PlatformType.ValueType # 16 + ANDROID_AMBIGUOUS: DeviceProps.PlatformType.ValueType # 17 + WEAR_OS: DeviceProps.PlatformType.ValueType # 18 + AR_WRIST: DeviceProps.PlatformType.ValueType # 19 + AR_DEVICE: DeviceProps.PlatformType.ValueType # 20 + UWP: DeviceProps.PlatformType.ValueType # 21 + VR: DeviceProps.PlatformType.ValueType # 22 + CLOUD_API: DeviceProps.PlatformType.ValueType # 23 + SMARTGLASSES: DeviceProps.PlatformType.ValueType # 24 + + @typing.final + class HistorySyncConfig(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FULLSYNCDAYSLIMIT_FIELD_NUMBER: builtins.int + FULLSYNCSIZEMBLIMIT_FIELD_NUMBER: builtins.int + STORAGEQUOTAMB_FIELD_NUMBER: builtins.int + INLINEINITIALPAYLOADINE2EEMSG_FIELD_NUMBER: builtins.int + RECENTSYNCDAYSLIMIT_FIELD_NUMBER: builtins.int + SUPPORTCALLLOGHISTORY_FIELD_NUMBER: builtins.int + SUPPORTBOTUSERAGENTCHATHISTORY_FIELD_NUMBER: builtins.int + SUPPORTCAGREACTIONSANDPOLLS_FIELD_NUMBER: builtins.int + SUPPORTBIZHOSTEDMSG_FIELD_NUMBER: builtins.int + SUPPORTRECENTSYNCCHUNKMESSAGECOUNTTUNING_FIELD_NUMBER: builtins.int + SUPPORTHOSTEDGROUPMSG_FIELD_NUMBER: builtins.int + SUPPORTFBIDBOTCHATHISTORY_FIELD_NUMBER: builtins.int + SUPPORTADDONHISTORYSYNCMIGRATION_FIELD_NUMBER: builtins.int + SUPPORTMESSAGEASSOCIATION_FIELD_NUMBER: builtins.int + fullSyncDaysLimit: builtins.int + fullSyncSizeMbLimit: builtins.int + storageQuotaMb: builtins.int + inlineInitialPayloadInE2EeMsg: builtins.bool + recentSyncDaysLimit: builtins.int + supportCallLogHistory: builtins.bool + supportBotUserAgentChatHistory: builtins.bool + supportCagReactionsAndPolls: builtins.bool + supportBizHostedMsg: builtins.bool + supportRecentSyncChunkMessageCountTuning: builtins.bool + supportHostedGroupMsg: builtins.bool + supportFbidBotChatHistory: builtins.bool + supportAddOnHistorySyncMigration: builtins.bool + supportMessageAssociation: builtins.bool + def __init__( + self, + *, + fullSyncDaysLimit: builtins.int | None = ..., + fullSyncSizeMbLimit: builtins.int | None = ..., + storageQuotaMb: builtins.int | None = ..., + inlineInitialPayloadInE2EeMsg: builtins.bool | None = ..., + recentSyncDaysLimit: builtins.int | None = ..., + supportCallLogHistory: builtins.bool | None = ..., + supportBotUserAgentChatHistory: builtins.bool | None = ..., + supportCagReactionsAndPolls: builtins.bool | None = ..., + supportBizHostedMsg: builtins.bool | None = ..., + supportRecentSyncChunkMessageCountTuning: builtins.bool | None = ..., + supportHostedGroupMsg: builtins.bool | None = ..., + supportFbidBotChatHistory: builtins.bool | None = ..., + supportAddOnHistorySyncMigration: builtins.bool | None = ..., + supportMessageAssociation: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fullSyncDaysLimit", b"fullSyncDaysLimit", "fullSyncSizeMbLimit", b"fullSyncSizeMbLimit", "inlineInitialPayloadInE2EeMsg", b"inlineInitialPayloadInE2EeMsg", "recentSyncDaysLimit", b"recentSyncDaysLimit", "storageQuotaMb", b"storageQuotaMb", "supportAddOnHistorySyncMigration", b"supportAddOnHistorySyncMigration", "supportBizHostedMsg", b"supportBizHostedMsg", "supportBotUserAgentChatHistory", b"supportBotUserAgentChatHistory", "supportCagReactionsAndPolls", b"supportCagReactionsAndPolls", "supportCallLogHistory", b"supportCallLogHistory", "supportFbidBotChatHistory", b"supportFbidBotChatHistory", "supportHostedGroupMsg", b"supportHostedGroupMsg", "supportMessageAssociation", b"supportMessageAssociation", "supportRecentSyncChunkMessageCountTuning", b"supportRecentSyncChunkMessageCountTuning"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fullSyncDaysLimit", b"fullSyncDaysLimit", "fullSyncSizeMbLimit", b"fullSyncSizeMbLimit", "inlineInitialPayloadInE2EeMsg", b"inlineInitialPayloadInE2EeMsg", "recentSyncDaysLimit", b"recentSyncDaysLimit", "storageQuotaMb", b"storageQuotaMb", "supportAddOnHistorySyncMigration", b"supportAddOnHistorySyncMigration", "supportBizHostedMsg", b"supportBizHostedMsg", "supportBotUserAgentChatHistory", b"supportBotUserAgentChatHistory", "supportCagReactionsAndPolls", b"supportCagReactionsAndPolls", "supportCallLogHistory", b"supportCallLogHistory", "supportFbidBotChatHistory", b"supportFbidBotChatHistory", "supportHostedGroupMsg", b"supportHostedGroupMsg", "supportMessageAssociation", b"supportMessageAssociation", "supportRecentSyncChunkMessageCountTuning", b"supportRecentSyncChunkMessageCountTuning"]) -> None: ... + + @typing.final + class AppVersion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRIMARY_FIELD_NUMBER: builtins.int + SECONDARY_FIELD_NUMBER: builtins.int + TERTIARY_FIELD_NUMBER: builtins.int + QUATERNARY_FIELD_NUMBER: builtins.int + QUINARY_FIELD_NUMBER: builtins.int + primary: builtins.int + secondary: builtins.int + tertiary: builtins.int + quaternary: builtins.int + quinary: builtins.int + def __init__( + self, + *, + primary: builtins.int | None = ..., + secondary: builtins.int | None = ..., + tertiary: builtins.int | None = ..., + quaternary: builtins.int | None = ..., + quinary: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]) -> None: ... + + OS_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + PLATFORMTYPE_FIELD_NUMBER: builtins.int + REQUIREFULLSYNC_FIELD_NUMBER: builtins.int + HISTORYSYNCCONFIG_FIELD_NUMBER: builtins.int + os: builtins.str + platformType: global___DeviceProps.PlatformType.ValueType + requireFullSync: builtins.bool + @property + def version(self) -> global___DeviceProps.AppVersion: ... + @property + def historySyncConfig(self) -> global___DeviceProps.HistorySyncConfig: ... + def __init__( + self, + *, + os: builtins.str | None = ..., + version: global___DeviceProps.AppVersion | None = ..., + platformType: global___DeviceProps.PlatformType.ValueType | None = ..., + requireFullSync: builtins.bool | None = ..., + historySyncConfig: global___DeviceProps.HistorySyncConfig | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["historySyncConfig", b"historySyncConfig", "os", b"os", "platformType", b"platformType", "requireFullSync", b"requireFullSync", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["historySyncConfig", b"historySyncConfig", "os", b"os", "platformType", b"platformType", "requireFullSync", b"requireFullSync", "version", b"version"]) -> None: ... + +global___DeviceProps = DeviceProps + +@typing.final +class CompanionEphemeralIdentity(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PUBLICKEY_FIELD_NUMBER: builtins.int + DEVICETYPE_FIELD_NUMBER: builtins.int + REF_FIELD_NUMBER: builtins.int + publicKey: builtins.bytes + deviceType: global___DeviceProps.PlatformType.ValueType + ref: builtins.str + def __init__( + self, + *, + publicKey: builtins.bytes | None = ..., + deviceType: global___DeviceProps.PlatformType.ValueType | None = ..., + ref: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deviceType", b"deviceType", "publicKey", b"publicKey", "ref", b"ref"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deviceType", b"deviceType", "publicKey", b"publicKey", "ref", b"ref"]) -> None: ... + +global___CompanionEphemeralIdentity = CompanionEphemeralIdentity + +@typing.final +class CompanionCommitment(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + HASH_FIELD_NUMBER: builtins.int + hash: builtins.bytes + def __init__( + self, + *, + hash: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["hash", b"hash"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["hash", b"hash"]) -> None: ... + +global___CompanionCommitment = CompanionCommitment + +@typing.final +class ProloguePayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COMPANIONEPHEMERALIDENTITY_FIELD_NUMBER: builtins.int + COMMITMENT_FIELD_NUMBER: builtins.int + companionEphemeralIdentity: builtins.bytes + @property + def commitment(self) -> global___CompanionCommitment: ... + def __init__( + self, + *, + companionEphemeralIdentity: builtins.bytes | None = ..., + commitment: global___CompanionCommitment | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["commitment", b"commitment", "companionEphemeralIdentity", b"companionEphemeralIdentity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["commitment", b"commitment", "companionEphemeralIdentity", b"companionEphemeralIdentity"]) -> None: ... + +global___ProloguePayload = ProloguePayload + +@typing.final +class PrimaryEphemeralIdentity(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PUBLICKEY_FIELD_NUMBER: builtins.int + NONCE_FIELD_NUMBER: builtins.int + publicKey: builtins.bytes + nonce: builtins.bytes + def __init__( + self, + *, + publicKey: builtins.bytes | None = ..., + nonce: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["nonce", b"nonce", "publicKey", b"publicKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["nonce", b"nonce", "publicKey", b"publicKey"]) -> None: ... + +global___PrimaryEphemeralIdentity = PrimaryEphemeralIdentity + +@typing.final +class PairingRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COMPANIONPUBLICKEY_FIELD_NUMBER: builtins.int + COMPANIONIDENTITYKEY_FIELD_NUMBER: builtins.int + ADVSECRET_FIELD_NUMBER: builtins.int + companionPublicKey: builtins.bytes + companionIdentityKey: builtins.bytes + advSecret: builtins.bytes + def __init__( + self, + *, + companionPublicKey: builtins.bytes | None = ..., + companionIdentityKey: builtins.bytes | None = ..., + advSecret: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["advSecret", b"advSecret", "companionIdentityKey", b"companionIdentityKey", "companionPublicKey", b"companionPublicKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["advSecret", b"advSecret", "companionIdentityKey", b"companionIdentityKey", "companionPublicKey", b"companionPublicKey"]) -> None: ... + +global___PairingRequest = PairingRequest + +@typing.final +class EncryptedPairingRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ENCRYPTEDPAYLOAD_FIELD_NUMBER: builtins.int + IV_FIELD_NUMBER: builtins.int + encryptedPayload: builtins.bytes + IV: builtins.bytes + def __init__( + self, + *, + encryptedPayload: builtins.bytes | None = ..., + IV: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["IV", b"IV", "encryptedPayload", b"encryptedPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["IV", b"IV", "encryptedPayload", b"encryptedPayload"]) -> None: ... + +global___EncryptedPairingRequest = EncryptedPairingRequest + +@typing.final +class ClientPairingProps(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISCHATDBLIDMIGRATED_FIELD_NUMBER: builtins.int + ISSYNCDPURELIDSESSION_FIELD_NUMBER: builtins.int + isChatDbLidMigrated: builtins.bool + isSyncdPureLidSession: builtins.bool + def __init__( + self, + *, + isChatDbLidMigrated: builtins.bool | None = ..., + isSyncdPureLidSession: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isChatDbLidMigrated", b"isChatDbLidMigrated", "isSyncdPureLidSession", b"isSyncdPureLidSession"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isChatDbLidMigrated", b"isChatDbLidMigrated", "isSyncdPureLidSession", b"isSyncdPureLidSession"]) -> None: ... + +global___ClientPairingProps = ClientPairingProps diff --git a/neonize/proto/waConsumerApplication/WAConsumerApplication_pb2.py b/neonize/proto/waConsumerApplication/WAConsumerApplication_pb2.py new file mode 100644 index 00000000..d6759853 --- /dev/null +++ b/neonize/proto/waConsumerApplication/WAConsumerApplication_pb2.py @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waConsumerApplication/WAConsumerApplication.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waConsumerApplication/WAConsumerApplication.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1waConsumerApplication/WAConsumerApplication.proto\x12\x15WAConsumerApplication\x1a\x17waCommon/WACommon.proto\"\xca,\n\x13\x43onsumerApplication\x12\x43\n\x07payload\x18\x01 \x01(\x0b\x32\x32.WAConsumerApplication.ConsumerApplication.Payload\x12\x45\n\x08metadata\x18\x02 \x01(\x0b\x32\x33.WAConsumerApplication.ConsumerApplication.Metadata\x1a\xcd\x02\n\x07Payload\x12\x45\n\x07\x63ontent\x18\x01 \x01(\x0b\x32\x32.WAConsumerApplication.ConsumerApplication.ContentH\x00\x12U\n\x0f\x61pplicationData\x18\x02 \x01(\x0b\x32:.WAConsumerApplication.ConsumerApplication.ApplicationDataH\x00\x12\x43\n\x06signal\x18\x03 \x01(\x0b\x32\x31.WAConsumerApplication.ConsumerApplication.SignalH\x00\x12T\n\x0bsubProtocol\x18\x04 \x01(\x0b\x32=.WAConsumerApplication.ConsumerApplication.SubProtocolPayloadH\x00\x42\t\n\x07payload\x1aH\n\x12SubProtocolPayload\x12\x32\n\x0b\x66utureProof\x18\x01 \x01(\x0e\x32\x1d.WACommon.FutureProofBehavior\x1a\x9d\x01\n\x08Metadata\x12\\\n\x0fspecialTextSize\x18\x01 \x01(\x0e\x32\x43.WAConsumerApplication.ConsumerApplication.Metadata.SpecialTextSize\"3\n\x0fSpecialTextSize\x12\t\n\x05SMALL\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\t\n\x05LARGE\x10\x03\x1a\x08\n\x06Signal\x1as\n\x0f\x41pplicationData\x12J\n\x06revoke\x18\x01 \x01(\x0b\x32\x38.WAConsumerApplication.ConsumerApplication.RevokeMessageH\x00\x42\x14\n\x12\x61pplicationContent\x1a\x9a\x0c\n\x07\x43ontent\x12,\n\x0bmessageText\x18\x01 \x01(\x0b\x32\x15.WACommon.MessageTextH\x00\x12O\n\x0cimageMessage\x18\x02 \x01(\x0b\x32\x37.WAConsumerApplication.ConsumerApplication.ImageMessageH\x00\x12S\n\x0e\x63ontactMessage\x18\x03 \x01(\x0b\x32\x39.WAConsumerApplication.ConsumerApplication.ContactMessageH\x00\x12U\n\x0flocationMessage\x18\x04 \x01(\x0b\x32:.WAConsumerApplication.ConsumerApplication.LocationMessageH\x00\x12]\n\x13\x65xtendedTextMessage\x18\x05 \x01(\x0b\x32>.WAConsumerApplication.ConsumerApplication.ExtendedTextMessageH\x00\x12X\n\x11statusTextMessage\x18\x06 \x01(\x0b\x32;.WAConsumerApplication.ConsumerApplication.StatusTextMesageH\x00\x12U\n\x0f\x64ocumentMessage\x18\x07 \x01(\x0b\x32:.WAConsumerApplication.ConsumerApplication.DocumentMessageH\x00\x12O\n\x0c\x61udioMessage\x18\x08 \x01(\x0b\x32\x37.WAConsumerApplication.ConsumerApplication.AudioMessageH\x00\x12O\n\x0cvideoMessage\x18\t \x01(\x0b\x32\x37.WAConsumerApplication.ConsumerApplication.VideoMessageH\x00\x12_\n\x14\x63ontactsArrayMessage\x18\n \x01(\x0b\x32?.WAConsumerApplication.ConsumerApplication.ContactsArrayMessageH\x00\x12]\n\x13liveLocationMessage\x18\x0b \x01(\x0b\x32>.WAConsumerApplication.ConsumerApplication.LiveLocationMessageH\x00\x12S\n\x0estickerMessage\x18\x0c \x01(\x0b\x32\x39.WAConsumerApplication.ConsumerApplication.StickerMessageH\x00\x12[\n\x12groupInviteMessage\x18\r \x01(\x0b\x32=.WAConsumerApplication.ConsumerApplication.GroupInviteMessageH\x00\x12U\n\x0fviewOnceMessage\x18\x0e \x01(\x0b\x32:.WAConsumerApplication.ConsumerApplication.ViewOnceMessageH\x00\x12U\n\x0freactionMessage\x18\x10 \x01(\x0b\x32:.WAConsumerApplication.ConsumerApplication.ReactionMessageH\x00\x12]\n\x13pollCreationMessage\x18\x11 \x01(\x0b\x32>.WAConsumerApplication.ConsumerApplication.PollCreationMessageH\x00\x12Y\n\x11pollUpdateMessage\x18\x12 \x01(\x0b\x32<.WAConsumerApplication.ConsumerApplication.PollUpdateMessageH\x00\x12M\n\x0b\x65\x64itMessage\x18\x13 \x01(\x0b\x32\x36.WAConsumerApplication.ConsumerApplication.EditMessageH\x00\x42\t\n\x07\x63ontent\x1am\n\x0b\x45\x64itMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12&\n\x07message\x18\x02 \x01(\x0b\x32\x15.WACommon.MessageText\x12\x13\n\x0btimestampMS\x18\x03 \x01(\x03\x1a]\n\x14PollAddOptionMessage\x12\x45\n\npollOption\x18\x01 \x03(\x0b\x32\x31.WAConsumerApplication.ConsumerApplication.Option\x1a\x45\n\x0fPollVoteMessage\x12\x17\n\x0fselectedOptions\x18\x01 \x03(\x0c\x12\x19\n\x11senderTimestampMS\x18\x02 \x01(\x03\x1a\x31\n\x0cPollEncValue\x12\x12\n\nencPayload\x18\x01 \x01(\x0c\x12\r\n\x05\x65ncIV\x18\x02 \x01(\x0c\x1a\xdc\x01\n\x11PollUpdateMessage\x12\x34\n\x16pollCreationMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x45\n\x04vote\x18\x02 \x01(\x0b\x32\x37.WAConsumerApplication.ConsumerApplication.PollEncValue\x12J\n\taddOption\x18\x03 \x01(\x0b\x32\x37.WAConsumerApplication.ConsumerApplication.PollEncValue\x1a\x97\x01\n\x13PollCreationMessage\x12\x0e\n\x06\x65ncKey\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x42\n\x07options\x18\x03 \x03(\x0b\x32\x31.WAConsumerApplication.ConsumerApplication.Option\x12\x1e\n\x16selectableOptionsCount\x18\x04 \x01(\r\x1a\x1c\n\x06Option\x12\x12\n\noptionName\x18\x01 \x01(\t\x1a\xa8\x01\n\x0fReactionMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x13\n\x0bgroupingKey\x18\x03 \x01(\t\x12\x19\n\x11senderTimestampMS\x18\x04 \x01(\x03\x12%\n\x1dreactionMetadataDataclassData\x18\x05 \x01(\t\x12\r\n\x05style\x18\x06 \x01(\x05\x1a\x32\n\rRevokeMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x1a\xc6\x01\n\x0fViewOnceMessage\x12O\n\x0cimageMessage\x18\x01 \x01(\x0b\x32\x37.WAConsumerApplication.ConsumerApplication.ImageMessageH\x00\x12O\n\x0cvideoMessage\x18\x02 \x01(\x0b\x32\x37.WAConsumerApplication.ConsumerApplication.VideoMessageH\x00\x42\x11\n\x0fviewOnceContent\x1a\xa6\x01\n\x12GroupInviteMessage\x12\x10\n\x08groupJID\x18\x01 \x01(\t\x12\x12\n\ninviteCode\x18\x02 \x01(\t\x12\x18\n\x10inviteExpiration\x18\x03 \x01(\x03\x12\x11\n\tgroupName\x18\x04 \x01(\t\x12\x15\n\rJPEGThumbnail\x18\x05 \x01(\x0c\x12&\n\x07\x63\x61ption\x18\x06 \x01(\x0b\x32\x15.WACommon.MessageText\x1a\x89\x02\n\x13LiveLocationMessage\x12\x45\n\x08location\x18\x01 \x01(\x0b\x32\x33.WAConsumerApplication.ConsumerApplication.Location\x12\x18\n\x10\x61\x63\x63uracyInMeters\x18\x02 \x01(\r\x12\x12\n\nspeedInMps\x18\x03 \x01(\x02\x12)\n!degreesClockwiseFromMagneticNorth\x18\x04 \x01(\r\x12&\n\x07\x63\x61ption\x18\x05 \x01(\x0b\x32\x15.WACommon.MessageText\x12\x16\n\x0esequenceNumber\x18\x06 \x01(\x03\x12\x12\n\ntimeOffset\x18\x07 \x01(\r\x1ax\n\x14\x43ontactsArrayMessage\x12\x13\n\x0b\x64isplayName\x18\x01 \x01(\t\x12K\n\x08\x63ontacts\x18\x02 \x03(\x0b\x32\x39.WAConsumerApplication.ConsumerApplication.ContactMessage\x1a\x38\n\x0e\x43ontactMessage\x12&\n\x07\x63ontact\x18\x01 \x01(\x0b\x32\x15.WACommon.SubProtocol\x1a\xd6\x02\n\x10StatusTextMesage\x12L\n\x04text\x18\x01 \x01(\x0b\x32>.WAConsumerApplication.ConsumerApplication.ExtendedTextMessage\x12\x10\n\x08textArgb\x18\x06 \x01(\x07\x12\x16\n\x0e\x62\x61\x63kgroundArgb\x18\x07 \x01(\x07\x12R\n\x04\x66ont\x18\x08 \x01(\x0e\x32\x44.WAConsumerApplication.ConsumerApplication.StatusTextMesage.FontType\"v\n\x08\x46ontType\x12\x0e\n\nSANS_SERIF\x10\x00\x12\t\n\x05SERIF\x10\x01\x12\x13\n\x0fNORICAN_REGULAR\x10\x02\x12\x11\n\rBRYNDAN_WRITE\x10\x03\x12\x15\n\x11\x42\x45\x42\x41SNEUE_REGULAR\x10\x04\x12\x10\n\x0cOSWALD_HEAVY\x10\x05\x1a\xb8\x02\n\x13\x45xtendedTextMessage\x12#\n\x04text\x18\x01 \x01(\x0b\x32\x15.WACommon.MessageText\x12\x13\n\x0bmatchedText\x18\x02 \x01(\t\x12\x14\n\x0c\x63\x61nonicalURL\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\r\n\x05title\x18\x05 \x01(\t\x12(\n\tthumbnail\x18\x06 \x01(\x0b\x32\x15.WACommon.SubProtocol\x12_\n\x0bpreviewType\x18\x07 \x01(\x0e\x32J.WAConsumerApplication.ConsumerApplication.ExtendedTextMessage.PreviewType\"\"\n\x0bPreviewType\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05VIDEO\x10\x01\x1ai\n\x0fLocationMessage\x12\x45\n\x08location\x18\x01 \x01(\x0b\x32\x33.WAConsumerApplication.ConsumerApplication.Location\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x1a\x38\n\x0eStickerMessage\x12&\n\x07sticker\x18\x01 \x01(\x0b\x32\x15.WACommon.SubProtocol\x1aL\n\x0f\x44ocumentMessage\x12\'\n\x08\x64ocument\x18\x01 \x01(\x0b\x32\x15.WACommon.SubProtocol\x12\x10\n\x08\x66ileName\x18\x02 \x01(\t\x1a\\\n\x0cVideoMessage\x12$\n\x05video\x18\x01 \x01(\x0b\x32\x15.WACommon.SubProtocol\x12&\n\x07\x63\x61ption\x18\x02 \x01(\x0b\x32\x15.WACommon.MessageText\x1a\x41\n\x0c\x41udioMessage\x12$\n\x05\x61udio\x18\x01 \x01(\x0b\x32\x15.WACommon.SubProtocol\x12\x0b\n\x03PTT\x18\x02 \x01(\x08\x1a\\\n\x0cImageMessage\x12$\n\x05image\x18\x01 \x01(\x0b\x32\x15.WACommon.SubProtocol\x12&\n\x07\x63\x61ption\x18\x02 \x01(\x0b\x32\x15.WACommon.MessageText\x1a\xb5\x01\n\x15InteractiveAnnotation\x12G\n\x08location\x18\x02 \x01(\x0b\x32\x33.WAConsumerApplication.ConsumerApplication.LocationH\x00\x12I\n\x0fpolygonVertices\x18\x01 \x03(\x0b\x32\x30.WAConsumerApplication.ConsumerApplication.PointB\x08\n\x06\x61\x63tion\x1a\x1d\n\x05Point\x12\t\n\x01x\x18\x01 \x01(\x01\x12\t\n\x01y\x18\x02 \x01(\x01\x1aK\n\x08Location\x12\x17\n\x0f\x64\x65greesLatitude\x18\x01 \x01(\x01\x12\x18\n\x10\x64\x65greesLongitude\x18\x02 \x01(\x01\x12\x0c\n\x04name\x18\x03 \x01(\t\x1a\x37\n\x0cMediaPayload\x12\'\n\x08protocol\x18\x01 \x01(\x0b\x32\x15.WACommon.SubProtocolB1Z/go.mau.fi/whatsmeow/proto/waConsumerApplication') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waConsumerApplication.WAConsumerApplication_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z/go.mau.fi/whatsmeow/proto/waConsumerApplication' + _globals['_CONSUMERAPPLICATION']._serialized_start=102 + _globals['_CONSUMERAPPLICATION']._serialized_end=5808 + _globals['_CONSUMERAPPLICATION_PAYLOAD']._serialized_start=266 + _globals['_CONSUMERAPPLICATION_PAYLOAD']._serialized_end=599 + _globals['_CONSUMERAPPLICATION_SUBPROTOCOLPAYLOAD']._serialized_start=601 + _globals['_CONSUMERAPPLICATION_SUBPROTOCOLPAYLOAD']._serialized_end=673 + _globals['_CONSUMERAPPLICATION_METADATA']._serialized_start=676 + _globals['_CONSUMERAPPLICATION_METADATA']._serialized_end=833 + _globals['_CONSUMERAPPLICATION_METADATA_SPECIALTEXTSIZE']._serialized_start=782 + _globals['_CONSUMERAPPLICATION_METADATA_SPECIALTEXTSIZE']._serialized_end=833 + _globals['_CONSUMERAPPLICATION_SIGNAL']._serialized_start=835 + _globals['_CONSUMERAPPLICATION_SIGNAL']._serialized_end=843 + _globals['_CONSUMERAPPLICATION_APPLICATIONDATA']._serialized_start=845 + _globals['_CONSUMERAPPLICATION_APPLICATIONDATA']._serialized_end=960 + _globals['_CONSUMERAPPLICATION_CONTENT']._serialized_start=963 + _globals['_CONSUMERAPPLICATION_CONTENT']._serialized_end=2525 + _globals['_CONSUMERAPPLICATION_EDITMESSAGE']._serialized_start=2527 + _globals['_CONSUMERAPPLICATION_EDITMESSAGE']._serialized_end=2636 + _globals['_CONSUMERAPPLICATION_POLLADDOPTIONMESSAGE']._serialized_start=2638 + _globals['_CONSUMERAPPLICATION_POLLADDOPTIONMESSAGE']._serialized_end=2731 + _globals['_CONSUMERAPPLICATION_POLLVOTEMESSAGE']._serialized_start=2733 + _globals['_CONSUMERAPPLICATION_POLLVOTEMESSAGE']._serialized_end=2802 + _globals['_CONSUMERAPPLICATION_POLLENCVALUE']._serialized_start=2804 + _globals['_CONSUMERAPPLICATION_POLLENCVALUE']._serialized_end=2853 + _globals['_CONSUMERAPPLICATION_POLLUPDATEMESSAGE']._serialized_start=2856 + _globals['_CONSUMERAPPLICATION_POLLUPDATEMESSAGE']._serialized_end=3076 + _globals['_CONSUMERAPPLICATION_POLLCREATIONMESSAGE']._serialized_start=3079 + _globals['_CONSUMERAPPLICATION_POLLCREATIONMESSAGE']._serialized_end=3230 + _globals['_CONSUMERAPPLICATION_OPTION']._serialized_start=3232 + _globals['_CONSUMERAPPLICATION_OPTION']._serialized_end=3260 + _globals['_CONSUMERAPPLICATION_REACTIONMESSAGE']._serialized_start=3263 + _globals['_CONSUMERAPPLICATION_REACTIONMESSAGE']._serialized_end=3431 + _globals['_CONSUMERAPPLICATION_REVOKEMESSAGE']._serialized_start=3433 + _globals['_CONSUMERAPPLICATION_REVOKEMESSAGE']._serialized_end=3483 + _globals['_CONSUMERAPPLICATION_VIEWONCEMESSAGE']._serialized_start=3486 + _globals['_CONSUMERAPPLICATION_VIEWONCEMESSAGE']._serialized_end=3684 + _globals['_CONSUMERAPPLICATION_GROUPINVITEMESSAGE']._serialized_start=3687 + _globals['_CONSUMERAPPLICATION_GROUPINVITEMESSAGE']._serialized_end=3853 + _globals['_CONSUMERAPPLICATION_LIVELOCATIONMESSAGE']._serialized_start=3856 + _globals['_CONSUMERAPPLICATION_LIVELOCATIONMESSAGE']._serialized_end=4121 + _globals['_CONSUMERAPPLICATION_CONTACTSARRAYMESSAGE']._serialized_start=4123 + _globals['_CONSUMERAPPLICATION_CONTACTSARRAYMESSAGE']._serialized_end=4243 + _globals['_CONSUMERAPPLICATION_CONTACTMESSAGE']._serialized_start=4245 + _globals['_CONSUMERAPPLICATION_CONTACTMESSAGE']._serialized_end=4301 + _globals['_CONSUMERAPPLICATION_STATUSTEXTMESAGE']._serialized_start=4304 + _globals['_CONSUMERAPPLICATION_STATUSTEXTMESAGE']._serialized_end=4646 + _globals['_CONSUMERAPPLICATION_STATUSTEXTMESAGE_FONTTYPE']._serialized_start=4528 + _globals['_CONSUMERAPPLICATION_STATUSTEXTMESAGE_FONTTYPE']._serialized_end=4646 + _globals['_CONSUMERAPPLICATION_EXTENDEDTEXTMESSAGE']._serialized_start=4649 + _globals['_CONSUMERAPPLICATION_EXTENDEDTEXTMESSAGE']._serialized_end=4961 + _globals['_CONSUMERAPPLICATION_EXTENDEDTEXTMESSAGE_PREVIEWTYPE']._serialized_start=4927 + _globals['_CONSUMERAPPLICATION_EXTENDEDTEXTMESSAGE_PREVIEWTYPE']._serialized_end=4961 + _globals['_CONSUMERAPPLICATION_LOCATIONMESSAGE']._serialized_start=4963 + _globals['_CONSUMERAPPLICATION_LOCATIONMESSAGE']._serialized_end=5068 + _globals['_CONSUMERAPPLICATION_STICKERMESSAGE']._serialized_start=5070 + _globals['_CONSUMERAPPLICATION_STICKERMESSAGE']._serialized_end=5126 + _globals['_CONSUMERAPPLICATION_DOCUMENTMESSAGE']._serialized_start=5128 + _globals['_CONSUMERAPPLICATION_DOCUMENTMESSAGE']._serialized_end=5204 + _globals['_CONSUMERAPPLICATION_VIDEOMESSAGE']._serialized_start=5206 + _globals['_CONSUMERAPPLICATION_VIDEOMESSAGE']._serialized_end=5298 + _globals['_CONSUMERAPPLICATION_AUDIOMESSAGE']._serialized_start=5300 + _globals['_CONSUMERAPPLICATION_AUDIOMESSAGE']._serialized_end=5365 + _globals['_CONSUMERAPPLICATION_IMAGEMESSAGE']._serialized_start=5367 + _globals['_CONSUMERAPPLICATION_IMAGEMESSAGE']._serialized_end=5459 + _globals['_CONSUMERAPPLICATION_INTERACTIVEANNOTATION']._serialized_start=5462 + _globals['_CONSUMERAPPLICATION_INTERACTIVEANNOTATION']._serialized_end=5643 + _globals['_CONSUMERAPPLICATION_POINT']._serialized_start=5645 + _globals['_CONSUMERAPPLICATION_POINT']._serialized_end=5674 + _globals['_CONSUMERAPPLICATION_LOCATION']._serialized_start=5676 + _globals['_CONSUMERAPPLICATION_LOCATION']._serialized_end=5751 + _globals['_CONSUMERAPPLICATION_MEDIAPAYLOAD']._serialized_start=5753 + _globals['_CONSUMERAPPLICATION_MEDIAPAYLOAD']._serialized_end=5808 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waConsumerApplication/WAConsumerApplication_pb2.pyi b/neonize/proto/waConsumerApplication/WAConsumerApplication_pb2.pyi new file mode 100644 index 00000000..e19ad812 --- /dev/null +++ b/neonize/proto/waConsumerApplication/WAConsumerApplication_pb2.pyi @@ -0,0 +1,786 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waCommon.WACommon_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class ConsumerApplication(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Payload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTENT_FIELD_NUMBER: builtins.int + APPLICATIONDATA_FIELD_NUMBER: builtins.int + SIGNAL_FIELD_NUMBER: builtins.int + SUBPROTOCOL_FIELD_NUMBER: builtins.int + @property + def content(self) -> global___ConsumerApplication.Content: ... + @property + def applicationData(self) -> global___ConsumerApplication.ApplicationData: ... + @property + def signal(self) -> global___ConsumerApplication.Signal: ... + @property + def subProtocol(self) -> global___ConsumerApplication.SubProtocolPayload: ... + def __init__( + self, + *, + content: global___ConsumerApplication.Content | None = ..., + applicationData: global___ConsumerApplication.ApplicationData | None = ..., + signal: global___ConsumerApplication.Signal | None = ..., + subProtocol: global___ConsumerApplication.SubProtocolPayload | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["applicationData", b"applicationData", "content", b"content", "payload", b"payload", "signal", b"signal", "subProtocol", b"subProtocol"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["applicationData", b"applicationData", "content", b"content", "payload", b"payload", "signal", b"signal", "subProtocol", b"subProtocol"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["payload", b"payload"]) -> typing.Literal["content", "applicationData", "signal", "subProtocol"] | None: ... + + @typing.final + class SubProtocolPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FUTUREPROOF_FIELD_NUMBER: builtins.int + futureProof: waCommon.WACommon_pb2.FutureProofBehavior.ValueType + def __init__( + self, + *, + futureProof: waCommon.WACommon_pb2.FutureProofBehavior.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["futureProof", b"futureProof"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["futureProof", b"futureProof"]) -> None: ... + + @typing.final + class Metadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _SpecialTextSize: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SpecialTextSizeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ConsumerApplication.Metadata._SpecialTextSize.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SMALL: ConsumerApplication.Metadata._SpecialTextSize.ValueType # 1 + MEDIUM: ConsumerApplication.Metadata._SpecialTextSize.ValueType # 2 + LARGE: ConsumerApplication.Metadata._SpecialTextSize.ValueType # 3 + + class SpecialTextSize(_SpecialTextSize, metaclass=_SpecialTextSizeEnumTypeWrapper): ... + SMALL: ConsumerApplication.Metadata.SpecialTextSize.ValueType # 1 + MEDIUM: ConsumerApplication.Metadata.SpecialTextSize.ValueType # 2 + LARGE: ConsumerApplication.Metadata.SpecialTextSize.ValueType # 3 + + SPECIALTEXTSIZE_FIELD_NUMBER: builtins.int + specialTextSize: global___ConsumerApplication.Metadata.SpecialTextSize.ValueType + def __init__( + self, + *, + specialTextSize: global___ConsumerApplication.Metadata.SpecialTextSize.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["specialTextSize", b"specialTextSize"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["specialTextSize", b"specialTextSize"]) -> None: ... + + @typing.final + class Signal(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + + @typing.final + class ApplicationData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REVOKE_FIELD_NUMBER: builtins.int + @property + def revoke(self) -> global___ConsumerApplication.RevokeMessage: ... + def __init__( + self, + *, + revoke: global___ConsumerApplication.RevokeMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["applicationContent", b"applicationContent", "revoke", b"revoke"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["applicationContent", b"applicationContent", "revoke", b"revoke"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["applicationContent", b"applicationContent"]) -> typing.Literal["revoke"] | None: ... + + @typing.final + class Content(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGETEXT_FIELD_NUMBER: builtins.int + IMAGEMESSAGE_FIELD_NUMBER: builtins.int + CONTACTMESSAGE_FIELD_NUMBER: builtins.int + LOCATIONMESSAGE_FIELD_NUMBER: builtins.int + EXTENDEDTEXTMESSAGE_FIELD_NUMBER: builtins.int + STATUSTEXTMESSAGE_FIELD_NUMBER: builtins.int + DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int + AUDIOMESSAGE_FIELD_NUMBER: builtins.int + VIDEOMESSAGE_FIELD_NUMBER: builtins.int + CONTACTSARRAYMESSAGE_FIELD_NUMBER: builtins.int + LIVELOCATIONMESSAGE_FIELD_NUMBER: builtins.int + STICKERMESSAGE_FIELD_NUMBER: builtins.int + GROUPINVITEMESSAGE_FIELD_NUMBER: builtins.int + VIEWONCEMESSAGE_FIELD_NUMBER: builtins.int + REACTIONMESSAGE_FIELD_NUMBER: builtins.int + POLLCREATIONMESSAGE_FIELD_NUMBER: builtins.int + POLLUPDATEMESSAGE_FIELD_NUMBER: builtins.int + EDITMESSAGE_FIELD_NUMBER: builtins.int + @property + def messageText(self) -> waCommon.WACommon_pb2.MessageText: ... + @property + def imageMessage(self) -> global___ConsumerApplication.ImageMessage: ... + @property + def contactMessage(self) -> global___ConsumerApplication.ContactMessage: ... + @property + def locationMessage(self) -> global___ConsumerApplication.LocationMessage: ... + @property + def extendedTextMessage(self) -> global___ConsumerApplication.ExtendedTextMessage: ... + @property + def statusTextMessage(self) -> global___ConsumerApplication.StatusTextMesage: ... + @property + def documentMessage(self) -> global___ConsumerApplication.DocumentMessage: ... + @property + def audioMessage(self) -> global___ConsumerApplication.AudioMessage: ... + @property + def videoMessage(self) -> global___ConsumerApplication.VideoMessage: ... + @property + def contactsArrayMessage(self) -> global___ConsumerApplication.ContactsArrayMessage: ... + @property + def liveLocationMessage(self) -> global___ConsumerApplication.LiveLocationMessage: ... + @property + def stickerMessage(self) -> global___ConsumerApplication.StickerMessage: ... + @property + def groupInviteMessage(self) -> global___ConsumerApplication.GroupInviteMessage: ... + @property + def viewOnceMessage(self) -> global___ConsumerApplication.ViewOnceMessage: ... + @property + def reactionMessage(self) -> global___ConsumerApplication.ReactionMessage: ... + @property + def pollCreationMessage(self) -> global___ConsumerApplication.PollCreationMessage: ... + @property + def pollUpdateMessage(self) -> global___ConsumerApplication.PollUpdateMessage: ... + @property + def editMessage(self) -> global___ConsumerApplication.EditMessage: ... + def __init__( + self, + *, + messageText: waCommon.WACommon_pb2.MessageText | None = ..., + imageMessage: global___ConsumerApplication.ImageMessage | None = ..., + contactMessage: global___ConsumerApplication.ContactMessage | None = ..., + locationMessage: global___ConsumerApplication.LocationMessage | None = ..., + extendedTextMessage: global___ConsumerApplication.ExtendedTextMessage | None = ..., + statusTextMessage: global___ConsumerApplication.StatusTextMesage | None = ..., + documentMessage: global___ConsumerApplication.DocumentMessage | None = ..., + audioMessage: global___ConsumerApplication.AudioMessage | None = ..., + videoMessage: global___ConsumerApplication.VideoMessage | None = ..., + contactsArrayMessage: global___ConsumerApplication.ContactsArrayMessage | None = ..., + liveLocationMessage: global___ConsumerApplication.LiveLocationMessage | None = ..., + stickerMessage: global___ConsumerApplication.StickerMessage | None = ..., + groupInviteMessage: global___ConsumerApplication.GroupInviteMessage | None = ..., + viewOnceMessage: global___ConsumerApplication.ViewOnceMessage | None = ..., + reactionMessage: global___ConsumerApplication.ReactionMessage | None = ..., + pollCreationMessage: global___ConsumerApplication.PollCreationMessage | None = ..., + pollUpdateMessage: global___ConsumerApplication.PollUpdateMessage | None = ..., + editMessage: global___ConsumerApplication.EditMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["audioMessage", b"audioMessage", "contactMessage", b"contactMessage", "contactsArrayMessage", b"contactsArrayMessage", "content", b"content", "documentMessage", b"documentMessage", "editMessage", b"editMessage", "extendedTextMessage", b"extendedTextMessage", "groupInviteMessage", b"groupInviteMessage", "imageMessage", b"imageMessage", "liveLocationMessage", b"liveLocationMessage", "locationMessage", b"locationMessage", "messageText", b"messageText", "pollCreationMessage", b"pollCreationMessage", "pollUpdateMessage", b"pollUpdateMessage", "reactionMessage", b"reactionMessage", "statusTextMessage", b"statusTextMessage", "stickerMessage", b"stickerMessage", "videoMessage", b"videoMessage", "viewOnceMessage", b"viewOnceMessage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audioMessage", b"audioMessage", "contactMessage", b"contactMessage", "contactsArrayMessage", b"contactsArrayMessage", "content", b"content", "documentMessage", b"documentMessage", "editMessage", b"editMessage", "extendedTextMessage", b"extendedTextMessage", "groupInviteMessage", b"groupInviteMessage", "imageMessage", b"imageMessage", "liveLocationMessage", b"liveLocationMessage", "locationMessage", b"locationMessage", "messageText", b"messageText", "pollCreationMessage", b"pollCreationMessage", "pollUpdateMessage", b"pollUpdateMessage", "reactionMessage", b"reactionMessage", "statusTextMessage", b"statusTextMessage", "stickerMessage", b"stickerMessage", "videoMessage", b"videoMessage", "viewOnceMessage", b"viewOnceMessage"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["content", b"content"]) -> typing.Literal["messageText", "imageMessage", "contactMessage", "locationMessage", "extendedTextMessage", "statusTextMessage", "documentMessage", "audioMessage", "videoMessage", "contactsArrayMessage", "liveLocationMessage", "stickerMessage", "groupInviteMessage", "viewOnceMessage", "reactionMessage", "pollCreationMessage", "pollUpdateMessage", "editMessage"] | None: ... + + @typing.final + class EditMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + TIMESTAMPMS_FIELD_NUMBER: builtins.int + timestampMS: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def message(self) -> waCommon.WACommon_pb2.MessageText: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + message: waCommon.WACommon_pb2.MessageText | None = ..., + timestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "message", b"message", "timestampMS", b"timestampMS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "message", b"message", "timestampMS", b"timestampMS"]) -> None: ... + + @typing.final + class PollAddOptionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + POLLOPTION_FIELD_NUMBER: builtins.int + @property + def pollOption(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConsumerApplication.Option]: ... + def __init__( + self, + *, + pollOption: collections.abc.Iterable[global___ConsumerApplication.Option] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["pollOption", b"pollOption"]) -> None: ... + + @typing.final + class PollVoteMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SELECTEDOPTIONS_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + senderTimestampMS: builtins.int + @property + def selectedOptions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + def __init__( + self, + *, + selectedOptions: collections.abc.Iterable[builtins.bytes] | None = ..., + senderTimestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["senderTimestampMS", b"senderTimestampMS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["selectedOptions", b"selectedOptions", "senderTimestampMS", b"senderTimestampMS"]) -> None: ... + + @typing.final + class PollEncValue(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ENCPAYLOAD_FIELD_NUMBER: builtins.int + ENCIV_FIELD_NUMBER: builtins.int + encPayload: builtins.bytes + encIV: builtins.bytes + def __init__( + self, + *, + encPayload: builtins.bytes | None = ..., + encIV: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload"]) -> None: ... + + @typing.final + class PollUpdateMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + POLLCREATIONMESSAGEKEY_FIELD_NUMBER: builtins.int + VOTE_FIELD_NUMBER: builtins.int + ADDOPTION_FIELD_NUMBER: builtins.int + @property + def pollCreationMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def vote(self) -> global___ConsumerApplication.PollEncValue: ... + @property + def addOption(self) -> global___ConsumerApplication.PollEncValue: ... + def __init__( + self, + *, + pollCreationMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + vote: global___ConsumerApplication.PollEncValue | None = ..., + addOption: global___ConsumerApplication.PollEncValue | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["addOption", b"addOption", "pollCreationMessageKey", b"pollCreationMessageKey", "vote", b"vote"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["addOption", b"addOption", "pollCreationMessageKey", b"pollCreationMessageKey", "vote", b"vote"]) -> None: ... + + @typing.final + class PollCreationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ENCKEY_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + OPTIONS_FIELD_NUMBER: builtins.int + SELECTABLEOPTIONSCOUNT_FIELD_NUMBER: builtins.int + encKey: builtins.bytes + name: builtins.str + selectableOptionsCount: builtins.int + @property + def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConsumerApplication.Option]: ... + def __init__( + self, + *, + encKey: builtins.bytes | None = ..., + name: builtins.str | None = ..., + options: collections.abc.Iterable[global___ConsumerApplication.Option] | None = ..., + selectableOptionsCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encKey", b"encKey", "name", b"name", "selectableOptionsCount", b"selectableOptionsCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encKey", b"encKey", "name", b"name", "options", b"options", "selectableOptionsCount", b"selectableOptionsCount"]) -> None: ... + + @typing.final + class Option(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OPTIONNAME_FIELD_NUMBER: builtins.int + optionName: builtins.str + def __init__( + self, + *, + optionName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["optionName", b"optionName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["optionName", b"optionName"]) -> None: ... + + @typing.final + class ReactionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + GROUPINGKEY_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + REACTIONMETADATADATACLASSDATA_FIELD_NUMBER: builtins.int + STYLE_FIELD_NUMBER: builtins.int + text: builtins.str + groupingKey: builtins.str + senderTimestampMS: builtins.int + reactionMetadataDataclassData: builtins.str + style: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + text: builtins.str | None = ..., + groupingKey: builtins.str | None = ..., + senderTimestampMS: builtins.int | None = ..., + reactionMetadataDataclassData: builtins.str | None = ..., + style: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["groupingKey", b"groupingKey", "key", b"key", "reactionMetadataDataclassData", b"reactionMetadataDataclassData", "senderTimestampMS", b"senderTimestampMS", "style", b"style", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["groupingKey", b"groupingKey", "key", b"key", "reactionMetadataDataclassData", b"reactionMetadataDataclassData", "senderTimestampMS", b"senderTimestampMS", "style", b"style", "text", b"text"]) -> None: ... + + @typing.final + class RevokeMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... + + @typing.final + class ViewOnceMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + IMAGEMESSAGE_FIELD_NUMBER: builtins.int + VIDEOMESSAGE_FIELD_NUMBER: builtins.int + @property + def imageMessage(self) -> global___ConsumerApplication.ImageMessage: ... + @property + def videoMessage(self) -> global___ConsumerApplication.VideoMessage: ... + def __init__( + self, + *, + imageMessage: global___ConsumerApplication.ImageMessage | None = ..., + videoMessage: global___ConsumerApplication.VideoMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["imageMessage", b"imageMessage", "videoMessage", b"videoMessage", "viewOnceContent", b"viewOnceContent"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["imageMessage", b"imageMessage", "videoMessage", b"videoMessage", "viewOnceContent", b"viewOnceContent"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["viewOnceContent", b"viewOnceContent"]) -> typing.Literal["imageMessage", "videoMessage"] | None: ... + + @typing.final + class GroupInviteMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + GROUPJID_FIELD_NUMBER: builtins.int + INVITECODE_FIELD_NUMBER: builtins.int + INVITEEXPIRATION_FIELD_NUMBER: builtins.int + GROUPNAME_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + groupJID: builtins.str + inviteCode: builtins.str + inviteExpiration: builtins.int + groupName: builtins.str + JPEGThumbnail: builtins.bytes + @property + def caption(self) -> waCommon.WACommon_pb2.MessageText: ... + def __init__( + self, + *, + groupJID: builtins.str | None = ..., + inviteCode: builtins.str | None = ..., + inviteExpiration: builtins.int | None = ..., + groupName: builtins.str | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + caption: waCommon.WACommon_pb2.MessageText | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "groupJID", b"groupJID", "groupName", b"groupName", "inviteCode", b"inviteCode", "inviteExpiration", b"inviteExpiration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "groupJID", b"groupJID", "groupName", b"groupName", "inviteCode", b"inviteCode", "inviteExpiration", b"inviteExpiration"]) -> None: ... + + @typing.final + class LiveLocationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCATION_FIELD_NUMBER: builtins.int + ACCURACYINMETERS_FIELD_NUMBER: builtins.int + SPEEDINMPS_FIELD_NUMBER: builtins.int + DEGREESCLOCKWISEFROMMAGNETICNORTH_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + SEQUENCENUMBER_FIELD_NUMBER: builtins.int + TIMEOFFSET_FIELD_NUMBER: builtins.int + accuracyInMeters: builtins.int + speedInMps: builtins.float + degreesClockwiseFromMagneticNorth: builtins.int + sequenceNumber: builtins.int + timeOffset: builtins.int + @property + def location(self) -> global___ConsumerApplication.Location: ... + @property + def caption(self) -> waCommon.WACommon_pb2.MessageText: ... + def __init__( + self, + *, + location: global___ConsumerApplication.Location | None = ..., + accuracyInMeters: builtins.int | None = ..., + speedInMps: builtins.float | None = ..., + degreesClockwiseFromMagneticNorth: builtins.int | None = ..., + caption: waCommon.WACommon_pb2.MessageText | None = ..., + sequenceNumber: builtins.int | None = ..., + timeOffset: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accuracyInMeters", b"accuracyInMeters", "caption", b"caption", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "location", b"location", "sequenceNumber", b"sequenceNumber", "speedInMps", b"speedInMps", "timeOffset", b"timeOffset"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accuracyInMeters", b"accuracyInMeters", "caption", b"caption", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "location", b"location", "sequenceNumber", b"sequenceNumber", "speedInMps", b"speedInMps", "timeOffset", b"timeOffset"]) -> None: ... + + @typing.final + class ContactsArrayMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYNAME_FIELD_NUMBER: builtins.int + CONTACTS_FIELD_NUMBER: builtins.int + displayName: builtins.str + @property + def contacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConsumerApplication.ContactMessage]: ... + def __init__( + self, + *, + displayName: builtins.str | None = ..., + contacts: collections.abc.Iterable[global___ConsumerApplication.ContactMessage] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["displayName", b"displayName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contacts", b"contacts", "displayName", b"displayName"]) -> None: ... + + @typing.final + class ContactMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTACT_FIELD_NUMBER: builtins.int + @property + def contact(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + contact: waCommon.WACommon_pb2.SubProtocol | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contact", b"contact"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contact", b"contact"]) -> None: ... + + @typing.final + class StatusTextMesage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _FontType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _FontTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ConsumerApplication.StatusTextMesage._FontType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SANS_SERIF: ConsumerApplication.StatusTextMesage._FontType.ValueType # 0 + SERIF: ConsumerApplication.StatusTextMesage._FontType.ValueType # 1 + NORICAN_REGULAR: ConsumerApplication.StatusTextMesage._FontType.ValueType # 2 + BRYNDAN_WRITE: ConsumerApplication.StatusTextMesage._FontType.ValueType # 3 + BEBASNEUE_REGULAR: ConsumerApplication.StatusTextMesage._FontType.ValueType # 4 + OSWALD_HEAVY: ConsumerApplication.StatusTextMesage._FontType.ValueType # 5 + + class FontType(_FontType, metaclass=_FontTypeEnumTypeWrapper): ... + SANS_SERIF: ConsumerApplication.StatusTextMesage.FontType.ValueType # 0 + SERIF: ConsumerApplication.StatusTextMesage.FontType.ValueType # 1 + NORICAN_REGULAR: ConsumerApplication.StatusTextMesage.FontType.ValueType # 2 + BRYNDAN_WRITE: ConsumerApplication.StatusTextMesage.FontType.ValueType # 3 + BEBASNEUE_REGULAR: ConsumerApplication.StatusTextMesage.FontType.ValueType # 4 + OSWALD_HEAVY: ConsumerApplication.StatusTextMesage.FontType.ValueType # 5 + + TEXT_FIELD_NUMBER: builtins.int + TEXTARGB_FIELD_NUMBER: builtins.int + BACKGROUNDARGB_FIELD_NUMBER: builtins.int + FONT_FIELD_NUMBER: builtins.int + textArgb: builtins.int + backgroundArgb: builtins.int + font: global___ConsumerApplication.StatusTextMesage.FontType.ValueType + @property + def text(self) -> global___ConsumerApplication.ExtendedTextMessage: ... + def __init__( + self, + *, + text: global___ConsumerApplication.ExtendedTextMessage | None = ..., + textArgb: builtins.int | None = ..., + backgroundArgb: builtins.int | None = ..., + font: global___ConsumerApplication.StatusTextMesage.FontType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["backgroundArgb", b"backgroundArgb", "font", b"font", "text", b"text", "textArgb", b"textArgb"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["backgroundArgb", b"backgroundArgb", "font", b"font", "text", b"text", "textArgb", b"textArgb"]) -> None: ... + + @typing.final + class ExtendedTextMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PreviewType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PreviewTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ConsumerApplication.ExtendedTextMessage._PreviewType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: ConsumerApplication.ExtendedTextMessage._PreviewType.ValueType # 0 + VIDEO: ConsumerApplication.ExtendedTextMessage._PreviewType.ValueType # 1 + + class PreviewType(_PreviewType, metaclass=_PreviewTypeEnumTypeWrapper): ... + NONE: ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType # 0 + VIDEO: ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType # 1 + + TEXT_FIELD_NUMBER: builtins.int + MATCHEDTEXT_FIELD_NUMBER: builtins.int + CANONICALURL_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + THUMBNAIL_FIELD_NUMBER: builtins.int + PREVIEWTYPE_FIELD_NUMBER: builtins.int + matchedText: builtins.str + canonicalURL: builtins.str + description: builtins.str + title: builtins.str + previewType: global___ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType + @property + def text(self) -> waCommon.WACommon_pb2.MessageText: ... + @property + def thumbnail(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + text: waCommon.WACommon_pb2.MessageText | None = ..., + matchedText: builtins.str | None = ..., + canonicalURL: builtins.str | None = ..., + description: builtins.str | None = ..., + title: builtins.str | None = ..., + thumbnail: waCommon.WACommon_pb2.SubProtocol | None = ..., + previewType: global___ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["canonicalURL", b"canonicalURL", "description", b"description", "matchedText", b"matchedText", "previewType", b"previewType", "text", b"text", "thumbnail", b"thumbnail", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["canonicalURL", b"canonicalURL", "description", b"description", "matchedText", b"matchedText", "previewType", b"previewType", "text", b"text", "thumbnail", b"thumbnail", "title", b"title"]) -> None: ... + + @typing.final + class LocationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCATION_FIELD_NUMBER: builtins.int + ADDRESS_FIELD_NUMBER: builtins.int + address: builtins.str + @property + def location(self) -> global___ConsumerApplication.Location: ... + def __init__( + self, + *, + location: global___ConsumerApplication.Location | None = ..., + address: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["address", b"address", "location", b"location"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["address", b"address", "location", b"location"]) -> None: ... + + @typing.final + class StickerMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STICKER_FIELD_NUMBER: builtins.int + @property + def sticker(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + sticker: waCommon.WACommon_pb2.SubProtocol | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sticker", b"sticker"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sticker", b"sticker"]) -> None: ... + + @typing.final + class DocumentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DOCUMENT_FIELD_NUMBER: builtins.int + FILENAME_FIELD_NUMBER: builtins.int + fileName: builtins.str + @property + def document(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + document: waCommon.WACommon_pb2.SubProtocol | None = ..., + fileName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["document", b"document", "fileName", b"fileName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["document", b"document", "fileName", b"fileName"]) -> None: ... + + @typing.final + class VideoMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VIDEO_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + @property + def video(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def caption(self) -> waCommon.WACommon_pb2.MessageText: ... + def __init__( + self, + *, + video: waCommon.WACommon_pb2.SubProtocol | None = ..., + caption: waCommon.WACommon_pb2.MessageText | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["caption", b"caption", "video", b"video"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["caption", b"caption", "video", b"video"]) -> None: ... + + @typing.final + class AudioMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AUDIO_FIELD_NUMBER: builtins.int + PTT_FIELD_NUMBER: builtins.int + PTT: builtins.bool + @property + def audio(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + audio: waCommon.WACommon_pb2.SubProtocol | None = ..., + PTT: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["PTT", b"PTT", "audio", b"audio"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["PTT", b"PTT", "audio", b"audio"]) -> None: ... + + @typing.final + class ImageMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + IMAGE_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + @property + def image(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def caption(self) -> waCommon.WACommon_pb2.MessageText: ... + def __init__( + self, + *, + image: waCommon.WACommon_pb2.SubProtocol | None = ..., + caption: waCommon.WACommon_pb2.MessageText | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["caption", b"caption", "image", b"image"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["caption", b"caption", "image", b"image"]) -> None: ... + + @typing.final + class InteractiveAnnotation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCATION_FIELD_NUMBER: builtins.int + POLYGONVERTICES_FIELD_NUMBER: builtins.int + @property + def location(self) -> global___ConsumerApplication.Location: ... + @property + def polygonVertices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConsumerApplication.Point]: ... + def __init__( + self, + *, + location: global___ConsumerApplication.Location | None = ..., + polygonVertices: collections.abc.Iterable[global___ConsumerApplication.Point] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "location", b"location"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "location", b"location", "polygonVertices", b"polygonVertices"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["action", b"action"]) -> typing.Literal["location"] | None: ... + + @typing.final + class Point(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + X_FIELD_NUMBER: builtins.int + Y_FIELD_NUMBER: builtins.int + x: builtins.float + y: builtins.float + def __init__( + self, + *, + x: builtins.float | None = ..., + y: builtins.float | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["x", b"x", "y", b"y"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["x", b"x", "y", b"y"]) -> None: ... + + @typing.final + class Location(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DEGREESLATITUDE_FIELD_NUMBER: builtins.int + DEGREESLONGITUDE_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + degreesLatitude: builtins.float + degreesLongitude: builtins.float + name: builtins.str + def __init__( + self, + *, + degreesLatitude: builtins.float | None = ..., + degreesLongitude: builtins.float | None = ..., + name: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "name", b"name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "name", b"name"]) -> None: ... + + @typing.final + class MediaPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PROTOCOL_FIELD_NUMBER: builtins.int + @property + def protocol(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + protocol: waCommon.WACommon_pb2.SubProtocol | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["protocol", b"protocol"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["protocol", b"protocol"]) -> None: ... + + PAYLOAD_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + @property + def payload(self) -> global___ConsumerApplication.Payload: ... + @property + def metadata(self) -> global___ConsumerApplication.Metadata: ... + def __init__( + self, + *, + payload: global___ConsumerApplication.Payload | None = ..., + metadata: global___ConsumerApplication.Metadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]) -> None: ... + +global___ConsumerApplication = ConsumerApplication diff --git a/neonize/proto/waConsumerApplicationParameterised/WAConsumerApplicationParameterised_pb2.py b/neonize/proto/waConsumerApplicationParameterised/WAConsumerApplicationParameterised_pb2.py new file mode 100644 index 00000000..1840f1a4 --- /dev/null +++ b/neonize/proto/waConsumerApplicationParameterised/WAConsumerApplicationParameterised_pb2.py @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waConsumerApplicationParameterised/WAConsumerApplicationParameterised.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waConsumerApplicationParameterised/WAConsumerApplicationParameterised.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waCommonParameterised import WACommonParameterised_pb2 as waCommonParameterised_dot_WACommonParameterised__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nKwaConsumerApplicationParameterised/WAConsumerApplicationParameterised.proto\x12\"WAConsumerApplicationParameterised\x1a\x31waCommonParameterised/WACommonParameterised.proto\"\xcc\x32\n\x13\x43onsumerApplication\x12P\n\x07payload\x18\x01 \x01(\x0b\x32?.WAConsumerApplicationParameterised.ConsumerApplication.Payload\x12R\n\x08metadata\x18\x02 \x01(\x0b\x32@.WAConsumerApplicationParameterised.ConsumerApplication.Metadata\x1a\x81\x03\n\x07Payload\x12R\n\x07\x63ontent\x18\x01 \x01(\x0b\x32?.WAConsumerApplicationParameterised.ConsumerApplication.ContentH\x00\x12\x62\n\x0f\x61pplicationData\x18\x02 \x01(\x0b\x32G.WAConsumerApplicationParameterised.ConsumerApplication.ApplicationDataH\x00\x12P\n\x06signal\x18\x03 \x01(\x0b\x32>.WAConsumerApplicationParameterised.ConsumerApplication.SignalH\x00\x12\x61\n\x0bsubProtocol\x18\x04 \x01(\x0b\x32J.WAConsumerApplicationParameterised.ConsumerApplication.SubProtocolPayloadH\x00\x42\t\n\x07payload\x1aU\n\x12SubProtocolPayload\x12?\n\x0b\x66utureProof\x18\x01 \x01(\x0e\x32*.WACommonParameterised.FutureProofBehavior\x1a\xaa\x01\n\x08Metadata\x12i\n\x0fspecialTextSize\x18\x01 \x01(\x0e\x32P.WAConsumerApplicationParameterised.ConsumerApplication.Metadata.SpecialTextSize\"3\n\x0fSpecialTextSize\x12\t\n\x05SMALL\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\t\n\x05LARGE\x10\x03\x1a\x08\n\x06Signal\x1a\x80\x01\n\x0f\x41pplicationData\x12W\n\x06revoke\x18\x01 \x01(\x0b\x32\x45.WAConsumerApplicationParameterised.ConsumerApplication.RevokeMessageH\x00\x42\x14\n\x12\x61pplicationContent\x1a\x84\x0e\n\x07\x43ontent\x12\x39\n\x0bmessageText\x18\x01 \x01(\x0b\x32\".WACommonParameterised.MessageTextH\x00\x12\\\n\x0cimageMessage\x18\x02 \x01(\x0b\x32\x44.WAConsumerApplicationParameterised.ConsumerApplication.ImageMessageH\x00\x12`\n\x0e\x63ontactMessage\x18\x03 \x01(\x0b\x32\x46.WAConsumerApplicationParameterised.ConsumerApplication.ContactMessageH\x00\x12\x62\n\x0flocationMessage\x18\x04 \x01(\x0b\x32G.WAConsumerApplicationParameterised.ConsumerApplication.LocationMessageH\x00\x12j\n\x13\x65xtendedTextMessage\x18\x05 \x01(\x0b\x32K.WAConsumerApplicationParameterised.ConsumerApplication.ExtendedTextMessageH\x00\x12\x65\n\x11statusTextMessage\x18\x06 \x01(\x0b\x32H.WAConsumerApplicationParameterised.ConsumerApplication.StatusTextMesageH\x00\x12\x62\n\x0f\x64ocumentMessage\x18\x07 \x01(\x0b\x32G.WAConsumerApplicationParameterised.ConsumerApplication.DocumentMessageH\x00\x12\\\n\x0c\x61udioMessage\x18\x08 \x01(\x0b\x32\x44.WAConsumerApplicationParameterised.ConsumerApplication.AudioMessageH\x00\x12\\\n\x0cvideoMessage\x18\t \x01(\x0b\x32\x44.WAConsumerApplicationParameterised.ConsumerApplication.VideoMessageH\x00\x12l\n\x14\x63ontactsArrayMessage\x18\n \x01(\x0b\x32L.WAConsumerApplicationParameterised.ConsumerApplication.ContactsArrayMessageH\x00\x12j\n\x13liveLocationMessage\x18\x0b \x01(\x0b\x32K.WAConsumerApplicationParameterised.ConsumerApplication.LiveLocationMessageH\x00\x12`\n\x0estickerMessage\x18\x0c \x01(\x0b\x32\x46.WAConsumerApplicationParameterised.ConsumerApplication.StickerMessageH\x00\x12h\n\x12groupInviteMessage\x18\r \x01(\x0b\x32J.WAConsumerApplicationParameterised.ConsumerApplication.GroupInviteMessageH\x00\x12\x62\n\x0fviewOnceMessage\x18\x0e \x01(\x0b\x32G.WAConsumerApplicationParameterised.ConsumerApplication.ViewOnceMessageH\x00\x12\x62\n\x0freactionMessage\x18\x10 \x01(\x0b\x32G.WAConsumerApplicationParameterised.ConsumerApplication.ReactionMessageH\x00\x12j\n\x13pollCreationMessage\x18\x11 \x01(\x0b\x32K.WAConsumerApplicationParameterised.ConsumerApplication.PollCreationMessageH\x00\x12\x66\n\x11pollUpdateMessage\x18\x12 \x01(\x0b\x32I.WAConsumerApplicationParameterised.ConsumerApplication.PollUpdateMessageH\x00\x12Z\n\x0b\x65\x64itMessage\x18\x13 \x01(\x0b\x32\x43.WAConsumerApplicationParameterised.ConsumerApplication.EditMessageH\x00\x42\t\n\x07\x63ontent\x1a\x87\x01\n\x0b\x45\x64itMessage\x12.\n\x03key\x18\x01 \x01(\x0b\x32!.WACommonParameterised.MessageKey\x12\x33\n\x07message\x18\x02 \x01(\x0b\x32\".WACommonParameterised.MessageText\x12\x13\n\x0btimestampMS\x18\x03 \x01(\x03\x1aj\n\x14PollAddOptionMessage\x12R\n\npollOption\x18\x01 \x03(\x0b\x32>.WAConsumerApplicationParameterised.ConsumerApplication.Option\x1a\x45\n\x0fPollVoteMessage\x12\x17\n\x0fselectedOptions\x18\x01 \x03(\x0c\x12\x19\n\x11senderTimestampMS\x18\x02 \x01(\x03\x1a\x31\n\x0cPollEncValue\x12\x12\n\nencPayload\x18\x01 \x01(\x0c\x12\r\n\x05\x65ncIV\x18\x02 \x01(\x0c\x1a\x83\x02\n\x11PollUpdateMessage\x12\x41\n\x16pollCreationMessageKey\x18\x01 \x01(\x0b\x32!.WACommonParameterised.MessageKey\x12R\n\x04vote\x18\x02 \x01(\x0b\x32\x44.WAConsumerApplicationParameterised.ConsumerApplication.PollEncValue\x12W\n\taddOption\x18\x03 \x01(\x0b\x32\x44.WAConsumerApplicationParameterised.ConsumerApplication.PollEncValue\x1a\xa4\x01\n\x13PollCreationMessage\x12\x0e\n\x06\x65ncKey\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12O\n\x07options\x18\x03 \x03(\x0b\x32>.WAConsumerApplicationParameterised.ConsumerApplication.Option\x12\x1e\n\x16selectableOptionsCount\x18\x04 \x01(\r\x1a\x1c\n\x06Option\x12\x12\n\noptionName\x18\x01 \x01(\t\x1a\xb5\x01\n\x0fReactionMessage\x12.\n\x03key\x18\x01 \x01(\x0b\x32!.WACommonParameterised.MessageKey\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x13\n\x0bgroupingKey\x18\x03 \x01(\t\x12\x19\n\x11senderTimestampMS\x18\x04 \x01(\x03\x12%\n\x1dreactionMetadataDataclassData\x18\x05 \x01(\t\x12\r\n\x05style\x18\x06 \x01(\x05\x1a?\n\rRevokeMessage\x12.\n\x03key\x18\x01 \x01(\x0b\x32!.WACommonParameterised.MessageKey\x1a\xe0\x01\n\x0fViewOnceMessage\x12\\\n\x0cimageMessage\x18\x01 \x01(\x0b\x32\x44.WAConsumerApplicationParameterised.ConsumerApplication.ImageMessageH\x00\x12\\\n\x0cvideoMessage\x18\x02 \x01(\x0b\x32\x44.WAConsumerApplicationParameterised.ConsumerApplication.VideoMessageH\x00\x42\x11\n\x0fviewOnceContent\x1a\xb3\x01\n\x12GroupInviteMessage\x12\x10\n\x08groupJID\x18\x01 \x01(\t\x12\x12\n\ninviteCode\x18\x02 \x01(\t\x12\x18\n\x10inviteExpiration\x18\x03 \x01(\x03\x12\x11\n\tgroupName\x18\x04 \x01(\t\x12\x15\n\rJPEGThumbnail\x18\x05 \x01(\x0c\x12\x33\n\x07\x63\x61ption\x18\x06 \x01(\x0b\x32\".WACommonParameterised.MessageText\x1a\xa3\x02\n\x13LiveLocationMessage\x12R\n\x08location\x18\x01 \x01(\x0b\x32@.WAConsumerApplicationParameterised.ConsumerApplication.Location\x12\x18\n\x10\x61\x63\x63uracyInMeters\x18\x02 \x01(\r\x12\x12\n\nspeedInMps\x18\x03 \x01(\x02\x12)\n!degreesClockwiseFromMagneticNorth\x18\x04 \x01(\r\x12\x33\n\x07\x63\x61ption\x18\x05 \x01(\x0b\x32\".WACommonParameterised.MessageText\x12\x16\n\x0esequenceNumber\x18\x06 \x01(\x03\x12\x12\n\ntimeOffset\x18\x07 \x01(\r\x1a\x85\x01\n\x14\x43ontactsArrayMessage\x12\x13\n\x0b\x64isplayName\x18\x01 \x01(\t\x12X\n\x08\x63ontacts\x18\x02 \x03(\x0b\x32\x46.WAConsumerApplicationParameterised.ConsumerApplication.ContactMessage\x1a\x45\n\x0e\x43ontactMessage\x12\x33\n\x07\x63ontact\x18\x01 \x01(\x0b\x32\".WACommonParameterised.SubProtocol\x1a\xf0\x02\n\x10StatusTextMesage\x12Y\n\x04text\x18\x01 \x01(\x0b\x32K.WAConsumerApplicationParameterised.ConsumerApplication.ExtendedTextMessage\x12\x10\n\x08textArgb\x18\x06 \x01(\x07\x12\x16\n\x0e\x62\x61\x63kgroundArgb\x18\x07 \x01(\x07\x12_\n\x04\x66ont\x18\x08 \x01(\x0e\x32Q.WAConsumerApplicationParameterised.ConsumerApplication.StatusTextMesage.FontType\"v\n\x08\x46ontType\x12\x0e\n\nSANS_SERIF\x10\x00\x12\t\n\x05SERIF\x10\x01\x12\x13\n\x0fNORICAN_REGULAR\x10\x02\x12\x11\n\rBRYNDAN_WRITE\x10\x03\x12\x15\n\x11\x42\x45\x42\x41SNEUE_REGULAR\x10\x04\x12\x10\n\x0cOSWALD_HEAVY\x10\x05\x1a\xdf\x02\n\x13\x45xtendedTextMessage\x12\x30\n\x04text\x18\x01 \x01(\x0b\x32\".WACommonParameterised.MessageText\x12\x13\n\x0bmatchedText\x18\x02 \x01(\t\x12\x14\n\x0c\x63\x61nonicalURL\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\r\n\x05title\x18\x05 \x01(\t\x12\x35\n\tthumbnail\x18\x06 \x01(\x0b\x32\".WACommonParameterised.SubProtocol\x12l\n\x0bpreviewType\x18\x07 \x01(\x0e\x32W.WAConsumerApplicationParameterised.ConsumerApplication.ExtendedTextMessage.PreviewType\"\"\n\x0bPreviewType\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05VIDEO\x10\x01\x1av\n\x0fLocationMessage\x12R\n\x08location\x18\x01 \x01(\x0b\x32@.WAConsumerApplicationParameterised.ConsumerApplication.Location\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x1a\x45\n\x0eStickerMessage\x12\x33\n\x07sticker\x18\x01 \x01(\x0b\x32\".WACommonParameterised.SubProtocol\x1aY\n\x0f\x44ocumentMessage\x12\x34\n\x08\x64ocument\x18\x01 \x01(\x0b\x32\".WACommonParameterised.SubProtocol\x12\x10\n\x08\x66ileName\x18\x02 \x01(\t\x1av\n\x0cVideoMessage\x12\x31\n\x05video\x18\x01 \x01(\x0b\x32\".WACommonParameterised.SubProtocol\x12\x33\n\x07\x63\x61ption\x18\x02 \x01(\x0b\x32\".WACommonParameterised.MessageText\x1aN\n\x0c\x41udioMessage\x12\x31\n\x05\x61udio\x18\x01 \x01(\x0b\x32\".WACommonParameterised.SubProtocol\x12\x0b\n\x03PTT\x18\x02 \x01(\x08\x1av\n\x0cImageMessage\x12\x31\n\x05image\x18\x01 \x01(\x0b\x32\".WACommonParameterised.SubProtocol\x12\x33\n\x07\x63\x61ption\x18\x02 \x01(\x0b\x32\".WACommonParameterised.MessageText\x1a\xcf\x01\n\x15InteractiveAnnotation\x12T\n\x08location\x18\x02 \x01(\x0b\x32@.WAConsumerApplicationParameterised.ConsumerApplication.LocationH\x00\x12V\n\x0fpolygonVertices\x18\x01 \x03(\x0b\x32=.WAConsumerApplicationParameterised.ConsumerApplication.PointB\x08\n\x06\x61\x63tion\x1a\x1d\n\x05Point\x12\t\n\x01x\x18\x01 \x01(\x01\x12\t\n\x01y\x18\x02 \x01(\x01\x1aK\n\x08Location\x12\x17\n\x0f\x64\x65greesLatitude\x18\x01 \x01(\x01\x12\x18\n\x10\x64\x65greesLongitude\x18\x02 \x01(\x01\x12\x0c\n\x04name\x18\x03 \x01(\t\x1a\x44\n\x0cMediaPayload\x12\x34\n\x08protocol\x18\x01 \x01(\x0b\x32\".WACommonParameterised.SubProtocolB>Z= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class ConsumerApplication(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Payload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTENT_FIELD_NUMBER: builtins.int + APPLICATIONDATA_FIELD_NUMBER: builtins.int + SIGNAL_FIELD_NUMBER: builtins.int + SUBPROTOCOL_FIELD_NUMBER: builtins.int + @property + def content(self) -> global___ConsumerApplication.Content: ... + @property + def applicationData(self) -> global___ConsumerApplication.ApplicationData: ... + @property + def signal(self) -> global___ConsumerApplication.Signal: ... + @property + def subProtocol(self) -> global___ConsumerApplication.SubProtocolPayload: ... + def __init__( + self, + *, + content: global___ConsumerApplication.Content | None = ..., + applicationData: global___ConsumerApplication.ApplicationData | None = ..., + signal: global___ConsumerApplication.Signal | None = ..., + subProtocol: global___ConsumerApplication.SubProtocolPayload | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["applicationData", b"applicationData", "content", b"content", "payload", b"payload", "signal", b"signal", "subProtocol", b"subProtocol"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["applicationData", b"applicationData", "content", b"content", "payload", b"payload", "signal", b"signal", "subProtocol", b"subProtocol"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["payload", b"payload"]) -> typing.Literal["content", "applicationData", "signal", "subProtocol"] | None: ... + + @typing.final + class SubProtocolPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FUTUREPROOF_FIELD_NUMBER: builtins.int + futureProof: waCommonParameterised.WACommonParameterised_pb2.FutureProofBehavior.ValueType + def __init__( + self, + *, + futureProof: waCommonParameterised.WACommonParameterised_pb2.FutureProofBehavior.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["futureProof", b"futureProof"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["futureProof", b"futureProof"]) -> None: ... + + @typing.final + class Metadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _SpecialTextSize: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SpecialTextSizeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ConsumerApplication.Metadata._SpecialTextSize.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SMALL: ConsumerApplication.Metadata._SpecialTextSize.ValueType # 1 + MEDIUM: ConsumerApplication.Metadata._SpecialTextSize.ValueType # 2 + LARGE: ConsumerApplication.Metadata._SpecialTextSize.ValueType # 3 + + class SpecialTextSize(_SpecialTextSize, metaclass=_SpecialTextSizeEnumTypeWrapper): ... + SMALL: ConsumerApplication.Metadata.SpecialTextSize.ValueType # 1 + MEDIUM: ConsumerApplication.Metadata.SpecialTextSize.ValueType # 2 + LARGE: ConsumerApplication.Metadata.SpecialTextSize.ValueType # 3 + + SPECIALTEXTSIZE_FIELD_NUMBER: builtins.int + specialTextSize: global___ConsumerApplication.Metadata.SpecialTextSize.ValueType + def __init__( + self, + *, + specialTextSize: global___ConsumerApplication.Metadata.SpecialTextSize.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["specialTextSize", b"specialTextSize"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["specialTextSize", b"specialTextSize"]) -> None: ... + + @typing.final + class Signal(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + + @typing.final + class ApplicationData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REVOKE_FIELD_NUMBER: builtins.int + @property + def revoke(self) -> global___ConsumerApplication.RevokeMessage: ... + def __init__( + self, + *, + revoke: global___ConsumerApplication.RevokeMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["applicationContent", b"applicationContent", "revoke", b"revoke"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["applicationContent", b"applicationContent", "revoke", b"revoke"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["applicationContent", b"applicationContent"]) -> typing.Literal["revoke"] | None: ... + + @typing.final + class Content(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGETEXT_FIELD_NUMBER: builtins.int + IMAGEMESSAGE_FIELD_NUMBER: builtins.int + CONTACTMESSAGE_FIELD_NUMBER: builtins.int + LOCATIONMESSAGE_FIELD_NUMBER: builtins.int + EXTENDEDTEXTMESSAGE_FIELD_NUMBER: builtins.int + STATUSTEXTMESSAGE_FIELD_NUMBER: builtins.int + DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int + AUDIOMESSAGE_FIELD_NUMBER: builtins.int + VIDEOMESSAGE_FIELD_NUMBER: builtins.int + CONTACTSARRAYMESSAGE_FIELD_NUMBER: builtins.int + LIVELOCATIONMESSAGE_FIELD_NUMBER: builtins.int + STICKERMESSAGE_FIELD_NUMBER: builtins.int + GROUPINVITEMESSAGE_FIELD_NUMBER: builtins.int + VIEWONCEMESSAGE_FIELD_NUMBER: builtins.int + REACTIONMESSAGE_FIELD_NUMBER: builtins.int + POLLCREATIONMESSAGE_FIELD_NUMBER: builtins.int + POLLUPDATEMESSAGE_FIELD_NUMBER: builtins.int + EDITMESSAGE_FIELD_NUMBER: builtins.int + @property + def messageText(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageText: ... + @property + def imageMessage(self) -> global___ConsumerApplication.ImageMessage: ... + @property + def contactMessage(self) -> global___ConsumerApplication.ContactMessage: ... + @property + def locationMessage(self) -> global___ConsumerApplication.LocationMessage: ... + @property + def extendedTextMessage(self) -> global___ConsumerApplication.ExtendedTextMessage: ... + @property + def statusTextMessage(self) -> global___ConsumerApplication.StatusTextMesage: ... + @property + def documentMessage(self) -> global___ConsumerApplication.DocumentMessage: ... + @property + def audioMessage(self) -> global___ConsumerApplication.AudioMessage: ... + @property + def videoMessage(self) -> global___ConsumerApplication.VideoMessage: ... + @property + def contactsArrayMessage(self) -> global___ConsumerApplication.ContactsArrayMessage: ... + @property + def liveLocationMessage(self) -> global___ConsumerApplication.LiveLocationMessage: ... + @property + def stickerMessage(self) -> global___ConsumerApplication.StickerMessage: ... + @property + def groupInviteMessage(self) -> global___ConsumerApplication.GroupInviteMessage: ... + @property + def viewOnceMessage(self) -> global___ConsumerApplication.ViewOnceMessage: ... + @property + def reactionMessage(self) -> global___ConsumerApplication.ReactionMessage: ... + @property + def pollCreationMessage(self) -> global___ConsumerApplication.PollCreationMessage: ... + @property + def pollUpdateMessage(self) -> global___ConsumerApplication.PollUpdateMessage: ... + @property + def editMessage(self) -> global___ConsumerApplication.EditMessage: ... + def __init__( + self, + *, + messageText: waCommonParameterised.WACommonParameterised_pb2.MessageText | None = ..., + imageMessage: global___ConsumerApplication.ImageMessage | None = ..., + contactMessage: global___ConsumerApplication.ContactMessage | None = ..., + locationMessage: global___ConsumerApplication.LocationMessage | None = ..., + extendedTextMessage: global___ConsumerApplication.ExtendedTextMessage | None = ..., + statusTextMessage: global___ConsumerApplication.StatusTextMesage | None = ..., + documentMessage: global___ConsumerApplication.DocumentMessage | None = ..., + audioMessage: global___ConsumerApplication.AudioMessage | None = ..., + videoMessage: global___ConsumerApplication.VideoMessage | None = ..., + contactsArrayMessage: global___ConsumerApplication.ContactsArrayMessage | None = ..., + liveLocationMessage: global___ConsumerApplication.LiveLocationMessage | None = ..., + stickerMessage: global___ConsumerApplication.StickerMessage | None = ..., + groupInviteMessage: global___ConsumerApplication.GroupInviteMessage | None = ..., + viewOnceMessage: global___ConsumerApplication.ViewOnceMessage | None = ..., + reactionMessage: global___ConsumerApplication.ReactionMessage | None = ..., + pollCreationMessage: global___ConsumerApplication.PollCreationMessage | None = ..., + pollUpdateMessage: global___ConsumerApplication.PollUpdateMessage | None = ..., + editMessage: global___ConsumerApplication.EditMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["audioMessage", b"audioMessage", "contactMessage", b"contactMessage", "contactsArrayMessage", b"contactsArrayMessage", "content", b"content", "documentMessage", b"documentMessage", "editMessage", b"editMessage", "extendedTextMessage", b"extendedTextMessage", "groupInviteMessage", b"groupInviteMessage", "imageMessage", b"imageMessage", "liveLocationMessage", b"liveLocationMessage", "locationMessage", b"locationMessage", "messageText", b"messageText", "pollCreationMessage", b"pollCreationMessage", "pollUpdateMessage", b"pollUpdateMessage", "reactionMessage", b"reactionMessage", "statusTextMessage", b"statusTextMessage", "stickerMessage", b"stickerMessage", "videoMessage", b"videoMessage", "viewOnceMessage", b"viewOnceMessage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audioMessage", b"audioMessage", "contactMessage", b"contactMessage", "contactsArrayMessage", b"contactsArrayMessage", "content", b"content", "documentMessage", b"documentMessage", "editMessage", b"editMessage", "extendedTextMessage", b"extendedTextMessage", "groupInviteMessage", b"groupInviteMessage", "imageMessage", b"imageMessage", "liveLocationMessage", b"liveLocationMessage", "locationMessage", b"locationMessage", "messageText", b"messageText", "pollCreationMessage", b"pollCreationMessage", "pollUpdateMessage", b"pollUpdateMessage", "reactionMessage", b"reactionMessage", "statusTextMessage", b"statusTextMessage", "stickerMessage", b"stickerMessage", "videoMessage", b"videoMessage", "viewOnceMessage", b"viewOnceMessage"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["content", b"content"]) -> typing.Literal["messageText", "imageMessage", "contactMessage", "locationMessage", "extendedTextMessage", "statusTextMessage", "documentMessage", "audioMessage", "videoMessage", "contactsArrayMessage", "liveLocationMessage", "stickerMessage", "groupInviteMessage", "viewOnceMessage", "reactionMessage", "pollCreationMessage", "pollUpdateMessage", "editMessage"] | None: ... + + @typing.final + class EditMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + TIMESTAMPMS_FIELD_NUMBER: builtins.int + timestampMS: builtins.int + @property + def key(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageKey: ... + @property + def message(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageText: ... + def __init__( + self, + *, + key: waCommonParameterised.WACommonParameterised_pb2.MessageKey | None = ..., + message: waCommonParameterised.WACommonParameterised_pb2.MessageText | None = ..., + timestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "message", b"message", "timestampMS", b"timestampMS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "message", b"message", "timestampMS", b"timestampMS"]) -> None: ... + + @typing.final + class PollAddOptionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + POLLOPTION_FIELD_NUMBER: builtins.int + @property + def pollOption(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConsumerApplication.Option]: ... + def __init__( + self, + *, + pollOption: collections.abc.Iterable[global___ConsumerApplication.Option] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["pollOption", b"pollOption"]) -> None: ... + + @typing.final + class PollVoteMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SELECTEDOPTIONS_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + senderTimestampMS: builtins.int + @property + def selectedOptions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + def __init__( + self, + *, + selectedOptions: collections.abc.Iterable[builtins.bytes] | None = ..., + senderTimestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["senderTimestampMS", b"senderTimestampMS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["selectedOptions", b"selectedOptions", "senderTimestampMS", b"senderTimestampMS"]) -> None: ... + + @typing.final + class PollEncValue(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ENCPAYLOAD_FIELD_NUMBER: builtins.int + ENCIV_FIELD_NUMBER: builtins.int + encPayload: builtins.bytes + encIV: builtins.bytes + def __init__( + self, + *, + encPayload: builtins.bytes | None = ..., + encIV: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload"]) -> None: ... + + @typing.final + class PollUpdateMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + POLLCREATIONMESSAGEKEY_FIELD_NUMBER: builtins.int + VOTE_FIELD_NUMBER: builtins.int + ADDOPTION_FIELD_NUMBER: builtins.int + @property + def pollCreationMessageKey(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageKey: ... + @property + def vote(self) -> global___ConsumerApplication.PollEncValue: ... + @property + def addOption(self) -> global___ConsumerApplication.PollEncValue: ... + def __init__( + self, + *, + pollCreationMessageKey: waCommonParameterised.WACommonParameterised_pb2.MessageKey | None = ..., + vote: global___ConsumerApplication.PollEncValue | None = ..., + addOption: global___ConsumerApplication.PollEncValue | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["addOption", b"addOption", "pollCreationMessageKey", b"pollCreationMessageKey", "vote", b"vote"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["addOption", b"addOption", "pollCreationMessageKey", b"pollCreationMessageKey", "vote", b"vote"]) -> None: ... + + @typing.final + class PollCreationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ENCKEY_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + OPTIONS_FIELD_NUMBER: builtins.int + SELECTABLEOPTIONSCOUNT_FIELD_NUMBER: builtins.int + encKey: builtins.bytes + name: builtins.str + selectableOptionsCount: builtins.int + @property + def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConsumerApplication.Option]: ... + def __init__( + self, + *, + encKey: builtins.bytes | None = ..., + name: builtins.str | None = ..., + options: collections.abc.Iterable[global___ConsumerApplication.Option] | None = ..., + selectableOptionsCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encKey", b"encKey", "name", b"name", "selectableOptionsCount", b"selectableOptionsCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encKey", b"encKey", "name", b"name", "options", b"options", "selectableOptionsCount", b"selectableOptionsCount"]) -> None: ... + + @typing.final + class Option(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OPTIONNAME_FIELD_NUMBER: builtins.int + optionName: builtins.str + def __init__( + self, + *, + optionName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["optionName", b"optionName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["optionName", b"optionName"]) -> None: ... + + @typing.final + class ReactionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + GROUPINGKEY_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + REACTIONMETADATADATACLASSDATA_FIELD_NUMBER: builtins.int + STYLE_FIELD_NUMBER: builtins.int + text: builtins.str + groupingKey: builtins.str + senderTimestampMS: builtins.int + reactionMetadataDataclassData: builtins.str + style: builtins.int + @property + def key(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommonParameterised.WACommonParameterised_pb2.MessageKey | None = ..., + text: builtins.str | None = ..., + groupingKey: builtins.str | None = ..., + senderTimestampMS: builtins.int | None = ..., + reactionMetadataDataclassData: builtins.str | None = ..., + style: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["groupingKey", b"groupingKey", "key", b"key", "reactionMetadataDataclassData", b"reactionMetadataDataclassData", "senderTimestampMS", b"senderTimestampMS", "style", b"style", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["groupingKey", b"groupingKey", "key", b"key", "reactionMetadataDataclassData", b"reactionMetadataDataclassData", "senderTimestampMS", b"senderTimestampMS", "style", b"style", "text", b"text"]) -> None: ... + + @typing.final + class RevokeMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + @property + def key(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommonParameterised.WACommonParameterised_pb2.MessageKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... + + @typing.final + class ViewOnceMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + IMAGEMESSAGE_FIELD_NUMBER: builtins.int + VIDEOMESSAGE_FIELD_NUMBER: builtins.int + @property + def imageMessage(self) -> global___ConsumerApplication.ImageMessage: ... + @property + def videoMessage(self) -> global___ConsumerApplication.VideoMessage: ... + def __init__( + self, + *, + imageMessage: global___ConsumerApplication.ImageMessage | None = ..., + videoMessage: global___ConsumerApplication.VideoMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["imageMessage", b"imageMessage", "videoMessage", b"videoMessage", "viewOnceContent", b"viewOnceContent"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["imageMessage", b"imageMessage", "videoMessage", b"videoMessage", "viewOnceContent", b"viewOnceContent"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["viewOnceContent", b"viewOnceContent"]) -> typing.Literal["imageMessage", "videoMessage"] | None: ... + + @typing.final + class GroupInviteMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + GROUPJID_FIELD_NUMBER: builtins.int + INVITECODE_FIELD_NUMBER: builtins.int + INVITEEXPIRATION_FIELD_NUMBER: builtins.int + GROUPNAME_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + groupJID: builtins.str + inviteCode: builtins.str + inviteExpiration: builtins.int + groupName: builtins.str + JPEGThumbnail: builtins.bytes + @property + def caption(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageText: ... + def __init__( + self, + *, + groupJID: builtins.str | None = ..., + inviteCode: builtins.str | None = ..., + inviteExpiration: builtins.int | None = ..., + groupName: builtins.str | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + caption: waCommonParameterised.WACommonParameterised_pb2.MessageText | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "groupJID", b"groupJID", "groupName", b"groupName", "inviteCode", b"inviteCode", "inviteExpiration", b"inviteExpiration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "groupJID", b"groupJID", "groupName", b"groupName", "inviteCode", b"inviteCode", "inviteExpiration", b"inviteExpiration"]) -> None: ... + + @typing.final + class LiveLocationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCATION_FIELD_NUMBER: builtins.int + ACCURACYINMETERS_FIELD_NUMBER: builtins.int + SPEEDINMPS_FIELD_NUMBER: builtins.int + DEGREESCLOCKWISEFROMMAGNETICNORTH_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + SEQUENCENUMBER_FIELD_NUMBER: builtins.int + TIMEOFFSET_FIELD_NUMBER: builtins.int + accuracyInMeters: builtins.int + speedInMps: builtins.float + degreesClockwiseFromMagneticNorth: builtins.int + sequenceNumber: builtins.int + timeOffset: builtins.int + @property + def location(self) -> global___ConsumerApplication.Location: ... + @property + def caption(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageText: ... + def __init__( + self, + *, + location: global___ConsumerApplication.Location | None = ..., + accuracyInMeters: builtins.int | None = ..., + speedInMps: builtins.float | None = ..., + degreesClockwiseFromMagneticNorth: builtins.int | None = ..., + caption: waCommonParameterised.WACommonParameterised_pb2.MessageText | None = ..., + sequenceNumber: builtins.int | None = ..., + timeOffset: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accuracyInMeters", b"accuracyInMeters", "caption", b"caption", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "location", b"location", "sequenceNumber", b"sequenceNumber", "speedInMps", b"speedInMps", "timeOffset", b"timeOffset"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accuracyInMeters", b"accuracyInMeters", "caption", b"caption", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "location", b"location", "sequenceNumber", b"sequenceNumber", "speedInMps", b"speedInMps", "timeOffset", b"timeOffset"]) -> None: ... + + @typing.final + class ContactsArrayMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYNAME_FIELD_NUMBER: builtins.int + CONTACTS_FIELD_NUMBER: builtins.int + displayName: builtins.str + @property + def contacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConsumerApplication.ContactMessage]: ... + def __init__( + self, + *, + displayName: builtins.str | None = ..., + contacts: collections.abc.Iterable[global___ConsumerApplication.ContactMessage] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["displayName", b"displayName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contacts", b"contacts", "displayName", b"displayName"]) -> None: ... + + @typing.final + class ContactMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTACT_FIELD_NUMBER: builtins.int + @property + def contact(self) -> waCommonParameterised.WACommonParameterised_pb2.SubProtocol: ... + def __init__( + self, + *, + contact: waCommonParameterised.WACommonParameterised_pb2.SubProtocol | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contact", b"contact"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contact", b"contact"]) -> None: ... + + @typing.final + class StatusTextMesage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _FontType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _FontTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ConsumerApplication.StatusTextMesage._FontType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SANS_SERIF: ConsumerApplication.StatusTextMesage._FontType.ValueType # 0 + SERIF: ConsumerApplication.StatusTextMesage._FontType.ValueType # 1 + NORICAN_REGULAR: ConsumerApplication.StatusTextMesage._FontType.ValueType # 2 + BRYNDAN_WRITE: ConsumerApplication.StatusTextMesage._FontType.ValueType # 3 + BEBASNEUE_REGULAR: ConsumerApplication.StatusTextMesage._FontType.ValueType # 4 + OSWALD_HEAVY: ConsumerApplication.StatusTextMesage._FontType.ValueType # 5 + + class FontType(_FontType, metaclass=_FontTypeEnumTypeWrapper): ... + SANS_SERIF: ConsumerApplication.StatusTextMesage.FontType.ValueType # 0 + SERIF: ConsumerApplication.StatusTextMesage.FontType.ValueType # 1 + NORICAN_REGULAR: ConsumerApplication.StatusTextMesage.FontType.ValueType # 2 + BRYNDAN_WRITE: ConsumerApplication.StatusTextMesage.FontType.ValueType # 3 + BEBASNEUE_REGULAR: ConsumerApplication.StatusTextMesage.FontType.ValueType # 4 + OSWALD_HEAVY: ConsumerApplication.StatusTextMesage.FontType.ValueType # 5 + + TEXT_FIELD_NUMBER: builtins.int + TEXTARGB_FIELD_NUMBER: builtins.int + BACKGROUNDARGB_FIELD_NUMBER: builtins.int + FONT_FIELD_NUMBER: builtins.int + textArgb: builtins.int + backgroundArgb: builtins.int + font: global___ConsumerApplication.StatusTextMesage.FontType.ValueType + @property + def text(self) -> global___ConsumerApplication.ExtendedTextMessage: ... + def __init__( + self, + *, + text: global___ConsumerApplication.ExtendedTextMessage | None = ..., + textArgb: builtins.int | None = ..., + backgroundArgb: builtins.int | None = ..., + font: global___ConsumerApplication.StatusTextMesage.FontType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["backgroundArgb", b"backgroundArgb", "font", b"font", "text", b"text", "textArgb", b"textArgb"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["backgroundArgb", b"backgroundArgb", "font", b"font", "text", b"text", "textArgb", b"textArgb"]) -> None: ... + + @typing.final + class ExtendedTextMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PreviewType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PreviewTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ConsumerApplication.ExtendedTextMessage._PreviewType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: ConsumerApplication.ExtendedTextMessage._PreviewType.ValueType # 0 + VIDEO: ConsumerApplication.ExtendedTextMessage._PreviewType.ValueType # 1 + + class PreviewType(_PreviewType, metaclass=_PreviewTypeEnumTypeWrapper): ... + NONE: ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType # 0 + VIDEO: ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType # 1 + + TEXT_FIELD_NUMBER: builtins.int + MATCHEDTEXT_FIELD_NUMBER: builtins.int + CANONICALURL_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + THUMBNAIL_FIELD_NUMBER: builtins.int + PREVIEWTYPE_FIELD_NUMBER: builtins.int + matchedText: builtins.str + canonicalURL: builtins.str + description: builtins.str + title: builtins.str + previewType: global___ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType + @property + def text(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageText: ... + @property + def thumbnail(self) -> waCommonParameterised.WACommonParameterised_pb2.SubProtocol: ... + def __init__( + self, + *, + text: waCommonParameterised.WACommonParameterised_pb2.MessageText | None = ..., + matchedText: builtins.str | None = ..., + canonicalURL: builtins.str | None = ..., + description: builtins.str | None = ..., + title: builtins.str | None = ..., + thumbnail: waCommonParameterised.WACommonParameterised_pb2.SubProtocol | None = ..., + previewType: global___ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["canonicalURL", b"canonicalURL", "description", b"description", "matchedText", b"matchedText", "previewType", b"previewType", "text", b"text", "thumbnail", b"thumbnail", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["canonicalURL", b"canonicalURL", "description", b"description", "matchedText", b"matchedText", "previewType", b"previewType", "text", b"text", "thumbnail", b"thumbnail", "title", b"title"]) -> None: ... + + @typing.final + class LocationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCATION_FIELD_NUMBER: builtins.int + ADDRESS_FIELD_NUMBER: builtins.int + address: builtins.str + @property + def location(self) -> global___ConsumerApplication.Location: ... + def __init__( + self, + *, + location: global___ConsumerApplication.Location | None = ..., + address: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["address", b"address", "location", b"location"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["address", b"address", "location", b"location"]) -> None: ... + + @typing.final + class StickerMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STICKER_FIELD_NUMBER: builtins.int + @property + def sticker(self) -> waCommonParameterised.WACommonParameterised_pb2.SubProtocol: ... + def __init__( + self, + *, + sticker: waCommonParameterised.WACommonParameterised_pb2.SubProtocol | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sticker", b"sticker"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["sticker", b"sticker"]) -> None: ... + + @typing.final + class DocumentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DOCUMENT_FIELD_NUMBER: builtins.int + FILENAME_FIELD_NUMBER: builtins.int + fileName: builtins.str + @property + def document(self) -> waCommonParameterised.WACommonParameterised_pb2.SubProtocol: ... + def __init__( + self, + *, + document: waCommonParameterised.WACommonParameterised_pb2.SubProtocol | None = ..., + fileName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["document", b"document", "fileName", b"fileName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["document", b"document", "fileName", b"fileName"]) -> None: ... + + @typing.final + class VideoMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VIDEO_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + @property + def video(self) -> waCommonParameterised.WACommonParameterised_pb2.SubProtocol: ... + @property + def caption(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageText: ... + def __init__( + self, + *, + video: waCommonParameterised.WACommonParameterised_pb2.SubProtocol | None = ..., + caption: waCommonParameterised.WACommonParameterised_pb2.MessageText | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["caption", b"caption", "video", b"video"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["caption", b"caption", "video", b"video"]) -> None: ... + + @typing.final + class AudioMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AUDIO_FIELD_NUMBER: builtins.int + PTT_FIELD_NUMBER: builtins.int + PTT: builtins.bool + @property + def audio(self) -> waCommonParameterised.WACommonParameterised_pb2.SubProtocol: ... + def __init__( + self, + *, + audio: waCommonParameterised.WACommonParameterised_pb2.SubProtocol | None = ..., + PTT: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["PTT", b"PTT", "audio", b"audio"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["PTT", b"PTT", "audio", b"audio"]) -> None: ... + + @typing.final + class ImageMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + IMAGE_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + @property + def image(self) -> waCommonParameterised.WACommonParameterised_pb2.SubProtocol: ... + @property + def caption(self) -> waCommonParameterised.WACommonParameterised_pb2.MessageText: ... + def __init__( + self, + *, + image: waCommonParameterised.WACommonParameterised_pb2.SubProtocol | None = ..., + caption: waCommonParameterised.WACommonParameterised_pb2.MessageText | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["caption", b"caption", "image", b"image"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["caption", b"caption", "image", b"image"]) -> None: ... + + @typing.final + class InteractiveAnnotation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCATION_FIELD_NUMBER: builtins.int + POLYGONVERTICES_FIELD_NUMBER: builtins.int + @property + def location(self) -> global___ConsumerApplication.Location: ... + @property + def polygonVertices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ConsumerApplication.Point]: ... + def __init__( + self, + *, + location: global___ConsumerApplication.Location | None = ..., + polygonVertices: collections.abc.Iterable[global___ConsumerApplication.Point] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "location", b"location"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "location", b"location", "polygonVertices", b"polygonVertices"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["action", b"action"]) -> typing.Literal["location"] | None: ... + + @typing.final + class Point(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + X_FIELD_NUMBER: builtins.int + Y_FIELD_NUMBER: builtins.int + x: builtins.float + y: builtins.float + def __init__( + self, + *, + x: builtins.float | None = ..., + y: builtins.float | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["x", b"x", "y", b"y"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["x", b"x", "y", b"y"]) -> None: ... + + @typing.final + class Location(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DEGREESLATITUDE_FIELD_NUMBER: builtins.int + DEGREESLONGITUDE_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + degreesLatitude: builtins.float + degreesLongitude: builtins.float + name: builtins.str + def __init__( + self, + *, + degreesLatitude: builtins.float | None = ..., + degreesLongitude: builtins.float | None = ..., + name: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "name", b"name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "name", b"name"]) -> None: ... + + @typing.final + class MediaPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PROTOCOL_FIELD_NUMBER: builtins.int + @property + def protocol(self) -> waCommonParameterised.WACommonParameterised_pb2.SubProtocol: ... + def __init__( + self, + *, + protocol: waCommonParameterised.WACommonParameterised_pb2.SubProtocol | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["protocol", b"protocol"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["protocol", b"protocol"]) -> None: ... + + PAYLOAD_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + @property + def payload(self) -> global___ConsumerApplication.Payload: ... + @property + def metadata(self) -> global___ConsumerApplication.Metadata: ... + def __init__( + self, + *, + payload: global___ConsumerApplication.Payload | None = ..., + metadata: global___ConsumerApplication.Metadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]) -> None: ... + +global___ConsumerApplication = ConsumerApplication diff --git a/neonize/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities_pb2.py b/neonize/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities_pb2.py new file mode 100644 index 00000000..5b6d5d51 --- /dev/null +++ b/neonize/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities_pb2.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto\x12\x1dWAProtobufsDeviceCapabilities\"\xcb\x04\n\x12\x44\x65viceCapabilities\x12\x64\n\x14\x63hatLockSupportLevel\x18\x01 \x01(\x0e\x32\x46.WAProtobufsDeviceCapabilities.DeviceCapabilities.ChatLockSupportLevel\x12T\n\x0clidMigration\x18\x02 \x01(\x0b\x32>.WAProtobufsDeviceCapabilities.DeviceCapabilities.LIDMigration\x12^\n\x11\x62usinessBroadcast\x18\x03 \x01(\x0b\x32\x43.WAProtobufsDeviceCapabilities.DeviceCapabilities.BusinessBroadcast\x12V\n\ruserHasAvatar\x18\x04 \x01(\x0b\x32?.WAProtobufsDeviceCapabilities.DeviceCapabilities.UserHasAvatar\x1a&\n\rUserHasAvatar\x12\x15\n\ruserHasAvatar\x18\x01 \x01(\x08\x1a.\n\x11\x42usinessBroadcast\x12\x19\n\x11importListEnabled\x18\x01 \x01(\x08\x1a\x30\n\x0cLIDMigration\x12 \n\x18\x63hatDbMigrationTimestamp\x18\x01 \x01(\x04\"7\n\x14\x43hatLockSupportLevel\x12\x08\n\x04NONE\x10\x00\x12\x0b\n\x07MINIMAL\x10\x01\x12\x08\n\x04\x46ULL\x10\x02\x42\x30Z.go.mau.fi/whatsmeow/proto/waDeviceCapabilities') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waDeviceCapabilities.WAProtobufsDeviceCapabilities_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z.go.mau.fi/whatsmeow/proto/waDeviceCapabilities' + _globals['_DEVICECAPABILITIES']._serialized_start=92 + _globals['_DEVICECAPABILITIES']._serialized_end=679 + _globals['_DEVICECAPABILITIES_USERHASAVATAR']._serialized_start=486 + _globals['_DEVICECAPABILITIES_USERHASAVATAR']._serialized_end=524 + _globals['_DEVICECAPABILITIES_BUSINESSBROADCAST']._serialized_start=526 + _globals['_DEVICECAPABILITIES_BUSINESSBROADCAST']._serialized_end=572 + _globals['_DEVICECAPABILITIES_LIDMIGRATION']._serialized_start=574 + _globals['_DEVICECAPABILITIES_LIDMIGRATION']._serialized_end=622 + _globals['_DEVICECAPABILITIES_CHATLOCKSUPPORTLEVEL']._serialized_start=624 + _globals['_DEVICECAPABILITIES_CHATLOCKSUPPORTLEVEL']._serialized_end=679 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities_pb2.pyi b/neonize/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities_pb2.pyi new file mode 100644 index 00000000..b32f9f1b --- /dev/null +++ b/neonize/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities_pb2.pyi @@ -0,0 +1,103 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class DeviceCapabilities(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ChatLockSupportLevel: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ChatLockSupportLevelEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DeviceCapabilities._ChatLockSupportLevel.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: DeviceCapabilities._ChatLockSupportLevel.ValueType # 0 + MINIMAL: DeviceCapabilities._ChatLockSupportLevel.ValueType # 1 + FULL: DeviceCapabilities._ChatLockSupportLevel.ValueType # 2 + + class ChatLockSupportLevel(_ChatLockSupportLevel, metaclass=_ChatLockSupportLevelEnumTypeWrapper): ... + NONE: DeviceCapabilities.ChatLockSupportLevel.ValueType # 0 + MINIMAL: DeviceCapabilities.ChatLockSupportLevel.ValueType # 1 + FULL: DeviceCapabilities.ChatLockSupportLevel.ValueType # 2 + + @typing.final + class UserHasAvatar(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + USERHASAVATAR_FIELD_NUMBER: builtins.int + userHasAvatar: builtins.bool + def __init__( + self, + *, + userHasAvatar: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["userHasAvatar", b"userHasAvatar"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["userHasAvatar", b"userHasAvatar"]) -> None: ... + + @typing.final + class BusinessBroadcast(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + IMPORTLISTENABLED_FIELD_NUMBER: builtins.int + importListEnabled: builtins.bool + def __init__( + self, + *, + importListEnabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["importListEnabled", b"importListEnabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["importListEnabled", b"importListEnabled"]) -> None: ... + + @typing.final + class LIDMigration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CHATDBMIGRATIONTIMESTAMP_FIELD_NUMBER: builtins.int + chatDbMigrationTimestamp: builtins.int + def __init__( + self, + *, + chatDbMigrationTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["chatDbMigrationTimestamp", b"chatDbMigrationTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chatDbMigrationTimestamp", b"chatDbMigrationTimestamp"]) -> None: ... + + CHATLOCKSUPPORTLEVEL_FIELD_NUMBER: builtins.int + LIDMIGRATION_FIELD_NUMBER: builtins.int + BUSINESSBROADCAST_FIELD_NUMBER: builtins.int + USERHASAVATAR_FIELD_NUMBER: builtins.int + chatLockSupportLevel: global___DeviceCapabilities.ChatLockSupportLevel.ValueType + @property + def lidMigration(self) -> global___DeviceCapabilities.LIDMigration: ... + @property + def businessBroadcast(self) -> global___DeviceCapabilities.BusinessBroadcast: ... + @property + def userHasAvatar(self) -> global___DeviceCapabilities.UserHasAvatar: ... + def __init__( + self, + *, + chatLockSupportLevel: global___DeviceCapabilities.ChatLockSupportLevel.ValueType | None = ..., + lidMigration: global___DeviceCapabilities.LIDMigration | None = ..., + businessBroadcast: global___DeviceCapabilities.BusinessBroadcast | None = ..., + userHasAvatar: global___DeviceCapabilities.UserHasAvatar | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["businessBroadcast", b"businessBroadcast", "chatLockSupportLevel", b"chatLockSupportLevel", "lidMigration", b"lidMigration", "userHasAvatar", b"userHasAvatar"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["businessBroadcast", b"businessBroadcast", "chatLockSupportLevel", b"chatLockSupportLevel", "lidMigration", b"lidMigration", "userHasAvatar", b"userHasAvatar"]) -> None: ... + +global___DeviceCapabilities = DeviceCapabilities diff --git a/neonize/proto/waE2E/WAWebProtobufsE2E_pb2.py b/neonize/proto/waE2E/WAWebProtobufsE2E_pb2.py new file mode 100644 index 00000000..96f33814 --- /dev/null +++ b/neonize/proto/waE2E/WAWebProtobufsE2E_pb2.py @@ -0,0 +1,567 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waE2E/WAWebProtobufsE2E.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waE2E/WAWebProtobufsE2E.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waAICommon import WAAICommon_pb2 as waAICommon_dot_WAAICommon__pb2 +from waAdv import WAAdv_pb2 as waAdv_dot_WAAdv__pb2 +from waCompanionReg import WACompanionReg_pb2 as waCompanionReg_dot_WACompanionReg__pb2 +from waMmsRetry import WAMmsRetry_pb2 as waMmsRetry_dot_WAMmsRetry__pb2 +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 +from waStatusAttributions import WAStatusAttributions_pb2 as waStatusAttributions_dot_WAStatusAttributions__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dwaE2E/WAWebProtobufsE2E.proto\x12\x11WAWebProtobufsE2E\x1a\x1bwaAICommon/WAAICommon.proto\x1a\x11waAdv/WAAdv.proto\x1a#waCompanionReg/WACompanionReg.proto\x1a\x1bwaMmsRetry/WAMmsRetry.proto\x1a\x17waCommon/WACommon.proto\x1a/waStatusAttributions/WAStatusAttributions.proto\"\xd7\x06\n\x12StickerPackMessage\x12\x15\n\rstickerPackID\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tpublisher\x18\x03 \x01(\t\x12?\n\x08stickers\x18\x04 \x03(\x0b\x32-.WAWebProtobufsE2E.StickerPackMessage.Sticker\x12\x12\n\nfileLength\x18\x05 \x01(\x04\x12\x12\n\nfileSHA256\x18\x06 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x07 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x08 \x01(\x0c\x12\x12\n\ndirectPath\x18\t \x01(\t\x12\x0f\n\x07\x63\x61ption\x18\n \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x0b \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x17\n\x0fpackDescription\x18\x0c \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\r \x01(\x03\x12\x18\n\x10trayIconFileName\x18\x0e \x01(\t\x12\x1b\n\x13thumbnailDirectPath\x18\x0f \x01(\t\x12\x17\n\x0fthumbnailSHA256\x18\x10 \x01(\x0c\x12\x1a\n\x12thumbnailEncSHA256\x18\x11 \x01(\x0c\x12\x17\n\x0fthumbnailHeight\x18\x12 \x01(\r\x12\x16\n\x0ethumbnailWidth\x18\x13 \x01(\r\x12\x15\n\rimageDataHash\x18\x14 \x01(\t\x12\x17\n\x0fstickerPackSize\x18\x15 \x01(\x04\x12R\n\x11stickerPackOrigin\x18\x16 \x01(\x0e\x32\x37.WAWebProtobufsE2E.StickerPackMessage.StickerPackOrigin\x1a\x7f\n\x07Sticker\x12\x10\n\x08\x66ileName\x18\x01 \x01(\t\x12\x12\n\nisAnimated\x18\x02 \x01(\x08\x12\x0e\n\x06\x65mojis\x18\x03 \x03(\t\x12\x1a\n\x12\x61\x63\x63\x65ssibilityLabel\x18\x04 \x01(\t\x12\x10\n\x08isLottie\x18\x05 \x01(\x08\x12\x10\n\x08mimetype\x18\x06 \x01(\t\"G\n\x11StickerPackOrigin\x12\x0f\n\x0b\x46IRST_PARTY\x10\x00\x12\x0f\n\x0bTHIRD_PARTY\x10\x01\x12\x10\n\x0cUSER_CREATED\x10\x02\"\x85\x01\n\x12PlaceholderMessage\x12\x43\n\x04type\x18\x01 \x01(\x0e\x32\x35.WAWebProtobufsE2E.PlaceholderMessage.PlaceholderType\"*\n\x0fPlaceholderType\x12\x17\n\x13MASK_LINKED_DEVICES\x10\x00\"\xb3\x01\n\x0c\x42\x43\x61llMessage\x12\x11\n\tsessionID\x18\x01 \x01(\t\x12<\n\tmediaType\x18\x02 \x01(\x0e\x32).WAWebProtobufsE2E.BCallMessage.MediaType\x12\x11\n\tmasterKey\x18\x03 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x04 \x01(\t\".\n\tMediaType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x41UDIO\x10\x01\x12\t\n\x05VIDEO\x10\x02\"\xbf\x04\n\x0e\x43\x61llLogMessage\x12\x0f\n\x07isVideo\x18\x01 \x01(\x08\x12\x42\n\x0b\x63\x61llOutcome\x18\x02 \x01(\x0e\x32-.WAWebProtobufsE2E.CallLogMessage.CallOutcome\x12\x14\n\x0c\x64urationSecs\x18\x03 \x01(\x03\x12<\n\x08\x63\x61llType\x18\x04 \x01(\x0e\x32*.WAWebProtobufsE2E.CallLogMessage.CallType\x12G\n\x0cparticipants\x18\x05 \x03(\x0b\x32\x31.WAWebProtobufsE2E.CallLogMessage.CallParticipant\x1a\x62\n\x0f\x43\x61llParticipant\x12\x0b\n\x03JID\x18\x01 \x01(\t\x12\x42\n\x0b\x63\x61llOutcome\x18\x02 \x01(\x0e\x32-.WAWebProtobufsE2E.CallLogMessage.CallOutcome\"\x99\x01\n\x0b\x43\x61llOutcome\x12\r\n\tCONNECTED\x10\x00\x12\n\n\x06MISSED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0c\n\x08REJECTED\x10\x03\x12\x16\n\x12\x41\x43\x43\x45PTED_ELSEWHERE\x10\x04\x12\x0b\n\x07ONGOING\x10\x05\x12\x13\n\x0fSILENCED_BY_DND\x10\x06\x12\x1b\n\x17SILENCED_UNKNOWN_CALLER\x10\x07\";\n\x08\x43\x61llType\x12\x0b\n\x07REGULAR\x10\x00\x12\x12\n\x0eSCHEDULED_CALL\x10\x01\x12\x0e\n\nVOICE_CHAT\x10\x02\"\xaa\x01\n\x18ScheduledCallEditMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x46\n\x08\x65\x64itType\x18\x02 \x01(\x0e\x32\x34.WAWebProtobufsE2E.ScheduledCallEditMessage.EditType\"#\n\x08\x45\x64itType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41NCEL\x10\x01\"\xc6\x01\n\x1cScheduledCallCreationMessage\x12\x1c\n\x14scheduledTimestampMS\x18\x01 \x01(\x03\x12J\n\x08\x63\x61llType\x18\x02 \x01(\x0e\x32\x38.WAWebProtobufsE2E.ScheduledCallCreationMessage.CallType\x12\r\n\x05title\x18\x03 \x01(\t\"-\n\x08\x43\x61llType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05VOICE\x10\x01\x12\t\n\x05VIDEO\x10\x02\"\xd8\x01\n\x14\x45ventResponseMessage\x12K\n\x08response\x18\x01 \x01(\x0e\x32\x39.WAWebProtobufsE2E.EventResponseMessage.EventResponseType\x12\x13\n\x0btimestampMS\x18\x02 \x01(\x03\x12\x17\n\x0f\x65xtraGuestCount\x18\x03 \x01(\x05\"E\n\x11\x45ventResponseType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05GOING\x10\x01\x12\r\n\tNOT_GOING\x10\x02\x12\t\n\x05MAYBE\x10\x03\"\xc6\x01\n\x10PinInChatMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32(.WAWebProtobufsE2E.PinInChatMessage.Type\x12\x19\n\x11senderTimestampMS\x18\x03 \x01(\x03\"<\n\x04Type\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\x0f\n\x0bPIN_FOR_ALL\x10\x01\x12\x11\n\rUNPIN_FOR_ALL\x10\x02\"\xdc\x01\n\x1fStatusStickerInteractionMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x12\n\nstickerKey\x18\x02 \x01(\t\x12R\n\x04type\x18\x03 \x01(\x0e\x32\x44.WAWebProtobufsE2E.StatusStickerInteractionMessage.StatusStickerType\".\n\x11StatusStickerType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08REACTION\x10\x01\"\xf7\x01\n\x16\x42uttonsResponseMessage\x12\x1d\n\x13selectedDisplayText\x18\x02 \x01(\tH\x00\x12\x18\n\x10selectedButtonID\x18\x01 \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x03 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12<\n\x04type\x18\x04 \x01(\x0e\x32..WAWebProtobufsE2E.ButtonsResponseMessage.Type\"%\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x10\n\x0c\x44ISPLAY_TEXT\x10\x01\x42\n\n\x08response\"\xd6\x07\n\x0e\x42uttonsMessage\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x12=\n\x0f\x64ocumentMessage\x18\x02 \x01(\x0b\x32\".WAWebProtobufsE2E.DocumentMessageH\x00\x12\x37\n\x0cimageMessage\x18\x03 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.ImageMessageH\x00\x12\x37\n\x0cvideoMessage\x18\x04 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.VideoMessageH\x00\x12=\n\x0flocationMessage\x18\x05 \x01(\x0b\x32\".WAWebProtobufsE2E.LocationMessageH\x00\x12\x13\n\x0b\x63ontentText\x18\x06 \x01(\t\x12\x12\n\nfooterText\x18\x07 \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x08 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x39\n\x07\x62uttons\x18\t \x03(\x0b\x32(.WAWebProtobufsE2E.ButtonsMessage.Button\x12@\n\nheaderType\x18\n \x01(\x0e\x32,.WAWebProtobufsE2E.ButtonsMessage.HeaderType\x1a\xfc\x02\n\x06\x42utton\x12\x10\n\x08\x62uttonID\x18\x01 \x01(\t\x12G\n\nbuttonText\x18\x02 \x01(\x0b\x32\x33.WAWebProtobufsE2E.ButtonsMessage.Button.ButtonText\x12;\n\x04type\x18\x03 \x01(\x0e\x32-.WAWebProtobufsE2E.ButtonsMessage.Button.Type\x12O\n\x0enativeFlowInfo\x18\x04 \x01(\x0b\x32\x37.WAWebProtobufsE2E.ButtonsMessage.Button.NativeFlowInfo\x1a\x32\n\x0eNativeFlowInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nparamsJSON\x18\x02 \x01(\t\x1a!\n\nButtonText\x12\x13\n\x0b\x64isplayText\x18\x01 \x01(\t\"2\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08RESPONSE\x10\x01\x12\x0f\n\x0bNATIVE_FLOW\x10\x02\"`\n\nHeaderType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x45MPTY\x10\x01\x12\x08\n\x04TEXT\x10\x02\x12\x0c\n\x08\x44OCUMENT\x10\x03\x12\t\n\x05IMAGE\x10\x04\x12\t\n\x05VIDEO\x10\x05\x12\x0c\n\x08LOCATION\x10\x06\x42\x08\n\x06header\"\xfb\x01\n\x16SecretEncryptedMessage\x12.\n\x10targetMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x12\n\nencPayload\x18\x02 \x01(\x0c\x12\r\n\x05\x65ncIV\x18\x03 \x01(\x0c\x12N\n\rsecretEncType\x18\x04 \x01(\x0e\x32\x37.WAWebProtobufsE2E.SecretEncryptedMessage.SecretEncType\">\n\rSecretEncType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nEVENT_EDIT\x10\x01\x12\x10\n\x0cMESSAGE_EDIT\x10\x02\"\xae\x02\n\x12GroupInviteMessage\x12\x10\n\x08groupJID\x18\x01 \x01(\t\x12\x12\n\ninviteCode\x18\x02 \x01(\t\x12\x18\n\x10inviteExpiration\x18\x03 \x01(\x03\x12\x11\n\tgroupName\x18\x04 \x01(\t\x12\x15\n\rJPEGThumbnail\x18\x05 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x06 \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x07 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x42\n\tgroupType\x18\x08 \x01(\x0e\x32/.WAWebProtobufsE2E.GroupInviteMessage.GroupType\"$\n\tGroupType\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\n\n\x06PARENT\x10\x01\"\xfa\x03\n\x1aInteractiveResponseMessage\x12l\n\x19nativeFlowResponseMessage\x18\x02 \x01(\x0b\x32G.WAWebProtobufsE2E.InteractiveResponseMessage.NativeFlowResponseMessageH\x00\x12@\n\x04\x62ody\x18\x01 \x01(\x0b\x32\x32.WAWebProtobufsE2E.InteractiveResponseMessage.Body\x12\x33\n\x0b\x63ontextInfo\x18\x0f \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x1a\x88\x01\n\x04\x42ody\x12\x0c\n\x04text\x18\x01 \x01(\t\x12I\n\x06\x66ormat\x18\x02 \x01(\x0e\x32\x39.WAWebProtobufsE2E.InteractiveResponseMessage.Body.Format\"\'\n\x06\x46ormat\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x10\n\x0c\x45XTENSIONS_1\x10\x01\x1aN\n\x19NativeFlowResponseMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nparamsJSON\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x05\x42\x1c\n\x1ainteractiveResponseMessage\"\xaf\x0f\n\x12InteractiveMessage\x12R\n\x15shopStorefrontMessage\x18\x04 \x01(\x0b\x32\x31.WAWebProtobufsE2E.InteractiveMessage.ShopMessageH\x00\x12T\n\x11\x63ollectionMessage\x18\x05 \x01(\x0b\x32\x37.WAWebProtobufsE2E.InteractiveMessage.CollectionMessageH\x00\x12T\n\x11nativeFlowMessage\x18\x06 \x01(\x0b\x32\x37.WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessageH\x00\x12P\n\x0f\x63\x61rouselMessage\x18\x07 \x01(\x0b\x32\x35.WAWebProtobufsE2E.InteractiveMessage.CarouselMessageH\x00\x12<\n\x06header\x18\x01 \x01(\x0b\x32,.WAWebProtobufsE2E.InteractiveMessage.Header\x12\x38\n\x04\x62ody\x18\x02 \x01(\x0b\x32*.WAWebProtobufsE2E.InteractiveMessage.Body\x12<\n\x06\x66ooter\x18\x03 \x01(\x0b\x32,.WAWebProtobufsE2E.InteractiveMessage.Footer\x12\x33\n\x0b\x63ontextInfo\x18\x0f \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x39\n\x0eurlTrackingMap\x18\x10 \x01(\x0b\x32!.WAWebProtobufsE2E.UrlTrackingMap\x1a\x86\x02\n\x0f\x43\x61rouselMessage\x12\x34\n\x05\x63\x61rds\x18\x01 \x03(\x0b\x32%.WAWebProtobufsE2E.InteractiveMessage\x12\x16\n\x0emessageVersion\x18\x02 \x01(\x05\x12`\n\x10\x63\x61rouselCardType\x18\x03 \x01(\x0e\x32\x46.WAWebProtobufsE2E.InteractiveMessage.CarouselMessage.CarouselCardType\"C\n\x10\x43\x61rouselCardType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rHSCROLL_CARDS\x10\x01\x12\x0f\n\x0b\x41LBUM_IMAGE\x10\x02\x1a\xb5\x01\n\x0bShopMessage\x12\n\n\x02ID\x18\x01 \x01(\t\x12J\n\x07surface\x18\x02 \x01(\x0e\x32\x39.WAWebProtobufsE2E.InteractiveMessage.ShopMessage.Surface\x12\x16\n\x0emessageVersion\x18\x03 \x01(\x05\"6\n\x07Surface\x12\x13\n\x0fUNKNOWN_SURFACE\x10\x00\x12\x06\n\x02\x46\x42\x10\x01\x12\x06\n\x02IG\x10\x02\x12\x06\n\x02WA\x10\x03\x1a\xdd\x01\n\x11NativeFlowMessage\x12Y\n\x07\x62uttons\x18\x01 \x03(\x0b\x32H.WAWebProtobufsE2E.InteractiveMessage.NativeFlowMessage.NativeFlowButton\x12\x19\n\x11messageParamsJSON\x18\x02 \x01(\t\x12\x16\n\x0emessageVersion\x18\x03 \x01(\x05\x1a:\n\x10NativeFlowButton\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x10\x62uttonParamsJSON\x18\x02 \x01(\t\x1aG\n\x11\x43ollectionMessage\x12\x0e\n\x06\x62izJID\x18\x01 \x01(\t\x12\n\n\x02ID\x18\x02 \x01(\t\x12\x16\n\x0emessageVersion\x18\x03 \x01(\x05\x1at\n\x06\x46ooter\x12\x37\n\x0c\x61udioMessage\x18\x02 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.AudioMessageH\x00\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x1a\n\x12hasMediaAttachment\x18\x03 \x01(\x08\x42\x07\n\x05media\x1a\x14\n\x04\x42ody\x12\x0c\n\x04text\x18\x01 \x01(\t\x1a\x94\x03\n\x06Header\x12=\n\x0f\x64ocumentMessage\x18\x03 \x01(\x0b\x32\".WAWebProtobufsE2E.DocumentMessageH\x00\x12\x37\n\x0cimageMessage\x18\x04 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.ImageMessageH\x00\x12\x17\n\rJPEGThumbnail\x18\x06 \x01(\x0cH\x00\x12\x37\n\x0cvideoMessage\x18\x07 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.VideoMessageH\x00\x12=\n\x0flocationMessage\x18\x08 \x01(\x0b\x32\".WAWebProtobufsE2E.LocationMessageH\x00\x12;\n\x0eproductMessage\x18\t \x01(\x0b\x32!.WAWebProtobufsE2E.ProductMessageH\x00\x12\r\n\x05title\x18\x01 \x01(\t\x12\x10\n\x08subtitle\x18\x02 \x01(\t\x12\x1a\n\x12hasMediaAttachment\x18\x05 \x01(\x08\x42\x07\n\x05mediaB\x14\n\x12interactiveMessage\"\xde\x02\n\x13ListResponseMessage\x12\r\n\x05title\x18\x01 \x01(\t\x12\x41\n\x08listType\x18\x02 \x01(\x0e\x32/.WAWebProtobufsE2E.ListResponseMessage.ListType\x12S\n\x11singleSelectReply\x18\x03 \x01(\x0b\x32\x38.WAWebProtobufsE2E.ListResponseMessage.SingleSelectReply\x12\x33\n\x0b\x63ontextInfo\x18\x04 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x1a*\n\x11SingleSelectReply\x12\x15\n\rselectedRowID\x18\x01 \x01(\t\"*\n\x08ListType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rSINGLE_SELECT\x10\x01\"\x8f\x07\n\x0bListMessage\x12\r\n\x05title\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x12\n\nbuttonText\x18\x03 \x01(\t\x12\x39\n\x08listType\x18\x04 \x01(\x0e\x32\'.WAWebProtobufsE2E.ListMessage.ListType\x12\x38\n\x08sections\x18\x05 \x03(\x0b\x32&.WAWebProtobufsE2E.ListMessage.Section\x12G\n\x0fproductListInfo\x18\x06 \x01(\x0b\x32..WAWebProtobufsE2E.ListMessage.ProductListInfo\x12\x12\n\nfooterText\x18\x07 \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x08 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x1a\xbf\x01\n\x0fProductListInfo\x12\x46\n\x0fproductSections\x18\x01 \x03(\x0b\x32-.WAWebProtobufsE2E.ListMessage.ProductSection\x12J\n\x0bheaderImage\x18\x02 \x01(\x0b\x32\x35.WAWebProtobufsE2E.ListMessage.ProductListHeaderImage\x12\x18\n\x10\x62usinessOwnerJID\x18\x03 \x01(\t\x1a\x42\n\x16ProductListHeaderImage\x12\x11\n\tproductID\x18\x01 \x01(\t\x12\x15\n\rJPEGThumbnail\x18\x02 \x01(\x0c\x1aY\n\x0eProductSection\x12\r\n\x05title\x18\x01 \x01(\t\x12\x38\n\x08products\x18\x02 \x03(\x0b\x32&.WAWebProtobufsE2E.ListMessage.Product\x1a\x1c\n\x07Product\x12\x11\n\tproductID\x18\x01 \x01(\t\x1aJ\n\x07Section\x12\r\n\x05title\x18\x01 \x01(\t\x12\x30\n\x04rows\x18\x02 \x03(\x0b\x32\".WAWebProtobufsE2E.ListMessage.Row\x1a\x38\n\x03Row\x12\r\n\x05title\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05rowID\x18\x03 \x01(\t\"<\n\x08ListType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rSINGLE_SELECT\x10\x01\x12\x10\n\x0cPRODUCT_LIST\x10\x02\"\xa8\x04\n\x0cOrderMessage\x12\x0f\n\x07orderID\x18\x01 \x01(\t\x12\x11\n\tthumbnail\x18\x02 \x01(\x0c\x12\x11\n\titemCount\x18\x03 \x01(\x05\x12;\n\x06status\x18\x04 \x01(\x0e\x32+.WAWebProtobufsE2E.OrderMessage.OrderStatus\x12=\n\x07surface\x18\x05 \x01(\x0e\x32,.WAWebProtobufsE2E.OrderMessage.OrderSurface\x12\x0f\n\x07message\x18\x06 \x01(\t\x12\x12\n\norderTitle\x18\x07 \x01(\t\x12\x11\n\tsellerJID\x18\x08 \x01(\t\x12\r\n\x05token\x18\t \x01(\t\x12\x17\n\x0ftotalAmount1000\x18\n \x01(\x03\x12\x19\n\x11totalCurrencyCode\x18\x0b \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x16\n\x0emessageVersion\x18\x0c \x01(\x05\x12\x33\n\x15orderRequestMessageID\x18\r \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x13\n\x0b\x63\x61talogType\x18\x0f \x01(\t\"\x1b\n\x0cOrderSurface\x12\x0b\n\x07\x43\x41TALOG\x10\x01\"6\n\x0bOrderStatus\x12\x0b\n\x07INQUIRY\x10\x01\x12\x0c\n\x08\x41\x43\x43\x45PTED\x10\x02\x12\x0c\n\x08\x44\x45\x43LINED\x10\x03\"\xe4\x01\n\x13StatusQuotedMessage\x12L\n\x04type\x18\x01 \x01(\x0e\x32>.WAWebProtobufsE2E.StatusQuotedMessage.StatusQuotedMessageType\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x11\n\tthumbnail\x18\x03 \x01(\x0c\x12.\n\x10originalStatusID\x18\x04 \x01(\x0b\x32\x14.WACommon.MessageKey\".\n\x17StatusQuotedMessageType\x12\x13\n\x0fQUESTION_ANSWER\x10\x01\"\xb3\x01\n\x14PaymentInviteMessage\x12H\n\x0bserviceType\x18\x01 \x01(\x0e\x32\x33.WAWebProtobufsE2E.PaymentInviteMessage.ServiceType\x12\x17\n\x0f\x65xpiryTimestamp\x18\x02 \x01(\x03\"8\n\x0bServiceType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x46\x42PAY\x10\x01\x12\x08\n\x04NOVI\x10\x02\x12\x07\n\x03UPI\x10\x03\"\xd0\x0b\n\x17HighlyStructuredMessage\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0b\x65lementName\x18\x02 \x01(\t\x12\x0e\n\x06params\x18\x03 \x03(\t\x12\x12\n\nfallbackLg\x18\x04 \x01(\t\x12\x12\n\nfallbackLc\x18\x05 \x01(\t\x12]\n\x11localizableParams\x18\x06 \x03(\x0b\x32\x42.WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter\x12\x17\n\x0f\x64\x65terministicLg\x18\x07 \x01(\t\x12\x17\n\x0f\x64\x65terministicLc\x18\x08 \x01(\t\x12\x37\n\x0bhydratedHsm\x18\t \x01(\x0b\x32\".WAWebProtobufsE2E.TemplateMessage\x1a\x8a\t\n\x17HSMLocalizableParameter\x12\x62\n\x08\x63urrency\x18\x02 \x01(\x0b\x32N.WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrencyH\x00\x12\x62\n\x08\x64\x61teTime\x18\x03 \x01(\x0b\x32N.WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTimeH\x00\x12\x0f\n\x07\x64\x65\x66\x61ult\x18\x01 \x01(\t\x1a\xce\x06\n\x0bHSMDateTime\x12x\n\tcomponent\x18\x01 \x01(\x0b\x32\x63.WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponentH\x00\x12x\n\tunixEpoch\x18\x02 \x01(\x0b\x32\x63.WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpochH\x00\x1a\x8e\x04\n\x14HSMDateTimeComponent\x12\x84\x01\n\tdayOfWeek\x18\x01 \x01(\x0e\x32q.WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType\x12\x0c\n\x04year\x18\x02 \x01(\r\x12\r\n\x05month\x18\x03 \x01(\r\x12\x12\n\ndayOfMonth\x18\x04 \x01(\r\x12\x0c\n\x04hour\x18\x05 \x01(\r\x12\x0e\n\x06minute\x18\x06 \x01(\r\x12\x82\x01\n\x08\x63\x61lendar\x18\x07 \x01(\x0e\x32p.WAWebProtobufsE2E.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType\".\n\x0c\x43\x61lendarType\x12\r\n\tGREGORIAN\x10\x01\x12\x0f\n\x0bSOLAR_HIJRI\x10\x02\"k\n\rDayOfWeekType\x12\n\n\x06MONDAY\x10\x01\x12\x0b\n\x07TUESDAY\x10\x02\x12\r\n\tWEDNESDAY\x10\x03\x12\x0c\n\x08THURSDAY\x10\x04\x12\n\n\x06\x46RIDAY\x10\x05\x12\x0c\n\x08SATURDAY\x10\x06\x12\n\n\x06SUNDAY\x10\x07\x1a)\n\x14HSMDateTimeUnixEpoch\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x42\x0f\n\rdatetimeOneof\x1a\x37\n\x0bHSMCurrency\x12\x14\n\x0c\x63urrencyCode\x18\x01 \x01(\t\x12\x12\n\namount1000\x18\x02 \x01(\x03\x42\x0c\n\nparamOneof\"\xaf\x1d\n\'PeerDataOperationRequestResponseMessage\x12U\n\x1cpeerDataOperationRequestType\x18\x01 \x01(\x0e\x32/.WAWebProtobufsE2E.PeerDataOperationRequestType\x12\x10\n\x08stanzaID\x18\x02 \x01(\t\x12s\n\x17peerDataOperationResult\x18\x03 \x03(\x0b\x32R.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult\x1a\xa5\x1b\n\x17PeerDataOperationResult\x12H\n\x11mediaUploadResult\x18\x01 \x01(\x0e\x32-.WAMmsRetry.MediaRetryNotification.ResultType\x12\x39\n\x0estickerMessage\x18\x02 \x01(\x0b\x32!.WAWebProtobufsE2E.StickerMessage\x12\x83\x01\n\x13linkPreviewResponse\x18\x03 \x01(\x0b\x32\x66.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse\x12\x9d\x01\n placeholderMessageResendResponse\x18\x04 \x01(\x0b\x32s.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse\x12\x94\x01\n\x1fwaffleNonceFetchRequestResponse\x18\x05 \x01(\x0b\x32k.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse\x12\xa9\x01\n&fullHistorySyncOnDemandRequestResponse\x18\x06 \x01(\x0b\x32y.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse\x12\xa2\x01\n&companionMetaNonceFetchRequestResponse\x18\x07 \x01(\x0b\x32r.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse\x12\xa1\x01\n\"syncdSnapshotFatalRecoveryResponse\x18\x08 \x01(\x0b\x32u.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.SyncDSnapshotFatalRecoveryResponse\x12\xb4\x01\n/companionCanonicalUserNonceFetchRequestResponse\x18\t \x01(\x0b\x32{.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionCanonicalUserNonceFetchResponse\x12\x97\x01\n\x1dhistorySyncChunkRetryResponse\x18\n \x01(\x0b\x32p.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponse\x1a\x9d\x02\n\x1dHistorySyncChunkRetryResponse\x12\x34\n\x08syncType\x18\x01 \x01(\x0e\x32\".WAWebProtobufsE2E.HistorySyncType\x12\x12\n\nchunkOrder\x18\x02 \x01(\r\x12\x11\n\trequestID\x18\x03 \x01(\t\x12\x8a\x01\n\x0cresponseCode\x18\x04 \x01(\x0e\x32t.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode\x12\x12\n\ncanRecover\x18\x05 \x01(\x08\x1aV\n\"SyncDSnapshotFatalRecoveryResponse\x12\x1a\n\x12\x63ollectionSnapshot\x18\x01 \x01(\x0c\x12\x14\n\x0cisCompressed\x18\x02 \x01(\x08\x1a_\n(CompanionCanonicalUserNonceFetchResponse\x12\r\n\x05nonce\x18\x01 \x01(\t\x12\x0e\n\x06waFbid\x18\x02 \x01(\t\x12\x14\n\x0c\x66orceRefresh\x18\x03 \x01(\x08\x1a\x30\n\x1f\x43ompanionMetaNonceFetchResponse\x12\r\n\x05nonce\x18\x01 \x01(\t\x1a<\n\x18WaffleNonceFetchResponse\x12\r\n\x05nonce\x18\x01 \x01(\t\x12\x11\n\twaEntFbid\x18\x02 \x01(\t\x1a\x8b\x02\n&FullHistorySyncOnDemandRequestResponse\x12R\n\x0frequestMetadata\x18\x01 \x01(\x0b\x32\x39.WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata\x12\x8c\x01\n\x0cresponseCode\x18\x02 \x01(\x0e\x32v.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode\x1a?\n PlaceholderMessageResendResponse\x12\x1b\n\x13webMessageInfoBytes\x18\x01 \x01(\x0c\x1a\xc7\x05\n\x13LinkPreviewResponse\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x11\n\tthumbData\x18\x04 \x01(\x0c\x12\x11\n\tmatchText\x18\x06 \x01(\t\x12\x13\n\x0bpreviewType\x18\x07 \x01(\t\x12\x9c\x01\n\x0bhqThumbnail\x18\x08 \x01(\x0b\x32\x86\x01.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail\x12\x9b\x01\n\x0fpreviewMetadata\x18\t \x01(\x0b\x32\x81\x01.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.PaymentLinkPreviewMetadata\x1aN\n\x1aPaymentLinkPreviewMetadata\x12\x1a\n\x12isBusinessVerified\x18\x01 \x01(\x08\x12\x14\n\x0cproviderName\x18\x02 \x01(\t\x1a\xb6\x01\n\x1fLinkPreviewHighQualityThumbnail\x12\x12\n\ndirectPath\x18\x01 \x01(\t\x12\x11\n\tthumbHash\x18\x02 \x01(\t\x12\x14\n\x0c\x65ncThumbHash\x18\x03 \x01(\t\x12\x10\n\x08mediaKey\x18\x04 \x01(\x0c\x12\x1b\n\x13mediaKeyTimestampMS\x18\x05 \x01(\x03\x12\x12\n\nthumbWidth\x18\x06 \x01(\x05\x12\x13\n\x0bthumbHeight\x18\x07 \x01(\x05\"\x9e\x01\n!HistorySyncChunkRetryResponseCode\x12\x14\n\x10GENERATION_ERROR\x10\x01\x12\x12\n\x0e\x43HUNK_CONSUMED\x10\x02\x12\x0b\n\x07TIMEOUT\x10\x03\x12\x15\n\x11SESSION_EXHAUSTED\x10\x04\x12\x13\n\x0f\x43HUNK_EXHAUSTED\x10\x05\x12\x16\n\x12\x44UPLICATED_REQUEST\x10\x06\"\xfe\x01\n#FullHistorySyncOnDemandResponseCode\x12\x13\n\x0fREQUEST_SUCCESS\x10\x00\x12\x18\n\x14REQUEST_TIME_EXPIRED\x10\x01\x12\x1c\n\x18\x44\x45\x43LINED_SHARING_HISTORY\x10\x02\x12\x11\n\rGENERIC_ERROR\x10\x03\x12$\n ERROR_REQUEST_ON_NON_SMB_PRIMARY\x10\x04\x12%\n!ERROR_HOSTED_DEVICE_NOT_CONNECTED\x10\x05\x12*\n&ERROR_HOSTED_DEVICE_LOGIN_TIME_NOT_SET\x10\x06\"\xec\x0f\n\x1fPeerDataOperationRequestMessage\x12U\n\x1cpeerDataOperationRequestType\x18\x01 \x01(\x0e\x32/.WAWebProtobufsE2E.PeerDataOperationRequestType\x12i\n\x16requestStickerReupload\x18\x02 \x03(\x0b\x32I.WAWebProtobufsE2E.PeerDataOperationRequestMessage.RequestStickerReupload\x12_\n\x11requestURLPreview\x18\x03 \x03(\x0b\x32\x44.WAWebProtobufsE2E.PeerDataOperationRequestMessage.RequestUrlPreview\x12q\n\x1ahistorySyncOnDemandRequest\x18\x04 \x01(\x0b\x32M.WAWebProtobufsE2E.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest\x12{\n\x1fplaceholderMessageResendRequest\x18\x05 \x03(\x0b\x32R.WAWebProtobufsE2E.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest\x12y\n\x1e\x66ullHistorySyncOnDemandRequest\x18\x06 \x01(\x0b\x32Q.WAWebProtobufsE2E.PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest\x12\x83\x01\n#syncdCollectionFatalRecoveryRequest\x18\x07 \x01(\x0b\x32V.WAWebProtobufsE2E.PeerDataOperationRequestMessage.SyncDCollectionFatalRecoveryRequest\x12u\n\x1chistorySyncChunkRetryRequest\x18\x08 \x01(\x0b\x32O.WAWebProtobufsE2E.PeerDataOperationRequestMessage.HistorySyncChunkRetryRequest\x12]\n\x10galaxyFlowAction\x18\t \x01(\x0b\x32\x43.WAWebProtobufsE2E.PeerDataOperationRequestMessage.GalaxyFlowAction\x1a\xc7\x01\n\x10GalaxyFlowAction\x12\x66\n\x04type\x18\x01 \x01(\x0e\x32X.WAWebProtobufsE2E.PeerDataOperationRequestMessage.GalaxyFlowAction.GalaxyFlowActionType\x12\x0e\n\x06\x66lowID\x18\x02 \x01(\t\x12\x10\n\x08stanzaID\x18\x03 \x01(\t\")\n\x14GalaxyFlowActionType\x12\x11\n\rNOTIFY_LAUNCH\x10\x01\x1a\x9e\x01\n\x1cHistorySyncChunkRetryRequest\x12\x34\n\x08syncType\x18\x01 \x01(\x0e\x32\".WAWebProtobufsE2E.HistorySyncType\x12\x12\n\nchunkOrder\x18\x02 \x01(\r\x12\x1b\n\x13\x63hunkNotificationID\x18\x03 \x01(\t\x12\x17\n\x0fregenerateChunk\x18\x04 \x01(\x08\x1aP\n#SyncDCollectionFatalRecoveryRequest\x12\x16\n\x0e\x63ollectionName\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x1aK\n\x1fPlaceholderMessageResendRequest\x12(\n\nmessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x1a\xbe\x01\n\x1e\x46ullHistorySyncOnDemandRequest\x12R\n\x0frequestMetadata\x18\x01 \x01(\x0b\x32\x39.WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata\x12H\n\x11historySyncConfig\x18\x02 \x01(\x0b\x32-.WACompanionReg.DeviceProps.HistorySyncConfig\x1a\xa7\x01\n\x1aHistorySyncOnDemandRequest\x12\x0f\n\x07\x63hatJID\x18\x01 \x01(\t\x12\x13\n\x0boldestMsgID\x18\x02 \x01(\t\x12\x17\n\x0foldestMsgFromMe\x18\x03 \x01(\x08\x12\x18\n\x10onDemandMsgCount\x18\x04 \x01(\x05\x12\x1c\n\x14oldestMsgTimestampMS\x18\x05 \x01(\x03\x12\x12\n\naccountLid\x18\x06 \x01(\t\x1a<\n\x11RequestUrlPreview\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\x1a\n\x12includeHqThumbnail\x18\x02 \x01(\x08\x1a,\n\x16RequestStickerReupload\x12\x12\n\nfileSHA256\x18\x01 \x01(\t\"\xa4\x01\n\x1dRequestWelcomeMessageMetadata\x12W\n\x0elocalChatState\x18\x01 \x01(\x0e\x32?.WAWebProtobufsE2E.RequestWelcomeMessageMetadata.LocalChatState\"*\n\x0eLocalChatState\x12\t\n\x05\x45MPTY\x10\x00\x12\r\n\tNON_EMPTY\x10\x01\"\x94\x12\n\x0fProtocolMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32\'.WAWebProtobufsE2E.ProtocolMessage.Type\x12\x1b\n\x13\x65phemeralExpiration\x18\x04 \x01(\r\x12!\n\x19\x65phemeralSettingTimestamp\x18\x05 \x01(\x03\x12K\n\x17historySyncNotification\x18\x06 \x01(\x0b\x32*.WAWebProtobufsE2E.HistorySyncNotification\x12\x45\n\x14\x61ppStateSyncKeyShare\x18\x07 \x01(\x0b\x32\'.WAWebProtobufsE2E.AppStateSyncKeyShare\x12I\n\x16\x61ppStateSyncKeyRequest\x18\x08 \x01(\x0b\x32).WAWebProtobufsE2E.AppStateSyncKeyRequest\x12i\n&initialSecurityNotificationSettingSync\x18\t \x01(\x0b\x32\x39.WAWebProtobufsE2E.InitialSecurityNotificationSettingSync\x12\x61\n\"appStateFatalExceptionNotification\x18\n \x01(\x0b\x32\x35.WAWebProtobufsE2E.AppStateFatalExceptionNotification\x12=\n\x10\x64isappearingMode\x18\x0b \x01(\x0b\x32#.WAWebProtobufsE2E.DisappearingMode\x12\x31\n\reditedMessage\x18\x0e \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x13\n\x0btimestampMS\x18\x0f \x01(\x03\x12[\n\x1fpeerDataOperationRequestMessage\x18\x10 \x01(\x0b\x32\x32.WAWebProtobufsE2E.PeerDataOperationRequestMessage\x12k\n\'peerDataOperationRequestResponseMessage\x18\x11 \x01(\x0b\x32:.WAWebProtobufsE2E.PeerDataOperationRequestResponseMessage\x12:\n\x12\x62otFeedbackMessage\x18\x12 \x01(\x0b\x32\x1e.WAAICommon.BotFeedbackMessage\x12\x12\n\ninvokerJID\x18\x13 \x01(\t\x12W\n\x1drequestWelcomeMessageMetadata\x18\x14 \x01(\x0b\x32\x30.WAWebProtobufsE2E.RequestWelcomeMessageMetadata\x12\x41\n\x12mediaNotifyMessage\x18\x15 \x01(\x0b\x32%.WAWebProtobufsE2E.MediaNotifyMessage\x12_\n!cloudApiThreadControlNotification\x18\x16 \x01(\x0b\x32\x34.WAWebProtobufsE2E.CloudAPIThreadControlNotification\x12Y\n\x1elidMigrationMappingSyncMessage\x18\x17 \x01(\x0b\x32\x31.WAWebProtobufsE2E.LIDMigrationMappingSyncMessage\x12,\n\x0climitSharing\x18\x18 \x01(\x0b\x32\x16.WACommon.LimitSharing\x12\x15\n\raiPsiMetadata\x18\x19 \x01(\x0c\x12\x37\n\raiQueryFanout\x18\x1a \x01(\x0b\x32 .WAWebProtobufsE2E.AIQueryFanout\x12\x33\n\x0bmemberLabel\x18\x1b \x01(\x0b\x32\x1e.WAWebProtobufsE2E.MemberLabel\"\x8d\x06\n\x04Type\x12\n\n\x06REVOKE\x10\x00\x12\x15\n\x11\x45PHEMERAL_SETTING\x10\x03\x12\x1b\n\x17\x45PHEMERAL_SYNC_RESPONSE\x10\x04\x12\x1d\n\x19HISTORY_SYNC_NOTIFICATION\x10\x05\x12\x1c\n\x18\x41PP_STATE_SYNC_KEY_SHARE\x10\x06\x12\x1e\n\x1a\x41PP_STATE_SYNC_KEY_REQUEST\x10\x07\x12\x1f\n\x1bMSG_FANOUT_BACKFILL_REQUEST\x10\x08\x12.\n*INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC\x10\t\x12*\n&APP_STATE_FATAL_EXCEPTION_NOTIFICATION\x10\n\x12\x16\n\x12SHARE_PHONE_NUMBER\x10\x0b\x12\x10\n\x0cMESSAGE_EDIT\x10\x0e\x12\'\n#PEER_DATA_OPERATION_REQUEST_MESSAGE\x10\x10\x12\x30\n,PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE\x10\x11\x12\x1b\n\x17REQUEST_WELCOME_MESSAGE\x10\x12\x12\x18\n\x14\x42OT_FEEDBACK_MESSAGE\x10\x13\x12\x18\n\x14MEDIA_NOTIFY_MESSAGE\x10\x14\x12)\n%CLOUD_API_THREAD_CONTROL_NOTIFICATION\x10\x15\x12\x1e\n\x1aLID_MIGRATION_MAPPING_SYNC\x10\x16\x12\x14\n\x10REMINDER_MESSAGE\x10\x17\x12\x1f\n\x1b\x42OT_MEMU_ONBOARDING_MESSAGE\x10\x18\x12\x1a\n\x16STATUS_MENTION_MESSAGE\x10\x19\x12\x1b\n\x17STOP_GENERATION_MESSAGE\x10\x1a\x12\x11\n\rLIMIT_SHARING\x10\x1b\x12\x13\n\x0f\x41I_PSI_METADATA\x10\x1c\x12\x13\n\x0f\x41I_QUERY_FANOUT\x10\x1d\x12\x1d\n\x19GROUP_MEMBER_LABEL_CHANGE\x10\x1e\"\xa5\x04\n!CloudAPIThreadControlNotification\x12Z\n\x06status\x18\x01 \x01(\x0e\x32J.WAWebProtobufsE2E.CloudAPIThreadControlNotification.CloudAPIThreadControl\x12%\n\x1dsenderNotificationTimestampMS\x18\x02 \x01(\x03\x12\x13\n\x0b\x63onsumerLid\x18\x03 \x01(\t\x12\x1b\n\x13\x63onsumerPhoneNumber\x18\x04 \x01(\t\x12z\n\x13notificationContent\x18\x05 \x01(\x0b\x32].WAWebProtobufsE2E.CloudAPIThreadControlNotification.CloudAPIThreadControlNotificationContent\x12\"\n\x1ashouldSuppressNotification\x18\x06 \x01(\x08\x1a^\n(CloudAPIThreadControlNotificationContent\x12\x1f\n\x17handoffNotificationText\x18\x01 \x01(\t\x12\x11\n\textraJSON\x18\x02 \x01(\t\"K\n\x15\x43loudAPIThreadControl\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x12\n\x0e\x43ONTROL_PASSED\x10\x01\x12\x11\n\rCONTROL_TAKEN\x10\x02\"\xe9\x08\n\x0cVideoMessage\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\x10\n\x08mimetype\x18\x02 \x01(\t\x12\x12\n\nfileSHA256\x18\x03 \x01(\x0c\x12\x12\n\nfileLength\x18\x04 \x01(\x04\x12\x0f\n\x07seconds\x18\x05 \x01(\r\x12\x10\n\x08mediaKey\x18\x06 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x07 \x01(\t\x12\x13\n\x0bgifPlayback\x18\x08 \x01(\x08\x12\x0e\n\x06height\x18\t \x01(\r\x12\r\n\x05width\x18\n \x01(\r\x12\x15\n\rfileEncSHA256\x18\x0b \x01(\x0c\x12H\n\x16interactiveAnnotations\x18\x0c \x03(\x0b\x32(.WAWebProtobufsE2E.InteractiveAnnotation\x12\x12\n\ndirectPath\x18\r \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x0e \x01(\x03\x12\x15\n\rJPEGThumbnail\x18\x10 \x01(\x0c\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x18\n\x10streamingSidecar\x18\x12 \x01(\x0c\x12\x43\n\x0egifAttribution\x18\x13 \x01(\x0e\x32+.WAWebProtobufsE2E.VideoMessage.Attribution\x12\x10\n\x08viewOnce\x18\x14 \x01(\x08\x12\x1b\n\x13thumbnailDirectPath\x18\x15 \x01(\t\x12\x17\n\x0fthumbnailSHA256\x18\x16 \x01(\x0c\x12\x1a\n\x12thumbnailEncSHA256\x18\x17 \x01(\x0c\x12\x11\n\tstaticURL\x18\x18 \x01(\t\x12=\n\x0b\x61nnotations\x18\x19 \x03(\x0b\x32(.WAWebProtobufsE2E.InteractiveAnnotation\x12\x1a\n\x12\x61\x63\x63\x65ssibilityLabel\x18\x1a \x01(\t\x12:\n\x0fprocessedVideos\x18\x1b \x03(\x0b\x32!.WAWebProtobufsE2E.ProcessedVideo\x12/\n\'externalShareFullVideoDurationInSeconds\x18\x1c \x01(\r\x12\'\n\x1fmotionPhotoPresentationOffsetMS\x18\x1d \x01(\x04\x12\x13\n\x0bmetadataURL\x18\x1e \x01(\t\x12H\n\x0fvideoSourceType\x18\x1f \x01(\x0e\x32/.WAWebProtobufsE2E.VideoMessage.VideoSourceType\x12\x39\n\x0emediaKeyDomain\x18 \x01(\x0e\x32!.WAWebProtobufsE2E.MediaKeyDomain\"3\n\x0fVideoSourceType\x12\x0e\n\nUSER_VIDEO\x10\x00\x12\x10\n\x0c\x41I_GENERATED\x10\x01\"8\n\x0b\x41ttribution\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05GIPHY\x10\x01\x12\t\n\x05TENOR\x10\x02\x12\t\n\x05KLIPY\x10\x03\"\xda\x0c\n\x13\x45xtendedTextMessage\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x13\n\x0bmatchedText\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\r\n\x05title\x18\x06 \x01(\t\x12\x10\n\x08textArgb\x18\x07 \x01(\x07\x12\x16\n\x0e\x62\x61\x63kgroundArgb\x18\x08 \x01(\x07\x12=\n\x04\x66ont\x18\t \x01(\x0e\x32/.WAWebProtobufsE2E.ExtendedTextMessage.FontType\x12G\n\x0bpreviewType\x18\n \x01(\x0e\x32\x32.WAWebProtobufsE2E.ExtendedTextMessage.PreviewType\x12\x15\n\rJPEGThumbnail\x18\x10 \x01(\x0c\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x17\n\x0f\x64oNotPlayInline\x18\x12 \x01(\x08\x12\x1b\n\x13thumbnailDirectPath\x18\x13 \x01(\t\x12\x17\n\x0fthumbnailSHA256\x18\x14 \x01(\x0c\x12\x1a\n\x12thumbnailEncSHA256\x18\x15 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x16 \x01(\x0c\x12\x19\n\x11mediaKeyTimestamp\x18\x17 \x01(\x03\x12\x17\n\x0fthumbnailHeight\x18\x18 \x01(\r\x12\x16\n\x0ethumbnailWidth\x18\x19 \x01(\r\x12W\n\x13inviteLinkGroupType\x18\x1a \x01(\x0e\x32:.WAWebProtobufsE2E.ExtendedTextMessage.InviteLinkGroupType\x12&\n\x1einviteLinkParentGroupSubjectV2\x18\x1b \x01(\t\x12(\n inviteLinkParentGroupThumbnailV2\x18\x1c \x01(\x0c\x12Y\n\x15inviteLinkGroupTypeV2\x18\x1d \x01(\x0e\x32:.WAWebProtobufsE2E.ExtendedTextMessage.InviteLinkGroupType\x12\x10\n\x08viewOnce\x18\x1e \x01(\x08\x12\x13\n\x0bvideoHeight\x18\x1f \x01(\r\x12\x12\n\nvideoWidth\x18 \x01(\r\x12\x43\n\x12\x66\x61viconMMSMetadata\x18! \x01(\x0b\x32\'.WAWebProtobufsE2E.MMSThumbnailMetadata\x12\x43\n\x13linkPreviewMetadata\x18\" \x01(\x0b\x32&.WAWebProtobufsE2E.LinkPreviewMetadata\x12\x43\n\x13paymentLinkMetadata\x18# \x01(\x0b\x32&.WAWebProtobufsE2E.PaymentLinkMetadata\x12\x35\n\x0c\x65ndCardTiles\x18$ \x03(\x0b\x32\x1f.WAWebProtobufsE2E.VideoEndCard\x12\x17\n\x0fvideoContentURL\x18% \x01(\t\x12\x37\n\rmusicMetadata\x18& \x01(\x0b\x32 .WAWebProtobufsE2E.EmbeddedMusic\x12K\n\x17paymentExtendedMetadata\x18\' \x01(\x0b\x32*.WAWebProtobufsE2E.PaymentExtendedMetadata\"H\n\x13InviteLinkGroupType\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\n\n\x06PARENT\x10\x01\x12\x07\n\x03SUB\x10\x02\x12\x0f\n\x0b\x44\x45\x46\x41ULT_SUB\x10\x03\"^\n\x0bPreviewType\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x0f\n\x0bPLACEHOLDER\x10\x04\x12\t\n\x05IMAGE\x10\x05\x12\x11\n\rPAYMENT_LINKS\x10\x06\x12\x0b\n\x07PROFILE\x10\x07\"\xa4\x01\n\x08\x46ontType\x12\n\n\x06SYSTEM\x10\x00\x12\x0f\n\x0bSYSTEM_TEXT\x10\x01\x12\r\n\tFB_SCRIPT\x10\x02\x12\x0f\n\x0bSYSTEM_BOLD\x10\x06\x12\x19\n\x15MORNINGBREEZE_REGULAR\x10\x07\x12\x15\n\x11\x43\x41LISTOGA_REGULAR\x10\x08\x12\x12\n\x0e\x45XO2_EXTRABOLD\x10\t\x12\x15\n\x11\x43OURIERPRIME_BOLD\x10\n\"\x93\x04\n\x13LinkPreviewMetadata\x12\x43\n\x13paymentLinkMetadata\x18\x01 \x01(\x0b\x32&.WAWebProtobufsE2E.PaymentLinkMetadata\x12\x33\n\x0burlMetadata\x18\x02 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.URLMetadata\x12\x16\n\x0e\x66\x62\x45xperimentID\x18\x03 \x01(\r\x12\x19\n\x11linkMediaDuration\x18\x04 \x01(\r\x12W\n\x13socialMediaPostType\x18\x05 \x01(\x0e\x32:.WAWebProtobufsE2E.LinkPreviewMetadata.SocialMediaPostType\x12\x1c\n\x14linkInlineVideoMuted\x18\x06 \x01(\x08\x12\x17\n\x0fvideoContentURL\x18\x07 \x01(\t\x12\x37\n\rmusicMetadata\x18\x08 \x01(\x0b\x32 .WAWebProtobufsE2E.EmbeddedMusic\x12\x1b\n\x13videoContentCaption\x18\t \x01(\t\"i\n\x13SocialMediaPostType\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04REEL\x10\x01\x12\x0e\n\nLIVE_VIDEO\x10\x02\x12\x0e\n\nLONG_VIDEO\x10\x03\x12\x10\n\x0cSINGLE_IMAGE\x10\x04\x12\x0c\n\x08\x43\x41ROUSEL\x10\x05\"\xfc\x03\n\x13PaymentLinkMetadata\x12H\n\x06\x62utton\x18\x01 \x01(\x0b\x32\x38.WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkButton\x12H\n\x06header\x18\x02 \x01(\x0b\x32\x38.WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkHeader\x12L\n\x08provider\x18\x03 \x01(\x0b\x32:.WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkProvider\x1a\xad\x01\n\x11PaymentLinkHeader\x12\x62\n\nheaderType\x18\x01 \x01(\x0e\x32N.WAWebProtobufsE2E.PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType\"4\n\x15PaymentLinkHeaderType\x12\x10\n\x0cLINK_PREVIEW\x10\x00\x12\t\n\x05ORDER\x10\x01\x1a)\n\x13PaymentLinkProvider\x12\x12\n\nparamsJSON\x18\x01 \x01(\t\x1a(\n\x11PaymentLinkButton\x12\x13\n\x0b\x64isplayText\x18\x01 \x01(\t\"\xc7\x02\n\x19StatusNotificationMessage\x12\x30\n\x12responseMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x30\n\x12originalMessageKey\x18\x02 \x01(\x0b\x32\x14.WACommon.MessageKey\x12Q\n\x04type\x18\x03 \x01(\x0e\x32\x43.WAWebProtobufsE2E.StatusNotificationMessage.StatusNotificationType\"s\n\x16StatusNotificationType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x14\n\x10STATUS_ADD_YOURS\x10\x01\x12\x12\n\x0eSTATUS_RESHARE\x10\x02\x12\"\n\x1eSTATUS_QUESTION_ANSWER_RESHARE\x10\x03\"\xf8\x02\n\x0eInvoiceMessage\x12\x0c\n\x04note\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\x12H\n\x0e\x61ttachmentType\x18\x03 \x01(\x0e\x32\x30.WAWebProtobufsE2E.InvoiceMessage.AttachmentType\x12\x1a\n\x12\x61ttachmentMimetype\x18\x04 \x01(\t\x12\x1a\n\x12\x61ttachmentMediaKey\x18\x05 \x01(\x0c\x12#\n\x1b\x61ttachmentMediaKeyTimestamp\x18\x06 \x01(\x03\x12\x1c\n\x14\x61ttachmentFileSHA256\x18\x07 \x01(\x0c\x12\x1f\n\x17\x61ttachmentFileEncSHA256\x18\x08 \x01(\x0c\x12\x1c\n\x14\x61ttachmentDirectPath\x18\t \x01(\t\x12\x1f\n\x17\x61ttachmentJPEGThumbnail\x18\n \x01(\x0c\"$\n\x0e\x41ttachmentType\x12\t\n\x05IMAGE\x10\x00\x12\x07\n\x03PDF\x10\x01\"\xf3\x07\n\x0cImageMessage\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\x10\n\x08mimetype\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61ption\x18\x03 \x01(\t\x12\x12\n\nfileSHA256\x18\x04 \x01(\x0c\x12\x12\n\nfileLength\x18\x05 \x01(\x04\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\r\n\x05width\x18\x07 \x01(\r\x12\x10\n\x08mediaKey\x18\x08 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\t \x01(\x0c\x12H\n\x16interactiveAnnotations\x18\n \x03(\x0b\x32(.WAWebProtobufsE2E.InteractiveAnnotation\x12\x12\n\ndirectPath\x18\x0b \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x0c \x01(\x03\x12\x15\n\rJPEGThumbnail\x18\x10 \x01(\x0c\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x18\n\x10\x66irstScanSidecar\x18\x12 \x01(\x0c\x12\x17\n\x0f\x66irstScanLength\x18\x13 \x01(\r\x12\x19\n\x11\x65xperimentGroupID\x18\x14 \x01(\r\x12\x14\n\x0cscansSidecar\x18\x15 \x01(\x0c\x12\x13\n\x0bscanLengths\x18\x16 \x03(\r\x12\x1c\n\x14midQualityFileSHA256\x18\x17 \x01(\x0c\x12\x1f\n\x17midQualityFileEncSHA256\x18\x18 \x01(\x0c\x12\x10\n\x08viewOnce\x18\x19 \x01(\x08\x12\x1b\n\x13thumbnailDirectPath\x18\x1a \x01(\t\x12\x17\n\x0fthumbnailSHA256\x18\x1b \x01(\x0c\x12\x1a\n\x12thumbnailEncSHA256\x18\x1c \x01(\x0c\x12\x11\n\tstaticURL\x18\x1d \x01(\t\x12=\n\x0b\x61nnotations\x18\x1e \x03(\x0b\x32(.WAWebProtobufsE2E.InteractiveAnnotation\x12H\n\x0fimageSourceType\x18\x1f \x01(\x0e\x32/.WAWebProtobufsE2E.ImageMessage.ImageSourceType\x12\x1a\n\x12\x61\x63\x63\x65ssibilityLabel\x18 \x01(\t\x12\x39\n\x0emediaKeyDomain\x18! \x01(\x0e\x32!.WAWebProtobufsE2E.MediaKeyDomain\x12\r\n\x05qrURL\x18\" \x01(\t\"`\n\x0fImageSourceType\x12\x0e\n\nUSER_IMAGE\x10\x00\x12\x10\n\x0c\x41I_GENERATED\x10\x01\x12\x0f\n\x0b\x41I_MODIFIED\x10\x02\x12\x1a\n\x16RASTERIZED_TEXT_STATUS\x10\x03\"\xef*\n\x0b\x43ontextInfo\x12\x10\n\x08stanzaID\x18\x01 \x01(\t\x12\x13\n\x0bparticipant\x18\x02 \x01(\t\x12\x31\n\rquotedMessage\x18\x03 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x11\n\tremoteJID\x18\x04 \x01(\t\x12\x14\n\x0cmentionedJID\x18\x0f \x03(\t\x12\x18\n\x10\x63onversionSource\x18\x12 \x01(\t\x12\x16\n\x0e\x63onversionData\x18\x13 \x01(\x0c\x12\x1e\n\x16\x63onversionDelaySeconds\x18\x14 \x01(\r\x12\x17\n\x0f\x66orwardingScore\x18\x15 \x01(\r\x12\x13\n\x0bisForwarded\x18\x16 \x01(\x08\x12<\n\x08quotedAd\x18\x17 \x01(\x0b\x32*.WAWebProtobufsE2E.ContextInfo.AdReplyInfo\x12,\n\x0eplaceholderKey\x18\x18 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x12\n\nexpiration\x18\x19 \x01(\r\x12!\n\x19\x65phemeralSettingTimestamp\x18\x1a \x01(\x03\x12\x1d\n\x15\x65phemeralSharedSecret\x18\x1b \x01(\x0c\x12K\n\x0f\x65xternalAdReply\x18\x1c \x01(\x0b\x32\x32.WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo\x12\"\n\x1a\x65ntryPointConversionSource\x18\x1d \x01(\t\x12\x1f\n\x17\x65ntryPointConversionApp\x18\x1e \x01(\t\x12(\n entryPointConversionDelaySeconds\x18\x1f \x01(\r\x12=\n\x10\x64isappearingMode\x18 \x01(\x0b\x32#.WAWebProtobufsE2E.DisappearingMode\x12\x31\n\nactionLink\x18! \x01(\x0b\x32\x1d.WAWebProtobufsE2E.ActionLink\x12\x14\n\x0cgroupSubject\x18\" \x01(\t\x12\x16\n\x0eparentGroupJID\x18# \x01(\t\x12\x17\n\x0ftrustBannerType\x18% \x01(\t\x12\x19\n\x11trustBannerAction\x18& \x01(\r\x12\x11\n\tisSampled\x18\' \x01(\x08\x12\x36\n\rgroupMentions\x18( \x03(\x0b\x32\x1f.WAWebProtobufsE2E.GroupMention\x12\x33\n\x03utm\x18) \x01(\x0b\x32&.WAWebProtobufsE2E.ContextInfo.UTMInfo\x12\x65\n\x1e\x66orwardedNewsletterMessageInfo\x18+ \x01(\x0b\x32=.WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo\x12]\n\x1a\x62usinessMessageForwardInfo\x18, \x01(\x0b\x32\x39.WAWebProtobufsE2E.ContextInfo.BusinessMessageForwardInfo\x12\x1b\n\x13smbClientCampaignID\x18- \x01(\t\x12\x1b\n\x13smbServerCampaignID\x18. \x01(\t\x12M\n\x12\x64\x61taSharingContext\x18/ \x01(\x0b\x32\x31.WAWebProtobufsE2E.ContextInfo.DataSharingContext\x12\x1f\n\x17\x61lwaysShowAdAttribution\x18\x30 \x01(\x08\x12Q\n\x14\x66\x65\x61tureEligibilities\x18\x31 \x01(\x0b\x32\x33.WAWebProtobufsE2E.ContextInfo.FeatureEligibilities\x12*\n\"entryPointConversionExternalSource\x18\x32 \x01(\t\x12*\n\"entryPointConversionExternalMedium\x18\x33 \x01(\t\x12\x13\n\x0b\x63twaSignals\x18\x36 \x01(\t\x12\x13\n\x0b\x63twaPayload\x18\x37 \x01(\x0c\x12H\n\x19\x66orwardedAiBotMessageInfo\x18\x38 \x01(\x0b\x32%.WAAICommon.ForwardedAIBotMessageInfo\x12S\n\x15statusAttributionType\x18\x39 \x01(\x0e\x32\x34.WAWebProtobufsE2E.ContextInfo.StatusAttributionType\x12\x39\n\x0eurlTrackingMap\x18: \x01(\x0b\x32!.WAWebProtobufsE2E.UrlTrackingMap\x12G\n\x0fpairedMediaType\x18; \x01(\x0e\x32..WAWebProtobufsE2E.ContextInfo.PairedMediaType\x12\x16\n\x0erankingVersion\x18< \x01(\r\x12\x33\n\x0bmemberLabel\x18> \x01(\x0b\x32\x1e.WAWebProtobufsE2E.MemberLabel\x12\x12\n\nisQuestion\x18? \x01(\x08\x12I\n\x10statusSourceType\x18@ \x01(\x0e\x32/.WAWebProtobufsE2E.ContextInfo.StatusSourceType\x12\x43\n\x12statusAttributions\x18\x41 \x03(\x0b\x32\'.WAStatusAttributions.StatusAttribution\x12\x15\n\risGroupStatus\x18\x42 \x01(\x08\x12\x43\n\rforwardOrigin\x18\x43 \x01(\x0e\x32,.WAWebProtobufsE2E.ContextInfo.ForwardOrigin\x12]\n\x1aquestionReplyQuotedMessage\x18\x44 \x01(\x0b\x32\x39.WAWebProtobufsE2E.ContextInfo.QuestionReplyQuotedMessage\x12U\n\x16statusAudienceMetadata\x18\x45 \x01(\x0b\x32\x35.WAWebProtobufsE2E.ContextInfo.StatusAudienceMetadata\x12\x16\n\x0enonJIDMentions\x18\x46 \x01(\r\x12=\n\nquotedType\x18G \x01(\x0e\x32).WAWebProtobufsE2E.ContextInfo.QuotedType\x12@\n\x15\x62otMessageSharingInfo\x18H \x01(\x0b\x32!.WAAICommon.BotMessageSharingInfo\x1a\xa2\x01\n\x16StatusAudienceMetadata\x12X\n\x0c\x61udienceType\x18\x01 \x01(\x0e\x32\x42.WAWebProtobufsE2E.ContextInfo.StatusAudienceMetadata.AudienceType\".\n\x0c\x41udienceType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rCLOSE_FRIENDS\x10\x01\x1a\xba\x03\n\x12\x44\x61taSharingContext\x12\x18\n\x10showMmDisclosure\x18\x01 \x01(\x08\x12%\n\x1d\x65ncryptedSignalTokenConsented\x18\x02 \x01(\t\x12P\n\nparameters\x18\x03 \x03(\x0b\x32<.WAWebProtobufsE2E.ContextInfo.DataSharingContext.Parameters\x12\x18\n\x10\x64\x61taSharingFlags\x18\x04 \x01(\x05\x1a\xa1\x01\n\nParameters\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x12\n\nstringData\x18\x02 \x01(\t\x12\x0f\n\x07intData\x18\x03 \x01(\x03\x12\x11\n\tfloatData\x18\x04 \x01(\x02\x12N\n\x08\x63ontents\x18\x05 \x01(\x0b\x32<.WAWebProtobufsE2E.ContextInfo.DataSharingContext.Parameters\"S\n\x10\x44\x61taSharingFlags\x12\x1f\n\x1bSHOW_MM_DISCLOSURE_ON_CLICK\x10\x01\x12\x1e\n\x1aSHOW_MM_DISCLOSURE_ON_READ\x10\x02\x1a\x9e\x02\n\x1e\x46orwardedNewsletterMessageInfo\x12\x15\n\rnewsletterJID\x18\x01 \x01(\t\x12\x17\n\x0fserverMessageID\x18\x02 \x01(\x05\x12\x16\n\x0enewsletterName\x18\x03 \x01(\t\x12^\n\x0b\x63ontentType\x18\x04 \x01(\x0e\x32I.WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfo.ContentType\x12\x19\n\x11\x61\x63\x63\x65ssibilityText\x18\x05 \x01(\t\"9\n\x0b\x43ontentType\x12\n\n\x06UPDATE\x10\x01\x12\x0f\n\x0bUPDATE_CARD\x10\x02\x12\r\n\tLINK_CARD\x10\x03\x1a\xc9\x06\n\x13\x45xternalAdReplyInfo\x12\r\n\x05title\x18\x01 \x01(\t\x12\x0c\n\x04\x62ody\x18\x02 \x01(\t\x12O\n\tmediaType\x18\x03 \x01(\x0e\x32<.WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo.MediaType\x12\x14\n\x0cthumbnailURL\x18\x04 \x01(\t\x12\x10\n\x08mediaURL\x18\x05 \x01(\t\x12\x11\n\tthumbnail\x18\x06 \x01(\x0c\x12\x12\n\nsourceType\x18\x07 \x01(\t\x12\x10\n\x08sourceID\x18\x08 \x01(\t\x12\x11\n\tsourceURL\x18\t \x01(\t\x12\x19\n\x11\x63ontainsAutoReply\x18\n \x01(\x08\x12\x1d\n\x15renderLargerThumbnail\x18\x0b \x01(\x08\x12\x19\n\x11showAdAttribution\x18\x0c \x01(\x08\x12\x10\n\x08\x63twaClid\x18\r \x01(\t\x12\x0b\n\x03ref\x18\x0e \x01(\t\x12\x1b\n\x13\x63lickToWhatsappCall\x18\x0f \x01(\x08\x12!\n\x19\x61\x64\x43ontextPreviewDismissed\x18\x10 \x01(\x08\x12\x11\n\tsourceApp\x18\x11 \x01(\t\x12%\n\x1d\x61utomatedGreetingMessageShown\x18\x12 \x01(\x08\x12\x1b\n\x13greetingMessageBody\x18\x13 \x01(\t\x12\x12\n\nctaPayload\x18\x14 \x01(\t\x12\x14\n\x0c\x64isableNudge\x18\x15 \x01(\x08\x12\x18\n\x10originalImageURL\x18\x16 \x01(\t\x12\'\n\x1f\x61utomatedGreetingMessageCtaType\x18\x17 \x01(\t\x12\x14\n\x0cwtwaAdFormat\x18\x18 \x01(\x08\x12I\n\x06\x61\x64Type\x18\x19 \x01(\x0e\x32\x39.WAWebProtobufsE2E.ContextInfo.ExternalAdReplyInfo.AdType\x12\x16\n\x0ewtwaWebsiteURL\x18\x1a \x01(\t\x12\x14\n\x0c\x61\x64PreviewURL\x18\x1b \x01(\t\"\x1c\n\x06\x41\x64Type\x12\x08\n\x04\x43TWA\x10\x00\x12\x08\n\x04\x43\x41WC\x10\x01\"+\n\tMediaType\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05IMAGE\x10\x01\x12\t\n\x05VIDEO\x10\x02\x1a\xc3\x01\n\x0b\x41\x64ReplyInfo\x12\x16\n\x0e\x61\x64vertiserName\x18\x01 \x01(\t\x12G\n\tmediaType\x18\x02 \x01(\x0e\x32\x34.WAWebProtobufsE2E.ContextInfo.AdReplyInfo.MediaType\x12\x15\n\rJPEGThumbnail\x18\x10 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x11 \x01(\t\"+\n\tMediaType\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05IMAGE\x10\x01\x12\t\n\x05VIDEO\x10\x02\x1a\x9a\x01\n\x14\x46\x65\x61tureEligibilities\x12\x19\n\x11\x63\x61nnotBeReactedTo\x18\x01 \x01(\x08\x12\x16\n\x0e\x63\x61nnotBeRanked\x18\x02 \x01(\x08\x12\x1a\n\x12\x63\x61nRequestFeedback\x18\x03 \x01(\x08\x12\x15\n\rcanBeReshared\x18\x04 \x01(\x08\x12\x1c\n\x14\x63\x61nReceiveMultiReact\x18\x05 \x01(\x08\x1a\x9e\x01\n\x1aQuestionReplyQuotedMessage\x12\x18\n\x10serverQuestionID\x18\x01 \x01(\x05\x12\x32\n\x0equotedQuestion\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x32\n\x0equotedResponse\x18\x03 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x1a\x31\n\x07UTMInfo\x12\x11\n\tutmSource\x18\x01 \x01(\t\x12\x13\n\x0butmCampaign\x18\x02 \x01(\t\x1a\x36\n\x1a\x42usinessMessageForwardInfo\x12\x18\n\x10\x62usinessOwnerJID\x18\x01 \x01(\t\"$\n\nQuotedType\x12\x0c\n\x08\x45XPLICIT\x10\x00\x12\x08\n\x04\x41UTO\x10\x01\"V\n\rForwardOrigin\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04\x43HAT\x10\x01\x12\n\n\x06STATUS\x10\x02\x12\x0c\n\x08\x43HANNELS\x10\x03\x12\x0b\n\x07META_AI\x10\x04\x12\x07\n\x03UGC\x10\x05\"\\\n\x10StatusSourceType\x12\t\n\x05IMAGE\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x07\n\x03GIF\x10\x02\x12\t\n\x05\x41UDIO\x10\x03\x12\x08\n\x04TEXT\x10\x04\x12\x14\n\x10MUSIC_STANDALONE\x10\x05\"\xd7\x01\n\x0fPairedMediaType\x12\x14\n\x10NOT_PAIRED_MEDIA\x10\x00\x12\x13\n\x0fSD_VIDEO_PARENT\x10\x01\x12\x12\n\x0eHD_VIDEO_CHILD\x10\x02\x12\x13\n\x0fSD_IMAGE_PARENT\x10\x03\x12\x12\n\x0eHD_IMAGE_CHILD\x10\x04\x12\x17\n\x13MOTION_PHOTO_PARENT\x10\x05\x12\x16\n\x12MOTION_PHOTO_CHILD\x10\x06\x12\x15\n\x11HEVC_VIDEO_PARENT\x10\x07\x12\x14\n\x10HEVC_VIDEO_CHILD\x10\x08\"\x92\x01\n\x15StatusAttributionType\x12\x08\n\x04NONE\x10\x00\x12\x19\n\x15RESHARED_FROM_MENTION\x10\x01\x12\x16\n\x12RESHARED_FROM_POST\x10\x02\x12!\n\x1dRESHARED_FROM_POST_MANY_TIMES\x10\x03\x12\x19\n\x15\x46ORWARDED_FROM_STATUS\x10\x04\"\x80\x05\n\x12MessageAssociation\x12N\n\x0f\x61ssociationType\x18\x01 \x01(\x0e\x32\x35.WAWebProtobufsE2E.MessageAssociation.AssociationType\x12.\n\x10parentMessageKey\x18\x02 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x14\n\x0cmessageIndex\x18\x03 \x01(\x05\"\xd3\x03\n\x0f\x41ssociationType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0f\n\x0bMEDIA_ALBUM\x10\x01\x12\x0e\n\nBOT_PLUGIN\x10\x02\x12\x15\n\x11\x45VENT_COVER_IMAGE\x10\x03\x12\x0f\n\x0bSTATUS_POLL\x10\x04\x12\x18\n\x14HD_VIDEO_DUAL_UPLOAD\x10\x05\x12\x1b\n\x17STATUS_EXTERNAL_RESHARE\x10\x06\x12\x0e\n\nMEDIA_POLL\x10\x07\x12\x14\n\x10STATUS_ADD_YOURS\x10\x08\x12\x17\n\x13STATUS_NOTIFICATION\x10\t\x12\x18\n\x14HD_IMAGE_DUAL_UPLOAD\x10\n\x12\x16\n\x12STICKER_ANNOTATION\x10\x0b\x12\x10\n\x0cMOTION_PHOTO\x10\x0c\x12\x16\n\x12STATUS_LINK_ACTION\x10\r\x12\x14\n\x10VIEW_ALL_REPLIES\x10\x0e\x12\x1f\n\x1bSTATUS_ADD_YOURS_AI_IMAGINE\x10\x0f\x12\x13\n\x0fSTATUS_QUESTION\x10\x10\x12\x1b\n\x17STATUS_ADD_YOURS_DIWALI\x10\x11\x12\x13\n\x0fSTATUS_REACTION\x10\x12\x12\x1a\n\x16HEVC_VIDEO_DUAL_UPLOAD\x10\x13\"\xab\x01\n\x08ThreadID\x12:\n\nthreadType\x18\x01 \x01(\x0e\x32&.WAWebProtobufsE2E.ThreadID.ThreadType\x12\'\n\tthreadKey\x18\x02 \x01(\x0b\x32\x14.WACommon.MessageKey\":\n\nThreadType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x10\n\x0cVIEW_REPLIES\x10\x01\x12\r\n\tAI_THREAD\x10\x02\"\xd1\x05\n\x12MessageContextInfo\x12\x41\n\x12\x64\x65viceListMetadata\x18\x01 \x01(\x0b\x32%.WAWebProtobufsE2E.DeviceListMetadata\x12!\n\x19\x64\x65viceListMetadataVersion\x18\x02 \x01(\x05\x12\x15\n\rmessageSecret\x18\x03 \x01(\x0c\x12\x14\n\x0cpaddingBytes\x18\x04 \x01(\x0c\x12\"\n\x1amessageAddOnDurationInSecs\x18\x05 \x01(\r\x12\x18\n\x10\x62otMessageSecret\x18\x06 \x01(\x0c\x12,\n\x0b\x62otMetadata\x18\x07 \x01(\x0b\x32\x17.WAAICommon.BotMetadata\x12\x1d\n\x15reportingTokenVersion\x18\x08 \x01(\x05\x12\\\n\x16messageAddOnExpiryType\x18\t \x01(\x0e\x32<.WAWebProtobufsE2E.MessageContextInfo.MessageAddonExpiryType\x12\x41\n\x12messageAssociation\x18\n \x01(\x0b\x32%.WAWebProtobufsE2E.MessageAssociation\x12\x18\n\x10\x63\x61piCreatedGroup\x18\x0b \x01(\x08\x12\x16\n\x0esupportPayload\x18\x0c \x01(\t\x12,\n\x0climitSharing\x18\r \x01(\x0b\x32\x16.WACommon.LimitSharing\x12.\n\x0elimitSharingV2\x18\x0e \x01(\x0b\x32\x16.WACommon.LimitSharing\x12-\n\x08threadID\x18\x0f \x03(\x0b\x32\x1b.WAWebProtobufsE2E.ThreadID\"=\n\x16MessageAddonExpiryType\x12\n\n\x06STATIC\x10\x01\x12\x17\n\x13\x44\x45PENDENT_ON_PARENT\x10\x02\"\xc5\x04\n\x15InteractiveAnnotation\x12/\n\x08location\x18\x02 \x01(\x0b\x32\x1b.WAWebProtobufsE2E.LocationH\x00\x12S\n\nnewsletter\x18\x03 \x01(\x0b\x32=.WAWebProtobufsE2E.ContextInfo.ForwardedNewsletterMessageInfoH\x00\x12\x18\n\x0e\x65mbeddedAction\x18\x06 \x01(\x08H\x00\x12\x35\n\ttapAction\x18\x07 \x01(\x0b\x32 .WAWebProtobufsE2E.TapLinkActionH\x00\x12\x31\n\x0fpolygonVertices\x18\x01 \x03(\x0b\x32\x18.WAWebProtobufsE2E.Point\x12\x1e\n\x16shouldSkipConfirmation\x18\x04 \x01(\x08\x12;\n\x0f\x65mbeddedContent\x18\x05 \x01(\x0b\x32\".WAWebProtobufsE2E.EmbeddedContent\x12O\n\x0estatusLinkType\x18\x08 \x01(\x0e\x32\x37.WAWebProtobufsE2E.InteractiveAnnotation.StatusLinkType\"j\n\x0eStatusLinkType\x12\x1b\n\x17RASTERIZED_LINK_PREVIEW\x10\x01\x12\x1d\n\x19RASTERIZED_LINK_TRUNCATED\x10\x02\x12\x1c\n\x18RASTERIZED_LINK_FULL_URL\x10\x03\x42\x08\n\x06\x61\x63tion\"\xbd\x05\n\x16HydratedTemplateButton\x12^\n\x10quickReplyButton\x18\x01 \x01(\x0b\x32\x42.WAWebProtobufsE2E.HydratedTemplateButton.HydratedQuickReplyButtonH\x00\x12P\n\turlButton\x18\x02 \x01(\x0b\x32;.WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButtonH\x00\x12R\n\ncallButton\x18\x03 \x01(\x0b\x32<.WAWebProtobufsE2E.HydratedTemplateButton.HydratedCallButtonH\x00\x12\r\n\x05index\x18\x04 \x01(\r\x1a\xfe\x01\n\x11HydratedURLButton\x12\x13\n\x0b\x64isplayText\x18\x01 \x01(\t\x12\x0b\n\x03URL\x18\x02 \x01(\t\x12\x19\n\x11\x63onsentedUsersURL\x18\x03 \x01(\t\x12p\n\x13webviewPresentation\x18\x04 \x01(\x0e\x32S.WAWebProtobufsE2E.HydratedTemplateButton.HydratedURLButton.WebviewPresentationType\":\n\x17WebviewPresentationType\x12\x08\n\x04\x46ULL\x10\x01\x12\x08\n\x04TALL\x10\x02\x12\x0b\n\x07\x43OMPACT\x10\x03\x1a>\n\x12HydratedCallButton\x12\x13\n\x0b\x64isplayText\x18\x01 \x01(\t\x12\x13\n\x0bphoneNumber\x18\x02 \x01(\t\x1a;\n\x18HydratedQuickReplyButton\x12\x13\n\x0b\x64isplayText\x18\x01 \x01(\t\x12\n\n\x02ID\x18\x02 \x01(\tB\x10\n\x0ehydratedButton\"\xbb\x03\n\x11PaymentBackground\x12\n\n\x02ID\x18\x01 \x01(\t\x12\x12\n\nfileLength\x18\x02 \x01(\x04\x12\r\n\x05width\x18\x03 \x01(\r\x12\x0e\n\x06height\x18\x04 \x01(\r\x12\x10\n\x08mimetype\x18\x05 \x01(\t\x12\x17\n\x0fplaceholderArgb\x18\x06 \x01(\x07\x12\x10\n\x08textArgb\x18\x07 \x01(\x07\x12\x13\n\x0bsubtextArgb\x18\x08 \x01(\x07\x12\x41\n\tmediaData\x18\t \x01(\x0b\x32..WAWebProtobufsE2E.PaymentBackground.MediaData\x12\x37\n\x04type\x18\n \x01(\x0e\x32).WAWebProtobufsE2E.PaymentBackground.Type\x1aw\n\tMediaData\x12\x10\n\x08mediaKey\x18\x01 \x01(\x0c\x12\x19\n\x11mediaKeyTimestamp\x18\x02 \x01(\x03\x12\x12\n\nfileSHA256\x18\x03 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x04 \x01(\x0c\x12\x12\n\ndirectPath\x18\x05 \x01(\t\" \n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\"\xb1\x03\n\x10\x44isappearingMode\x12@\n\tinitiator\x18\x01 \x01(\x0e\x32-.WAWebProtobufsE2E.DisappearingMode.Initiator\x12<\n\x07trigger\x18\x02 \x01(\x0e\x32+.WAWebProtobufsE2E.DisappearingMode.Trigger\x12\x1a\n\x12initiatorDeviceJID\x18\x03 \x01(\t\x12\x15\n\rinitiatedByMe\x18\x04 \x01(\x08\"\x7f\n\x07Trigger\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x10\n\x0c\x43HAT_SETTING\x10\x01\x12\x13\n\x0f\x41\x43\x43OUNT_SETTING\x10\x02\x12\x0f\n\x0b\x42ULK_CHANGE\x10\x03\x12\x1b\n\x17\x42IZ_SUPPORTS_FB_HOSTING\x10\x04\x12\x12\n\x0eUNKNOWN_GROUPS\x10\x05\"i\n\tInitiator\x12\x13\n\x0f\x43HANGED_IN_CHAT\x10\x00\x12\x13\n\x0fINITIATED_BY_ME\x10\x01\x12\x16\n\x12INITIATED_BY_OTHER\x10\x02\x12\x1a\n\x16\x42IZ_UPGRADE_FB_HOSTING\x10\x03\"\x8e\x02\n\x0eProcessedVideo\x12\x12\n\ndirectPath\x18\x01 \x01(\t\x12\x12\n\nfileSHA256\x18\x02 \x01(\x0c\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\r\n\x05width\x18\x04 \x01(\r\x12\x12\n\nfileLength\x18\x05 \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x06 \x01(\r\x12?\n\x07quality\x18\x07 \x01(\x0e\x32..WAWebProtobufsE2E.ProcessedVideo.VideoQuality\x12\x14\n\x0c\x63\x61pabilities\x18\x08 \x03(\t\"9\n\x0cVideoQuality\x12\r\n\tUNDEFINED\x10\x00\x12\x07\n\x03LOW\x10\x01\x12\x07\n\x03MID\x10\x02\x12\x08\n\x04HIGH\x10\x03\"\xb3\x33\n\x07Message\x12\x14\n\x0c\x63onversation\x18\x01 \x01(\t\x12U\n\x1csenderKeyDistributionMessage\x18\x02 \x01(\x0b\x32/.WAWebProtobufsE2E.SenderKeyDistributionMessage\x12\x35\n\x0cimageMessage\x18\x03 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.ImageMessage\x12\x39\n\x0e\x63ontactMessage\x18\x04 \x01(\x0b\x32!.WAWebProtobufsE2E.ContactMessage\x12;\n\x0flocationMessage\x18\x05 \x01(\x0b\x32\".WAWebProtobufsE2E.LocationMessage\x12\x43\n\x13\x65xtendedTextMessage\x18\x06 \x01(\x0b\x32&.WAWebProtobufsE2E.ExtendedTextMessage\x12;\n\x0f\x64ocumentMessage\x18\x07 \x01(\x0b\x32\".WAWebProtobufsE2E.DocumentMessage\x12\x35\n\x0c\x61udioMessage\x18\x08 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.AudioMessage\x12\x35\n\x0cvideoMessage\x18\t \x01(\x0b\x32\x1f.WAWebProtobufsE2E.VideoMessage\x12%\n\x04\x63\x61ll\x18\n \x01(\x0b\x32\x17.WAWebProtobufsE2E.Call\x12%\n\x04\x63hat\x18\x0b \x01(\x0b\x32\x17.WAWebProtobufsE2E.Chat\x12;\n\x0fprotocolMessage\x18\x0c \x01(\x0b\x32\".WAWebProtobufsE2E.ProtocolMessage\x12\x45\n\x14\x63ontactsArrayMessage\x18\r \x01(\x0b\x32\'.WAWebProtobufsE2E.ContactsArrayMessage\x12K\n\x17highlyStructuredMessage\x18\x0e \x01(\x0b\x32*.WAWebProtobufsE2E.HighlyStructuredMessage\x12\x63\n*fastRatchetKeySenderKeyDistributionMessage\x18\x0f \x01(\x0b\x32/.WAWebProtobufsE2E.SenderKeyDistributionMessage\x12\x41\n\x12sendPaymentMessage\x18\x10 \x01(\x0b\x32%.WAWebProtobufsE2E.SendPaymentMessage\x12\x43\n\x13liveLocationMessage\x18\x12 \x01(\x0b\x32&.WAWebProtobufsE2E.LiveLocationMessage\x12G\n\x15requestPaymentMessage\x18\x16 \x01(\x0b\x32(.WAWebProtobufsE2E.RequestPaymentMessage\x12U\n\x1c\x64\x65\x63linePaymentRequestMessage\x18\x17 \x01(\x0b\x32/.WAWebProtobufsE2E.DeclinePaymentRequestMessage\x12S\n\x1b\x63\x61ncelPaymentRequestMessage\x18\x18 \x01(\x0b\x32..WAWebProtobufsE2E.CancelPaymentRequestMessage\x12;\n\x0ftemplateMessage\x18\x19 \x01(\x0b\x32\".WAWebProtobufsE2E.TemplateMessage\x12\x39\n\x0estickerMessage\x18\x1a \x01(\x0b\x32!.WAWebProtobufsE2E.StickerMessage\x12\x41\n\x12groupInviteMessage\x18\x1c \x01(\x0b\x32%.WAWebProtobufsE2E.GroupInviteMessage\x12Q\n\x1atemplateButtonReplyMessage\x18\x1d \x01(\x0b\x32-.WAWebProtobufsE2E.TemplateButtonReplyMessage\x12\x39\n\x0eproductMessage\x18\x1e \x01(\x0b\x32!.WAWebProtobufsE2E.ProductMessage\x12?\n\x11\x64\x65viceSentMessage\x18\x1f \x01(\x0b\x32$.WAWebProtobufsE2E.DeviceSentMessage\x12\x41\n\x12messageContextInfo\x18# \x01(\x0b\x32%.WAWebProtobufsE2E.MessageContextInfo\x12\x33\n\x0blistMessage\x18$ \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ListMessage\x12>\n\x0fviewOnceMessage\x18% \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x35\n\x0corderMessage\x18& \x01(\x0b\x32\x1f.WAWebProtobufsE2E.OrderMessage\x12\x43\n\x13listResponseMessage\x18\' \x01(\x0b\x32&.WAWebProtobufsE2E.ListResponseMessage\x12?\n\x10\x65phemeralMessage\x18( \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x39\n\x0einvoiceMessage\x18) \x01(\x0b\x32!.WAWebProtobufsE2E.InvoiceMessage\x12\x39\n\x0e\x62uttonsMessage\x18* \x01(\x0b\x32!.WAWebProtobufsE2E.ButtonsMessage\x12I\n\x16\x62uttonsResponseMessage\x18+ \x01(\x0b\x32).WAWebProtobufsE2E.ButtonsResponseMessage\x12\x45\n\x14paymentInviteMessage\x18, \x01(\x0b\x32\'.WAWebProtobufsE2E.PaymentInviteMessage\x12\x41\n\x12interactiveMessage\x18- \x01(\x0b\x32%.WAWebProtobufsE2E.InteractiveMessage\x12;\n\x0freactionMessage\x18. \x01(\x0b\x32\".WAWebProtobufsE2E.ReactionMessage\x12G\n\x15stickerSyncRmrMessage\x18/ \x01(\x0b\x32(.WAWebProtobufsE2E.StickerSyncRMRMessage\x12Q\n\x1ainteractiveResponseMessage\x18\x30 \x01(\x0b\x32-.WAWebProtobufsE2E.InteractiveResponseMessage\x12\x43\n\x13pollCreationMessage\x18\x31 \x01(\x0b\x32&.WAWebProtobufsE2E.PollCreationMessage\x12?\n\x11pollUpdateMessage\x18\x32 \x01(\x0b\x32$.WAWebProtobufsE2E.PollUpdateMessage\x12?\n\x11keepInChatMessage\x18\x33 \x01(\x0b\x32$.WAWebProtobufsE2E.KeepInChatMessage\x12I\n\x1a\x64ocumentWithCaptionMessage\x18\x35 \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12O\n\x19requestPhoneNumberMessage\x18\x36 \x01(\x0b\x32,.WAWebProtobufsE2E.RequestPhoneNumberMessage\x12@\n\x11viewOnceMessageV2\x18\x37 \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x41\n\x12\x65ncReactionMessage\x18\x38 \x01(\x0b\x32%.WAWebProtobufsE2E.EncReactionMessage\x12<\n\reditedMessage\x18: \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12I\n\x1aviewOnceMessageV2Extension\x18; \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x45\n\x15pollCreationMessageV2\x18< \x01(\x0b\x32&.WAWebProtobufsE2E.PollCreationMessage\x12U\n\x1cscheduledCallCreationMessage\x18= \x01(\x0b\x32/.WAWebProtobufsE2E.ScheduledCallCreationMessage\x12\x44\n\x15groupMentionedMessage\x18> \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12=\n\x10pinInChatMessage\x18? \x01(\x0b\x32#.WAWebProtobufsE2E.PinInChatMessage\x12\x45\n\x15pollCreationMessageV3\x18@ \x01(\x0b\x32&.WAWebProtobufsE2E.PollCreationMessage\x12M\n\x18scheduledCallEditMessage\x18\x41 \x01(\x0b\x32+.WAWebProtobufsE2E.ScheduledCallEditMessage\x12\x33\n\nptvMessage\x18\x42 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.VideoMessage\x12?\n\x10\x62otInvokeMessage\x18\x43 \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12:\n\x0f\x63\x61llLogMesssage\x18\x45 \x01(\x0b\x32!.WAWebProtobufsE2E.CallLogMessage\x12\x45\n\x14messageHistoryBundle\x18\x46 \x01(\x0b\x32\'.WAWebProtobufsE2E.MessageHistoryBundle\x12?\n\x11\x65ncCommentMessage\x18G \x01(\x0b\x32$.WAWebProtobufsE2E.EncCommentMessage\x12\x35\n\x0c\x62\x63\x61llMessage\x18H \x01(\x0b\x32\x1f.WAWebProtobufsE2E.BCallMessage\x12\x43\n\x14lottieStickerMessage\x18J \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x35\n\x0c\x65ventMessage\x18K \x01(\x0b\x32\x1f.WAWebProtobufsE2E.EventMessage\x12K\n\x17\x65ncEventResponseMessage\x18L \x01(\x0b\x32*.WAWebProtobufsE2E.EncEventResponseMessage\x12\x39\n\x0e\x63ommentMessage\x18M \x01(\x0b\x32!.WAWebProtobufsE2E.CommentMessage\x12U\n\x1cnewsletterAdminInviteMessage\x18N \x01(\x0b\x32/.WAWebProtobufsE2E.NewsletterAdminInviteMessage\x12\x41\n\x12placeholderMessage\x18P \x01(\x0b\x32%.WAWebProtobufsE2E.PlaceholderMessage\x12I\n\x16secretEncryptedMessage\x18R \x01(\x0b\x32).WAWebProtobufsE2E.SecretEncryptedMessage\x12\x35\n\x0c\x61lbumMessage\x18S \x01(\x0b\x32\x1f.WAWebProtobufsE2E.AlbumMessage\x12>\n\x0f\x65ventCoverImage\x18U \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x41\n\x12stickerPackMessage\x18V \x01(\x0b\x32%.WAWebProtobufsE2E.StickerPackMessage\x12\x43\n\x14statusMentionMessage\x18W \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12O\n\x19pollResultSnapshotMessage\x18X \x01(\x0b\x32,.WAWebProtobufsE2E.PollResultSnapshotMessage\x12M\n\x1epollCreationOptionImageMessage\x18Z \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x45\n\x16\x61ssociatedChildMessage\x18[ \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12H\n\x19groupStatusMentionMessage\x18\\ \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x44\n\x15pollCreationMessageV4\x18] \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12=\n\x0estatusAddYours\x18_ \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x41\n\x12groupStatusMessage\x18` \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x45\n\x13richResponseMessage\x18\x61 \x01(\x0b\x32(.WAWebProtobufsE2E.AIRichResponseMessage\x12O\n\x19statusNotificationMessage\x18\x62 \x01(\x0b\x32,.WAWebProtobufsE2E.StatusNotificationMessage\x12\x42\n\x13limitSharingMessage\x18\x63 \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12=\n\x0e\x62otTaskMessage\x18\x64 \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12>\n\x0fquestionMessage\x18\x65 \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x45\n\x14messageHistoryNotice\x18\x66 \x01(\x0b\x32\'.WAWebProtobufsE2E.MessageHistoryNotice\x12\x43\n\x14groupStatusMessageV2\x18g \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12\x42\n\x13\x62otForwardedMessage\x18h \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12S\n\x1bstatusQuestionAnswerMessage\x18i \x01(\x0b\x32..WAWebProtobufsE2E.StatusQuestionAnswerMessage\x12\x43\n\x14questionReplyMessage\x18j \x01(\x0b\x32%.WAWebProtobufsE2E.FutureProofMessage\x12K\n\x17questionResponseMessage\x18k \x01(\x0b\x32*.WAWebProtobufsE2E.QuestionResponseMessage\x12\x43\n\x13statusQuotedMessage\x18m \x01(\x0b\x32&.WAWebProtobufsE2E.StatusQuotedMessage\x12[\n\x1fstatusStickerInteractionMessage\x18n \x01(\x0b\x32\x32.WAWebProtobufsE2E.StatusStickerInteractionMessage\x12\x45\n\x15pollCreationMessageV5\x18o \x01(\x0b\x32&.WAWebProtobufsE2E.PollCreationMessage\x12Q\n\x1bpollResultSnapshotMessageV2\x18p \x01(\x0b\x32,.WAWebProtobufsE2E.PollResultSnapshotMessage\x12]\n!newsletterFollowerInviteMessageV2\x18q \x01(\x0b\x32\x32.WAWebProtobufsE2E.NewsletterFollowerInviteMessage\x12O\n\x19requestContactInfoMessage\x18r \x01(\x0b\x32,.WAWebProtobufsE2E.RequestContactInfoMessage\"{\n\x0c\x41lbumMessage\x12\x1a\n\x12\x65xpectedImageCount\x18\x02 \x01(\r\x12\x1a\n\x12\x65xpectedVideoCount\x18\x03 \x01(\r\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\"h\n\x16MessageHistoryMetadata\x12\x18\n\x10historyReceivers\x18\x01 \x03(\t\x12\x1e\n\x16oldestMessageTimestamp\x18\x02 \x01(\x03\x12\x14\n\x0cmessageCount\x18\x03 \x01(\x03\"\x96\x01\n\x14MessageHistoryNotice\x12\x33\n\x0b\x63ontextInfo\x18\x01 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12I\n\x16messageHistoryMetadata\x18\x02 \x01(\x0b\x32).WAWebProtobufsE2E.MessageHistoryMetadata\"\x94\x02\n\x14MessageHistoryBundle\x12\x10\n\x08mimetype\x18\x01 \x01(\t\x12\x12\n\nfileSHA256\x18\x02 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x03 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x04 \x01(\x0c\x12\x12\n\ndirectPath\x18\x05 \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x06 \x01(\x03\x12\x33\n\x0b\x63ontextInfo\x18\x07 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12I\n\x16messageHistoryMetadata\x18\x08 \x01(\x0b\x32).WAWebProtobufsE2E.MessageHistoryMetadata\"s\n\x17\x45ncEventResponseMessage\x12\x35\n\x17\x65ventCreationMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x12\n\nencPayload\x18\x02 \x01(\x0c\x12\r\n\x05\x65ncIV\x18\x03 \x01(\x0c\"\x9a\x02\n\x0c\x45ventMessage\x12\x33\n\x0b\x63ontextInfo\x18\x01 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x12\n\nisCanceled\x18\x02 \x01(\x08\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x34\n\x08location\x18\x05 \x01(\x0b\x32\".WAWebProtobufsE2E.LocationMessage\x12\x10\n\x08joinLink\x18\x06 \x01(\t\x12\x11\n\tstartTime\x18\x07 \x01(\x03\x12\x0f\n\x07\x65ndTime\x18\x08 \x01(\x03\x12\x1a\n\x12\x65xtraGuestsAllowed\x18\t \x01(\x08\x12\x16\n\x0eisScheduleCall\x18\n \x01(\x08\"m\n\x0e\x43ommentMessage\x12+\n\x07message\x18\x01 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12.\n\x10targetMessageKey\x18\x02 \x01(\x0b\x32\x14.WACommon.MessageKey\"f\n\x11\x45ncCommentMessage\x12.\n\x10targetMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x12\n\nencPayload\x18\x02 \x01(\x0c\x12\r\n\x05\x65ncIV\x18\x03 \x01(\x0c\"g\n\x12\x45ncReactionMessage\x12.\n\x10targetMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x12\n\nencPayload\x18\x02 \x01(\x0c\x12\r\n\x05\x65ncIV\x18\x03 \x01(\x0c\"z\n\x11KeepInChatMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12-\n\x08keepType\x18\x02 \x01(\x0e\x32\x1b.WAWebProtobufsE2E.KeepType\x12\x13\n\x0btimestampMS\x18\x03 \x01(\x03\"J\n\x17QuestionResponseMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x0c\n\x04text\x18\x02 \x01(\t\"N\n\x1bStatusQuestionAnswerMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x0c\n\x04text\x18\x02 \x01(\t\"\x90\x02\n\x19PollResultSnapshotMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12H\n\tpollVotes\x18\x02 \x03(\x0b\x32\x35.WAWebProtobufsE2E.PollResultSnapshotMessage.PollVote\x12\x33\n\x0b\x63ontextInfo\x18\x03 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12-\n\x08pollType\x18\x04 \x01(\x0e\x32\x1b.WAWebProtobufsE2E.PollType\x1a\x37\n\x08PollVote\x12\x12\n\noptionName\x18\x01 \x01(\t\x12\x17\n\x0foptionVoteCount\x18\x02 \x01(\x03\"*\n\x0fPollVoteMessage\x12\x17\n\x0fselectedOptions\x18\x01 \x03(\x0c\"1\n\x0cPollEncValue\x12\x12\n\nencPayload\x18\x01 \x01(\x0c\x12\r\n\x05\x65ncIV\x18\x02 \x01(\x0c\"\x1b\n\x19PollUpdateMessageMetadata\"\xd3\x01\n\x11PollUpdateMessage\x12\x34\n\x16pollCreationMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12-\n\x04vote\x18\x02 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.PollEncValue\x12>\n\x08metadata\x18\x03 \x01(\x0b\x32,.WAWebProtobufsE2E.PollUpdateMessageMetadata\x12\x19\n\x11senderTimestampMS\x18\x04 \x01(\x03\"\xac\x03\n\x13PollCreationMessage\x12\x0e\n\x06\x65ncKey\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\t\x12>\n\x07options\x18\x03 \x03(\x0b\x32-.WAWebProtobufsE2E.PollCreationMessage.Option\x12\x1e\n\x16selectableOptionsCount\x18\x04 \x01(\r\x12\x33\n\x0b\x63ontextInfo\x18\x05 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12;\n\x0fpollContentType\x18\x06 \x01(\x0e\x32\".WAWebProtobufsE2E.PollContentType\x12-\n\x08pollType\x18\x07 \x01(\x0e\x32\x1b.WAWebProtobufsE2E.PollType\x12\x44\n\rcorrectAnswer\x18\x08 \x01(\x0b\x32-.WAWebProtobufsE2E.PollCreationMessage.Option\x1a\x30\n\x06Option\x12\x12\n\noptionName\x18\x01 \x01(\t\x12\x12\n\noptionHash\x18\x02 \x01(\t\"V\n\x15StickerSyncRMRMessage\x12\x10\n\x08\x66ilehash\x18\x01 \x03(\t\x12\x11\n\trmrSource\x18\x02 \x01(\t\x12\x18\n\x10requestTimestamp\x18\x03 \x01(\x03\"r\n\x0fReactionMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x13\n\x0bgroupingKey\x18\x03 \x01(\t\x12\x19\n\x11senderTimestampMS\x18\x04 \x01(\x03\"A\n\x12\x46utureProofMessage\x12+\n\x07message\x18\x01 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"g\n\x11\x44\x65viceSentMessage\x12\x16\n\x0e\x64\x65stinationJID\x18\x01 \x01(\t\x12+\n\x07message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\r\n\x05phash\x18\x03 \x01(\t\"u\n\x19RequestContactInfoMessage\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x15\n\rctaButtonText\x18\x02 \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x03 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\"P\n\x19RequestPhoneNumberMessage\x12\x33\n\x0b\x63ontextInfo\x18\x01 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\"\xad\x01\n\x1fNewsletterFollowerInviteMessage\x12\x15\n\rnewsletterJID\x18\x01 \x01(\t\x12\x16\n\x0enewsletterName\x18\x02 \x01(\t\x12\x15\n\rJPEGThumbnail\x18\x03 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x04 \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x05 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\"\xc4\x01\n\x1cNewsletterAdminInviteMessage\x12\x15\n\rnewsletterJID\x18\x01 \x01(\t\x12\x16\n\x0enewsletterName\x18\x02 \x01(\t\x12\x15\n\rJPEGThumbnail\x18\x03 \x01(\x0c\x12\x0f\n\x07\x63\x61ption\x18\x04 \x01(\t\x12\x18\n\x10inviteExpiration\x18\x05 \x01(\x03\x12\x33\n\x0b\x63ontextInfo\x18\x06 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\"\xa6\x05\n\x0eProductMessage\x12\x42\n\x07product\x18\x01 \x01(\x0b\x32\x31.WAWebProtobufsE2E.ProductMessage.ProductSnapshot\x12\x18\n\x10\x62usinessOwnerJID\x18\x02 \x01(\t\x12\x42\n\x07\x63\x61talog\x18\x04 \x01(\x0b\x32\x31.WAWebProtobufsE2E.ProductMessage.CatalogSnapshot\x12\x0c\n\x04\x62ody\x18\x05 \x01(\t\x12\x0e\n\x06\x66ooter\x18\x06 \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x1a\xb0\x02\n\x0fProductSnapshot\x12\x35\n\x0cproductImage\x18\x01 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.ImageMessage\x12\x11\n\tproductID\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x14\n\x0c\x63urrencyCode\x18\x05 \x01(\t\x12\x17\n\x0fpriceAmount1000\x18\x06 \x01(\x03\x12\x12\n\nretailerID\x18\x07 \x01(\t\x12\x0b\n\x03URL\x18\x08 \x01(\t\x12\x19\n\x11productImageCount\x18\t \x01(\r\x12\x14\n\x0c\x66irstImageID\x18\x0b \x01(\t\x12\x1b\n\x13salePriceAmount1000\x18\x0c \x01(\x03\x12\x11\n\tsignedURL\x18\r \x01(\t\x1al\n\x0f\x43\x61talogSnapshot\x12\x35\n\x0c\x63\x61talogImage\x18\x01 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.ImageMessage\x12\r\n\x05title\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"\xbc\x01\n\x1aTemplateButtonReplyMessage\x12\x12\n\nselectedID\x18\x01 \x01(\t\x12\x1b\n\x13selectedDisplayText\x18\x02 \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x03 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x15\n\rselectedIndex\x18\x04 \x01(\r\x12!\n\x19selectedCarouselCardIndex\x18\x05 \x01(\r\"\x9c\x0b\n\x0fTemplateMessage\x12M\n\x0f\x66ourRowTemplate\x18\x01 \x01(\x0b\x32\x32.WAWebProtobufsE2E.TemplateMessage.FourRowTemplateH\x00\x12]\n\x17hydratedFourRowTemplate\x18\x02 \x01(\x0b\x32:.WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplateH\x00\x12K\n\x1ainteractiveMessageTemplate\x18\x05 \x01(\x0b\x32%.WAWebProtobufsE2E.InteractiveMessageH\x00\x12\x33\n\x0b\x63ontextInfo\x18\x03 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12T\n\x10hydratedTemplate\x18\x04 \x01(\x0b\x32:.WAWebProtobufsE2E.TemplateMessage.HydratedFourRowTemplate\x12\x12\n\ntemplateID\x18\t \x01(\t\x1a\xdb\x03\n\x17HydratedFourRowTemplate\x12=\n\x0f\x64ocumentMessage\x18\x01 \x01(\x0b\x32\".WAWebProtobufsE2E.DocumentMessageH\x00\x12\x1b\n\x11hydratedTitleText\x18\x02 \x01(\tH\x00\x12\x37\n\x0cimageMessage\x18\x03 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.ImageMessageH\x00\x12\x37\n\x0cvideoMessage\x18\x04 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.VideoMessageH\x00\x12=\n\x0flocationMessage\x18\x05 \x01(\x0b\x32\".WAWebProtobufsE2E.LocationMessageH\x00\x12\x1b\n\x13hydratedContentText\x18\x06 \x01(\t\x12\x1a\n\x12hydratedFooterText\x18\x07 \x01(\t\x12\x42\n\x0fhydratedButtons\x18\x08 \x03(\x0b\x32).WAWebProtobufsE2E.HydratedTemplateButton\x12\x12\n\ntemplateID\x18\t \x01(\t\x12\x19\n\x11maskLinkedDevices\x18\n \x01(\x08\x42\x07\n\x05title\x1a\x86\x04\n\x0f\x46ourRowTemplate\x12=\n\x0f\x64ocumentMessage\x18\x01 \x01(\x0b\x32\".WAWebProtobufsE2E.DocumentMessageH\x00\x12M\n\x17highlyStructuredMessage\x18\x02 \x01(\x0b\x32*.WAWebProtobufsE2E.HighlyStructuredMessageH\x00\x12\x37\n\x0cimageMessage\x18\x03 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.ImageMessageH\x00\x12\x37\n\x0cvideoMessage\x18\x04 \x01(\x0b\x32\x1f.WAWebProtobufsE2E.VideoMessageH\x00\x12=\n\x0flocationMessage\x18\x05 \x01(\x0b\x32\".WAWebProtobufsE2E.LocationMessageH\x00\x12;\n\x07\x63ontent\x18\x06 \x01(\x0b\x32*.WAWebProtobufsE2E.HighlyStructuredMessage\x12:\n\x06\x66ooter\x18\x07 \x01(\x0b\x32*.WAWebProtobufsE2E.HighlyStructuredMessage\x12\x32\n\x07\x62uttons\x18\x08 \x03(\x0b\x32!.WAWebProtobufsE2E.TemplateButtonB\x07\n\x05titleB\x08\n\x06\x66ormat\"\x89\x04\n\x0eStickerMessage\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\x12\n\nfileSHA256\x18\x02 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x03 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x04 \x01(\x0c\x12\x10\n\x08mimetype\x18\x05 \x01(\t\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\r\n\x05width\x18\x07 \x01(\r\x12\x12\n\ndirectPath\x18\x08 \x01(\t\x12\x12\n\nfileLength\x18\t \x01(\x04\x12\x19\n\x11mediaKeyTimestamp\x18\n \x01(\x03\x12\x18\n\x10\x66irstFrameLength\x18\x0b \x01(\r\x12\x19\n\x11\x66irstFrameSidecar\x18\x0c \x01(\x0c\x12\x12\n\nisAnimated\x18\r \x01(\x08\x12\x14\n\x0cpngThumbnail\x18\x10 \x01(\x0c\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x15\n\rstickerSentTS\x18\x12 \x01(\x03\x12\x10\n\x08isAvatar\x18\x13 \x01(\x08\x12\x13\n\x0bisAiSticker\x18\x14 \x01(\x08\x12\x10\n\x08isLottie\x18\x15 \x01(\x08\x12\x1a\n\x12\x61\x63\x63\x65ssibilityLabel\x18\x16 \x01(\t\x12\x39\n\x0emediaKeyDomain\x18\x17 \x01(\x0e\x32!.WAWebProtobufsE2E.MediaKeyDomain\"\xaa\x02\n\x13LiveLocationMessage\x12\x17\n\x0f\x64\x65greesLatitude\x18\x01 \x01(\x01\x12\x18\n\x10\x64\x65greesLongitude\x18\x02 \x01(\x01\x12\x18\n\x10\x61\x63\x63uracyInMeters\x18\x03 \x01(\r\x12\x12\n\nspeedInMps\x18\x04 \x01(\x02\x12)\n!degreesClockwiseFromMagneticNorth\x18\x05 \x01(\r\x12\x0f\n\x07\x63\x61ption\x18\x06 \x01(\t\x12\x16\n\x0esequenceNumber\x18\x07 \x01(\x03\x12\x12\n\ntimeOffset\x18\x08 \x01(\r\x12\x15\n\rJPEGThumbnail\x18\x10 \x01(\x0c\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\"@\n\x1b\x43\x61ncelPaymentRequestMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\"A\n\x1c\x44\x65\x63linePaymentRequestMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\"\x8b\x02\n\x15RequestPaymentMessage\x12/\n\x0bnoteMessage\x18\x04 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x1b\n\x13\x63urrencyCodeIso4217\x18\x01 \x01(\t\x12\x12\n\namount1000\x18\x02 \x01(\x04\x12\x13\n\x0brequestFrom\x18\x03 \x01(\t\x12\x17\n\x0f\x65xpiryTimestamp\x18\x05 \x01(\x03\x12(\n\x06\x61mount\x18\x06 \x01(\x0b\x32\x18.WAWebProtobufsE2E.Money\x12\x38\n\nbackground\x18\x07 \x01(\x0b\x32$.WAWebProtobufsE2E.PaymentBackground\"\xc9\x01\n\x12SendPaymentMessage\x12/\n\x0bnoteMessage\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12/\n\x11requestMessageKey\x18\x03 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x38\n\nbackground\x18\x04 \x01(\x0b\x32$.WAWebProtobufsE2E.PaymentBackground\x12\x17\n\x0ftransactionData\x18\x05 \x01(\t\"\x95\x01\n\x14\x43ontactsArrayMessage\x12\x13\n\x0b\x64isplayName\x18\x01 \x01(\t\x12\x33\n\x08\x63ontacts\x18\x02 \x03(\x0b\x32!.WAWebProtobufsE2E.ContactMessage\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\"M\n&InitialSecurityNotificationSettingSync\x12#\n\x1bsecurityNotificationEnabled\x18\x01 \x01(\x08\";\n&FullHistorySyncOnDemandRequestMetadata\x12\x11\n\trequestID\x18\x01 \x01(\t\"P\n\"AppStateFatalExceptionNotification\x12\x17\n\x0f\x63ollectionNames\x18\x01 \x03(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"N\n\x16\x41ppStateSyncKeyRequest\x12\x34\n\x06keyIDs\x18\x01 \x03(\x0b\x32$.WAWebProtobufsE2E.AppStateSyncKeyId\"H\n\x14\x41ppStateSyncKeyShare\x12\x30\n\x04keys\x18\x01 \x03(\x0b\x32\".WAWebProtobufsE2E.AppStateSyncKey\"}\n\x13\x41ppStateSyncKeyData\x12\x0f\n\x07keyData\x18\x01 \x01(\x0c\x12\x42\n\x0b\x66ingerprint\x18\x02 \x01(\x0b\x32-.WAWebProtobufsE2E.AppStateSyncKeyFingerprint\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\"\\\n\x1a\x41ppStateSyncKeyFingerprint\x12\r\n\x05rawID\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrentIndex\x18\x02 \x01(\r\x12\x19\n\rdeviceIndexes\x18\x03 \x03(\rB\x02\x10\x01\"\"\n\x11\x41ppStateSyncKeyId\x12\r\n\x05keyID\x18\x01 \x01(\x0c\"\x7f\n\x0f\x41ppStateSyncKey\x12\x33\n\x05keyID\x18\x01 \x01(\x0b\x32$.WAWebProtobufsE2E.AppStateSyncKeyId\x12\x37\n\x07keyData\x18\x02 \x01(\x0b\x32&.WAWebProtobufsE2E.AppStateSyncKeyData\"\xe6\x03\n\x17HistorySyncNotification\x12\x12\n\nfileSHA256\x18\x01 \x01(\x0c\x12\x12\n\nfileLength\x18\x02 \x01(\x04\x12\x10\n\x08mediaKey\x18\x03 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x04 \x01(\x0c\x12\x12\n\ndirectPath\x18\x05 \x01(\t\x12\x34\n\x08syncType\x18\x06 \x01(\x0e\x32\".WAWebProtobufsE2E.HistorySyncType\x12\x12\n\nchunkOrder\x18\x07 \x01(\r\x12\x19\n\x11originalMessageID\x18\x08 \x01(\t\x12\x10\n\x08progress\x18\t \x01(\r\x12$\n\x1coldestMsgInChunkTimestampSec\x18\n \x01(\x03\x12)\n!initialHistBootstrapInlinePayload\x18\x0b \x01(\x0c\x12 \n\x18peerDataRequestSessionID\x18\x0c \x01(\t\x12i\n&fullHistorySyncOnDemandRequestMetadata\x18\r \x01(\x0b\x32\x39.WAWebProtobufsE2E.FullHistorySyncOnDemandRequestMetadata\x12\x11\n\tencHandle\x18\x0e \x01(\t\"\'\n\x04\x43hat\x12\x13\n\x0b\x64isplayName\x18\x01 \x01(\t\x12\n\n\x02ID\x18\x02 \x01(\t\"\x86\x02\n\x04\x43\x61ll\x12\x0f\n\x07\x63\x61llKey\x18\x01 \x01(\x0c\x12\x18\n\x10\x63onversionSource\x18\x02 \x01(\t\x12\x16\n\x0e\x63onversionData\x18\x03 \x01(\x0c\x12\x1e\n\x16\x63onversionDelaySeconds\x18\x04 \x01(\r\x12\x13\n\x0b\x63twaSignals\x18\x05 \x01(\t\x12\x13\n\x0b\x63twaPayload\x18\x06 \x01(\x0c\x12\x33\n\x0b\x63ontextInfo\x18\x07 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12#\n\x1bnativeFlowCallButtonPayload\x18\x08 \x01(\t\x12\x17\n\x0f\x64\x65\x65plinkPayload\x18\t \x01(\t\"\xad\x03\n\x0c\x41udioMessage\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\x10\n\x08mimetype\x18\x02 \x01(\t\x12\x12\n\nfileSHA256\x18\x03 \x01(\x0c\x12\x12\n\nfileLength\x18\x04 \x01(\x04\x12\x0f\n\x07seconds\x18\x05 \x01(\r\x12\x0b\n\x03PTT\x18\x06 \x01(\x08\x12\x10\n\x08mediaKey\x18\x07 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x08 \x01(\x0c\x12\x12\n\ndirectPath\x18\t \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\n \x01(\x03\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x18\n\x10streamingSidecar\x18\x12 \x01(\x0c\x12\x10\n\x08waveform\x18\x13 \x01(\x0c\x12\x16\n\x0e\x62\x61\x63kgroundArgb\x18\x14 \x01(\x07\x12\x10\n\x08viewOnce\x18\x15 \x01(\x08\x12\x1a\n\x12\x61\x63\x63\x65ssibilityLabel\x18\x16 \x01(\t\x12\x39\n\x0emediaKeyDomain\x18\x17 \x01(\x0e\x32!.WAWebProtobufsE2E.MediaKeyDomain\"\xb1\x04\n\x0f\x44ocumentMessage\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\x10\n\x08mimetype\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x12\n\nfileSHA256\x18\x04 \x01(\x0c\x12\x12\n\nfileLength\x18\x05 \x01(\x04\x12\x11\n\tpageCount\x18\x06 \x01(\r\x12\x10\n\x08mediaKey\x18\x07 \x01(\x0c\x12\x10\n\x08\x66ileName\x18\x08 \x01(\t\x12\x15\n\rfileEncSHA256\x18\t \x01(\x0c\x12\x12\n\ndirectPath\x18\n \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x0b \x01(\x03\x12\x14\n\x0c\x63ontactVcard\x18\x0c \x01(\x08\x12\x1b\n\x13thumbnailDirectPath\x18\r \x01(\t\x12\x17\n\x0fthumbnailSHA256\x18\x0e \x01(\x0c\x12\x1a\n\x12thumbnailEncSHA256\x18\x0f \x01(\x0c\x12\x15\n\rJPEGThumbnail\x18\x10 \x01(\x0c\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\x12\x17\n\x0fthumbnailHeight\x18\x12 \x01(\r\x12\x16\n\x0ethumbnailWidth\x18\x13 \x01(\r\x12\x0f\n\x07\x63\x61ption\x18\x14 \x01(\t\x12\x1a\n\x12\x61\x63\x63\x65ssibilityLabel\x18\x15 \x01(\t\x12\x39\n\x0emediaKeyDomain\x18\x16 \x01(\x0e\x32!.WAWebProtobufsE2E.MediaKeyDomain\"%\n\x0bURLMetadata\x12\x16\n\x0e\x66\x62\x45xperimentID\x18\x01 \x01(\r\"T\n\x17PaymentExtendedMetadata\x12\x0c\n\x04type\x18\x01 \x01(\r\x12\x10\n\x08platform\x18\x02 \x01(\t\x12\x19\n\x11messageParamsJSON\x18\x03 \x01(\t\"\x81\x02\n\x14MMSThumbnailMetadata\x12\x1b\n\x13thumbnailDirectPath\x18\x01 \x01(\t\x12\x17\n\x0fthumbnailSHA256\x18\x02 \x01(\x0c\x12\x1a\n\x12thumbnailEncSHA256\x18\x03 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x04 \x01(\x0c\x12\x19\n\x11mediaKeyTimestamp\x18\x05 \x01(\x03\x12\x17\n\x0fthumbnailHeight\x18\x06 \x01(\r\x12\x16\n\x0ethumbnailWidth\x18\x07 \x01(\r\x12\x39\n\x0emediaKeyDomain\x18\x08 \x01(\x0e\x32!.WAWebProtobufsE2E.MediaKeyDomain\"\xb6\x02\n\x0fLocationMessage\x12\x17\n\x0f\x64\x65greesLatitude\x18\x01 \x01(\x01\x12\x18\n\x10\x64\x65greesLongitude\x18\x02 \x01(\x01\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x04 \x01(\t\x12\x0b\n\x03URL\x18\x05 \x01(\t\x12\x0e\n\x06isLive\x18\x06 \x01(\x08\x12\x18\n\x10\x61\x63\x63uracyInMeters\x18\x07 \x01(\r\x12\x12\n\nspeedInMps\x18\x08 \x01(\x02\x12)\n!degreesClockwiseFromMagneticNorth\x18\t \x01(\r\x12\x0f\n\x07\x63omment\x18\x0b \x01(\t\x12\x15\n\rJPEGThumbnail\x18\x10 \x01(\x0c\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\"i\n\x0e\x43ontactMessage\x12\x13\n\x0b\x64isplayName\x18\x01 \x01(\t\x12\r\n\x05vcard\x18\x10 \x01(\t\x12\x33\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\"\\\n\x1cSenderKeyDistributionMessage\x12\x0f\n\x07groupID\x18\x01 \x01(\t\x12+\n#axolotlSenderKeyDistributionMessage\x18\x02 \x01(\x0c\"g\n\x0cVideoEndCard\x12\x10\n\x08username\x18\x01 \x02(\t\x12\x0f\n\x07\x63\x61ption\x18\x02 \x02(\t\x12\x19\n\x11thumbnailImageURL\x18\x03 \x02(\t\x12\x19\n\x11profilePictureURL\x18\x04 \x02(\t\"\xa5\x02\n\x12\x44\x65viceListMetadata\x12\x15\n\rsenderKeyHash\x18\x01 \x01(\x0c\x12\x17\n\x0fsenderTimestamp\x18\x02 \x01(\x04\x12\x1c\n\x10senderKeyIndexes\x18\x03 \x03(\rB\x02\x10\x01\x12\x33\n\x11senderAccountType\x18\x04 \x01(\x0e\x32\x18.WAAdv.ADVEncryptionType\x12\x35\n\x13receiverAccountType\x18\x05 \x01(\x0e\x32\x18.WAAdv.ADVEncryptionType\x12\x18\n\x10recipientKeyHash\x18\x08 \x01(\x0c\x12\x1a\n\x12recipientTimestamp\x18\t \x01(\x04\x12\x1f\n\x13recipientKeyIndexes\x18\n \x03(\rB\x02\x10\x01\"P\n\x0f\x45mbeddedMessage\x12\x10\n\x08stanzaID\x18\x01 \x01(\t\x12+\n\x07message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"\xeb\x02\n\rEmbeddedMusic\x12\x1b\n\x13musicContentMediaID\x18\x01 \x01(\t\x12\x0e\n\x06songID\x18\x02 \x01(\t\x12\x0e\n\x06\x61uthor\x18\x03 \x01(\t\x12\r\n\x05title\x18\x04 \x01(\t\x12\x19\n\x11\x61rtworkDirectPath\x18\x05 \x01(\t\x12\x15\n\rartworkSHA256\x18\x06 \x01(\x0c\x12\x18\n\x10\x61rtworkEncSHA256\x18\x07 \x01(\x0c\x12\x19\n\x11\x61rtistAttribution\x18\x08 \x01(\t\x12\x18\n\x10\x63ountryBlocklist\x18\t \x01(\x0c\x12\x12\n\nisExplicit\x18\n \x01(\x08\x12\x17\n\x0f\x61rtworkMediaKey\x18\x0b \x01(\x0c\x12\x1e\n\x16musicSongStartTimeInMS\x18\x0c \x01(\x03\x12#\n\x1b\x64\x65rivedContentStartTimeInMS\x18\r \x01(\x03\x12\x1b\n\x13overlapDurationInMS\x18\x0e \x01(\x03\"\x96\x01\n\x0f\x45mbeddedContent\x12=\n\x0f\x65mbeddedMessage\x18\x01 \x01(\x0b\x32\".WAWebProtobufsE2E.EmbeddedMessageH\x00\x12\x39\n\rembeddedMusic\x18\x02 \x01(\x0b\x32 .WAWebProtobufsE2E.EmbeddedMusicH\x00\x42\t\n\x07\x63ontent\".\n\rTapLinkAction\x12\r\n\x05title\x18\x01 \x01(\t\x12\x0e\n\x06tapURL\x18\x02 \x01(\t\"G\n\x05Point\x12\x13\n\x0bxDeprecated\x18\x01 \x01(\x05\x12\x13\n\x0byDeprecated\x18\x02 \x01(\x05\x12\t\n\x01x\x18\x03 \x01(\x01\x12\t\n\x01y\x18\x04 \x01(\x01\"K\n\x08Location\x12\x17\n\x0f\x64\x65greesLatitude\x18\x01 \x01(\x01\x12\x18\n\x10\x64\x65greesLongitude\x18\x02 \x01(\x01\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xf9\x04\n\x0eTemplateButton\x12N\n\x10quickReplyButton\x18\x01 \x01(\x0b\x32\x32.WAWebProtobufsE2E.TemplateButton.QuickReplyButtonH\x00\x12@\n\turlButton\x18\x02 \x01(\x0b\x32+.WAWebProtobufsE2E.TemplateButton.URLButtonH\x00\x12\x42\n\ncallButton\x18\x03 \x01(\x0b\x32,.WAWebProtobufsE2E.TemplateButton.CallButtonH\x00\x12\r\n\x05index\x18\x04 \x01(\r\x1a\x8e\x01\n\nCallButton\x12?\n\x0b\x64isplayText\x18\x01 \x01(\x0b\x32*.WAWebProtobufsE2E.HighlyStructuredMessage\x12?\n\x0bphoneNumber\x18\x02 \x01(\x0b\x32*.WAWebProtobufsE2E.HighlyStructuredMessage\x1a\x85\x01\n\tURLButton\x12?\n\x0b\x64isplayText\x18\x01 \x01(\x0b\x32*.WAWebProtobufsE2E.HighlyStructuredMessage\x12\x37\n\x03URL\x18\x02 \x01(\x0b\x32*.WAWebProtobufsE2E.HighlyStructuredMessage\x1a_\n\x10QuickReplyButton\x12?\n\x0b\x64isplayText\x18\x01 \x01(\x0b\x32*.WAWebProtobufsE2E.HighlyStructuredMessage\x12\n\n\x02ID\x18\x02 \x01(\tB\x08\n\x06\x62utton\"<\n\x05Money\x12\r\n\x05value\x18\x01 \x01(\x03\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x14\n\x0c\x63urrencyCode\x18\x03 \x01(\t\".\n\nActionLink\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\x13\n\x0b\x62uttonTitle\x18\x02 \x01(\t\"6\n\x0cGroupMention\x12\x10\n\x08groupJID\x18\x01 \x01(\t\x12\x14\n\x0cgroupSubject\x18\x02 \x01(\t\"J\n\x14MessageSecretMessage\x12\x0f\n\x07version\x18\x01 \x01(\x0f\x12\r\n\x05\x65ncIV\x18\x02 \x01(\x0c\x12\x12\n\nencPayload\x18\x03 \x01(\x0c\"W\n\x12MediaNotifyMessage\x12\x16\n\x0e\x65xpressPathURL\x18\x01 \x01(\t\x12\x15\n\rfileEncSHA256\x18\x02 \x01(\x0c\x12\x12\n\nfileLength\x18\x03 \x01(\x04\"?\n\x1eLIDMigrationMappingSyncMessage\x12\x1d\n\x15\x65ncodedMappingPayload\x18\x01 \x01(\x0c\"\xe2\x01\n\x0eUrlTrackingMap\x12W\n\x16urlTrackingMapElements\x18\x01 \x03(\x0b\x32\x37.WAWebProtobufsE2E.UrlTrackingMap.UrlTrackingMapElement\x1aw\n\x15UrlTrackingMapElement\x12\x13\n\x0boriginalURL\x18\x01 \x01(\t\x12\x1b\n\x13unconsentedUsersURL\x18\x02 \x01(\t\x12\x19\n\x11\x63onsentedUsersURL\x18\x03 \x01(\t\x12\x11\n\tcardIndex\x18\x04 \x01(\r\"4\n\x0bMemberLabel\x12\r\n\x05label\x18\x01 \x01(\t\x12\x16\n\x0elabelTimestamp\x18\x02 \x01(\x03\"\x87\x02\n\x15\x41IRichResponseMessage\x12:\n\x0bmessageType\x18\x01 \x01(\x0e\x32%.WAAICommon.AIRichResponseMessageType\x12\x39\n\x0bsubmessages\x18\x02 \x03(\x0b\x32$.WAAICommon.AIRichResponseSubMessage\x12\x42\n\x0funifiedResponse\x18\x03 \x01(\x0b\x32).WAAICommon.AIRichResponseUnifiedResponse\x12\x33\n\x0b\x63ontextInfo\x18\x04 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.ContextInfo\"y\n\rAIQueryFanout\x12(\n\nmessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12+\n\x07message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x11\n\ttimestamp\x18\x03 \x01(\x03*\x1e\n\x08PollType\x12\x08\n\x04POLL\x10\x00\x12\x08\n\x04QUIZ\x10\x01*E\n\x0fPollContentType\x12\x1d\n\x19UNKNOWN_POLL_CONTENT_TYPE\x10\x00\x12\x08\n\x04TEXT\x10\x01\x12\t\n\x05IMAGE\x10\x02*\x9a\x03\n\x1cPeerDataOperationRequestType\x12\x12\n\x0eUPLOAD_STICKER\x10\x00\x12!\n\x1dSEND_RECENT_STICKER_BOOTSTRAP\x10\x01\x12\x19\n\x15GENERATE_LINK_PREVIEW\x10\x02\x12\x1a\n\x16HISTORY_SYNC_ON_DEMAND\x10\x03\x12\x1e\n\x1aPLACEHOLDER_MESSAGE_RESEND\x10\x04\x12\x1e\n\x1aWAFFLE_LINKING_NONCE_FETCH\x10\x05\x12\x1f\n\x1b\x46ULL_HISTORY_SYNC_ON_DEMAND\x10\x06\x12\x1e\n\x1a\x43OMPANION_META_NONCE_FETCH\x10\x07\x12+\n\'COMPANION_SYNCD_SNAPSHOT_FATAL_RECOVERY\x10\x08\x12(\n$COMPANION_CANONICAL_USER_NONCE_FETCH\x10\t\x12\x1c\n\x18HISTORY_SYNC_CHUNK_RETRY\x10\n\x12\x16\n\x12GALAXY_FLOW_ACTION\x10\x0b*\x9a\x01\n\x0fHistorySyncType\x12\x15\n\x11INITIAL_BOOTSTRAP\x10\x00\x12\x15\n\x11INITIAL_STATUS_V3\x10\x01\x12\x08\n\x04\x46ULL\x10\x02\x12\n\n\x06RECENT\x10\x03\x12\r\n\tPUSH_NAME\x10\x04\x12\x15\n\x11NON_BLOCKING_DATA\x10\x05\x12\r\n\tON_DEMAND\x10\x06\x12\x0e\n\nNO_HISTORY\x10\x07*I\n\x0eMediaKeyDomain\x12\t\n\x05UNSET\x10\x00\x12\r\n\tE2EE_CHAT\x10\x01\x12\n\n\x06STATUS\x10\x02\x12\x08\n\x04\x43\x41PI\x10\x03\x12\x07\n\x03\x42OT\x10\x04*J\n\x08KeepType\x12\x15\n\x11UNKNOWN_KEEP_TYPE\x10\x00\x12\x10\n\x0cKEEP_FOR_ALL\x10\x01\x12\x15\n\x11UNDO_KEEP_FOR_ALL\x10\x02\x42!Z\x1fgo.mau.fi/whatsmeow/proto/waE2E') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waE2E.WAWebProtobufsE2E_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\037go.mau.fi/whatsmeow/proto/waE2E' + _globals['_APPSTATESYNCKEYFINGERPRINT'].fields_by_name['deviceIndexes']._loaded_options = None + _globals['_APPSTATESYNCKEYFINGERPRINT'].fields_by_name['deviceIndexes']._serialized_options = b'\020\001' + _globals['_DEVICELISTMETADATA'].fields_by_name['senderKeyIndexes']._loaded_options = None + _globals['_DEVICELISTMETADATA'].fields_by_name['senderKeyIndexes']._serialized_options = b'\020\001' + _globals['_DEVICELISTMETADATA'].fields_by_name['recipientKeyIndexes']._loaded_options = None + _globals['_DEVICELISTMETADATA'].fields_by_name['recipientKeyIndexes']._serialized_options = b'\020\001' + _globals['_POLLTYPE']._serialized_start=55346 + _globals['_POLLTYPE']._serialized_end=55376 + _globals['_POLLCONTENTTYPE']._serialized_start=55378 + _globals['_POLLCONTENTTYPE']._serialized_end=55447 + _globals['_PEERDATAOPERATIONREQUESTTYPE']._serialized_start=55450 + _globals['_PEERDATAOPERATIONREQUESTTYPE']._serialized_end=55860 + _globals['_HISTORYSYNCTYPE']._serialized_start=55863 + _globals['_HISTORYSYNCTYPE']._serialized_end=56017 + _globals['_MEDIAKEYDOMAIN']._serialized_start=56019 + _globals['_MEDIAKEYDOMAIN']._serialized_end=56092 + _globals['_KEEPTYPE']._serialized_start=56094 + _globals['_KEEPTYPE']._serialized_end=56168 + _globals['_STICKERPACKMESSAGE']._serialized_start=241 + _globals['_STICKERPACKMESSAGE']._serialized_end=1096 + _globals['_STICKERPACKMESSAGE_STICKER']._serialized_start=896 + _globals['_STICKERPACKMESSAGE_STICKER']._serialized_end=1023 + _globals['_STICKERPACKMESSAGE_STICKERPACKORIGIN']._serialized_start=1025 + _globals['_STICKERPACKMESSAGE_STICKERPACKORIGIN']._serialized_end=1096 + _globals['_PLACEHOLDERMESSAGE']._serialized_start=1099 + _globals['_PLACEHOLDERMESSAGE']._serialized_end=1232 + _globals['_PLACEHOLDERMESSAGE_PLACEHOLDERTYPE']._serialized_start=1190 + _globals['_PLACEHOLDERMESSAGE_PLACEHOLDERTYPE']._serialized_end=1232 + _globals['_BCALLMESSAGE']._serialized_start=1235 + _globals['_BCALLMESSAGE']._serialized_end=1414 + _globals['_BCALLMESSAGE_MEDIATYPE']._serialized_start=1368 + _globals['_BCALLMESSAGE_MEDIATYPE']._serialized_end=1414 + _globals['_CALLLOGMESSAGE']._serialized_start=1417 + _globals['_CALLLOGMESSAGE']._serialized_end=1992 + _globals['_CALLLOGMESSAGE_CALLPARTICIPANT']._serialized_start=1677 + _globals['_CALLLOGMESSAGE_CALLPARTICIPANT']._serialized_end=1775 + _globals['_CALLLOGMESSAGE_CALLOUTCOME']._serialized_start=1778 + _globals['_CALLLOGMESSAGE_CALLOUTCOME']._serialized_end=1931 + _globals['_CALLLOGMESSAGE_CALLTYPE']._serialized_start=1933 + _globals['_CALLLOGMESSAGE_CALLTYPE']._serialized_end=1992 + _globals['_SCHEDULEDCALLEDITMESSAGE']._serialized_start=1995 + _globals['_SCHEDULEDCALLEDITMESSAGE']._serialized_end=2165 + _globals['_SCHEDULEDCALLEDITMESSAGE_EDITTYPE']._serialized_start=2130 + _globals['_SCHEDULEDCALLEDITMESSAGE_EDITTYPE']._serialized_end=2165 + _globals['_SCHEDULEDCALLCREATIONMESSAGE']._serialized_start=2168 + _globals['_SCHEDULEDCALLCREATIONMESSAGE']._serialized_end=2366 + _globals['_SCHEDULEDCALLCREATIONMESSAGE_CALLTYPE']._serialized_start=2321 + _globals['_SCHEDULEDCALLCREATIONMESSAGE_CALLTYPE']._serialized_end=2366 + _globals['_EVENTRESPONSEMESSAGE']._serialized_start=2369 + _globals['_EVENTRESPONSEMESSAGE']._serialized_end=2585 + _globals['_EVENTRESPONSEMESSAGE_EVENTRESPONSETYPE']._serialized_start=2516 + _globals['_EVENTRESPONSEMESSAGE_EVENTRESPONSETYPE']._serialized_end=2585 + _globals['_PININCHATMESSAGE']._serialized_start=2588 + _globals['_PININCHATMESSAGE']._serialized_end=2786 + _globals['_PININCHATMESSAGE_TYPE']._serialized_start=2726 + _globals['_PININCHATMESSAGE_TYPE']._serialized_end=2786 + _globals['_STATUSSTICKERINTERACTIONMESSAGE']._serialized_start=2789 + _globals['_STATUSSTICKERINTERACTIONMESSAGE']._serialized_end=3009 + _globals['_STATUSSTICKERINTERACTIONMESSAGE_STATUSSTICKERTYPE']._serialized_start=2963 + _globals['_STATUSSTICKERINTERACTIONMESSAGE_STATUSSTICKERTYPE']._serialized_end=3009 + _globals['_BUTTONSRESPONSEMESSAGE']._serialized_start=3012 + _globals['_BUTTONSRESPONSEMESSAGE']._serialized_end=3259 + _globals['_BUTTONSRESPONSEMESSAGE_TYPE']._serialized_start=3210 + _globals['_BUTTONSRESPONSEMESSAGE_TYPE']._serialized_end=3247 + _globals['_BUTTONSMESSAGE']._serialized_start=3262 + _globals['_BUTTONSMESSAGE']._serialized_end=4244 + _globals['_BUTTONSMESSAGE_BUTTON']._serialized_start=3756 + _globals['_BUTTONSMESSAGE_BUTTON']._serialized_end=4136 + _globals['_BUTTONSMESSAGE_BUTTON_NATIVEFLOWINFO']._serialized_start=3999 + _globals['_BUTTONSMESSAGE_BUTTON_NATIVEFLOWINFO']._serialized_end=4049 + _globals['_BUTTONSMESSAGE_BUTTON_BUTTONTEXT']._serialized_start=4051 + _globals['_BUTTONSMESSAGE_BUTTON_BUTTONTEXT']._serialized_end=4084 + _globals['_BUTTONSMESSAGE_BUTTON_TYPE']._serialized_start=4086 + _globals['_BUTTONSMESSAGE_BUTTON_TYPE']._serialized_end=4136 + _globals['_BUTTONSMESSAGE_HEADERTYPE']._serialized_start=4138 + _globals['_BUTTONSMESSAGE_HEADERTYPE']._serialized_end=4234 + _globals['_SECRETENCRYPTEDMESSAGE']._serialized_start=4247 + _globals['_SECRETENCRYPTEDMESSAGE']._serialized_end=4498 + _globals['_SECRETENCRYPTEDMESSAGE_SECRETENCTYPE']._serialized_start=4436 + _globals['_SECRETENCRYPTEDMESSAGE_SECRETENCTYPE']._serialized_end=4498 + _globals['_GROUPINVITEMESSAGE']._serialized_start=4501 + _globals['_GROUPINVITEMESSAGE']._serialized_end=4803 + _globals['_GROUPINVITEMESSAGE_GROUPTYPE']._serialized_start=4767 + _globals['_GROUPINVITEMESSAGE_GROUPTYPE']._serialized_end=4803 + _globals['_INTERACTIVERESPONSEMESSAGE']._serialized_start=4806 + _globals['_INTERACTIVERESPONSEMESSAGE']._serialized_end=5312 + _globals['_INTERACTIVERESPONSEMESSAGE_BODY']._serialized_start=5066 + _globals['_INTERACTIVERESPONSEMESSAGE_BODY']._serialized_end=5202 + _globals['_INTERACTIVERESPONSEMESSAGE_BODY_FORMAT']._serialized_start=5163 + _globals['_INTERACTIVERESPONSEMESSAGE_BODY_FORMAT']._serialized_end=5202 + _globals['_INTERACTIVERESPONSEMESSAGE_NATIVEFLOWRESPONSEMESSAGE']._serialized_start=5204 + _globals['_INTERACTIVERESPONSEMESSAGE_NATIVEFLOWRESPONSEMESSAGE']._serialized_end=5282 + _globals['_INTERACTIVEMESSAGE']._serialized_start=5315 + _globals['_INTERACTIVEMESSAGE']._serialized_end=7282 + _globals['_INTERACTIVEMESSAGE_CAROUSELMESSAGE']._serialized_start=5970 + _globals['_INTERACTIVEMESSAGE_CAROUSELMESSAGE']._serialized_end=6232 + _globals['_INTERACTIVEMESSAGE_CAROUSELMESSAGE_CAROUSELCARDTYPE']._serialized_start=6165 + _globals['_INTERACTIVEMESSAGE_CAROUSELMESSAGE_CAROUSELCARDTYPE']._serialized_end=6232 + _globals['_INTERACTIVEMESSAGE_SHOPMESSAGE']._serialized_start=6235 + _globals['_INTERACTIVEMESSAGE_SHOPMESSAGE']._serialized_end=6416 + _globals['_INTERACTIVEMESSAGE_SHOPMESSAGE_SURFACE']._serialized_start=6362 + _globals['_INTERACTIVEMESSAGE_SHOPMESSAGE_SURFACE']._serialized_end=6416 + _globals['_INTERACTIVEMESSAGE_NATIVEFLOWMESSAGE']._serialized_start=6419 + _globals['_INTERACTIVEMESSAGE_NATIVEFLOWMESSAGE']._serialized_end=6640 + _globals['_INTERACTIVEMESSAGE_NATIVEFLOWMESSAGE_NATIVEFLOWBUTTON']._serialized_start=6582 + _globals['_INTERACTIVEMESSAGE_NATIVEFLOWMESSAGE_NATIVEFLOWBUTTON']._serialized_end=6640 + _globals['_INTERACTIVEMESSAGE_COLLECTIONMESSAGE']._serialized_start=6642 + _globals['_INTERACTIVEMESSAGE_COLLECTIONMESSAGE']._serialized_end=6713 + _globals['_INTERACTIVEMESSAGE_FOOTER']._serialized_start=6715 + _globals['_INTERACTIVEMESSAGE_FOOTER']._serialized_end=6831 + _globals['_INTERACTIVEMESSAGE_BODY']._serialized_start=5066 + _globals['_INTERACTIVEMESSAGE_BODY']._serialized_end=5086 + _globals['_INTERACTIVEMESSAGE_HEADER']._serialized_start=6856 + _globals['_INTERACTIVEMESSAGE_HEADER']._serialized_end=7260 + _globals['_LISTRESPONSEMESSAGE']._serialized_start=7285 + _globals['_LISTRESPONSEMESSAGE']._serialized_end=7635 + _globals['_LISTRESPONSEMESSAGE_SINGLESELECTREPLY']._serialized_start=7549 + _globals['_LISTRESPONSEMESSAGE_SINGLESELECTREPLY']._serialized_end=7591 + _globals['_LISTRESPONSEMESSAGE_LISTTYPE']._serialized_start=7593 + _globals['_LISTRESPONSEMESSAGE_LISTTYPE']._serialized_end=7635 + _globals['_LISTMESSAGE']._serialized_start=7638 + _globals['_LISTMESSAGE']._serialized_end=8549 + _globals['_LISTMESSAGE_PRODUCTLISTINFO']._serialized_start=7973 + _globals['_LISTMESSAGE_PRODUCTLISTINFO']._serialized_end=8164 + _globals['_LISTMESSAGE_PRODUCTLISTHEADERIMAGE']._serialized_start=8166 + _globals['_LISTMESSAGE_PRODUCTLISTHEADERIMAGE']._serialized_end=8232 + _globals['_LISTMESSAGE_PRODUCTSECTION']._serialized_start=8234 + _globals['_LISTMESSAGE_PRODUCTSECTION']._serialized_end=8323 + _globals['_LISTMESSAGE_PRODUCT']._serialized_start=8325 + _globals['_LISTMESSAGE_PRODUCT']._serialized_end=8353 + _globals['_LISTMESSAGE_SECTION']._serialized_start=8355 + _globals['_LISTMESSAGE_SECTION']._serialized_end=8429 + _globals['_LISTMESSAGE_ROW']._serialized_start=8431 + _globals['_LISTMESSAGE_ROW']._serialized_end=8487 + _globals['_LISTMESSAGE_LISTTYPE']._serialized_start=8489 + _globals['_LISTMESSAGE_LISTTYPE']._serialized_end=8549 + _globals['_ORDERMESSAGE']._serialized_start=8552 + _globals['_ORDERMESSAGE']._serialized_end=9104 + _globals['_ORDERMESSAGE_ORDERSURFACE']._serialized_start=9021 + _globals['_ORDERMESSAGE_ORDERSURFACE']._serialized_end=9048 + _globals['_ORDERMESSAGE_ORDERSTATUS']._serialized_start=9050 + _globals['_ORDERMESSAGE_ORDERSTATUS']._serialized_end=9104 + _globals['_STATUSQUOTEDMESSAGE']._serialized_start=9107 + _globals['_STATUSQUOTEDMESSAGE']._serialized_end=9335 + _globals['_STATUSQUOTEDMESSAGE_STATUSQUOTEDMESSAGETYPE']._serialized_start=9289 + _globals['_STATUSQUOTEDMESSAGE_STATUSQUOTEDMESSAGETYPE']._serialized_end=9335 + _globals['_PAYMENTINVITEMESSAGE']._serialized_start=9338 + _globals['_PAYMENTINVITEMESSAGE']._serialized_end=9517 + _globals['_PAYMENTINVITEMESSAGE_SERVICETYPE']._serialized_start=9461 + _globals['_PAYMENTINVITEMESSAGE_SERVICETYPE']._serialized_end=9517 + _globals['_HIGHLYSTRUCTUREDMESSAGE']._serialized_start=9520 + _globals['_HIGHLYSTRUCTUREDMESSAGE']._serialized_end=11008 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER']._serialized_start=9846 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER']._serialized_end=11008 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME']._serialized_start=10091 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME']._serialized_end=10937 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT']._serialized_start=10351 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT']._serialized_end=10877 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT_CALENDARTYPE']._serialized_start=10722 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT_CALENDARTYPE']._serialized_end=10768 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT_DAYOFWEEKTYPE']._serialized_start=10770 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMECOMPONENT_DAYOFWEEKTYPE']._serialized_end=10877 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMEUNIXEPOCH']._serialized_start=10879 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMDATETIME_HSMDATETIMEUNIXEPOCH']._serialized_end=10920 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMCURRENCY']._serialized_start=10939 + _globals['_HIGHLYSTRUCTUREDMESSAGE_HSMLOCALIZABLEPARAMETER_HSMCURRENCY']._serialized_end=10994 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE']._serialized_start=11011 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE']._serialized_end=14770 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT']._serialized_start=11277 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT']._serialized_end=14770 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_HISTORYSYNCCHUNKRETRYRESPONSE']._serialized_start=12721 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_HISTORYSYNCCHUNKRETRYRESPONSE']._serialized_end=13006 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_SYNCDSNAPSHOTFATALRECOVERYRESPONSE']._serialized_start=13008 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_SYNCDSNAPSHOTFATALRECOVERYRESPONSE']._serialized_end=13094 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_COMPANIONCANONICALUSERNONCEFETCHRESPONSE']._serialized_start=13096 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_COMPANIONCANONICALUSERNONCEFETCHRESPONSE']._serialized_end=13191 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_COMPANIONMETANONCEFETCHRESPONSE']._serialized_start=13193 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_COMPANIONMETANONCEFETCHRESPONSE']._serialized_end=13241 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_WAFFLENONCEFETCHRESPONSE']._serialized_start=13243 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_WAFFLENONCEFETCHRESPONSE']._serialized_end=13303 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_FULLHISTORYSYNCONDEMANDREQUESTRESPONSE']._serialized_start=13306 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_FULLHISTORYSYNCONDEMANDREQUESTRESPONSE']._serialized_end=13573 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_PLACEHOLDERMESSAGERESENDRESPONSE']._serialized_start=13575 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_PLACEHOLDERMESSAGERESENDRESPONSE']._serialized_end=13638 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_LINKPREVIEWRESPONSE']._serialized_start=13641 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_LINKPREVIEWRESPONSE']._serialized_end=14352 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_LINKPREVIEWRESPONSE_PAYMENTLINKPREVIEWMETADATA']._serialized_start=14089 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_LINKPREVIEWRESPONSE_PAYMENTLINKPREVIEWMETADATA']._serialized_end=14167 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_LINKPREVIEWRESPONSE_LINKPREVIEWHIGHQUALITYTHUMBNAIL']._serialized_start=14170 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_LINKPREVIEWRESPONSE_LINKPREVIEWHIGHQUALITYTHUMBNAIL']._serialized_end=14352 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_HISTORYSYNCCHUNKRETRYRESPONSECODE']._serialized_start=14355 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_HISTORYSYNCCHUNKRETRYRESPONSECODE']._serialized_end=14513 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_FULLHISTORYSYNCONDEMANDRESPONSECODE']._serialized_start=14516 + _globals['_PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_PEERDATAOPERATIONRESULT_FULLHISTORYSYNCONDEMANDRESPONSECODE']._serialized_end=14770 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE']._serialized_start=14773 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE']._serialized_end=16801 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_GALAXYFLOWACTION']._serialized_start=15811 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_GALAXYFLOWACTION']._serialized_end=16010 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_GALAXYFLOWACTION_GALAXYFLOWACTIONTYPE']._serialized_start=15969 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_GALAXYFLOWACTION_GALAXYFLOWACTIONTYPE']._serialized_end=16010 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_HISTORYSYNCCHUNKRETRYREQUEST']._serialized_start=16013 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_HISTORYSYNCCHUNKRETRYREQUEST']._serialized_end=16171 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_SYNCDCOLLECTIONFATALRECOVERYREQUEST']._serialized_start=16173 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_SYNCDCOLLECTIONFATALRECOVERYREQUEST']._serialized_end=16253 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_PLACEHOLDERMESSAGERESENDREQUEST']._serialized_start=16255 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_PLACEHOLDERMESSAGERESENDREQUEST']._serialized_end=16330 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_FULLHISTORYSYNCONDEMANDREQUEST']._serialized_start=16333 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_FULLHISTORYSYNCONDEMANDREQUEST']._serialized_end=16523 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_HISTORYSYNCONDEMANDREQUEST']._serialized_start=16526 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_HISTORYSYNCONDEMANDREQUEST']._serialized_end=16693 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_REQUESTURLPREVIEW']._serialized_start=16695 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_REQUESTURLPREVIEW']._serialized_end=16755 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_REQUESTSTICKERREUPLOAD']._serialized_start=16757 + _globals['_PEERDATAOPERATIONREQUESTMESSAGE_REQUESTSTICKERREUPLOAD']._serialized_end=16801 + _globals['_REQUESTWELCOMEMESSAGEMETADATA']._serialized_start=16804 + _globals['_REQUESTWELCOMEMESSAGEMETADATA']._serialized_end=16968 + _globals['_REQUESTWELCOMEMESSAGEMETADATA_LOCALCHATSTATE']._serialized_start=16926 + _globals['_REQUESTWELCOMEMESSAGEMETADATA_LOCALCHATSTATE']._serialized_end=16968 + _globals['_PROTOCOLMESSAGE']._serialized_start=16971 + _globals['_PROTOCOLMESSAGE']._serialized_end=19295 + _globals['_PROTOCOLMESSAGE_TYPE']._serialized_start=18514 + _globals['_PROTOCOLMESSAGE_TYPE']._serialized_end=19295 + _globals['_CLOUDAPITHREADCONTROLNOTIFICATION']._serialized_start=19298 + _globals['_CLOUDAPITHREADCONTROLNOTIFICATION']._serialized_end=19847 + _globals['_CLOUDAPITHREADCONTROLNOTIFICATION_CLOUDAPITHREADCONTROLNOTIFICATIONCONTENT']._serialized_start=19676 + _globals['_CLOUDAPITHREADCONTROLNOTIFICATION_CLOUDAPITHREADCONTROLNOTIFICATIONCONTENT']._serialized_end=19770 + _globals['_CLOUDAPITHREADCONTROLNOTIFICATION_CLOUDAPITHREADCONTROL']._serialized_start=19772 + _globals['_CLOUDAPITHREADCONTROLNOTIFICATION_CLOUDAPITHREADCONTROL']._serialized_end=19847 + _globals['_VIDEOMESSAGE']._serialized_start=19850 + _globals['_VIDEOMESSAGE']._serialized_end=20979 + _globals['_VIDEOMESSAGE_VIDEOSOURCETYPE']._serialized_start=20870 + _globals['_VIDEOMESSAGE_VIDEOSOURCETYPE']._serialized_end=20921 + _globals['_VIDEOMESSAGE_ATTRIBUTION']._serialized_start=20923 + _globals['_VIDEOMESSAGE_ATTRIBUTION']._serialized_end=20979 + _globals['_EXTENDEDTEXTMESSAGE']._serialized_start=20982 + _globals['_EXTENDEDTEXTMESSAGE']._serialized_end=22608 + _globals['_EXTENDEDTEXTMESSAGE_INVITELINKGROUPTYPE']._serialized_start=22273 + _globals['_EXTENDEDTEXTMESSAGE_INVITELINKGROUPTYPE']._serialized_end=22345 + _globals['_EXTENDEDTEXTMESSAGE_PREVIEWTYPE']._serialized_start=22347 + _globals['_EXTENDEDTEXTMESSAGE_PREVIEWTYPE']._serialized_end=22441 + _globals['_EXTENDEDTEXTMESSAGE_FONTTYPE']._serialized_start=22444 + _globals['_EXTENDEDTEXTMESSAGE_FONTTYPE']._serialized_end=22608 + _globals['_LINKPREVIEWMETADATA']._serialized_start=22611 + _globals['_LINKPREVIEWMETADATA']._serialized_end=23142 + _globals['_LINKPREVIEWMETADATA_SOCIALMEDIAPOSTTYPE']._serialized_start=23037 + _globals['_LINKPREVIEWMETADATA_SOCIALMEDIAPOSTTYPE']._serialized_end=23142 + _globals['_PAYMENTLINKMETADATA']._serialized_start=23145 + _globals['_PAYMENTLINKMETADATA']._serialized_end=23653 + _globals['_PAYMENTLINKMETADATA_PAYMENTLINKHEADER']._serialized_start=23395 + _globals['_PAYMENTLINKMETADATA_PAYMENTLINKHEADER']._serialized_end=23568 + _globals['_PAYMENTLINKMETADATA_PAYMENTLINKHEADER_PAYMENTLINKHEADERTYPE']._serialized_start=23516 + _globals['_PAYMENTLINKMETADATA_PAYMENTLINKHEADER_PAYMENTLINKHEADERTYPE']._serialized_end=23568 + _globals['_PAYMENTLINKMETADATA_PAYMENTLINKPROVIDER']._serialized_start=23570 + _globals['_PAYMENTLINKMETADATA_PAYMENTLINKPROVIDER']._serialized_end=23611 + _globals['_PAYMENTLINKMETADATA_PAYMENTLINKBUTTON']._serialized_start=23613 + _globals['_PAYMENTLINKMETADATA_PAYMENTLINKBUTTON']._serialized_end=23653 + _globals['_STATUSNOTIFICATIONMESSAGE']._serialized_start=23656 + _globals['_STATUSNOTIFICATIONMESSAGE']._serialized_end=23983 + _globals['_STATUSNOTIFICATIONMESSAGE_STATUSNOTIFICATIONTYPE']._serialized_start=23868 + _globals['_STATUSNOTIFICATIONMESSAGE_STATUSNOTIFICATIONTYPE']._serialized_end=23983 + _globals['_INVOICEMESSAGE']._serialized_start=23986 + _globals['_INVOICEMESSAGE']._serialized_end=24362 + _globals['_INVOICEMESSAGE_ATTACHMENTTYPE']._serialized_start=24326 + _globals['_INVOICEMESSAGE_ATTACHMENTTYPE']._serialized_end=24362 + _globals['_IMAGEMESSAGE']._serialized_start=24365 + _globals['_IMAGEMESSAGE']._serialized_end=25376 + _globals['_IMAGEMESSAGE_IMAGESOURCETYPE']._serialized_start=25280 + _globals['_IMAGEMESSAGE_IMAGESOURCETYPE']._serialized_end=25376 + _globals['_CONTEXTINFO']._serialized_start=25379 + _globals['_CONTEXTINFO']._serialized_end=30866 + _globals['_CONTEXTINFO_STATUSAUDIENCEMETADATA']._serialized_start=27916 + _globals['_CONTEXTINFO_STATUSAUDIENCEMETADATA']._serialized_end=28078 + _globals['_CONTEXTINFO_STATUSAUDIENCEMETADATA_AUDIENCETYPE']._serialized_start=28032 + _globals['_CONTEXTINFO_STATUSAUDIENCEMETADATA_AUDIENCETYPE']._serialized_end=28078 + _globals['_CONTEXTINFO_DATASHARINGCONTEXT']._serialized_start=28081 + _globals['_CONTEXTINFO_DATASHARINGCONTEXT']._serialized_end=28523 + _globals['_CONTEXTINFO_DATASHARINGCONTEXT_PARAMETERS']._serialized_start=28277 + _globals['_CONTEXTINFO_DATASHARINGCONTEXT_PARAMETERS']._serialized_end=28438 + _globals['_CONTEXTINFO_DATASHARINGCONTEXT_DATASHARINGFLAGS']._serialized_start=28440 + _globals['_CONTEXTINFO_DATASHARINGCONTEXT_DATASHARINGFLAGS']._serialized_end=28523 + _globals['_CONTEXTINFO_FORWARDEDNEWSLETTERMESSAGEINFO']._serialized_start=28526 + _globals['_CONTEXTINFO_FORWARDEDNEWSLETTERMESSAGEINFO']._serialized_end=28812 + _globals['_CONTEXTINFO_FORWARDEDNEWSLETTERMESSAGEINFO_CONTENTTYPE']._serialized_start=28755 + _globals['_CONTEXTINFO_FORWARDEDNEWSLETTERMESSAGEINFO_CONTENTTYPE']._serialized_end=28812 + _globals['_CONTEXTINFO_EXTERNALADREPLYINFO']._serialized_start=28815 + _globals['_CONTEXTINFO_EXTERNALADREPLYINFO']._serialized_end=29656 + _globals['_CONTEXTINFO_EXTERNALADREPLYINFO_ADTYPE']._serialized_start=29583 + _globals['_CONTEXTINFO_EXTERNALADREPLYINFO_ADTYPE']._serialized_end=29611 + _globals['_CONTEXTINFO_EXTERNALADREPLYINFO_MEDIATYPE']._serialized_start=29613 + _globals['_CONTEXTINFO_EXTERNALADREPLYINFO_MEDIATYPE']._serialized_end=29656 + _globals['_CONTEXTINFO_ADREPLYINFO']._serialized_start=29659 + _globals['_CONTEXTINFO_ADREPLYINFO']._serialized_end=29854 + _globals['_CONTEXTINFO_ADREPLYINFO_MEDIATYPE']._serialized_start=29613 + _globals['_CONTEXTINFO_ADREPLYINFO_MEDIATYPE']._serialized_end=29656 + _globals['_CONTEXTINFO_FEATUREELIGIBILITIES']._serialized_start=29857 + _globals['_CONTEXTINFO_FEATUREELIGIBILITIES']._serialized_end=30011 + _globals['_CONTEXTINFO_QUESTIONREPLYQUOTEDMESSAGE']._serialized_start=30014 + _globals['_CONTEXTINFO_QUESTIONREPLYQUOTEDMESSAGE']._serialized_end=30172 + _globals['_CONTEXTINFO_UTMINFO']._serialized_start=30174 + _globals['_CONTEXTINFO_UTMINFO']._serialized_end=30223 + _globals['_CONTEXTINFO_BUSINESSMESSAGEFORWARDINFO']._serialized_start=30225 + _globals['_CONTEXTINFO_BUSINESSMESSAGEFORWARDINFO']._serialized_end=30279 + _globals['_CONTEXTINFO_QUOTEDTYPE']._serialized_start=30281 + _globals['_CONTEXTINFO_QUOTEDTYPE']._serialized_end=30317 + _globals['_CONTEXTINFO_FORWARDORIGIN']._serialized_start=30319 + _globals['_CONTEXTINFO_FORWARDORIGIN']._serialized_end=30405 + _globals['_CONTEXTINFO_STATUSSOURCETYPE']._serialized_start=30407 + _globals['_CONTEXTINFO_STATUSSOURCETYPE']._serialized_end=30499 + _globals['_CONTEXTINFO_PAIREDMEDIATYPE']._serialized_start=30502 + _globals['_CONTEXTINFO_PAIREDMEDIATYPE']._serialized_end=30717 + _globals['_CONTEXTINFO_STATUSATTRIBUTIONTYPE']._serialized_start=30720 + _globals['_CONTEXTINFO_STATUSATTRIBUTIONTYPE']._serialized_end=30866 + _globals['_MESSAGEASSOCIATION']._serialized_start=30869 + _globals['_MESSAGEASSOCIATION']._serialized_end=31509 + _globals['_MESSAGEASSOCIATION_ASSOCIATIONTYPE']._serialized_start=31042 + _globals['_MESSAGEASSOCIATION_ASSOCIATIONTYPE']._serialized_end=31509 + _globals['_THREADID']._serialized_start=31512 + _globals['_THREADID']._serialized_end=31683 + _globals['_THREADID_THREADTYPE']._serialized_start=31625 + _globals['_THREADID_THREADTYPE']._serialized_end=31683 + _globals['_MESSAGECONTEXTINFO']._serialized_start=31686 + _globals['_MESSAGECONTEXTINFO']._serialized_end=32407 + _globals['_MESSAGECONTEXTINFO_MESSAGEADDONEXPIRYTYPE']._serialized_start=32346 + _globals['_MESSAGECONTEXTINFO_MESSAGEADDONEXPIRYTYPE']._serialized_end=32407 + _globals['_INTERACTIVEANNOTATION']._serialized_start=32410 + _globals['_INTERACTIVEANNOTATION']._serialized_end=32991 + _globals['_INTERACTIVEANNOTATION_STATUSLINKTYPE']._serialized_start=32875 + _globals['_INTERACTIVEANNOTATION_STATUSLINKTYPE']._serialized_end=32981 + _globals['_HYDRATEDTEMPLATEBUTTON']._serialized_start=32994 + _globals['_HYDRATEDTEMPLATEBUTTON']._serialized_end=33695 + _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDURLBUTTON']._serialized_start=33298 + _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDURLBUTTON']._serialized_end=33552 + _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDURLBUTTON_WEBVIEWPRESENTATIONTYPE']._serialized_start=33494 + _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDURLBUTTON_WEBVIEWPRESENTATIONTYPE']._serialized_end=33552 + _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDCALLBUTTON']._serialized_start=33554 + _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDCALLBUTTON']._serialized_end=33616 + _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDQUICKREPLYBUTTON']._serialized_start=33618 + _globals['_HYDRATEDTEMPLATEBUTTON_HYDRATEDQUICKREPLYBUTTON']._serialized_end=33677 + _globals['_PAYMENTBACKGROUND']._serialized_start=33698 + _globals['_PAYMENTBACKGROUND']._serialized_end=34141 + _globals['_PAYMENTBACKGROUND_MEDIADATA']._serialized_start=33988 + _globals['_PAYMENTBACKGROUND_MEDIADATA']._serialized_end=34107 + _globals['_PAYMENTBACKGROUND_TYPE']._serialized_start=34109 + _globals['_PAYMENTBACKGROUND_TYPE']._serialized_end=34141 + _globals['_DISAPPEARINGMODE']._serialized_start=34144 + _globals['_DISAPPEARINGMODE']._serialized_end=34577 + _globals['_DISAPPEARINGMODE_TRIGGER']._serialized_start=34343 + _globals['_DISAPPEARINGMODE_TRIGGER']._serialized_end=34470 + _globals['_DISAPPEARINGMODE_INITIATOR']._serialized_start=34472 + _globals['_DISAPPEARINGMODE_INITIATOR']._serialized_end=34577 + _globals['_PROCESSEDVIDEO']._serialized_start=34580 + _globals['_PROCESSEDVIDEO']._serialized_end=34850 + _globals['_PROCESSEDVIDEO_VIDEOQUALITY']._serialized_start=34793 + _globals['_PROCESSEDVIDEO_VIDEOQUALITY']._serialized_end=34850 + _globals['_MESSAGE']._serialized_start=34853 + _globals['_MESSAGE']._serialized_end=41432 + _globals['_ALBUMMESSAGE']._serialized_start=41434 + _globals['_ALBUMMESSAGE']._serialized_end=41557 + _globals['_MESSAGEHISTORYMETADATA']._serialized_start=41559 + _globals['_MESSAGEHISTORYMETADATA']._serialized_end=41663 + _globals['_MESSAGEHISTORYNOTICE']._serialized_start=41666 + _globals['_MESSAGEHISTORYNOTICE']._serialized_end=41816 + _globals['_MESSAGEHISTORYBUNDLE']._serialized_start=41819 + _globals['_MESSAGEHISTORYBUNDLE']._serialized_end=42095 + _globals['_ENCEVENTRESPONSEMESSAGE']._serialized_start=42097 + _globals['_ENCEVENTRESPONSEMESSAGE']._serialized_end=42212 + _globals['_EVENTMESSAGE']._serialized_start=42215 + _globals['_EVENTMESSAGE']._serialized_end=42497 + _globals['_COMMENTMESSAGE']._serialized_start=42499 + _globals['_COMMENTMESSAGE']._serialized_end=42608 + _globals['_ENCCOMMENTMESSAGE']._serialized_start=42610 + _globals['_ENCCOMMENTMESSAGE']._serialized_end=42712 + _globals['_ENCREACTIONMESSAGE']._serialized_start=42714 + _globals['_ENCREACTIONMESSAGE']._serialized_end=42817 + _globals['_KEEPINCHATMESSAGE']._serialized_start=42819 + _globals['_KEEPINCHATMESSAGE']._serialized_end=42941 + _globals['_QUESTIONRESPONSEMESSAGE']._serialized_start=42943 + _globals['_QUESTIONRESPONSEMESSAGE']._serialized_end=43017 + _globals['_STATUSQUESTIONANSWERMESSAGE']._serialized_start=43019 + _globals['_STATUSQUESTIONANSWERMESSAGE']._serialized_end=43097 + _globals['_POLLRESULTSNAPSHOTMESSAGE']._serialized_start=43100 + _globals['_POLLRESULTSNAPSHOTMESSAGE']._serialized_end=43372 + _globals['_POLLRESULTSNAPSHOTMESSAGE_POLLVOTE']._serialized_start=43317 + _globals['_POLLRESULTSNAPSHOTMESSAGE_POLLVOTE']._serialized_end=43372 + _globals['_POLLVOTEMESSAGE']._serialized_start=43374 + _globals['_POLLVOTEMESSAGE']._serialized_end=43416 + _globals['_POLLENCVALUE']._serialized_start=43418 + _globals['_POLLENCVALUE']._serialized_end=43467 + _globals['_POLLUPDATEMESSAGEMETADATA']._serialized_start=43469 + _globals['_POLLUPDATEMESSAGEMETADATA']._serialized_end=43496 + _globals['_POLLUPDATEMESSAGE']._serialized_start=43499 + _globals['_POLLUPDATEMESSAGE']._serialized_end=43710 + _globals['_POLLCREATIONMESSAGE']._serialized_start=43713 + _globals['_POLLCREATIONMESSAGE']._serialized_end=44141 + _globals['_POLLCREATIONMESSAGE_OPTION']._serialized_start=44093 + _globals['_POLLCREATIONMESSAGE_OPTION']._serialized_end=44141 + _globals['_STICKERSYNCRMRMESSAGE']._serialized_start=44143 + _globals['_STICKERSYNCRMRMESSAGE']._serialized_end=44229 + _globals['_REACTIONMESSAGE']._serialized_start=44231 + _globals['_REACTIONMESSAGE']._serialized_end=44345 + _globals['_FUTUREPROOFMESSAGE']._serialized_start=44347 + _globals['_FUTUREPROOFMESSAGE']._serialized_end=44412 + _globals['_DEVICESENTMESSAGE']._serialized_start=44414 + _globals['_DEVICESENTMESSAGE']._serialized_end=44517 + _globals['_REQUESTCONTACTINFOMESSAGE']._serialized_start=44519 + _globals['_REQUESTCONTACTINFOMESSAGE']._serialized_end=44636 + _globals['_REQUESTPHONENUMBERMESSAGE']._serialized_start=44638 + _globals['_REQUESTPHONENUMBERMESSAGE']._serialized_end=44718 + _globals['_NEWSLETTERFOLLOWERINVITEMESSAGE']._serialized_start=44721 + _globals['_NEWSLETTERFOLLOWERINVITEMESSAGE']._serialized_end=44894 + _globals['_NEWSLETTERADMININVITEMESSAGE']._serialized_start=44897 + _globals['_NEWSLETTERADMININVITEMESSAGE']._serialized_end=45093 + _globals['_PRODUCTMESSAGE']._serialized_start=45096 + _globals['_PRODUCTMESSAGE']._serialized_end=45774 + _globals['_PRODUCTMESSAGE_PRODUCTSNAPSHOT']._serialized_start=45360 + _globals['_PRODUCTMESSAGE_PRODUCTSNAPSHOT']._serialized_end=45664 + _globals['_PRODUCTMESSAGE_CATALOGSNAPSHOT']._serialized_start=45666 + _globals['_PRODUCTMESSAGE_CATALOGSNAPSHOT']._serialized_end=45774 + _globals['_TEMPLATEBUTTONREPLYMESSAGE']._serialized_start=45777 + _globals['_TEMPLATEBUTTONREPLYMESSAGE']._serialized_end=45965 + _globals['_TEMPLATEMESSAGE']._serialized_start=45968 + _globals['_TEMPLATEMESSAGE']._serialized_end=47404 + _globals['_TEMPLATEMESSAGE_HYDRATEDFOURROWTEMPLATE']._serialized_start=46398 + _globals['_TEMPLATEMESSAGE_HYDRATEDFOURROWTEMPLATE']._serialized_end=46873 + _globals['_TEMPLATEMESSAGE_FOURROWTEMPLATE']._serialized_start=46876 + _globals['_TEMPLATEMESSAGE_FOURROWTEMPLATE']._serialized_end=47394 + _globals['_STICKERMESSAGE']._serialized_start=47407 + _globals['_STICKERMESSAGE']._serialized_end=47928 + _globals['_LIVELOCATIONMESSAGE']._serialized_start=47931 + _globals['_LIVELOCATIONMESSAGE']._serialized_end=48229 + _globals['_CANCELPAYMENTREQUESTMESSAGE']._serialized_start=48231 + _globals['_CANCELPAYMENTREQUESTMESSAGE']._serialized_end=48295 + _globals['_DECLINEPAYMENTREQUESTMESSAGE']._serialized_start=48297 + _globals['_DECLINEPAYMENTREQUESTMESSAGE']._serialized_end=48362 + _globals['_REQUESTPAYMENTMESSAGE']._serialized_start=48365 + _globals['_REQUESTPAYMENTMESSAGE']._serialized_end=48632 + _globals['_SENDPAYMENTMESSAGE']._serialized_start=48635 + _globals['_SENDPAYMENTMESSAGE']._serialized_end=48836 + _globals['_CONTACTSARRAYMESSAGE']._serialized_start=48839 + _globals['_CONTACTSARRAYMESSAGE']._serialized_end=48988 + _globals['_INITIALSECURITYNOTIFICATIONSETTINGSYNC']._serialized_start=48990 + _globals['_INITIALSECURITYNOTIFICATIONSETTINGSYNC']._serialized_end=49067 + _globals['_FULLHISTORYSYNCONDEMANDREQUESTMETADATA']._serialized_start=49069 + _globals['_FULLHISTORYSYNCONDEMANDREQUESTMETADATA']._serialized_end=49128 + _globals['_APPSTATEFATALEXCEPTIONNOTIFICATION']._serialized_start=49130 + _globals['_APPSTATEFATALEXCEPTIONNOTIFICATION']._serialized_end=49210 + _globals['_APPSTATESYNCKEYREQUEST']._serialized_start=49212 + _globals['_APPSTATESYNCKEYREQUEST']._serialized_end=49290 + _globals['_APPSTATESYNCKEYSHARE']._serialized_start=49292 + _globals['_APPSTATESYNCKEYSHARE']._serialized_end=49364 + _globals['_APPSTATESYNCKEYDATA']._serialized_start=49366 + _globals['_APPSTATESYNCKEYDATA']._serialized_end=49491 + _globals['_APPSTATESYNCKEYFINGERPRINT']._serialized_start=49493 + _globals['_APPSTATESYNCKEYFINGERPRINT']._serialized_end=49585 + _globals['_APPSTATESYNCKEYID']._serialized_start=49587 + _globals['_APPSTATESYNCKEYID']._serialized_end=49621 + _globals['_APPSTATESYNCKEY']._serialized_start=49623 + _globals['_APPSTATESYNCKEY']._serialized_end=49750 + _globals['_HISTORYSYNCNOTIFICATION']._serialized_start=49753 + _globals['_HISTORYSYNCNOTIFICATION']._serialized_end=50239 + _globals['_CHAT']._serialized_start=50241 + _globals['_CHAT']._serialized_end=50280 + _globals['_CALL']._serialized_start=50283 + _globals['_CALL']._serialized_end=50545 + _globals['_AUDIOMESSAGE']._serialized_start=50548 + _globals['_AUDIOMESSAGE']._serialized_end=50977 + _globals['_DOCUMENTMESSAGE']._serialized_start=50980 + _globals['_DOCUMENTMESSAGE']._serialized_end=51541 + _globals['_URLMETADATA']._serialized_start=51543 + _globals['_URLMETADATA']._serialized_end=51580 + _globals['_PAYMENTEXTENDEDMETADATA']._serialized_start=51582 + _globals['_PAYMENTEXTENDEDMETADATA']._serialized_end=51666 + _globals['_MMSTHUMBNAILMETADATA']._serialized_start=51669 + _globals['_MMSTHUMBNAILMETADATA']._serialized_end=51926 + _globals['_LOCATIONMESSAGE']._serialized_start=51929 + _globals['_LOCATIONMESSAGE']._serialized_end=52239 + _globals['_CONTACTMESSAGE']._serialized_start=52241 + _globals['_CONTACTMESSAGE']._serialized_end=52346 + _globals['_SENDERKEYDISTRIBUTIONMESSAGE']._serialized_start=52348 + _globals['_SENDERKEYDISTRIBUTIONMESSAGE']._serialized_end=52440 + _globals['_VIDEOENDCARD']._serialized_start=52442 + _globals['_VIDEOENDCARD']._serialized_end=52545 + _globals['_DEVICELISTMETADATA']._serialized_start=52548 + _globals['_DEVICELISTMETADATA']._serialized_end=52841 + _globals['_EMBEDDEDMESSAGE']._serialized_start=52843 + _globals['_EMBEDDEDMESSAGE']._serialized_end=52923 + _globals['_EMBEDDEDMUSIC']._serialized_start=52926 + _globals['_EMBEDDEDMUSIC']._serialized_end=53289 + _globals['_EMBEDDEDCONTENT']._serialized_start=53292 + _globals['_EMBEDDEDCONTENT']._serialized_end=53442 + _globals['_TAPLINKACTION']._serialized_start=53444 + _globals['_TAPLINKACTION']._serialized_end=53490 + _globals['_POINT']._serialized_start=53492 + _globals['_POINT']._serialized_end=53563 + _globals['_LOCATION']._serialized_start=53565 + _globals['_LOCATION']._serialized_end=53640 + _globals['_TEMPLATEBUTTON']._serialized_start=53643 + _globals['_TEMPLATEBUTTON']._serialized_end=54276 + _globals['_TEMPLATEBUTTON_CALLBUTTON']._serialized_start=53891 + _globals['_TEMPLATEBUTTON_CALLBUTTON']._serialized_end=54033 + _globals['_TEMPLATEBUTTON_URLBUTTON']._serialized_start=54036 + _globals['_TEMPLATEBUTTON_URLBUTTON']._serialized_end=54169 + _globals['_TEMPLATEBUTTON_QUICKREPLYBUTTON']._serialized_start=54171 + _globals['_TEMPLATEBUTTON_QUICKREPLYBUTTON']._serialized_end=54266 + _globals['_MONEY']._serialized_start=54278 + _globals['_MONEY']._serialized_end=54338 + _globals['_ACTIONLINK']._serialized_start=54340 + _globals['_ACTIONLINK']._serialized_end=54386 + _globals['_GROUPMENTION']._serialized_start=54388 + _globals['_GROUPMENTION']._serialized_end=54442 + _globals['_MESSAGESECRETMESSAGE']._serialized_start=54444 + _globals['_MESSAGESECRETMESSAGE']._serialized_end=54518 + _globals['_MEDIANOTIFYMESSAGE']._serialized_start=54520 + _globals['_MEDIANOTIFYMESSAGE']._serialized_end=54607 + _globals['_LIDMIGRATIONMAPPINGSYNCMESSAGE']._serialized_start=54609 + _globals['_LIDMIGRATIONMAPPINGSYNCMESSAGE']._serialized_end=54672 + _globals['_URLTRACKINGMAP']._serialized_start=54675 + _globals['_URLTRACKINGMAP']._serialized_end=54901 + _globals['_URLTRACKINGMAP_URLTRACKINGMAPELEMENT']._serialized_start=54782 + _globals['_URLTRACKINGMAP_URLTRACKINGMAPELEMENT']._serialized_end=54901 + _globals['_MEMBERLABEL']._serialized_start=54903 + _globals['_MEMBERLABEL']._serialized_end=54955 + _globals['_AIRICHRESPONSEMESSAGE']._serialized_start=54958 + _globals['_AIRICHRESPONSEMESSAGE']._serialized_end=55221 + _globals['_AIQUERYFANOUT']._serialized_start=55223 + _globals['_AIQUERYFANOUT']._serialized_end=55344 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waE2E/WAWebProtobufsE2E_pb2.pyi b/neonize/proto/waE2E/WAWebProtobufsE2E_pb2.pyi new file mode 100644 index 00000000..86fb4479 --- /dev/null +++ b/neonize/proto/waE2E/WAWebProtobufsE2E_pb2.pyi @@ -0,0 +1,7201 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waAICommon.WAAICommon_pb2 +import waAdv.WAAdv_pb2 +import waCommon.WACommon_pb2 +import waCompanionReg.WACompanionReg_pb2 +import waMmsRetry.WAMmsRetry_pb2 +import waStatusAttributions.WAStatusAttributions_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _PollType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _PollTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PollType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + POLL: _PollType.ValueType # 0 + QUIZ: _PollType.ValueType # 1 + +class PollType(_PollType, metaclass=_PollTypeEnumTypeWrapper): ... + +POLL: PollType.ValueType # 0 +QUIZ: PollType.ValueType # 1 +global___PollType = PollType + +class _PollContentType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _PollContentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PollContentType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_POLL_CONTENT_TYPE: _PollContentType.ValueType # 0 + TEXT: _PollContentType.ValueType # 1 + IMAGE: _PollContentType.ValueType # 2 + +class PollContentType(_PollContentType, metaclass=_PollContentTypeEnumTypeWrapper): ... + +UNKNOWN_POLL_CONTENT_TYPE: PollContentType.ValueType # 0 +TEXT: PollContentType.ValueType # 1 +IMAGE: PollContentType.ValueType # 2 +global___PollContentType = PollContentType + +class _PeerDataOperationRequestType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _PeerDataOperationRequestTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PeerDataOperationRequestType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UPLOAD_STICKER: _PeerDataOperationRequestType.ValueType # 0 + SEND_RECENT_STICKER_BOOTSTRAP: _PeerDataOperationRequestType.ValueType # 1 + GENERATE_LINK_PREVIEW: _PeerDataOperationRequestType.ValueType # 2 + HISTORY_SYNC_ON_DEMAND: _PeerDataOperationRequestType.ValueType # 3 + PLACEHOLDER_MESSAGE_RESEND: _PeerDataOperationRequestType.ValueType # 4 + WAFFLE_LINKING_NONCE_FETCH: _PeerDataOperationRequestType.ValueType # 5 + FULL_HISTORY_SYNC_ON_DEMAND: _PeerDataOperationRequestType.ValueType # 6 + COMPANION_META_NONCE_FETCH: _PeerDataOperationRequestType.ValueType # 7 + COMPANION_SYNCD_SNAPSHOT_FATAL_RECOVERY: _PeerDataOperationRequestType.ValueType # 8 + COMPANION_CANONICAL_USER_NONCE_FETCH: _PeerDataOperationRequestType.ValueType # 9 + HISTORY_SYNC_CHUNK_RETRY: _PeerDataOperationRequestType.ValueType # 10 + GALAXY_FLOW_ACTION: _PeerDataOperationRequestType.ValueType # 11 + +class PeerDataOperationRequestType(_PeerDataOperationRequestType, metaclass=_PeerDataOperationRequestTypeEnumTypeWrapper): ... + +UPLOAD_STICKER: PeerDataOperationRequestType.ValueType # 0 +SEND_RECENT_STICKER_BOOTSTRAP: PeerDataOperationRequestType.ValueType # 1 +GENERATE_LINK_PREVIEW: PeerDataOperationRequestType.ValueType # 2 +HISTORY_SYNC_ON_DEMAND: PeerDataOperationRequestType.ValueType # 3 +PLACEHOLDER_MESSAGE_RESEND: PeerDataOperationRequestType.ValueType # 4 +WAFFLE_LINKING_NONCE_FETCH: PeerDataOperationRequestType.ValueType # 5 +FULL_HISTORY_SYNC_ON_DEMAND: PeerDataOperationRequestType.ValueType # 6 +COMPANION_META_NONCE_FETCH: PeerDataOperationRequestType.ValueType # 7 +COMPANION_SYNCD_SNAPSHOT_FATAL_RECOVERY: PeerDataOperationRequestType.ValueType # 8 +COMPANION_CANONICAL_USER_NONCE_FETCH: PeerDataOperationRequestType.ValueType # 9 +HISTORY_SYNC_CHUNK_RETRY: PeerDataOperationRequestType.ValueType # 10 +GALAXY_FLOW_ACTION: PeerDataOperationRequestType.ValueType # 11 +global___PeerDataOperationRequestType = PeerDataOperationRequestType + +class _HistorySyncType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _HistorySyncTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_HistorySyncType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + INITIAL_BOOTSTRAP: _HistorySyncType.ValueType # 0 + INITIAL_STATUS_V3: _HistorySyncType.ValueType # 1 + FULL: _HistorySyncType.ValueType # 2 + RECENT: _HistorySyncType.ValueType # 3 + PUSH_NAME: _HistorySyncType.ValueType # 4 + NON_BLOCKING_DATA: _HistorySyncType.ValueType # 5 + ON_DEMAND: _HistorySyncType.ValueType # 6 + NO_HISTORY: _HistorySyncType.ValueType # 7 + +class HistorySyncType(_HistorySyncType, metaclass=_HistorySyncTypeEnumTypeWrapper): ... + +INITIAL_BOOTSTRAP: HistorySyncType.ValueType # 0 +INITIAL_STATUS_V3: HistorySyncType.ValueType # 1 +FULL: HistorySyncType.ValueType # 2 +RECENT: HistorySyncType.ValueType # 3 +PUSH_NAME: HistorySyncType.ValueType # 4 +NON_BLOCKING_DATA: HistorySyncType.ValueType # 5 +ON_DEMAND: HistorySyncType.ValueType # 6 +NO_HISTORY: HistorySyncType.ValueType # 7 +global___HistorySyncType = HistorySyncType + +class _MediaKeyDomain: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _MediaKeyDomainEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MediaKeyDomain.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSET: _MediaKeyDomain.ValueType # 0 + E2EE_CHAT: _MediaKeyDomain.ValueType # 1 + STATUS: _MediaKeyDomain.ValueType # 2 + CAPI: _MediaKeyDomain.ValueType # 3 + BOT: _MediaKeyDomain.ValueType # 4 + +class MediaKeyDomain(_MediaKeyDomain, metaclass=_MediaKeyDomainEnumTypeWrapper): ... + +UNSET: MediaKeyDomain.ValueType # 0 +E2EE_CHAT: MediaKeyDomain.ValueType # 1 +STATUS: MediaKeyDomain.ValueType # 2 +CAPI: MediaKeyDomain.ValueType # 3 +BOT: MediaKeyDomain.ValueType # 4 +global___MediaKeyDomain = MediaKeyDomain + +class _KeepType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _KeepTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_KeepType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_KEEP_TYPE: _KeepType.ValueType # 0 + KEEP_FOR_ALL: _KeepType.ValueType # 1 + UNDO_KEEP_FOR_ALL: _KeepType.ValueType # 2 + +class KeepType(_KeepType, metaclass=_KeepTypeEnumTypeWrapper): ... + +UNKNOWN_KEEP_TYPE: KeepType.ValueType # 0 +KEEP_FOR_ALL: KeepType.ValueType # 1 +UNDO_KEEP_FOR_ALL: KeepType.ValueType # 2 +global___KeepType = KeepType + +@typing.final +class StickerPackMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _StickerPackOrigin: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StickerPackOriginEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StickerPackMessage._StickerPackOrigin.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + FIRST_PARTY: StickerPackMessage._StickerPackOrigin.ValueType # 0 + THIRD_PARTY: StickerPackMessage._StickerPackOrigin.ValueType # 1 + USER_CREATED: StickerPackMessage._StickerPackOrigin.ValueType # 2 + + class StickerPackOrigin(_StickerPackOrigin, metaclass=_StickerPackOriginEnumTypeWrapper): ... + FIRST_PARTY: StickerPackMessage.StickerPackOrigin.ValueType # 0 + THIRD_PARTY: StickerPackMessage.StickerPackOrigin.ValueType # 1 + USER_CREATED: StickerPackMessage.StickerPackOrigin.ValueType # 2 + + @typing.final + class Sticker(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILENAME_FIELD_NUMBER: builtins.int + ISANIMATED_FIELD_NUMBER: builtins.int + EMOJIS_FIELD_NUMBER: builtins.int + ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int + ISLOTTIE_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + fileName: builtins.str + isAnimated: builtins.bool + accessibilityLabel: builtins.str + isLottie: builtins.bool + mimetype: builtins.str + @property + def emojis(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + fileName: builtins.str | None = ..., + isAnimated: builtins.bool | None = ..., + emojis: collections.abc.Iterable[builtins.str] | None = ..., + accessibilityLabel: builtins.str | None = ..., + isLottie: builtins.bool | None = ..., + mimetype: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accessibilityLabel", b"accessibilityLabel", "fileName", b"fileName", "isAnimated", b"isAnimated", "isLottie", b"isLottie", "mimetype", b"mimetype"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accessibilityLabel", b"accessibilityLabel", "emojis", b"emojis", "fileName", b"fileName", "isAnimated", b"isAnimated", "isLottie", b"isLottie", "mimetype", b"mimetype"]) -> None: ... + + STICKERPACKID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + PUBLISHER_FIELD_NUMBER: builtins.int + STICKERS_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + PACKDESCRIPTION_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + TRAYICONFILENAME_FIELD_NUMBER: builtins.int + THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int + THUMBNAILSHA256_FIELD_NUMBER: builtins.int + THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int + THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int + THUMBNAILWIDTH_FIELD_NUMBER: builtins.int + IMAGEDATAHASH_FIELD_NUMBER: builtins.int + STICKERPACKSIZE_FIELD_NUMBER: builtins.int + STICKERPACKORIGIN_FIELD_NUMBER: builtins.int + stickerPackID: builtins.str + name: builtins.str + publisher: builtins.str + fileLength: builtins.int + fileSHA256: builtins.bytes + fileEncSHA256: builtins.bytes + mediaKey: builtins.bytes + directPath: builtins.str + caption: builtins.str + packDescription: builtins.str + mediaKeyTimestamp: builtins.int + trayIconFileName: builtins.str + thumbnailDirectPath: builtins.str + thumbnailSHA256: builtins.bytes + thumbnailEncSHA256: builtins.bytes + thumbnailHeight: builtins.int + thumbnailWidth: builtins.int + imageDataHash: builtins.str + stickerPackSize: builtins.int + stickerPackOrigin: global___StickerPackMessage.StickerPackOrigin.ValueType + @property + def stickers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StickerPackMessage.Sticker]: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + stickerPackID: builtins.str | None = ..., + name: builtins.str | None = ..., + publisher: builtins.str | None = ..., + stickers: collections.abc.Iterable[global___StickerPackMessage.Sticker] | None = ..., + fileLength: builtins.int | None = ..., + fileSHA256: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + mediaKey: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + caption: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + packDescription: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + trayIconFileName: builtins.str | None = ..., + thumbnailDirectPath: builtins.str | None = ..., + thumbnailSHA256: builtins.bytes | None = ..., + thumbnailEncSHA256: builtins.bytes | None = ..., + thumbnailHeight: builtins.int | None = ..., + thumbnailWidth: builtins.int | None = ..., + imageDataHash: builtins.str | None = ..., + stickerPackSize: builtins.int | None = ..., + stickerPackOrigin: global___StickerPackMessage.StickerPackOrigin.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "imageDataHash", b"imageDataHash", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "name", b"name", "packDescription", b"packDescription", "publisher", b"publisher", "stickerPackID", b"stickerPackID", "stickerPackOrigin", b"stickerPackOrigin", "stickerPackSize", b"stickerPackSize", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "trayIconFileName", b"trayIconFileName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "imageDataHash", b"imageDataHash", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "name", b"name", "packDescription", b"packDescription", "publisher", b"publisher", "stickerPackID", b"stickerPackID", "stickerPackOrigin", b"stickerPackOrigin", "stickerPackSize", b"stickerPackSize", "stickers", b"stickers", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "trayIconFileName", b"trayIconFileName"]) -> None: ... + +global___StickerPackMessage = StickerPackMessage + +@typing.final +class PlaceholderMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PlaceholderType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PlaceholderTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PlaceholderMessage._PlaceholderType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + MASK_LINKED_DEVICES: PlaceholderMessage._PlaceholderType.ValueType # 0 + + class PlaceholderType(_PlaceholderType, metaclass=_PlaceholderTypeEnumTypeWrapper): ... + MASK_LINKED_DEVICES: PlaceholderMessage.PlaceholderType.ValueType # 0 + + TYPE_FIELD_NUMBER: builtins.int + type: global___PlaceholderMessage.PlaceholderType.ValueType + def __init__( + self, + *, + type: global___PlaceholderMessage.PlaceholderType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + +global___PlaceholderMessage = PlaceholderMessage + +@typing.final +class BCallMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _MediaType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BCallMessage._MediaType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BCallMessage._MediaType.ValueType # 0 + AUDIO: BCallMessage._MediaType.ValueType # 1 + VIDEO: BCallMessage._MediaType.ValueType # 2 + + class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper): ... + UNKNOWN: BCallMessage.MediaType.ValueType # 0 + AUDIO: BCallMessage.MediaType.ValueType # 1 + VIDEO: BCallMessage.MediaType.ValueType # 2 + + SESSIONID_FIELD_NUMBER: builtins.int + MEDIATYPE_FIELD_NUMBER: builtins.int + MASTERKEY_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + sessionID: builtins.str + mediaType: global___BCallMessage.MediaType.ValueType + masterKey: builtins.bytes + caption: builtins.str + def __init__( + self, + *, + sessionID: builtins.str | None = ..., + mediaType: global___BCallMessage.MediaType.ValueType | None = ..., + masterKey: builtins.bytes | None = ..., + caption: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["caption", b"caption", "masterKey", b"masterKey", "mediaType", b"mediaType", "sessionID", b"sessionID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["caption", b"caption", "masterKey", b"masterKey", "mediaType", b"mediaType", "sessionID", b"sessionID"]) -> None: ... + +global___BCallMessage = BCallMessage + +@typing.final +class CallLogMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _CallOutcome: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CallOutcomeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogMessage._CallOutcome.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CONNECTED: CallLogMessage._CallOutcome.ValueType # 0 + MISSED: CallLogMessage._CallOutcome.ValueType # 1 + FAILED: CallLogMessage._CallOutcome.ValueType # 2 + REJECTED: CallLogMessage._CallOutcome.ValueType # 3 + ACCEPTED_ELSEWHERE: CallLogMessage._CallOutcome.ValueType # 4 + ONGOING: CallLogMessage._CallOutcome.ValueType # 5 + SILENCED_BY_DND: CallLogMessage._CallOutcome.ValueType # 6 + SILENCED_UNKNOWN_CALLER: CallLogMessage._CallOutcome.ValueType # 7 + + class CallOutcome(_CallOutcome, metaclass=_CallOutcomeEnumTypeWrapper): ... + CONNECTED: CallLogMessage.CallOutcome.ValueType # 0 + MISSED: CallLogMessage.CallOutcome.ValueType # 1 + FAILED: CallLogMessage.CallOutcome.ValueType # 2 + REJECTED: CallLogMessage.CallOutcome.ValueType # 3 + ACCEPTED_ELSEWHERE: CallLogMessage.CallOutcome.ValueType # 4 + ONGOING: CallLogMessage.CallOutcome.ValueType # 5 + SILENCED_BY_DND: CallLogMessage.CallOutcome.ValueType # 6 + SILENCED_UNKNOWN_CALLER: CallLogMessage.CallOutcome.ValueType # 7 + + class _CallType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CallTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogMessage._CallType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + REGULAR: CallLogMessage._CallType.ValueType # 0 + SCHEDULED_CALL: CallLogMessage._CallType.ValueType # 1 + VOICE_CHAT: CallLogMessage._CallType.ValueType # 2 + + class CallType(_CallType, metaclass=_CallTypeEnumTypeWrapper): ... + REGULAR: CallLogMessage.CallType.ValueType # 0 + SCHEDULED_CALL: CallLogMessage.CallType.ValueType # 1 + VOICE_CHAT: CallLogMessage.CallType.ValueType # 2 + + @typing.final + class CallParticipant(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JID_FIELD_NUMBER: builtins.int + CALLOUTCOME_FIELD_NUMBER: builtins.int + JID: builtins.str + callOutcome: global___CallLogMessage.CallOutcome.ValueType + def __init__( + self, + *, + JID: builtins.str | None = ..., + callOutcome: global___CallLogMessage.CallOutcome.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JID", b"JID", "callOutcome", b"callOutcome"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JID", b"JID", "callOutcome", b"callOutcome"]) -> None: ... + + ISVIDEO_FIELD_NUMBER: builtins.int + CALLOUTCOME_FIELD_NUMBER: builtins.int + DURATIONSECS_FIELD_NUMBER: builtins.int + CALLTYPE_FIELD_NUMBER: builtins.int + PARTICIPANTS_FIELD_NUMBER: builtins.int + isVideo: builtins.bool + callOutcome: global___CallLogMessage.CallOutcome.ValueType + durationSecs: builtins.int + callType: global___CallLogMessage.CallType.ValueType + @property + def participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CallLogMessage.CallParticipant]: ... + def __init__( + self, + *, + isVideo: builtins.bool | None = ..., + callOutcome: global___CallLogMessage.CallOutcome.ValueType | None = ..., + durationSecs: builtins.int | None = ..., + callType: global___CallLogMessage.CallType.ValueType | None = ..., + participants: collections.abc.Iterable[global___CallLogMessage.CallParticipant] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["callOutcome", b"callOutcome", "callType", b"callType", "durationSecs", b"durationSecs", "isVideo", b"isVideo"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["callOutcome", b"callOutcome", "callType", b"callType", "durationSecs", b"durationSecs", "isVideo", b"isVideo", "participants", b"participants"]) -> None: ... + +global___CallLogMessage = CallLogMessage + +@typing.final +class ScheduledCallEditMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _EditType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _EditTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ScheduledCallEditMessage._EditType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: ScheduledCallEditMessage._EditType.ValueType # 0 + CANCEL: ScheduledCallEditMessage._EditType.ValueType # 1 + + class EditType(_EditType, metaclass=_EditTypeEnumTypeWrapper): ... + UNKNOWN: ScheduledCallEditMessage.EditType.ValueType # 0 + CANCEL: ScheduledCallEditMessage.EditType.ValueType # 1 + + KEY_FIELD_NUMBER: builtins.int + EDITTYPE_FIELD_NUMBER: builtins.int + editType: global___ScheduledCallEditMessage.EditType.ValueType + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + editType: global___ScheduledCallEditMessage.EditType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["editType", b"editType", "key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["editType", b"editType", "key", b"key"]) -> None: ... + +global___ScheduledCallEditMessage = ScheduledCallEditMessage + +@typing.final +class ScheduledCallCreationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _CallType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CallTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ScheduledCallCreationMessage._CallType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: ScheduledCallCreationMessage._CallType.ValueType # 0 + VOICE: ScheduledCallCreationMessage._CallType.ValueType # 1 + VIDEO: ScheduledCallCreationMessage._CallType.ValueType # 2 + + class CallType(_CallType, metaclass=_CallTypeEnumTypeWrapper): ... + UNKNOWN: ScheduledCallCreationMessage.CallType.ValueType # 0 + VOICE: ScheduledCallCreationMessage.CallType.ValueType # 1 + VIDEO: ScheduledCallCreationMessage.CallType.ValueType # 2 + + SCHEDULEDTIMESTAMPMS_FIELD_NUMBER: builtins.int + CALLTYPE_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + scheduledTimestampMS: builtins.int + callType: global___ScheduledCallCreationMessage.CallType.ValueType + title: builtins.str + def __init__( + self, + *, + scheduledTimestampMS: builtins.int | None = ..., + callType: global___ScheduledCallCreationMessage.CallType.ValueType | None = ..., + title: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["callType", b"callType", "scheduledTimestampMS", b"scheduledTimestampMS", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["callType", b"callType", "scheduledTimestampMS", b"scheduledTimestampMS", "title", b"title"]) -> None: ... + +global___ScheduledCallCreationMessage = ScheduledCallCreationMessage + +@typing.final +class EventResponseMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _EventResponseType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _EventResponseTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[EventResponseMessage._EventResponseType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: EventResponseMessage._EventResponseType.ValueType # 0 + GOING: EventResponseMessage._EventResponseType.ValueType # 1 + NOT_GOING: EventResponseMessage._EventResponseType.ValueType # 2 + MAYBE: EventResponseMessage._EventResponseType.ValueType # 3 + + class EventResponseType(_EventResponseType, metaclass=_EventResponseTypeEnumTypeWrapper): ... + UNKNOWN: EventResponseMessage.EventResponseType.ValueType # 0 + GOING: EventResponseMessage.EventResponseType.ValueType # 1 + NOT_GOING: EventResponseMessage.EventResponseType.ValueType # 2 + MAYBE: EventResponseMessage.EventResponseType.ValueType # 3 + + RESPONSE_FIELD_NUMBER: builtins.int + TIMESTAMPMS_FIELD_NUMBER: builtins.int + EXTRAGUESTCOUNT_FIELD_NUMBER: builtins.int + response: global___EventResponseMessage.EventResponseType.ValueType + timestampMS: builtins.int + extraGuestCount: builtins.int + def __init__( + self, + *, + response: global___EventResponseMessage.EventResponseType.ValueType | None = ..., + timestampMS: builtins.int | None = ..., + extraGuestCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["extraGuestCount", b"extraGuestCount", "response", b"response", "timestampMS", b"timestampMS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["extraGuestCount", b"extraGuestCount", "response", b"response", "timestampMS", b"timestampMS"]) -> None: ... + +global___EventResponseMessage = EventResponseMessage + +@typing.final +class PinInChatMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PinInChatMessage._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_TYPE: PinInChatMessage._Type.ValueType # 0 + PIN_FOR_ALL: PinInChatMessage._Type.ValueType # 1 + UNPIN_FOR_ALL: PinInChatMessage._Type.ValueType # 2 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + UNKNOWN_TYPE: PinInChatMessage.Type.ValueType # 0 + PIN_FOR_ALL: PinInChatMessage.Type.ValueType # 1 + UNPIN_FOR_ALL: PinInChatMessage.Type.ValueType # 2 + + KEY_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + type: global___PinInChatMessage.Type.ValueType + senderTimestampMS: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + type: global___PinInChatMessage.Type.ValueType | None = ..., + senderTimestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "senderTimestampMS", b"senderTimestampMS", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "senderTimestampMS", b"senderTimestampMS", "type", b"type"]) -> None: ... + +global___PinInChatMessage = PinInChatMessage + +@typing.final +class StatusStickerInteractionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _StatusStickerType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusStickerTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusStickerInteractionMessage._StatusStickerType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: StatusStickerInteractionMessage._StatusStickerType.ValueType # 0 + REACTION: StatusStickerInteractionMessage._StatusStickerType.ValueType # 1 + + class StatusStickerType(_StatusStickerType, metaclass=_StatusStickerTypeEnumTypeWrapper): ... + UNKNOWN: StatusStickerInteractionMessage.StatusStickerType.ValueType # 0 + REACTION: StatusStickerInteractionMessage.StatusStickerType.ValueType # 1 + + KEY_FIELD_NUMBER: builtins.int + STICKERKEY_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + stickerKey: builtins.str + type: global___StatusStickerInteractionMessage.StatusStickerType.ValueType + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + stickerKey: builtins.str | None = ..., + type: global___StatusStickerInteractionMessage.StatusStickerType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "stickerKey", b"stickerKey", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "stickerKey", b"stickerKey", "type", b"type"]) -> None: ... + +global___StatusStickerInteractionMessage = StatusStickerInteractionMessage + +@typing.final +class ButtonsResponseMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ButtonsResponseMessage._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: ButtonsResponseMessage._Type.ValueType # 0 + DISPLAY_TEXT: ButtonsResponseMessage._Type.ValueType # 1 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + UNKNOWN: ButtonsResponseMessage.Type.ValueType # 0 + DISPLAY_TEXT: ButtonsResponseMessage.Type.ValueType # 1 + + SELECTEDDISPLAYTEXT_FIELD_NUMBER: builtins.int + SELECTEDBUTTONID_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + selectedDisplayText: builtins.str + selectedButtonID: builtins.str + type: global___ButtonsResponseMessage.Type.ValueType + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + selectedDisplayText: builtins.str | None = ..., + selectedButtonID: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + type: global___ButtonsResponseMessage.Type.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "response", b"response", "selectedButtonID", b"selectedButtonID", "selectedDisplayText", b"selectedDisplayText", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "response", b"response", "selectedButtonID", b"selectedButtonID", "selectedDisplayText", b"selectedDisplayText", "type", b"type"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["response", b"response"]) -> typing.Literal["selectedDisplayText"] | None: ... + +global___ButtonsResponseMessage = ButtonsResponseMessage + +@typing.final +class ButtonsMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _HeaderType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _HeaderTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ButtonsMessage._HeaderType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: ButtonsMessage._HeaderType.ValueType # 0 + EMPTY: ButtonsMessage._HeaderType.ValueType # 1 + TEXT: ButtonsMessage._HeaderType.ValueType # 2 + DOCUMENT: ButtonsMessage._HeaderType.ValueType # 3 + IMAGE: ButtonsMessage._HeaderType.ValueType # 4 + VIDEO: ButtonsMessage._HeaderType.ValueType # 5 + LOCATION: ButtonsMessage._HeaderType.ValueType # 6 + + class HeaderType(_HeaderType, metaclass=_HeaderTypeEnumTypeWrapper): ... + UNKNOWN: ButtonsMessage.HeaderType.ValueType # 0 + EMPTY: ButtonsMessage.HeaderType.ValueType # 1 + TEXT: ButtonsMessage.HeaderType.ValueType # 2 + DOCUMENT: ButtonsMessage.HeaderType.ValueType # 3 + IMAGE: ButtonsMessage.HeaderType.ValueType # 4 + VIDEO: ButtonsMessage.HeaderType.ValueType # 5 + LOCATION: ButtonsMessage.HeaderType.ValueType # 6 + + @typing.final + class Button(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ButtonsMessage.Button._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: ButtonsMessage.Button._Type.ValueType # 0 + RESPONSE: ButtonsMessage.Button._Type.ValueType # 1 + NATIVE_FLOW: ButtonsMessage.Button._Type.ValueType # 2 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + UNKNOWN: ButtonsMessage.Button.Type.ValueType # 0 + RESPONSE: ButtonsMessage.Button.Type.ValueType # 1 + NATIVE_FLOW: ButtonsMessage.Button.Type.ValueType # 2 + + @typing.final + class NativeFlowInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + PARAMSJSON_FIELD_NUMBER: builtins.int + name: builtins.str + paramsJSON: builtins.str + def __init__( + self, + *, + name: builtins.str | None = ..., + paramsJSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["name", b"name", "paramsJSON", b"paramsJSON"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["name", b"name", "paramsJSON", b"paramsJSON"]) -> None: ... + + @typing.final + class ButtonText(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYTEXT_FIELD_NUMBER: builtins.int + displayText: builtins.str + def __init__( + self, + *, + displayText: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["displayText", b"displayText"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["displayText", b"displayText"]) -> None: ... + + BUTTONID_FIELD_NUMBER: builtins.int + BUTTONTEXT_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + NATIVEFLOWINFO_FIELD_NUMBER: builtins.int + buttonID: builtins.str + type: global___ButtonsMessage.Button.Type.ValueType + @property + def buttonText(self) -> global___ButtonsMessage.Button.ButtonText: ... + @property + def nativeFlowInfo(self) -> global___ButtonsMessage.Button.NativeFlowInfo: ... + def __init__( + self, + *, + buttonID: builtins.str | None = ..., + buttonText: global___ButtonsMessage.Button.ButtonText | None = ..., + type: global___ButtonsMessage.Button.Type.ValueType | None = ..., + nativeFlowInfo: global___ButtonsMessage.Button.NativeFlowInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["buttonID", b"buttonID", "buttonText", b"buttonText", "nativeFlowInfo", b"nativeFlowInfo", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buttonID", b"buttonID", "buttonText", b"buttonText", "nativeFlowInfo", b"nativeFlowInfo", "type", b"type"]) -> None: ... + + TEXT_FIELD_NUMBER: builtins.int + DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int + IMAGEMESSAGE_FIELD_NUMBER: builtins.int + VIDEOMESSAGE_FIELD_NUMBER: builtins.int + LOCATIONMESSAGE_FIELD_NUMBER: builtins.int + CONTENTTEXT_FIELD_NUMBER: builtins.int + FOOTERTEXT_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + BUTTONS_FIELD_NUMBER: builtins.int + HEADERTYPE_FIELD_NUMBER: builtins.int + text: builtins.str + contentText: builtins.str + footerText: builtins.str + headerType: global___ButtonsMessage.HeaderType.ValueType + @property + def documentMessage(self) -> global___DocumentMessage: ... + @property + def imageMessage(self) -> global___ImageMessage: ... + @property + def videoMessage(self) -> global___VideoMessage: ... + @property + def locationMessage(self) -> global___LocationMessage: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def buttons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ButtonsMessage.Button]: ... + def __init__( + self, + *, + text: builtins.str | None = ..., + documentMessage: global___DocumentMessage | None = ..., + imageMessage: global___ImageMessage | None = ..., + videoMessage: global___VideoMessage | None = ..., + locationMessage: global___LocationMessage | None = ..., + contentText: builtins.str | None = ..., + footerText: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + buttons: collections.abc.Iterable[global___ButtonsMessage.Button] | None = ..., + headerType: global___ButtonsMessage.HeaderType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contentText", b"contentText", "contextInfo", b"contextInfo", "documentMessage", b"documentMessage", "footerText", b"footerText", "header", b"header", "headerType", b"headerType", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "text", b"text", "videoMessage", b"videoMessage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buttons", b"buttons", "contentText", b"contentText", "contextInfo", b"contextInfo", "documentMessage", b"documentMessage", "footerText", b"footerText", "header", b"header", "headerType", b"headerType", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "text", b"text", "videoMessage", b"videoMessage"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["header", b"header"]) -> typing.Literal["text", "documentMessage", "imageMessage", "videoMessage", "locationMessage"] | None: ... + +global___ButtonsMessage = ButtonsMessage + +@typing.final +class SecretEncryptedMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _SecretEncType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SecretEncTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SecretEncryptedMessage._SecretEncType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: SecretEncryptedMessage._SecretEncType.ValueType # 0 + EVENT_EDIT: SecretEncryptedMessage._SecretEncType.ValueType # 1 + MESSAGE_EDIT: SecretEncryptedMessage._SecretEncType.ValueType # 2 + + class SecretEncType(_SecretEncType, metaclass=_SecretEncTypeEnumTypeWrapper): ... + UNKNOWN: SecretEncryptedMessage.SecretEncType.ValueType # 0 + EVENT_EDIT: SecretEncryptedMessage.SecretEncType.ValueType # 1 + MESSAGE_EDIT: SecretEncryptedMessage.SecretEncType.ValueType # 2 + + TARGETMESSAGEKEY_FIELD_NUMBER: builtins.int + ENCPAYLOAD_FIELD_NUMBER: builtins.int + ENCIV_FIELD_NUMBER: builtins.int + SECRETENCTYPE_FIELD_NUMBER: builtins.int + encPayload: builtins.bytes + encIV: builtins.bytes + secretEncType: global___SecretEncryptedMessage.SecretEncType.ValueType + @property + def targetMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + targetMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + encPayload: builtins.bytes | None = ..., + encIV: builtins.bytes | None = ..., + secretEncType: global___SecretEncryptedMessage.SecretEncType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "secretEncType", b"secretEncType", "targetMessageKey", b"targetMessageKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "secretEncType", b"secretEncType", "targetMessageKey", b"targetMessageKey"]) -> None: ... + +global___SecretEncryptedMessage = SecretEncryptedMessage + +@typing.final +class GroupInviteMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _GroupType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _GroupTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GroupInviteMessage._GroupType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DEFAULT: GroupInviteMessage._GroupType.ValueType # 0 + PARENT: GroupInviteMessage._GroupType.ValueType # 1 + + class GroupType(_GroupType, metaclass=_GroupTypeEnumTypeWrapper): ... + DEFAULT: GroupInviteMessage.GroupType.ValueType # 0 + PARENT: GroupInviteMessage.GroupType.ValueType # 1 + + GROUPJID_FIELD_NUMBER: builtins.int + INVITECODE_FIELD_NUMBER: builtins.int + INVITEEXPIRATION_FIELD_NUMBER: builtins.int + GROUPNAME_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + GROUPTYPE_FIELD_NUMBER: builtins.int + groupJID: builtins.str + inviteCode: builtins.str + inviteExpiration: builtins.int + groupName: builtins.str + JPEGThumbnail: builtins.bytes + caption: builtins.str + groupType: global___GroupInviteMessage.GroupType.ValueType + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + groupJID: builtins.str | None = ..., + inviteCode: builtins.str | None = ..., + inviteExpiration: builtins.int | None = ..., + groupName: builtins.str | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + caption: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + groupType: global___GroupInviteMessage.GroupType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "groupJID", b"groupJID", "groupName", b"groupName", "groupType", b"groupType", "inviteCode", b"inviteCode", "inviteExpiration", b"inviteExpiration"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "groupJID", b"groupJID", "groupName", b"groupName", "groupType", b"groupType", "inviteCode", b"inviteCode", "inviteExpiration", b"inviteExpiration"]) -> None: ... + +global___GroupInviteMessage = GroupInviteMessage + +@typing.final +class InteractiveResponseMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Body(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Format: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _FormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InteractiveResponseMessage.Body._Format.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DEFAULT: InteractiveResponseMessage.Body._Format.ValueType # 0 + EXTENSIONS_1: InteractiveResponseMessage.Body._Format.ValueType # 1 + + class Format(_Format, metaclass=_FormatEnumTypeWrapper): ... + DEFAULT: InteractiveResponseMessage.Body.Format.ValueType # 0 + EXTENSIONS_1: InteractiveResponseMessage.Body.Format.ValueType # 1 + + TEXT_FIELD_NUMBER: builtins.int + FORMAT_FIELD_NUMBER: builtins.int + text: builtins.str + format: global___InteractiveResponseMessage.Body.Format.ValueType + def __init__( + self, + *, + text: builtins.str | None = ..., + format: global___InteractiveResponseMessage.Body.Format.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["format", b"format", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["format", b"format", "text", b"text"]) -> None: ... + + @typing.final + class NativeFlowResponseMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + PARAMSJSON_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + name: builtins.str + paramsJSON: builtins.str + version: builtins.int + def __init__( + self, + *, + name: builtins.str | None = ..., + paramsJSON: builtins.str | None = ..., + version: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["name", b"name", "paramsJSON", b"paramsJSON", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["name", b"name", "paramsJSON", b"paramsJSON", "version", b"version"]) -> None: ... + + NATIVEFLOWRESPONSEMESSAGE_FIELD_NUMBER: builtins.int + BODY_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + @property + def nativeFlowResponseMessage(self) -> global___InteractiveResponseMessage.NativeFlowResponseMessage: ... + @property + def body(self) -> global___InteractiveResponseMessage.Body: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + nativeFlowResponseMessage: global___InteractiveResponseMessage.NativeFlowResponseMessage | None = ..., + body: global___InteractiveResponseMessage.Body | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["body", b"body", "contextInfo", b"contextInfo", "interactiveResponseMessage", b"interactiveResponseMessage", "nativeFlowResponseMessage", b"nativeFlowResponseMessage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["body", b"body", "contextInfo", b"contextInfo", "interactiveResponseMessage", b"interactiveResponseMessage", "nativeFlowResponseMessage", b"nativeFlowResponseMessage"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["interactiveResponseMessage", b"interactiveResponseMessage"]) -> typing.Literal["nativeFlowResponseMessage"] | None: ... + +global___InteractiveResponseMessage = InteractiveResponseMessage + +@typing.final +class InteractiveMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class CarouselMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _CarouselCardType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CarouselCardTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InteractiveMessage.CarouselMessage._CarouselCardType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: InteractiveMessage.CarouselMessage._CarouselCardType.ValueType # 0 + HSCROLL_CARDS: InteractiveMessage.CarouselMessage._CarouselCardType.ValueType # 1 + ALBUM_IMAGE: InteractiveMessage.CarouselMessage._CarouselCardType.ValueType # 2 + + class CarouselCardType(_CarouselCardType, metaclass=_CarouselCardTypeEnumTypeWrapper): ... + UNKNOWN: InteractiveMessage.CarouselMessage.CarouselCardType.ValueType # 0 + HSCROLL_CARDS: InteractiveMessage.CarouselMessage.CarouselCardType.ValueType # 1 + ALBUM_IMAGE: InteractiveMessage.CarouselMessage.CarouselCardType.ValueType # 2 + + CARDS_FIELD_NUMBER: builtins.int + MESSAGEVERSION_FIELD_NUMBER: builtins.int + CAROUSELCARDTYPE_FIELD_NUMBER: builtins.int + messageVersion: builtins.int + carouselCardType: global___InteractiveMessage.CarouselMessage.CarouselCardType.ValueType + @property + def cards(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveMessage]: ... + def __init__( + self, + *, + cards: collections.abc.Iterable[global___InteractiveMessage] | None = ..., + messageVersion: builtins.int | None = ..., + carouselCardType: global___InteractiveMessage.CarouselMessage.CarouselCardType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["carouselCardType", b"carouselCardType", "messageVersion", b"messageVersion"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["cards", b"cards", "carouselCardType", b"carouselCardType", "messageVersion", b"messageVersion"]) -> None: ... + + @typing.final + class ShopMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Surface: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SurfaceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InteractiveMessage.ShopMessage._Surface.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_SURFACE: InteractiveMessage.ShopMessage._Surface.ValueType # 0 + FB: InteractiveMessage.ShopMessage._Surface.ValueType # 1 + IG: InteractiveMessage.ShopMessage._Surface.ValueType # 2 + WA: InteractiveMessage.ShopMessage._Surface.ValueType # 3 + + class Surface(_Surface, metaclass=_SurfaceEnumTypeWrapper): ... + UNKNOWN_SURFACE: InteractiveMessage.ShopMessage.Surface.ValueType # 0 + FB: InteractiveMessage.ShopMessage.Surface.ValueType # 1 + IG: InteractiveMessage.ShopMessage.Surface.ValueType # 2 + WA: InteractiveMessage.ShopMessage.Surface.ValueType # 3 + + ID_FIELD_NUMBER: builtins.int + SURFACE_FIELD_NUMBER: builtins.int + MESSAGEVERSION_FIELD_NUMBER: builtins.int + ID: builtins.str + surface: global___InteractiveMessage.ShopMessage.Surface.ValueType + messageVersion: builtins.int + def __init__( + self, + *, + ID: builtins.str | None = ..., + surface: global___InteractiveMessage.ShopMessage.Surface.ValueType | None = ..., + messageVersion: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "messageVersion", b"messageVersion", "surface", b"surface"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "messageVersion", b"messageVersion", "surface", b"surface"]) -> None: ... + + @typing.final + class NativeFlowMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class NativeFlowButton(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + BUTTONPARAMSJSON_FIELD_NUMBER: builtins.int + name: builtins.str + buttonParamsJSON: builtins.str + def __init__( + self, + *, + name: builtins.str | None = ..., + buttonParamsJSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["buttonParamsJSON", b"buttonParamsJSON", "name", b"name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buttonParamsJSON", b"buttonParamsJSON", "name", b"name"]) -> None: ... + + BUTTONS_FIELD_NUMBER: builtins.int + MESSAGEPARAMSJSON_FIELD_NUMBER: builtins.int + MESSAGEVERSION_FIELD_NUMBER: builtins.int + messageParamsJSON: builtins.str + messageVersion: builtins.int + @property + def buttons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveMessage.NativeFlowMessage.NativeFlowButton]: ... + def __init__( + self, + *, + buttons: collections.abc.Iterable[global___InteractiveMessage.NativeFlowMessage.NativeFlowButton] | None = ..., + messageParamsJSON: builtins.str | None = ..., + messageVersion: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageParamsJSON", b"messageParamsJSON", "messageVersion", b"messageVersion"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buttons", b"buttons", "messageParamsJSON", b"messageParamsJSON", "messageVersion", b"messageVersion"]) -> None: ... + + @typing.final + class CollectionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BIZJID_FIELD_NUMBER: builtins.int + ID_FIELD_NUMBER: builtins.int + MESSAGEVERSION_FIELD_NUMBER: builtins.int + bizJID: builtins.str + ID: builtins.str + messageVersion: builtins.int + def __init__( + self, + *, + bizJID: builtins.str | None = ..., + ID: builtins.str | None = ..., + messageVersion: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "bizJID", b"bizJID", "messageVersion", b"messageVersion"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "bizJID", b"bizJID", "messageVersion", b"messageVersion"]) -> None: ... + + @typing.final + class Footer(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AUDIOMESSAGE_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + HASMEDIAATTACHMENT_FIELD_NUMBER: builtins.int + text: builtins.str + hasMediaAttachment: builtins.bool + @property + def audioMessage(self) -> global___AudioMessage: ... + def __init__( + self, + *, + audioMessage: global___AudioMessage | None = ..., + text: builtins.str | None = ..., + hasMediaAttachment: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["audioMessage", b"audioMessage", "hasMediaAttachment", b"hasMediaAttachment", "media", b"media", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audioMessage", b"audioMessage", "hasMediaAttachment", b"hasMediaAttachment", "media", b"media", "text", b"text"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["media", b"media"]) -> typing.Literal["audioMessage"] | None: ... + + @typing.final + class Body(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TEXT_FIELD_NUMBER: builtins.int + text: builtins.str + def __init__( + self, + *, + text: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["text", b"text"]) -> None: ... + + @typing.final + class Header(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int + IMAGEMESSAGE_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + VIDEOMESSAGE_FIELD_NUMBER: builtins.int + LOCATIONMESSAGE_FIELD_NUMBER: builtins.int + PRODUCTMESSAGE_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + SUBTITLE_FIELD_NUMBER: builtins.int + HASMEDIAATTACHMENT_FIELD_NUMBER: builtins.int + JPEGThumbnail: builtins.bytes + title: builtins.str + subtitle: builtins.str + hasMediaAttachment: builtins.bool + @property + def documentMessage(self) -> global___DocumentMessage: ... + @property + def imageMessage(self) -> global___ImageMessage: ... + @property + def videoMessage(self) -> global___VideoMessage: ... + @property + def locationMessage(self) -> global___LocationMessage: ... + @property + def productMessage(self) -> global___ProductMessage: ... + def __init__( + self, + *, + documentMessage: global___DocumentMessage | None = ..., + imageMessage: global___ImageMessage | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + videoMessage: global___VideoMessage | None = ..., + locationMessage: global___LocationMessage | None = ..., + productMessage: global___ProductMessage | None = ..., + title: builtins.str | None = ..., + subtitle: builtins.str | None = ..., + hasMediaAttachment: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "documentMessage", b"documentMessage", "hasMediaAttachment", b"hasMediaAttachment", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "media", b"media", "productMessage", b"productMessage", "subtitle", b"subtitle", "title", b"title", "videoMessage", b"videoMessage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "documentMessage", b"documentMessage", "hasMediaAttachment", b"hasMediaAttachment", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "media", b"media", "productMessage", b"productMessage", "subtitle", b"subtitle", "title", b"title", "videoMessage", b"videoMessage"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["media", b"media"]) -> typing.Literal["documentMessage", "imageMessage", "JPEGThumbnail", "videoMessage", "locationMessage", "productMessage"] | None: ... + + SHOPSTOREFRONTMESSAGE_FIELD_NUMBER: builtins.int + COLLECTIONMESSAGE_FIELD_NUMBER: builtins.int + NATIVEFLOWMESSAGE_FIELD_NUMBER: builtins.int + CAROUSELMESSAGE_FIELD_NUMBER: builtins.int + HEADER_FIELD_NUMBER: builtins.int + BODY_FIELD_NUMBER: builtins.int + FOOTER_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + URLTRACKINGMAP_FIELD_NUMBER: builtins.int + @property + def shopStorefrontMessage(self) -> global___InteractiveMessage.ShopMessage: ... + @property + def collectionMessage(self) -> global___InteractiveMessage.CollectionMessage: ... + @property + def nativeFlowMessage(self) -> global___InteractiveMessage.NativeFlowMessage: ... + @property + def carouselMessage(self) -> global___InteractiveMessage.CarouselMessage: ... + @property + def header(self) -> global___InteractiveMessage.Header: ... + @property + def body(self) -> global___InteractiveMessage.Body: ... + @property + def footer(self) -> global___InteractiveMessage.Footer: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def urlTrackingMap(self) -> global___UrlTrackingMap: ... + def __init__( + self, + *, + shopStorefrontMessage: global___InteractiveMessage.ShopMessage | None = ..., + collectionMessage: global___InteractiveMessage.CollectionMessage | None = ..., + nativeFlowMessage: global___InteractiveMessage.NativeFlowMessage | None = ..., + carouselMessage: global___InteractiveMessage.CarouselMessage | None = ..., + header: global___InteractiveMessage.Header | None = ..., + body: global___InteractiveMessage.Body | None = ..., + footer: global___InteractiveMessage.Footer | None = ..., + contextInfo: global___ContextInfo | None = ..., + urlTrackingMap: global___UrlTrackingMap | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["body", b"body", "carouselMessage", b"carouselMessage", "collectionMessage", b"collectionMessage", "contextInfo", b"contextInfo", "footer", b"footer", "header", b"header", "interactiveMessage", b"interactiveMessage", "nativeFlowMessage", b"nativeFlowMessage", "shopStorefrontMessage", b"shopStorefrontMessage", "urlTrackingMap", b"urlTrackingMap"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["body", b"body", "carouselMessage", b"carouselMessage", "collectionMessage", b"collectionMessage", "contextInfo", b"contextInfo", "footer", b"footer", "header", b"header", "interactiveMessage", b"interactiveMessage", "nativeFlowMessage", b"nativeFlowMessage", "shopStorefrontMessage", b"shopStorefrontMessage", "urlTrackingMap", b"urlTrackingMap"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["interactiveMessage", b"interactiveMessage"]) -> typing.Literal["shopStorefrontMessage", "collectionMessage", "nativeFlowMessage", "carouselMessage"] | None: ... + +global___InteractiveMessage = InteractiveMessage + +@typing.final +class ListResponseMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ListType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ListTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ListResponseMessage._ListType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: ListResponseMessage._ListType.ValueType # 0 + SINGLE_SELECT: ListResponseMessage._ListType.ValueType # 1 + + class ListType(_ListType, metaclass=_ListTypeEnumTypeWrapper): ... + UNKNOWN: ListResponseMessage.ListType.ValueType # 0 + SINGLE_SELECT: ListResponseMessage.ListType.ValueType # 1 + + @typing.final + class SingleSelectReply(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SELECTEDROWID_FIELD_NUMBER: builtins.int + selectedRowID: builtins.str + def __init__( + self, + *, + selectedRowID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["selectedRowID", b"selectedRowID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["selectedRowID", b"selectedRowID"]) -> None: ... + + TITLE_FIELD_NUMBER: builtins.int + LISTTYPE_FIELD_NUMBER: builtins.int + SINGLESELECTREPLY_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + title: builtins.str + listType: global___ListResponseMessage.ListType.ValueType + description: builtins.str + @property + def singleSelectReply(self) -> global___ListResponseMessage.SingleSelectReply: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + title: builtins.str | None = ..., + listType: global___ListResponseMessage.ListType.ValueType | None = ..., + singleSelectReply: global___ListResponseMessage.SingleSelectReply | None = ..., + contextInfo: global___ContextInfo | None = ..., + description: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "description", b"description", "listType", b"listType", "singleSelectReply", b"singleSelectReply", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "description", b"description", "listType", b"listType", "singleSelectReply", b"singleSelectReply", "title", b"title"]) -> None: ... + +global___ListResponseMessage = ListResponseMessage + +@typing.final +class ListMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ListType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ListTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ListMessage._ListType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: ListMessage._ListType.ValueType # 0 + SINGLE_SELECT: ListMessage._ListType.ValueType # 1 + PRODUCT_LIST: ListMessage._ListType.ValueType # 2 + + class ListType(_ListType, metaclass=_ListTypeEnumTypeWrapper): ... + UNKNOWN: ListMessage.ListType.ValueType # 0 + SINGLE_SELECT: ListMessage.ListType.ValueType # 1 + PRODUCT_LIST: ListMessage.ListType.ValueType # 2 + + @typing.final + class ProductListInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRODUCTSECTIONS_FIELD_NUMBER: builtins.int + HEADERIMAGE_FIELD_NUMBER: builtins.int + BUSINESSOWNERJID_FIELD_NUMBER: builtins.int + businessOwnerJID: builtins.str + @property + def productSections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ListMessage.ProductSection]: ... + @property + def headerImage(self) -> global___ListMessage.ProductListHeaderImage: ... + def __init__( + self, + *, + productSections: collections.abc.Iterable[global___ListMessage.ProductSection] | None = ..., + headerImage: global___ListMessage.ProductListHeaderImage | None = ..., + businessOwnerJID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["businessOwnerJID", b"businessOwnerJID", "headerImage", b"headerImage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["businessOwnerJID", b"businessOwnerJID", "headerImage", b"headerImage", "productSections", b"productSections"]) -> None: ... + + @typing.final + class ProductListHeaderImage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRODUCTID_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + productID: builtins.str + JPEGThumbnail: builtins.bytes + def __init__( + self, + *, + productID: builtins.str | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "productID", b"productID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "productID", b"productID"]) -> None: ... + + @typing.final + class ProductSection(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + PRODUCTS_FIELD_NUMBER: builtins.int + title: builtins.str + @property + def products(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ListMessage.Product]: ... + def __init__( + self, + *, + title: builtins.str | None = ..., + products: collections.abc.Iterable[global___ListMessage.Product] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["products", b"products", "title", b"title"]) -> None: ... + + @typing.final + class Product(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRODUCTID_FIELD_NUMBER: builtins.int + productID: builtins.str + def __init__( + self, + *, + productID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["productID", b"productID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["productID", b"productID"]) -> None: ... + + @typing.final + class Section(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + ROWS_FIELD_NUMBER: builtins.int + title: builtins.str + @property + def rows(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ListMessage.Row]: ... + def __init__( + self, + *, + title: builtins.str | None = ..., + rows: collections.abc.Iterable[global___ListMessage.Row] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["rows", b"rows", "title", b"title"]) -> None: ... + + @typing.final + class Row(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + ROWID_FIELD_NUMBER: builtins.int + title: builtins.str + description: builtins.str + rowID: builtins.str + def __init__( + self, + *, + title: builtins.str | None = ..., + description: builtins.str | None = ..., + rowID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["description", b"description", "rowID", b"rowID", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["description", b"description", "rowID", b"rowID", "title", b"title"]) -> None: ... + + TITLE_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + BUTTONTEXT_FIELD_NUMBER: builtins.int + LISTTYPE_FIELD_NUMBER: builtins.int + SECTIONS_FIELD_NUMBER: builtins.int + PRODUCTLISTINFO_FIELD_NUMBER: builtins.int + FOOTERTEXT_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + title: builtins.str + description: builtins.str + buttonText: builtins.str + listType: global___ListMessage.ListType.ValueType + footerText: builtins.str + @property + def sections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ListMessage.Section]: ... + @property + def productListInfo(self) -> global___ListMessage.ProductListInfo: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + title: builtins.str | None = ..., + description: builtins.str | None = ..., + buttonText: builtins.str | None = ..., + listType: global___ListMessage.ListType.ValueType | None = ..., + sections: collections.abc.Iterable[global___ListMessage.Section] | None = ..., + productListInfo: global___ListMessage.ProductListInfo | None = ..., + footerText: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["buttonText", b"buttonText", "contextInfo", b"contextInfo", "description", b"description", "footerText", b"footerText", "listType", b"listType", "productListInfo", b"productListInfo", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buttonText", b"buttonText", "contextInfo", b"contextInfo", "description", b"description", "footerText", b"footerText", "listType", b"listType", "productListInfo", b"productListInfo", "sections", b"sections", "title", b"title"]) -> None: ... + +global___ListMessage = ListMessage + +@typing.final +class OrderMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _OrderSurface: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _OrderSurfaceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[OrderMessage._OrderSurface.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CATALOG: OrderMessage._OrderSurface.ValueType # 1 + + class OrderSurface(_OrderSurface, metaclass=_OrderSurfaceEnumTypeWrapper): ... + CATALOG: OrderMessage.OrderSurface.ValueType # 1 + + class _OrderStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _OrderStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[OrderMessage._OrderStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + INQUIRY: OrderMessage._OrderStatus.ValueType # 1 + ACCEPTED: OrderMessage._OrderStatus.ValueType # 2 + DECLINED: OrderMessage._OrderStatus.ValueType # 3 + + class OrderStatus(_OrderStatus, metaclass=_OrderStatusEnumTypeWrapper): ... + INQUIRY: OrderMessage.OrderStatus.ValueType # 1 + ACCEPTED: OrderMessage.OrderStatus.ValueType # 2 + DECLINED: OrderMessage.OrderStatus.ValueType # 3 + + ORDERID_FIELD_NUMBER: builtins.int + THUMBNAIL_FIELD_NUMBER: builtins.int + ITEMCOUNT_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + SURFACE_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + ORDERTITLE_FIELD_NUMBER: builtins.int + SELLERJID_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int + TOTALAMOUNT1000_FIELD_NUMBER: builtins.int + TOTALCURRENCYCODE_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + MESSAGEVERSION_FIELD_NUMBER: builtins.int + ORDERREQUESTMESSAGEID_FIELD_NUMBER: builtins.int + CATALOGTYPE_FIELD_NUMBER: builtins.int + orderID: builtins.str + thumbnail: builtins.bytes + itemCount: builtins.int + status: global___OrderMessage.OrderStatus.ValueType + surface: global___OrderMessage.OrderSurface.ValueType + message: builtins.str + orderTitle: builtins.str + sellerJID: builtins.str + token: builtins.str + totalAmount1000: builtins.int + totalCurrencyCode: builtins.str + messageVersion: builtins.int + catalogType: builtins.str + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def orderRequestMessageID(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + orderID: builtins.str | None = ..., + thumbnail: builtins.bytes | None = ..., + itemCount: builtins.int | None = ..., + status: global___OrderMessage.OrderStatus.ValueType | None = ..., + surface: global___OrderMessage.OrderSurface.ValueType | None = ..., + message: builtins.str | None = ..., + orderTitle: builtins.str | None = ..., + sellerJID: builtins.str | None = ..., + token: builtins.str | None = ..., + totalAmount1000: builtins.int | None = ..., + totalCurrencyCode: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + messageVersion: builtins.int | None = ..., + orderRequestMessageID: waCommon.WACommon_pb2.MessageKey | None = ..., + catalogType: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["catalogType", b"catalogType", "contextInfo", b"contextInfo", "itemCount", b"itemCount", "message", b"message", "messageVersion", b"messageVersion", "orderID", b"orderID", "orderRequestMessageID", b"orderRequestMessageID", "orderTitle", b"orderTitle", "sellerJID", b"sellerJID", "status", b"status", "surface", b"surface", "thumbnail", b"thumbnail", "token", b"token", "totalAmount1000", b"totalAmount1000", "totalCurrencyCode", b"totalCurrencyCode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["catalogType", b"catalogType", "contextInfo", b"contextInfo", "itemCount", b"itemCount", "message", b"message", "messageVersion", b"messageVersion", "orderID", b"orderID", "orderRequestMessageID", b"orderRequestMessageID", "orderTitle", b"orderTitle", "sellerJID", b"sellerJID", "status", b"status", "surface", b"surface", "thumbnail", b"thumbnail", "token", b"token", "totalAmount1000", b"totalAmount1000", "totalCurrencyCode", b"totalCurrencyCode"]) -> None: ... + +global___OrderMessage = OrderMessage + +@typing.final +class StatusQuotedMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _StatusQuotedMessageType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusQuotedMessageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusQuotedMessage._StatusQuotedMessageType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + QUESTION_ANSWER: StatusQuotedMessage._StatusQuotedMessageType.ValueType # 1 + + class StatusQuotedMessageType(_StatusQuotedMessageType, metaclass=_StatusQuotedMessageTypeEnumTypeWrapper): ... + QUESTION_ANSWER: StatusQuotedMessage.StatusQuotedMessageType.ValueType # 1 + + TYPE_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + THUMBNAIL_FIELD_NUMBER: builtins.int + ORIGINALSTATUSID_FIELD_NUMBER: builtins.int + type: global___StatusQuotedMessage.StatusQuotedMessageType.ValueType + text: builtins.str + thumbnail: builtins.bytes + @property + def originalStatusID(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + type: global___StatusQuotedMessage.StatusQuotedMessageType.ValueType | None = ..., + text: builtins.str | None = ..., + thumbnail: builtins.bytes | None = ..., + originalStatusID: waCommon.WACommon_pb2.MessageKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["originalStatusID", b"originalStatusID", "text", b"text", "thumbnail", b"thumbnail", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["originalStatusID", b"originalStatusID", "text", b"text", "thumbnail", b"thumbnail", "type", b"type"]) -> None: ... + +global___StatusQuotedMessage = StatusQuotedMessage + +@typing.final +class PaymentInviteMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ServiceType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ServiceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentInviteMessage._ServiceType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: PaymentInviteMessage._ServiceType.ValueType # 0 + FBPAY: PaymentInviteMessage._ServiceType.ValueType # 1 + NOVI: PaymentInviteMessage._ServiceType.ValueType # 2 + UPI: PaymentInviteMessage._ServiceType.ValueType # 3 + + class ServiceType(_ServiceType, metaclass=_ServiceTypeEnumTypeWrapper): ... + UNKNOWN: PaymentInviteMessage.ServiceType.ValueType # 0 + FBPAY: PaymentInviteMessage.ServiceType.ValueType # 1 + NOVI: PaymentInviteMessage.ServiceType.ValueType # 2 + UPI: PaymentInviteMessage.ServiceType.ValueType # 3 + + SERVICETYPE_FIELD_NUMBER: builtins.int + EXPIRYTIMESTAMP_FIELD_NUMBER: builtins.int + serviceType: global___PaymentInviteMessage.ServiceType.ValueType + expiryTimestamp: builtins.int + def __init__( + self, + *, + serviceType: global___PaymentInviteMessage.ServiceType.ValueType | None = ..., + expiryTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["expiryTimestamp", b"expiryTimestamp", "serviceType", b"serviceType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["expiryTimestamp", b"expiryTimestamp", "serviceType", b"serviceType"]) -> None: ... + +global___PaymentInviteMessage = PaymentInviteMessage + +@typing.final +class HighlyStructuredMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class HSMLocalizableParameter(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class HSMDateTime(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class HSMDateTimeComponent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _CalendarType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CalendarTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._CalendarType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + GREGORIAN: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._CalendarType.ValueType # 1 + SOLAR_HIJRI: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._CalendarType.ValueType # 2 + + class CalendarType(_CalendarType, metaclass=_CalendarTypeEnumTypeWrapper): ... + GREGORIAN: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType # 1 + SOLAR_HIJRI: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType # 2 + + class _DayOfWeekType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _DayOfWeekTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + MONDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 1 + TUESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 2 + WEDNESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 3 + THURSDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 4 + FRIDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 5 + SATURDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 6 + SUNDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType # 7 + + class DayOfWeekType(_DayOfWeekType, metaclass=_DayOfWeekTypeEnumTypeWrapper): ... + MONDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 1 + TUESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 2 + WEDNESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 3 + THURSDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 4 + FRIDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 5 + SATURDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 6 + SUNDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType # 7 + + DAYOFWEEK_FIELD_NUMBER: builtins.int + YEAR_FIELD_NUMBER: builtins.int + MONTH_FIELD_NUMBER: builtins.int + DAYOFMONTH_FIELD_NUMBER: builtins.int + HOUR_FIELD_NUMBER: builtins.int + MINUTE_FIELD_NUMBER: builtins.int + CALENDAR_FIELD_NUMBER: builtins.int + dayOfWeek: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType + year: builtins.int + month: builtins.int + dayOfMonth: builtins.int + hour: builtins.int + minute: builtins.int + calendar: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType + def __init__( + self, + *, + dayOfWeek: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType | None = ..., + year: builtins.int | None = ..., + month: builtins.int | None = ..., + dayOfMonth: builtins.int | None = ..., + hour: builtins.int | None = ..., + minute: builtins.int | None = ..., + calendar: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["calendar", b"calendar", "dayOfMonth", b"dayOfMonth", "dayOfWeek", b"dayOfWeek", "hour", b"hour", "minute", b"minute", "month", b"month", "year", b"year"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["calendar", b"calendar", "dayOfMonth", b"dayOfMonth", "dayOfWeek", b"dayOfWeek", "hour", b"hour", "minute", b"minute", "month", b"month", "year", b"year"]) -> None: ... + + @typing.final + class HSMDateTimeUnixEpoch(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMP_FIELD_NUMBER: builtins.int + timestamp: builtins.int + def __init__( + self, + *, + timestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["timestamp", b"timestamp"]) -> None: ... + + COMPONENT_FIELD_NUMBER: builtins.int + UNIXEPOCH_FIELD_NUMBER: builtins.int + @property + def component(self) -> global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent: ... + @property + def unixEpoch(self) -> global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch: ... + def __init__( + self, + *, + component: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent | None = ..., + unixEpoch: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["component", b"component", "datetimeOneof", b"datetimeOneof", "unixEpoch", b"unixEpoch"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["component", b"component", "datetimeOneof", b"datetimeOneof", "unixEpoch", b"unixEpoch"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["datetimeOneof", b"datetimeOneof"]) -> typing.Literal["component", "unixEpoch"] | None: ... + + @typing.final + class HSMCurrency(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CURRENCYCODE_FIELD_NUMBER: builtins.int + AMOUNT1000_FIELD_NUMBER: builtins.int + currencyCode: builtins.str + amount1000: builtins.int + def __init__( + self, + *, + currencyCode: builtins.str | None = ..., + amount1000: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["amount1000", b"amount1000", "currencyCode", b"currencyCode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["amount1000", b"amount1000", "currencyCode", b"currencyCode"]) -> None: ... + + CURRENCY_FIELD_NUMBER: builtins.int + DATETIME_FIELD_NUMBER: builtins.int + DEFAULT_FIELD_NUMBER: builtins.int + default: builtins.str + @property + def currency(self) -> global___HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency: ... + @property + def dateTime(self) -> global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime: ... + def __init__( + self, + *, + currency: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency | None = ..., + dateTime: global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime | None = ..., + default: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["currency", b"currency", "dateTime", b"dateTime", "default", b"default", "paramOneof", b"paramOneof"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["currency", b"currency", "dateTime", b"dateTime", "default", b"default", "paramOneof", b"paramOneof"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["paramOneof", b"paramOneof"]) -> typing.Literal["currency", "dateTime"] | None: ... + + NAMESPACE_FIELD_NUMBER: builtins.int + ELEMENTNAME_FIELD_NUMBER: builtins.int + PARAMS_FIELD_NUMBER: builtins.int + FALLBACKLG_FIELD_NUMBER: builtins.int + FALLBACKLC_FIELD_NUMBER: builtins.int + LOCALIZABLEPARAMS_FIELD_NUMBER: builtins.int + DETERMINISTICLG_FIELD_NUMBER: builtins.int + DETERMINISTICLC_FIELD_NUMBER: builtins.int + HYDRATEDHSM_FIELD_NUMBER: builtins.int + namespace: builtins.str + elementName: builtins.str + fallbackLg: builtins.str + fallbackLc: builtins.str + deterministicLg: builtins.str + deterministicLc: builtins.str + @property + def params(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def localizableParams(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HighlyStructuredMessage.HSMLocalizableParameter]: ... + @property + def hydratedHsm(self) -> global___TemplateMessage: ... + def __init__( + self, + *, + namespace: builtins.str | None = ..., + elementName: builtins.str | None = ..., + params: collections.abc.Iterable[builtins.str] | None = ..., + fallbackLg: builtins.str | None = ..., + fallbackLc: builtins.str | None = ..., + localizableParams: collections.abc.Iterable[global___HighlyStructuredMessage.HSMLocalizableParameter] | None = ..., + deterministicLg: builtins.str | None = ..., + deterministicLc: builtins.str | None = ..., + hydratedHsm: global___TemplateMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deterministicLc", b"deterministicLc", "deterministicLg", b"deterministicLg", "elementName", b"elementName", "fallbackLc", b"fallbackLc", "fallbackLg", b"fallbackLg", "hydratedHsm", b"hydratedHsm", "namespace", b"namespace"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deterministicLc", b"deterministicLc", "deterministicLg", b"deterministicLg", "elementName", b"elementName", "fallbackLc", b"fallbackLc", "fallbackLg", b"fallbackLg", "hydratedHsm", b"hydratedHsm", "localizableParams", b"localizableParams", "namespace", b"namespace", "params", b"params"]) -> None: ... + +global___HighlyStructuredMessage = HighlyStructuredMessage + +@typing.final +class PeerDataOperationRequestResponseMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class PeerDataOperationResult(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _HistorySyncChunkRetryResponseCode: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _HistorySyncChunkRetryResponseCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + GENERATION_ERROR: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType # 1 + CHUNK_CONSUMED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType # 2 + TIMEOUT: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType # 3 + SESSION_EXHAUSTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType # 4 + CHUNK_EXHAUSTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType # 5 + DUPLICATED_REQUEST: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType # 6 + + class HistorySyncChunkRetryResponseCode(_HistorySyncChunkRetryResponseCode, metaclass=_HistorySyncChunkRetryResponseCodeEnumTypeWrapper): ... + GENERATION_ERROR: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType # 1 + CHUNK_CONSUMED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType # 2 + TIMEOUT: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType # 3 + SESSION_EXHAUSTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType # 4 + CHUNK_EXHAUSTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType # 5 + DUPLICATED_REQUEST: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType # 6 + + class _FullHistorySyncOnDemandResponseCode: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _FullHistorySyncOnDemandResponseCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + REQUEST_SUCCESS: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType # 0 + REQUEST_TIME_EXPIRED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType # 1 + DECLINED_SHARING_HISTORY: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType # 2 + GENERIC_ERROR: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType # 3 + ERROR_REQUEST_ON_NON_SMB_PRIMARY: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType # 4 + ERROR_HOSTED_DEVICE_NOT_CONNECTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType # 5 + ERROR_HOSTED_DEVICE_LOGIN_TIME_NOT_SET: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType # 6 + + class FullHistorySyncOnDemandResponseCode(_FullHistorySyncOnDemandResponseCode, metaclass=_FullHistorySyncOnDemandResponseCodeEnumTypeWrapper): ... + REQUEST_SUCCESS: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType # 0 + REQUEST_TIME_EXPIRED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType # 1 + DECLINED_SHARING_HISTORY: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType # 2 + GENERIC_ERROR: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType # 3 + ERROR_REQUEST_ON_NON_SMB_PRIMARY: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType # 4 + ERROR_HOSTED_DEVICE_NOT_CONNECTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType # 5 + ERROR_HOSTED_DEVICE_LOGIN_TIME_NOT_SET: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType # 6 + + @typing.final + class HistorySyncChunkRetryResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SYNCTYPE_FIELD_NUMBER: builtins.int + CHUNKORDER_FIELD_NUMBER: builtins.int + REQUESTID_FIELD_NUMBER: builtins.int + RESPONSECODE_FIELD_NUMBER: builtins.int + CANRECOVER_FIELD_NUMBER: builtins.int + syncType: global___HistorySyncType.ValueType + chunkOrder: builtins.int + requestID: builtins.str + responseCode: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType + canRecover: builtins.bool + def __init__( + self, + *, + syncType: global___HistorySyncType.ValueType | None = ..., + chunkOrder: builtins.int | None = ..., + requestID: builtins.str | None = ..., + responseCode: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType | None = ..., + canRecover: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["canRecover", b"canRecover", "chunkOrder", b"chunkOrder", "requestID", b"requestID", "responseCode", b"responseCode", "syncType", b"syncType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["canRecover", b"canRecover", "chunkOrder", b"chunkOrder", "requestID", b"requestID", "responseCode", b"responseCode", "syncType", b"syncType"]) -> None: ... + + @typing.final + class SyncDSnapshotFatalRecoveryResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COLLECTIONSNAPSHOT_FIELD_NUMBER: builtins.int + ISCOMPRESSED_FIELD_NUMBER: builtins.int + collectionSnapshot: builtins.bytes + isCompressed: builtins.bool + def __init__( + self, + *, + collectionSnapshot: builtins.bytes | None = ..., + isCompressed: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["collectionSnapshot", b"collectionSnapshot", "isCompressed", b"isCompressed"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["collectionSnapshot", b"collectionSnapshot", "isCompressed", b"isCompressed"]) -> None: ... + + @typing.final + class CompanionCanonicalUserNonceFetchResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NONCE_FIELD_NUMBER: builtins.int + WAFBID_FIELD_NUMBER: builtins.int + FORCEREFRESH_FIELD_NUMBER: builtins.int + nonce: builtins.str + waFbid: builtins.str + forceRefresh: builtins.bool + def __init__( + self, + *, + nonce: builtins.str | None = ..., + waFbid: builtins.str | None = ..., + forceRefresh: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["forceRefresh", b"forceRefresh", "nonce", b"nonce", "waFbid", b"waFbid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["forceRefresh", b"forceRefresh", "nonce", b"nonce", "waFbid", b"waFbid"]) -> None: ... + + @typing.final + class CompanionMetaNonceFetchResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NONCE_FIELD_NUMBER: builtins.int + nonce: builtins.str + def __init__( + self, + *, + nonce: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["nonce", b"nonce"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["nonce", b"nonce"]) -> None: ... + + @typing.final + class WaffleNonceFetchResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NONCE_FIELD_NUMBER: builtins.int + WAENTFBID_FIELD_NUMBER: builtins.int + nonce: builtins.str + waEntFbid: builtins.str + def __init__( + self, + *, + nonce: builtins.str | None = ..., + waEntFbid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["nonce", b"nonce", "waEntFbid", b"waEntFbid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["nonce", b"nonce", "waEntFbid", b"waEntFbid"]) -> None: ... + + @typing.final + class FullHistorySyncOnDemandRequestResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REQUESTMETADATA_FIELD_NUMBER: builtins.int + RESPONSECODE_FIELD_NUMBER: builtins.int + responseCode: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType + @property + def requestMetadata(self) -> global___FullHistorySyncOnDemandRequestMetadata: ... + def __init__( + self, + *, + requestMetadata: global___FullHistorySyncOnDemandRequestMetadata | None = ..., + responseCode: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["requestMetadata", b"requestMetadata", "responseCode", b"responseCode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["requestMetadata", b"requestMetadata", "responseCode", b"responseCode"]) -> None: ... + + @typing.final + class PlaceholderMessageResendResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + WEBMESSAGEINFOBYTES_FIELD_NUMBER: builtins.int + webMessageInfoBytes: builtins.bytes + def __init__( + self, + *, + webMessageInfoBytes: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["webMessageInfoBytes", b"webMessageInfoBytes"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["webMessageInfoBytes", b"webMessageInfoBytes"]) -> None: ... + + @typing.final + class LinkPreviewResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class PaymentLinkPreviewMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISBUSINESSVERIFIED_FIELD_NUMBER: builtins.int + PROVIDERNAME_FIELD_NUMBER: builtins.int + isBusinessVerified: builtins.bool + providerName: builtins.str + def __init__( + self, + *, + isBusinessVerified: builtins.bool | None = ..., + providerName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isBusinessVerified", b"isBusinessVerified", "providerName", b"providerName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isBusinessVerified", b"isBusinessVerified", "providerName", b"providerName"]) -> None: ... + + @typing.final + class LinkPreviewHighQualityThumbnail(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DIRECTPATH_FIELD_NUMBER: builtins.int + THUMBHASH_FIELD_NUMBER: builtins.int + ENCTHUMBHASH_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMPMS_FIELD_NUMBER: builtins.int + THUMBWIDTH_FIELD_NUMBER: builtins.int + THUMBHEIGHT_FIELD_NUMBER: builtins.int + directPath: builtins.str + thumbHash: builtins.str + encThumbHash: builtins.str + mediaKey: builtins.bytes + mediaKeyTimestampMS: builtins.int + thumbWidth: builtins.int + thumbHeight: builtins.int + def __init__( + self, + *, + directPath: builtins.str | None = ..., + thumbHash: builtins.str | None = ..., + encThumbHash: builtins.str | None = ..., + mediaKey: builtins.bytes | None = ..., + mediaKeyTimestampMS: builtins.int | None = ..., + thumbWidth: builtins.int | None = ..., + thumbHeight: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "encThumbHash", b"encThumbHash", "mediaKey", b"mediaKey", "mediaKeyTimestampMS", b"mediaKeyTimestampMS", "thumbHash", b"thumbHash", "thumbHeight", b"thumbHeight", "thumbWidth", b"thumbWidth"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "encThumbHash", b"encThumbHash", "mediaKey", b"mediaKey", "mediaKeyTimestampMS", b"mediaKeyTimestampMS", "thumbHash", b"thumbHash", "thumbHeight", b"thumbHeight", "thumbWidth", b"thumbWidth"]) -> None: ... + + URL_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + THUMBDATA_FIELD_NUMBER: builtins.int + MATCHTEXT_FIELD_NUMBER: builtins.int + PREVIEWTYPE_FIELD_NUMBER: builtins.int + HQTHUMBNAIL_FIELD_NUMBER: builtins.int + PREVIEWMETADATA_FIELD_NUMBER: builtins.int + URL: builtins.str + title: builtins.str + description: builtins.str + thumbData: builtins.bytes + matchText: builtins.str + previewType: builtins.str + @property + def hqThumbnail(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail: ... + @property + def previewMetadata(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.PaymentLinkPreviewMetadata: ... + def __init__( + self, + *, + URL: builtins.str | None = ..., + title: builtins.str | None = ..., + description: builtins.str | None = ..., + thumbData: builtins.bytes | None = ..., + matchText: builtins.str | None = ..., + previewType: builtins.str | None = ..., + hqThumbnail: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail | None = ..., + previewMetadata: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.PaymentLinkPreviewMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "description", b"description", "hqThumbnail", b"hqThumbnail", "matchText", b"matchText", "previewMetadata", b"previewMetadata", "previewType", b"previewType", "thumbData", b"thumbData", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "description", b"description", "hqThumbnail", b"hqThumbnail", "matchText", b"matchText", "previewMetadata", b"previewMetadata", "previewType", b"previewType", "thumbData", b"thumbData", "title", b"title"]) -> None: ... + + MEDIAUPLOADRESULT_FIELD_NUMBER: builtins.int + STICKERMESSAGE_FIELD_NUMBER: builtins.int + LINKPREVIEWRESPONSE_FIELD_NUMBER: builtins.int + PLACEHOLDERMESSAGERESENDRESPONSE_FIELD_NUMBER: builtins.int + WAFFLENONCEFETCHREQUESTRESPONSE_FIELD_NUMBER: builtins.int + FULLHISTORYSYNCONDEMANDREQUESTRESPONSE_FIELD_NUMBER: builtins.int + COMPANIONMETANONCEFETCHREQUESTRESPONSE_FIELD_NUMBER: builtins.int + SYNCDSNAPSHOTFATALRECOVERYRESPONSE_FIELD_NUMBER: builtins.int + COMPANIONCANONICALUSERNONCEFETCHREQUESTRESPONSE_FIELD_NUMBER: builtins.int + HISTORYSYNCCHUNKRETRYRESPONSE_FIELD_NUMBER: builtins.int + mediaUploadResult: waMmsRetry.WAMmsRetry_pb2.MediaRetryNotification.ResultType.ValueType + @property + def stickerMessage(self) -> global___StickerMessage: ... + @property + def linkPreviewResponse(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse: ... + @property + def placeholderMessageResendResponse(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse: ... + @property + def waffleNonceFetchRequestResponse(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse: ... + @property + def fullHistorySyncOnDemandRequestResponse(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse: ... + @property + def companionMetaNonceFetchRequestResponse(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse: ... + @property + def syncdSnapshotFatalRecoveryResponse(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.SyncDSnapshotFatalRecoveryResponse: ... + @property + def companionCanonicalUserNonceFetchRequestResponse(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionCanonicalUserNonceFetchResponse: ... + @property + def historySyncChunkRetryResponse(self) -> global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponse: ... + def __init__( + self, + *, + mediaUploadResult: waMmsRetry.WAMmsRetry_pb2.MediaRetryNotification.ResultType.ValueType | None = ..., + stickerMessage: global___StickerMessage | None = ..., + linkPreviewResponse: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse | None = ..., + placeholderMessageResendResponse: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse | None = ..., + waffleNonceFetchRequestResponse: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse | None = ..., + fullHistorySyncOnDemandRequestResponse: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse | None = ..., + companionMetaNonceFetchRequestResponse: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse | None = ..., + syncdSnapshotFatalRecoveryResponse: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.SyncDSnapshotFatalRecoveryResponse | None = ..., + companionCanonicalUserNonceFetchRequestResponse: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionCanonicalUserNonceFetchResponse | None = ..., + historySyncChunkRetryResponse: global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponse | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["companionCanonicalUserNonceFetchRequestResponse", b"companionCanonicalUserNonceFetchRequestResponse", "companionMetaNonceFetchRequestResponse", b"companionMetaNonceFetchRequestResponse", "fullHistorySyncOnDemandRequestResponse", b"fullHistorySyncOnDemandRequestResponse", "historySyncChunkRetryResponse", b"historySyncChunkRetryResponse", "linkPreviewResponse", b"linkPreviewResponse", "mediaUploadResult", b"mediaUploadResult", "placeholderMessageResendResponse", b"placeholderMessageResendResponse", "stickerMessage", b"stickerMessage", "syncdSnapshotFatalRecoveryResponse", b"syncdSnapshotFatalRecoveryResponse", "waffleNonceFetchRequestResponse", b"waffleNonceFetchRequestResponse"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["companionCanonicalUserNonceFetchRequestResponse", b"companionCanonicalUserNonceFetchRequestResponse", "companionMetaNonceFetchRequestResponse", b"companionMetaNonceFetchRequestResponse", "fullHistorySyncOnDemandRequestResponse", b"fullHistorySyncOnDemandRequestResponse", "historySyncChunkRetryResponse", b"historySyncChunkRetryResponse", "linkPreviewResponse", b"linkPreviewResponse", "mediaUploadResult", b"mediaUploadResult", "placeholderMessageResendResponse", b"placeholderMessageResendResponse", "stickerMessage", b"stickerMessage", "syncdSnapshotFatalRecoveryResponse", b"syncdSnapshotFatalRecoveryResponse", "waffleNonceFetchRequestResponse", b"waffleNonceFetchRequestResponse"]) -> None: ... + + PEERDATAOPERATIONREQUESTTYPE_FIELD_NUMBER: builtins.int + STANZAID_FIELD_NUMBER: builtins.int + PEERDATAOPERATIONRESULT_FIELD_NUMBER: builtins.int + peerDataOperationRequestType: global___PeerDataOperationRequestType.ValueType + stanzaID: builtins.str + @property + def peerDataOperationResult(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult]: ... + def __init__( + self, + *, + peerDataOperationRequestType: global___PeerDataOperationRequestType.ValueType | None = ..., + stanzaID: builtins.str | None = ..., + peerDataOperationResult: collections.abc.Iterable[global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["peerDataOperationRequestType", b"peerDataOperationRequestType", "stanzaID", b"stanzaID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["peerDataOperationRequestType", b"peerDataOperationRequestType", "peerDataOperationResult", b"peerDataOperationResult", "stanzaID", b"stanzaID"]) -> None: ... + +global___PeerDataOperationRequestResponseMessage = PeerDataOperationRequestResponseMessage + +@typing.final +class PeerDataOperationRequestMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class GalaxyFlowAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _GalaxyFlowActionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _GalaxyFlowActionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PeerDataOperationRequestMessage.GalaxyFlowAction._GalaxyFlowActionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NOTIFY_LAUNCH: PeerDataOperationRequestMessage.GalaxyFlowAction._GalaxyFlowActionType.ValueType # 1 + + class GalaxyFlowActionType(_GalaxyFlowActionType, metaclass=_GalaxyFlowActionTypeEnumTypeWrapper): ... + NOTIFY_LAUNCH: PeerDataOperationRequestMessage.GalaxyFlowAction.GalaxyFlowActionType.ValueType # 1 + + TYPE_FIELD_NUMBER: builtins.int + FLOWID_FIELD_NUMBER: builtins.int + STANZAID_FIELD_NUMBER: builtins.int + type: global___PeerDataOperationRequestMessage.GalaxyFlowAction.GalaxyFlowActionType.ValueType + flowID: builtins.str + stanzaID: builtins.str + def __init__( + self, + *, + type: global___PeerDataOperationRequestMessage.GalaxyFlowAction.GalaxyFlowActionType.ValueType | None = ..., + flowID: builtins.str | None = ..., + stanzaID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["flowID", b"flowID", "stanzaID", b"stanzaID", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["flowID", b"flowID", "stanzaID", b"stanzaID", "type", b"type"]) -> None: ... + + @typing.final + class HistorySyncChunkRetryRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SYNCTYPE_FIELD_NUMBER: builtins.int + CHUNKORDER_FIELD_NUMBER: builtins.int + CHUNKNOTIFICATIONID_FIELD_NUMBER: builtins.int + REGENERATECHUNK_FIELD_NUMBER: builtins.int + syncType: global___HistorySyncType.ValueType + chunkOrder: builtins.int + chunkNotificationID: builtins.str + regenerateChunk: builtins.bool + def __init__( + self, + *, + syncType: global___HistorySyncType.ValueType | None = ..., + chunkOrder: builtins.int | None = ..., + chunkNotificationID: builtins.str | None = ..., + regenerateChunk: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["chunkNotificationID", b"chunkNotificationID", "chunkOrder", b"chunkOrder", "regenerateChunk", b"regenerateChunk", "syncType", b"syncType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chunkNotificationID", b"chunkNotificationID", "chunkOrder", b"chunkOrder", "regenerateChunk", b"regenerateChunk", "syncType", b"syncType"]) -> None: ... + + @typing.final + class SyncDCollectionFatalRecoveryRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COLLECTIONNAME_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + collectionName: builtins.str + timestamp: builtins.int + def __init__( + self, + *, + collectionName: builtins.str | None = ..., + timestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["collectionName", b"collectionName", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["collectionName", b"collectionName", "timestamp", b"timestamp"]) -> None: ... + + @typing.final + class PlaceholderMessageResendRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGEKEY_FIELD_NUMBER: builtins.int + @property + def messageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + messageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageKey", b"messageKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageKey", b"messageKey"]) -> None: ... + + @typing.final + class FullHistorySyncOnDemandRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REQUESTMETADATA_FIELD_NUMBER: builtins.int + HISTORYSYNCCONFIG_FIELD_NUMBER: builtins.int + @property + def requestMetadata(self) -> global___FullHistorySyncOnDemandRequestMetadata: ... + @property + def historySyncConfig(self) -> waCompanionReg.WACompanionReg_pb2.DeviceProps.HistorySyncConfig: ... + def __init__( + self, + *, + requestMetadata: global___FullHistorySyncOnDemandRequestMetadata | None = ..., + historySyncConfig: waCompanionReg.WACompanionReg_pb2.DeviceProps.HistorySyncConfig | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["historySyncConfig", b"historySyncConfig", "requestMetadata", b"requestMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["historySyncConfig", b"historySyncConfig", "requestMetadata", b"requestMetadata"]) -> None: ... + + @typing.final + class HistorySyncOnDemandRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CHATJID_FIELD_NUMBER: builtins.int + OLDESTMSGID_FIELD_NUMBER: builtins.int + OLDESTMSGFROMME_FIELD_NUMBER: builtins.int + ONDEMANDMSGCOUNT_FIELD_NUMBER: builtins.int + OLDESTMSGTIMESTAMPMS_FIELD_NUMBER: builtins.int + ACCOUNTLID_FIELD_NUMBER: builtins.int + chatJID: builtins.str + oldestMsgID: builtins.str + oldestMsgFromMe: builtins.bool + onDemandMsgCount: builtins.int + oldestMsgTimestampMS: builtins.int + accountLid: builtins.str + def __init__( + self, + *, + chatJID: builtins.str | None = ..., + oldestMsgID: builtins.str | None = ..., + oldestMsgFromMe: builtins.bool | None = ..., + onDemandMsgCount: builtins.int | None = ..., + oldestMsgTimestampMS: builtins.int | None = ..., + accountLid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accountLid", b"accountLid", "chatJID", b"chatJID", "oldestMsgFromMe", b"oldestMsgFromMe", "oldestMsgID", b"oldestMsgID", "oldestMsgTimestampMS", b"oldestMsgTimestampMS", "onDemandMsgCount", b"onDemandMsgCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accountLid", b"accountLid", "chatJID", b"chatJID", "oldestMsgFromMe", b"oldestMsgFromMe", "oldestMsgID", b"oldestMsgID", "oldestMsgTimestampMS", b"oldestMsgTimestampMS", "onDemandMsgCount", b"onDemandMsgCount"]) -> None: ... + + @typing.final + class RequestUrlPreview(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + URL_FIELD_NUMBER: builtins.int + INCLUDEHQTHUMBNAIL_FIELD_NUMBER: builtins.int + URL: builtins.str + includeHqThumbnail: builtins.bool + def __init__( + self, + *, + URL: builtins.str | None = ..., + includeHqThumbnail: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "includeHqThumbnail", b"includeHqThumbnail"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "includeHqThumbnail", b"includeHqThumbnail"]) -> None: ... + + @typing.final + class RequestStickerReupload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILESHA256_FIELD_NUMBER: builtins.int + fileSHA256: builtins.str + def __init__( + self, + *, + fileSHA256: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fileSHA256", b"fileSHA256"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fileSHA256", b"fileSHA256"]) -> None: ... + + PEERDATAOPERATIONREQUESTTYPE_FIELD_NUMBER: builtins.int + REQUESTSTICKERREUPLOAD_FIELD_NUMBER: builtins.int + REQUESTURLPREVIEW_FIELD_NUMBER: builtins.int + HISTORYSYNCONDEMANDREQUEST_FIELD_NUMBER: builtins.int + PLACEHOLDERMESSAGERESENDREQUEST_FIELD_NUMBER: builtins.int + FULLHISTORYSYNCONDEMANDREQUEST_FIELD_NUMBER: builtins.int + SYNCDCOLLECTIONFATALRECOVERYREQUEST_FIELD_NUMBER: builtins.int + HISTORYSYNCCHUNKRETRYREQUEST_FIELD_NUMBER: builtins.int + GALAXYFLOWACTION_FIELD_NUMBER: builtins.int + peerDataOperationRequestType: global___PeerDataOperationRequestType.ValueType + @property + def requestStickerReupload(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PeerDataOperationRequestMessage.RequestStickerReupload]: ... + @property + def requestURLPreview(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PeerDataOperationRequestMessage.RequestUrlPreview]: ... + @property + def historySyncOnDemandRequest(self) -> global___PeerDataOperationRequestMessage.HistorySyncOnDemandRequest: ... + @property + def placeholderMessageResendRequest(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PeerDataOperationRequestMessage.PlaceholderMessageResendRequest]: ... + @property + def fullHistorySyncOnDemandRequest(self) -> global___PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest: ... + @property + def syncdCollectionFatalRecoveryRequest(self) -> global___PeerDataOperationRequestMessage.SyncDCollectionFatalRecoveryRequest: ... + @property + def historySyncChunkRetryRequest(self) -> global___PeerDataOperationRequestMessage.HistorySyncChunkRetryRequest: ... + @property + def galaxyFlowAction(self) -> global___PeerDataOperationRequestMessage.GalaxyFlowAction: ... + def __init__( + self, + *, + peerDataOperationRequestType: global___PeerDataOperationRequestType.ValueType | None = ..., + requestStickerReupload: collections.abc.Iterable[global___PeerDataOperationRequestMessage.RequestStickerReupload] | None = ..., + requestURLPreview: collections.abc.Iterable[global___PeerDataOperationRequestMessage.RequestUrlPreview] | None = ..., + historySyncOnDemandRequest: global___PeerDataOperationRequestMessage.HistorySyncOnDemandRequest | None = ..., + placeholderMessageResendRequest: collections.abc.Iterable[global___PeerDataOperationRequestMessage.PlaceholderMessageResendRequest] | None = ..., + fullHistorySyncOnDemandRequest: global___PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest | None = ..., + syncdCollectionFatalRecoveryRequest: global___PeerDataOperationRequestMessage.SyncDCollectionFatalRecoveryRequest | None = ..., + historySyncChunkRetryRequest: global___PeerDataOperationRequestMessage.HistorySyncChunkRetryRequest | None = ..., + galaxyFlowAction: global___PeerDataOperationRequestMessage.GalaxyFlowAction | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fullHistorySyncOnDemandRequest", b"fullHistorySyncOnDemandRequest", "galaxyFlowAction", b"galaxyFlowAction", "historySyncChunkRetryRequest", b"historySyncChunkRetryRequest", "historySyncOnDemandRequest", b"historySyncOnDemandRequest", "peerDataOperationRequestType", b"peerDataOperationRequestType", "syncdCollectionFatalRecoveryRequest", b"syncdCollectionFatalRecoveryRequest"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fullHistorySyncOnDemandRequest", b"fullHistorySyncOnDemandRequest", "galaxyFlowAction", b"galaxyFlowAction", "historySyncChunkRetryRequest", b"historySyncChunkRetryRequest", "historySyncOnDemandRequest", b"historySyncOnDemandRequest", "peerDataOperationRequestType", b"peerDataOperationRequestType", "placeholderMessageResendRequest", b"placeholderMessageResendRequest", "requestStickerReupload", b"requestStickerReupload", "requestURLPreview", b"requestURLPreview", "syncdCollectionFatalRecoveryRequest", b"syncdCollectionFatalRecoveryRequest"]) -> None: ... + +global___PeerDataOperationRequestMessage = PeerDataOperationRequestMessage + +@typing.final +class RequestWelcomeMessageMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _LocalChatState: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _LocalChatStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[RequestWelcomeMessageMetadata._LocalChatState.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + EMPTY: RequestWelcomeMessageMetadata._LocalChatState.ValueType # 0 + NON_EMPTY: RequestWelcomeMessageMetadata._LocalChatState.ValueType # 1 + + class LocalChatState(_LocalChatState, metaclass=_LocalChatStateEnumTypeWrapper): ... + EMPTY: RequestWelcomeMessageMetadata.LocalChatState.ValueType # 0 + NON_EMPTY: RequestWelcomeMessageMetadata.LocalChatState.ValueType # 1 + + LOCALCHATSTATE_FIELD_NUMBER: builtins.int + localChatState: global___RequestWelcomeMessageMetadata.LocalChatState.ValueType + def __init__( + self, + *, + localChatState: global___RequestWelcomeMessageMetadata.LocalChatState.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["localChatState", b"localChatState"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["localChatState", b"localChatState"]) -> None: ... + +global___RequestWelcomeMessageMetadata = RequestWelcomeMessageMetadata + +@typing.final +class ProtocolMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ProtocolMessage._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + REVOKE: ProtocolMessage._Type.ValueType # 0 + EPHEMERAL_SETTING: ProtocolMessage._Type.ValueType # 3 + EPHEMERAL_SYNC_RESPONSE: ProtocolMessage._Type.ValueType # 4 + HISTORY_SYNC_NOTIFICATION: ProtocolMessage._Type.ValueType # 5 + APP_STATE_SYNC_KEY_SHARE: ProtocolMessage._Type.ValueType # 6 + APP_STATE_SYNC_KEY_REQUEST: ProtocolMessage._Type.ValueType # 7 + MSG_FANOUT_BACKFILL_REQUEST: ProtocolMessage._Type.ValueType # 8 + INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC: ProtocolMessage._Type.ValueType # 9 + APP_STATE_FATAL_EXCEPTION_NOTIFICATION: ProtocolMessage._Type.ValueType # 10 + SHARE_PHONE_NUMBER: ProtocolMessage._Type.ValueType # 11 + MESSAGE_EDIT: ProtocolMessage._Type.ValueType # 14 + PEER_DATA_OPERATION_REQUEST_MESSAGE: ProtocolMessage._Type.ValueType # 16 + PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE: ProtocolMessage._Type.ValueType # 17 + REQUEST_WELCOME_MESSAGE: ProtocolMessage._Type.ValueType # 18 + BOT_FEEDBACK_MESSAGE: ProtocolMessage._Type.ValueType # 19 + MEDIA_NOTIFY_MESSAGE: ProtocolMessage._Type.ValueType # 20 + CLOUD_API_THREAD_CONTROL_NOTIFICATION: ProtocolMessage._Type.ValueType # 21 + LID_MIGRATION_MAPPING_SYNC: ProtocolMessage._Type.ValueType # 22 + REMINDER_MESSAGE: ProtocolMessage._Type.ValueType # 23 + BOT_MEMU_ONBOARDING_MESSAGE: ProtocolMessage._Type.ValueType # 24 + STATUS_MENTION_MESSAGE: ProtocolMessage._Type.ValueType # 25 + STOP_GENERATION_MESSAGE: ProtocolMessage._Type.ValueType # 26 + LIMIT_SHARING: ProtocolMessage._Type.ValueType # 27 + AI_PSI_METADATA: ProtocolMessage._Type.ValueType # 28 + AI_QUERY_FANOUT: ProtocolMessage._Type.ValueType # 29 + GROUP_MEMBER_LABEL_CHANGE: ProtocolMessage._Type.ValueType # 30 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + REVOKE: ProtocolMessage.Type.ValueType # 0 + EPHEMERAL_SETTING: ProtocolMessage.Type.ValueType # 3 + EPHEMERAL_SYNC_RESPONSE: ProtocolMessage.Type.ValueType # 4 + HISTORY_SYNC_NOTIFICATION: ProtocolMessage.Type.ValueType # 5 + APP_STATE_SYNC_KEY_SHARE: ProtocolMessage.Type.ValueType # 6 + APP_STATE_SYNC_KEY_REQUEST: ProtocolMessage.Type.ValueType # 7 + MSG_FANOUT_BACKFILL_REQUEST: ProtocolMessage.Type.ValueType # 8 + INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC: ProtocolMessage.Type.ValueType # 9 + APP_STATE_FATAL_EXCEPTION_NOTIFICATION: ProtocolMessage.Type.ValueType # 10 + SHARE_PHONE_NUMBER: ProtocolMessage.Type.ValueType # 11 + MESSAGE_EDIT: ProtocolMessage.Type.ValueType # 14 + PEER_DATA_OPERATION_REQUEST_MESSAGE: ProtocolMessage.Type.ValueType # 16 + PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE: ProtocolMessage.Type.ValueType # 17 + REQUEST_WELCOME_MESSAGE: ProtocolMessage.Type.ValueType # 18 + BOT_FEEDBACK_MESSAGE: ProtocolMessage.Type.ValueType # 19 + MEDIA_NOTIFY_MESSAGE: ProtocolMessage.Type.ValueType # 20 + CLOUD_API_THREAD_CONTROL_NOTIFICATION: ProtocolMessage.Type.ValueType # 21 + LID_MIGRATION_MAPPING_SYNC: ProtocolMessage.Type.ValueType # 22 + REMINDER_MESSAGE: ProtocolMessage.Type.ValueType # 23 + BOT_MEMU_ONBOARDING_MESSAGE: ProtocolMessage.Type.ValueType # 24 + STATUS_MENTION_MESSAGE: ProtocolMessage.Type.ValueType # 25 + STOP_GENERATION_MESSAGE: ProtocolMessage.Type.ValueType # 26 + LIMIT_SHARING: ProtocolMessage.Type.ValueType # 27 + AI_PSI_METADATA: ProtocolMessage.Type.ValueType # 28 + AI_QUERY_FANOUT: ProtocolMessage.Type.ValueType # 29 + GROUP_MEMBER_LABEL_CHANGE: ProtocolMessage.Type.ValueType # 30 + + KEY_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + EPHEMERALEXPIRATION_FIELD_NUMBER: builtins.int + EPHEMERALSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int + HISTORYSYNCNOTIFICATION_FIELD_NUMBER: builtins.int + APPSTATESYNCKEYSHARE_FIELD_NUMBER: builtins.int + APPSTATESYNCKEYREQUEST_FIELD_NUMBER: builtins.int + INITIALSECURITYNOTIFICATIONSETTINGSYNC_FIELD_NUMBER: builtins.int + APPSTATEFATALEXCEPTIONNOTIFICATION_FIELD_NUMBER: builtins.int + DISAPPEARINGMODE_FIELD_NUMBER: builtins.int + EDITEDMESSAGE_FIELD_NUMBER: builtins.int + TIMESTAMPMS_FIELD_NUMBER: builtins.int + PEERDATAOPERATIONREQUESTMESSAGE_FIELD_NUMBER: builtins.int + PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int + BOTFEEDBACKMESSAGE_FIELD_NUMBER: builtins.int + INVOKERJID_FIELD_NUMBER: builtins.int + REQUESTWELCOMEMESSAGEMETADATA_FIELD_NUMBER: builtins.int + MEDIANOTIFYMESSAGE_FIELD_NUMBER: builtins.int + CLOUDAPITHREADCONTROLNOTIFICATION_FIELD_NUMBER: builtins.int + LIDMIGRATIONMAPPINGSYNCMESSAGE_FIELD_NUMBER: builtins.int + LIMITSHARING_FIELD_NUMBER: builtins.int + AIPSIMETADATA_FIELD_NUMBER: builtins.int + AIQUERYFANOUT_FIELD_NUMBER: builtins.int + MEMBERLABEL_FIELD_NUMBER: builtins.int + type: global___ProtocolMessage.Type.ValueType + ephemeralExpiration: builtins.int + ephemeralSettingTimestamp: builtins.int + timestampMS: builtins.int + invokerJID: builtins.str + aiPsiMetadata: builtins.bytes + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def historySyncNotification(self) -> global___HistorySyncNotification: ... + @property + def appStateSyncKeyShare(self) -> global___AppStateSyncKeyShare: ... + @property + def appStateSyncKeyRequest(self) -> global___AppStateSyncKeyRequest: ... + @property + def initialSecurityNotificationSettingSync(self) -> global___InitialSecurityNotificationSettingSync: ... + @property + def appStateFatalExceptionNotification(self) -> global___AppStateFatalExceptionNotification: ... + @property + def disappearingMode(self) -> global___DisappearingMode: ... + @property + def editedMessage(self) -> global___Message: ... + @property + def peerDataOperationRequestMessage(self) -> global___PeerDataOperationRequestMessage: ... + @property + def peerDataOperationRequestResponseMessage(self) -> global___PeerDataOperationRequestResponseMessage: ... + @property + def botFeedbackMessage(self) -> waAICommon.WAAICommon_pb2.BotFeedbackMessage: ... + @property + def requestWelcomeMessageMetadata(self) -> global___RequestWelcomeMessageMetadata: ... + @property + def mediaNotifyMessage(self) -> global___MediaNotifyMessage: ... + @property + def cloudApiThreadControlNotification(self) -> global___CloudAPIThreadControlNotification: ... + @property + def lidMigrationMappingSyncMessage(self) -> global___LIDMigrationMappingSyncMessage: ... + @property + def limitSharing(self) -> waCommon.WACommon_pb2.LimitSharing: ... + @property + def aiQueryFanout(self) -> global___AIQueryFanout: ... + @property + def memberLabel(self) -> global___MemberLabel: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + type: global___ProtocolMessage.Type.ValueType | None = ..., + ephemeralExpiration: builtins.int | None = ..., + ephemeralSettingTimestamp: builtins.int | None = ..., + historySyncNotification: global___HistorySyncNotification | None = ..., + appStateSyncKeyShare: global___AppStateSyncKeyShare | None = ..., + appStateSyncKeyRequest: global___AppStateSyncKeyRequest | None = ..., + initialSecurityNotificationSettingSync: global___InitialSecurityNotificationSettingSync | None = ..., + appStateFatalExceptionNotification: global___AppStateFatalExceptionNotification | None = ..., + disappearingMode: global___DisappearingMode | None = ..., + editedMessage: global___Message | None = ..., + timestampMS: builtins.int | None = ..., + peerDataOperationRequestMessage: global___PeerDataOperationRequestMessage | None = ..., + peerDataOperationRequestResponseMessage: global___PeerDataOperationRequestResponseMessage | None = ..., + botFeedbackMessage: waAICommon.WAAICommon_pb2.BotFeedbackMessage | None = ..., + invokerJID: builtins.str | None = ..., + requestWelcomeMessageMetadata: global___RequestWelcomeMessageMetadata | None = ..., + mediaNotifyMessage: global___MediaNotifyMessage | None = ..., + cloudApiThreadControlNotification: global___CloudAPIThreadControlNotification | None = ..., + lidMigrationMappingSyncMessage: global___LIDMigrationMappingSyncMessage | None = ..., + limitSharing: waCommon.WACommon_pb2.LimitSharing | None = ..., + aiPsiMetadata: builtins.bytes | None = ..., + aiQueryFanout: global___AIQueryFanout | None = ..., + memberLabel: global___MemberLabel | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["aiPsiMetadata", b"aiPsiMetadata", "aiQueryFanout", b"aiQueryFanout", "appStateFatalExceptionNotification", b"appStateFatalExceptionNotification", "appStateSyncKeyRequest", b"appStateSyncKeyRequest", "appStateSyncKeyShare", b"appStateSyncKeyShare", "botFeedbackMessage", b"botFeedbackMessage", "cloudApiThreadControlNotification", b"cloudApiThreadControlNotification", "disappearingMode", b"disappearingMode", "editedMessage", b"editedMessage", "ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "historySyncNotification", b"historySyncNotification", "initialSecurityNotificationSettingSync", b"initialSecurityNotificationSettingSync", "invokerJID", b"invokerJID", "key", b"key", "lidMigrationMappingSyncMessage", b"lidMigrationMappingSyncMessage", "limitSharing", b"limitSharing", "mediaNotifyMessage", b"mediaNotifyMessage", "memberLabel", b"memberLabel", "peerDataOperationRequestMessage", b"peerDataOperationRequestMessage", "peerDataOperationRequestResponseMessage", b"peerDataOperationRequestResponseMessage", "requestWelcomeMessageMetadata", b"requestWelcomeMessageMetadata", "timestampMS", b"timestampMS", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["aiPsiMetadata", b"aiPsiMetadata", "aiQueryFanout", b"aiQueryFanout", "appStateFatalExceptionNotification", b"appStateFatalExceptionNotification", "appStateSyncKeyRequest", b"appStateSyncKeyRequest", "appStateSyncKeyShare", b"appStateSyncKeyShare", "botFeedbackMessage", b"botFeedbackMessage", "cloudApiThreadControlNotification", b"cloudApiThreadControlNotification", "disappearingMode", b"disappearingMode", "editedMessage", b"editedMessage", "ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "historySyncNotification", b"historySyncNotification", "initialSecurityNotificationSettingSync", b"initialSecurityNotificationSettingSync", "invokerJID", b"invokerJID", "key", b"key", "lidMigrationMappingSyncMessage", b"lidMigrationMappingSyncMessage", "limitSharing", b"limitSharing", "mediaNotifyMessage", b"mediaNotifyMessage", "memberLabel", b"memberLabel", "peerDataOperationRequestMessage", b"peerDataOperationRequestMessage", "peerDataOperationRequestResponseMessage", b"peerDataOperationRequestResponseMessage", "requestWelcomeMessageMetadata", b"requestWelcomeMessageMetadata", "timestampMS", b"timestampMS", "type", b"type"]) -> None: ... + +global___ProtocolMessage = ProtocolMessage + +@typing.final +class CloudAPIThreadControlNotification(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _CloudAPIThreadControl: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CloudAPIThreadControlEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CloudAPIThreadControlNotification._CloudAPIThreadControl.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: CloudAPIThreadControlNotification._CloudAPIThreadControl.ValueType # 0 + CONTROL_PASSED: CloudAPIThreadControlNotification._CloudAPIThreadControl.ValueType # 1 + CONTROL_TAKEN: CloudAPIThreadControlNotification._CloudAPIThreadControl.ValueType # 2 + + class CloudAPIThreadControl(_CloudAPIThreadControl, metaclass=_CloudAPIThreadControlEnumTypeWrapper): ... + UNKNOWN: CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType # 0 + CONTROL_PASSED: CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType # 1 + CONTROL_TAKEN: CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType # 2 + + @typing.final + class CloudAPIThreadControlNotificationContent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + HANDOFFNOTIFICATIONTEXT_FIELD_NUMBER: builtins.int + EXTRAJSON_FIELD_NUMBER: builtins.int + handoffNotificationText: builtins.str + extraJSON: builtins.str + def __init__( + self, + *, + handoffNotificationText: builtins.str | None = ..., + extraJSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["extraJSON", b"extraJSON", "handoffNotificationText", b"handoffNotificationText"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["extraJSON", b"extraJSON", "handoffNotificationText", b"handoffNotificationText"]) -> None: ... + + STATUS_FIELD_NUMBER: builtins.int + SENDERNOTIFICATIONTIMESTAMPMS_FIELD_NUMBER: builtins.int + CONSUMERLID_FIELD_NUMBER: builtins.int + CONSUMERPHONENUMBER_FIELD_NUMBER: builtins.int + NOTIFICATIONCONTENT_FIELD_NUMBER: builtins.int + SHOULDSUPPRESSNOTIFICATION_FIELD_NUMBER: builtins.int + status: global___CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType + senderNotificationTimestampMS: builtins.int + consumerLid: builtins.str + consumerPhoneNumber: builtins.str + shouldSuppressNotification: builtins.bool + @property + def notificationContent(self) -> global___CloudAPIThreadControlNotification.CloudAPIThreadControlNotificationContent: ... + def __init__( + self, + *, + status: global___CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType | None = ..., + senderNotificationTimestampMS: builtins.int | None = ..., + consumerLid: builtins.str | None = ..., + consumerPhoneNumber: builtins.str | None = ..., + notificationContent: global___CloudAPIThreadControlNotification.CloudAPIThreadControlNotificationContent | None = ..., + shouldSuppressNotification: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["consumerLid", b"consumerLid", "consumerPhoneNumber", b"consumerPhoneNumber", "notificationContent", b"notificationContent", "senderNotificationTimestampMS", b"senderNotificationTimestampMS", "shouldSuppressNotification", b"shouldSuppressNotification", "status", b"status"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["consumerLid", b"consumerLid", "consumerPhoneNumber", b"consumerPhoneNumber", "notificationContent", b"notificationContent", "senderNotificationTimestampMS", b"senderNotificationTimestampMS", "shouldSuppressNotification", b"shouldSuppressNotification", "status", b"status"]) -> None: ... + +global___CloudAPIThreadControlNotification = CloudAPIThreadControlNotification + +@typing.final +class VideoMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _VideoSourceType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _VideoSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[VideoMessage._VideoSourceType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + USER_VIDEO: VideoMessage._VideoSourceType.ValueType # 0 + AI_GENERATED: VideoMessage._VideoSourceType.ValueType # 1 + + class VideoSourceType(_VideoSourceType, metaclass=_VideoSourceTypeEnumTypeWrapper): ... + USER_VIDEO: VideoMessage.VideoSourceType.ValueType # 0 + AI_GENERATED: VideoMessage.VideoSourceType.ValueType # 1 + + class _Attribution: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AttributionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[VideoMessage._Attribution.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: VideoMessage._Attribution.ValueType # 0 + GIPHY: VideoMessage._Attribution.ValueType # 1 + TENOR: VideoMessage._Attribution.ValueType # 2 + KLIPY: VideoMessage._Attribution.ValueType # 3 + + class Attribution(_Attribution, metaclass=_AttributionEnumTypeWrapper): ... + NONE: VideoMessage.Attribution.ValueType # 0 + GIPHY: VideoMessage.Attribution.ValueType # 1 + TENOR: VideoMessage.Attribution.ValueType # 2 + KLIPY: VideoMessage.Attribution.ValueType # 3 + + URL_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + SECONDS_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + GIFPLAYBACK_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + INTERACTIVEANNOTATIONS_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + STREAMINGSIDECAR_FIELD_NUMBER: builtins.int + GIFATTRIBUTION_FIELD_NUMBER: builtins.int + VIEWONCE_FIELD_NUMBER: builtins.int + THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int + THUMBNAILSHA256_FIELD_NUMBER: builtins.int + THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int + STATICURL_FIELD_NUMBER: builtins.int + ANNOTATIONS_FIELD_NUMBER: builtins.int + ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int + PROCESSEDVIDEOS_FIELD_NUMBER: builtins.int + EXTERNALSHAREFULLVIDEODURATIONINSECONDS_FIELD_NUMBER: builtins.int + MOTIONPHOTOPRESENTATIONOFFSETMS_FIELD_NUMBER: builtins.int + METADATAURL_FIELD_NUMBER: builtins.int + VIDEOSOURCETYPE_FIELD_NUMBER: builtins.int + MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int + URL: builtins.str + mimetype: builtins.str + fileSHA256: builtins.bytes + fileLength: builtins.int + seconds: builtins.int + mediaKey: builtins.bytes + caption: builtins.str + gifPlayback: builtins.bool + height: builtins.int + width: builtins.int + fileEncSHA256: builtins.bytes + directPath: builtins.str + mediaKeyTimestamp: builtins.int + JPEGThumbnail: builtins.bytes + streamingSidecar: builtins.bytes + gifAttribution: global___VideoMessage.Attribution.ValueType + viewOnce: builtins.bool + thumbnailDirectPath: builtins.str + thumbnailSHA256: builtins.bytes + thumbnailEncSHA256: builtins.bytes + staticURL: builtins.str + accessibilityLabel: builtins.str + externalShareFullVideoDurationInSeconds: builtins.int + motionPhotoPresentationOffsetMS: builtins.int + metadataURL: builtins.str + videoSourceType: global___VideoMessage.VideoSourceType.ValueType + mediaKeyDomain: global___MediaKeyDomain.ValueType + @property + def interactiveAnnotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveAnnotation]: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def annotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveAnnotation]: ... + @property + def processedVideos(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ProcessedVideo]: ... + def __init__( + self, + *, + URL: builtins.str | None = ..., + mimetype: builtins.str | None = ..., + fileSHA256: builtins.bytes | None = ..., + fileLength: builtins.int | None = ..., + seconds: builtins.int | None = ..., + mediaKey: builtins.bytes | None = ..., + caption: builtins.str | None = ..., + gifPlayback: builtins.bool | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + interactiveAnnotations: collections.abc.Iterable[global___InteractiveAnnotation] | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + contextInfo: global___ContextInfo | None = ..., + streamingSidecar: builtins.bytes | None = ..., + gifAttribution: global___VideoMessage.Attribution.ValueType | None = ..., + viewOnce: builtins.bool | None = ..., + thumbnailDirectPath: builtins.str | None = ..., + thumbnailSHA256: builtins.bytes | None = ..., + thumbnailEncSHA256: builtins.bytes | None = ..., + staticURL: builtins.str | None = ..., + annotations: collections.abc.Iterable[global___InteractiveAnnotation] | None = ..., + accessibilityLabel: builtins.str | None = ..., + processedVideos: collections.abc.Iterable[global___ProcessedVideo] | None = ..., + externalShareFullVideoDurationInSeconds: builtins.int | None = ..., + motionPhotoPresentationOffsetMS: builtins.int | None = ..., + metadataURL: builtins.str | None = ..., + videoSourceType: global___VideoMessage.VideoSourceType.ValueType | None = ..., + mediaKeyDomain: global___MediaKeyDomain.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "externalShareFullVideoDurationInSeconds", b"externalShareFullVideoDurationInSeconds", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "gifAttribution", b"gifAttribution", "gifPlayback", b"gifPlayback", "height", b"height", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "metadataURL", b"metadataURL", "mimetype", b"mimetype", "motionPhotoPresentationOffsetMS", b"motionPhotoPresentationOffsetMS", "seconds", b"seconds", "staticURL", b"staticURL", "streamingSidecar", b"streamingSidecar", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailSHA256", b"thumbnailSHA256", "videoSourceType", b"videoSourceType", "viewOnce", b"viewOnce", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "annotations", b"annotations", "caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "externalShareFullVideoDurationInSeconds", b"externalShareFullVideoDurationInSeconds", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "gifAttribution", b"gifAttribution", "gifPlayback", b"gifPlayback", "height", b"height", "interactiveAnnotations", b"interactiveAnnotations", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "metadataURL", b"metadataURL", "mimetype", b"mimetype", "motionPhotoPresentationOffsetMS", b"motionPhotoPresentationOffsetMS", "processedVideos", b"processedVideos", "seconds", b"seconds", "staticURL", b"staticURL", "streamingSidecar", b"streamingSidecar", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailSHA256", b"thumbnailSHA256", "videoSourceType", b"videoSourceType", "viewOnce", b"viewOnce", "width", b"width"]) -> None: ... + +global___VideoMessage = VideoMessage + +@typing.final +class ExtendedTextMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _InviteLinkGroupType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _InviteLinkGroupTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedTextMessage._InviteLinkGroupType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DEFAULT: ExtendedTextMessage._InviteLinkGroupType.ValueType # 0 + PARENT: ExtendedTextMessage._InviteLinkGroupType.ValueType # 1 + SUB: ExtendedTextMessage._InviteLinkGroupType.ValueType # 2 + DEFAULT_SUB: ExtendedTextMessage._InviteLinkGroupType.ValueType # 3 + + class InviteLinkGroupType(_InviteLinkGroupType, metaclass=_InviteLinkGroupTypeEnumTypeWrapper): ... + DEFAULT: ExtendedTextMessage.InviteLinkGroupType.ValueType # 0 + PARENT: ExtendedTextMessage.InviteLinkGroupType.ValueType # 1 + SUB: ExtendedTextMessage.InviteLinkGroupType.ValueType # 2 + DEFAULT_SUB: ExtendedTextMessage.InviteLinkGroupType.ValueType # 3 + + class _PreviewType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PreviewTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedTextMessage._PreviewType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: ExtendedTextMessage._PreviewType.ValueType # 0 + VIDEO: ExtendedTextMessage._PreviewType.ValueType # 1 + PLACEHOLDER: ExtendedTextMessage._PreviewType.ValueType # 4 + IMAGE: ExtendedTextMessage._PreviewType.ValueType # 5 + PAYMENT_LINKS: ExtendedTextMessage._PreviewType.ValueType # 6 + PROFILE: ExtendedTextMessage._PreviewType.ValueType # 7 + + class PreviewType(_PreviewType, metaclass=_PreviewTypeEnumTypeWrapper): ... + NONE: ExtendedTextMessage.PreviewType.ValueType # 0 + VIDEO: ExtendedTextMessage.PreviewType.ValueType # 1 + PLACEHOLDER: ExtendedTextMessage.PreviewType.ValueType # 4 + IMAGE: ExtendedTextMessage.PreviewType.ValueType # 5 + PAYMENT_LINKS: ExtendedTextMessage.PreviewType.ValueType # 6 + PROFILE: ExtendedTextMessage.PreviewType.ValueType # 7 + + class _FontType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _FontTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedTextMessage._FontType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SYSTEM: ExtendedTextMessage._FontType.ValueType # 0 + SYSTEM_TEXT: ExtendedTextMessage._FontType.ValueType # 1 + FB_SCRIPT: ExtendedTextMessage._FontType.ValueType # 2 + SYSTEM_BOLD: ExtendedTextMessage._FontType.ValueType # 6 + MORNINGBREEZE_REGULAR: ExtendedTextMessage._FontType.ValueType # 7 + CALISTOGA_REGULAR: ExtendedTextMessage._FontType.ValueType # 8 + EXO2_EXTRABOLD: ExtendedTextMessage._FontType.ValueType # 9 + COURIERPRIME_BOLD: ExtendedTextMessage._FontType.ValueType # 10 + + class FontType(_FontType, metaclass=_FontTypeEnumTypeWrapper): ... + SYSTEM: ExtendedTextMessage.FontType.ValueType # 0 + SYSTEM_TEXT: ExtendedTextMessage.FontType.ValueType # 1 + FB_SCRIPT: ExtendedTextMessage.FontType.ValueType # 2 + SYSTEM_BOLD: ExtendedTextMessage.FontType.ValueType # 6 + MORNINGBREEZE_REGULAR: ExtendedTextMessage.FontType.ValueType # 7 + CALISTOGA_REGULAR: ExtendedTextMessage.FontType.ValueType # 8 + EXO2_EXTRABOLD: ExtendedTextMessage.FontType.ValueType # 9 + COURIERPRIME_BOLD: ExtendedTextMessage.FontType.ValueType # 10 + + TEXT_FIELD_NUMBER: builtins.int + MATCHEDTEXT_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + TEXTARGB_FIELD_NUMBER: builtins.int + BACKGROUNDARGB_FIELD_NUMBER: builtins.int + FONT_FIELD_NUMBER: builtins.int + PREVIEWTYPE_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + DONOTPLAYINLINE_FIELD_NUMBER: builtins.int + THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int + THUMBNAILSHA256_FIELD_NUMBER: builtins.int + THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int + THUMBNAILWIDTH_FIELD_NUMBER: builtins.int + INVITELINKGROUPTYPE_FIELD_NUMBER: builtins.int + INVITELINKPARENTGROUPSUBJECTV2_FIELD_NUMBER: builtins.int + INVITELINKPARENTGROUPTHUMBNAILV2_FIELD_NUMBER: builtins.int + INVITELINKGROUPTYPEV2_FIELD_NUMBER: builtins.int + VIEWONCE_FIELD_NUMBER: builtins.int + VIDEOHEIGHT_FIELD_NUMBER: builtins.int + VIDEOWIDTH_FIELD_NUMBER: builtins.int + FAVICONMMSMETADATA_FIELD_NUMBER: builtins.int + LINKPREVIEWMETADATA_FIELD_NUMBER: builtins.int + PAYMENTLINKMETADATA_FIELD_NUMBER: builtins.int + ENDCARDTILES_FIELD_NUMBER: builtins.int + VIDEOCONTENTURL_FIELD_NUMBER: builtins.int + MUSICMETADATA_FIELD_NUMBER: builtins.int + PAYMENTEXTENDEDMETADATA_FIELD_NUMBER: builtins.int + text: builtins.str + matchedText: builtins.str + description: builtins.str + title: builtins.str + textArgb: builtins.int + backgroundArgb: builtins.int + font: global___ExtendedTextMessage.FontType.ValueType + previewType: global___ExtendedTextMessage.PreviewType.ValueType + JPEGThumbnail: builtins.bytes + doNotPlayInline: builtins.bool + thumbnailDirectPath: builtins.str + thumbnailSHA256: builtins.bytes + thumbnailEncSHA256: builtins.bytes + mediaKey: builtins.bytes + mediaKeyTimestamp: builtins.int + thumbnailHeight: builtins.int + thumbnailWidth: builtins.int + inviteLinkGroupType: global___ExtendedTextMessage.InviteLinkGroupType.ValueType + inviteLinkParentGroupSubjectV2: builtins.str + inviteLinkParentGroupThumbnailV2: builtins.bytes + inviteLinkGroupTypeV2: global___ExtendedTextMessage.InviteLinkGroupType.ValueType + viewOnce: builtins.bool + videoHeight: builtins.int + videoWidth: builtins.int + videoContentURL: builtins.str + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def faviconMMSMetadata(self) -> global___MMSThumbnailMetadata: ... + @property + def linkPreviewMetadata(self) -> global___LinkPreviewMetadata: ... + @property + def paymentLinkMetadata(self) -> global___PaymentLinkMetadata: ... + @property + def endCardTiles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VideoEndCard]: ... + @property + def musicMetadata(self) -> global___EmbeddedMusic: ... + @property + def paymentExtendedMetadata(self) -> global___PaymentExtendedMetadata: ... + def __init__( + self, + *, + text: builtins.str | None = ..., + matchedText: builtins.str | None = ..., + description: builtins.str | None = ..., + title: builtins.str | None = ..., + textArgb: builtins.int | None = ..., + backgroundArgb: builtins.int | None = ..., + font: global___ExtendedTextMessage.FontType.ValueType | None = ..., + previewType: global___ExtendedTextMessage.PreviewType.ValueType | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + contextInfo: global___ContextInfo | None = ..., + doNotPlayInline: builtins.bool | None = ..., + thumbnailDirectPath: builtins.str | None = ..., + thumbnailSHA256: builtins.bytes | None = ..., + thumbnailEncSHA256: builtins.bytes | None = ..., + mediaKey: builtins.bytes | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + thumbnailHeight: builtins.int | None = ..., + thumbnailWidth: builtins.int | None = ..., + inviteLinkGroupType: global___ExtendedTextMessage.InviteLinkGroupType.ValueType | None = ..., + inviteLinkParentGroupSubjectV2: builtins.str | None = ..., + inviteLinkParentGroupThumbnailV2: builtins.bytes | None = ..., + inviteLinkGroupTypeV2: global___ExtendedTextMessage.InviteLinkGroupType.ValueType | None = ..., + viewOnce: builtins.bool | None = ..., + videoHeight: builtins.int | None = ..., + videoWidth: builtins.int | None = ..., + faviconMMSMetadata: global___MMSThumbnailMetadata | None = ..., + linkPreviewMetadata: global___LinkPreviewMetadata | None = ..., + paymentLinkMetadata: global___PaymentLinkMetadata | None = ..., + endCardTiles: collections.abc.Iterable[global___VideoEndCard] | None = ..., + videoContentURL: builtins.str | None = ..., + musicMetadata: global___EmbeddedMusic | None = ..., + paymentExtendedMetadata: global___PaymentExtendedMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "backgroundArgb", b"backgroundArgb", "contextInfo", b"contextInfo", "description", b"description", "doNotPlayInline", b"doNotPlayInline", "faviconMMSMetadata", b"faviconMMSMetadata", "font", b"font", "inviteLinkGroupType", b"inviteLinkGroupType", "inviteLinkGroupTypeV2", b"inviteLinkGroupTypeV2", "inviteLinkParentGroupSubjectV2", b"inviteLinkParentGroupSubjectV2", "inviteLinkParentGroupThumbnailV2", b"inviteLinkParentGroupThumbnailV2", "linkPreviewMetadata", b"linkPreviewMetadata", "matchedText", b"matchedText", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "musicMetadata", b"musicMetadata", "paymentExtendedMetadata", b"paymentExtendedMetadata", "paymentLinkMetadata", b"paymentLinkMetadata", "previewType", b"previewType", "text", b"text", "textArgb", b"textArgb", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "title", b"title", "videoContentURL", b"videoContentURL", "videoHeight", b"videoHeight", "videoWidth", b"videoWidth", "viewOnce", b"viewOnce"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "backgroundArgb", b"backgroundArgb", "contextInfo", b"contextInfo", "description", b"description", "doNotPlayInline", b"doNotPlayInline", "endCardTiles", b"endCardTiles", "faviconMMSMetadata", b"faviconMMSMetadata", "font", b"font", "inviteLinkGroupType", b"inviteLinkGroupType", "inviteLinkGroupTypeV2", b"inviteLinkGroupTypeV2", "inviteLinkParentGroupSubjectV2", b"inviteLinkParentGroupSubjectV2", "inviteLinkParentGroupThumbnailV2", b"inviteLinkParentGroupThumbnailV2", "linkPreviewMetadata", b"linkPreviewMetadata", "matchedText", b"matchedText", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "musicMetadata", b"musicMetadata", "paymentExtendedMetadata", b"paymentExtendedMetadata", "paymentLinkMetadata", b"paymentLinkMetadata", "previewType", b"previewType", "text", b"text", "textArgb", b"textArgb", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "title", b"title", "videoContentURL", b"videoContentURL", "videoHeight", b"videoHeight", "videoWidth", b"videoWidth", "viewOnce", b"viewOnce"]) -> None: ... + +global___ExtendedTextMessage = ExtendedTextMessage + +@typing.final +class LinkPreviewMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _SocialMediaPostType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SocialMediaPostTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[LinkPreviewMetadata._SocialMediaPostType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: LinkPreviewMetadata._SocialMediaPostType.ValueType # 0 + REEL: LinkPreviewMetadata._SocialMediaPostType.ValueType # 1 + LIVE_VIDEO: LinkPreviewMetadata._SocialMediaPostType.ValueType # 2 + LONG_VIDEO: LinkPreviewMetadata._SocialMediaPostType.ValueType # 3 + SINGLE_IMAGE: LinkPreviewMetadata._SocialMediaPostType.ValueType # 4 + CAROUSEL: LinkPreviewMetadata._SocialMediaPostType.ValueType # 5 + + class SocialMediaPostType(_SocialMediaPostType, metaclass=_SocialMediaPostTypeEnumTypeWrapper): ... + NONE: LinkPreviewMetadata.SocialMediaPostType.ValueType # 0 + REEL: LinkPreviewMetadata.SocialMediaPostType.ValueType # 1 + LIVE_VIDEO: LinkPreviewMetadata.SocialMediaPostType.ValueType # 2 + LONG_VIDEO: LinkPreviewMetadata.SocialMediaPostType.ValueType # 3 + SINGLE_IMAGE: LinkPreviewMetadata.SocialMediaPostType.ValueType # 4 + CAROUSEL: LinkPreviewMetadata.SocialMediaPostType.ValueType # 5 + + PAYMENTLINKMETADATA_FIELD_NUMBER: builtins.int + URLMETADATA_FIELD_NUMBER: builtins.int + FBEXPERIMENTID_FIELD_NUMBER: builtins.int + LINKMEDIADURATION_FIELD_NUMBER: builtins.int + SOCIALMEDIAPOSTTYPE_FIELD_NUMBER: builtins.int + LINKINLINEVIDEOMUTED_FIELD_NUMBER: builtins.int + VIDEOCONTENTURL_FIELD_NUMBER: builtins.int + MUSICMETADATA_FIELD_NUMBER: builtins.int + VIDEOCONTENTCAPTION_FIELD_NUMBER: builtins.int + fbExperimentID: builtins.int + linkMediaDuration: builtins.int + socialMediaPostType: global___LinkPreviewMetadata.SocialMediaPostType.ValueType + linkInlineVideoMuted: builtins.bool + videoContentURL: builtins.str + videoContentCaption: builtins.str + @property + def paymentLinkMetadata(self) -> global___PaymentLinkMetadata: ... + @property + def urlMetadata(self) -> global___URLMetadata: ... + @property + def musicMetadata(self) -> global___EmbeddedMusic: ... + def __init__( + self, + *, + paymentLinkMetadata: global___PaymentLinkMetadata | None = ..., + urlMetadata: global___URLMetadata | None = ..., + fbExperimentID: builtins.int | None = ..., + linkMediaDuration: builtins.int | None = ..., + socialMediaPostType: global___LinkPreviewMetadata.SocialMediaPostType.ValueType | None = ..., + linkInlineVideoMuted: builtins.bool | None = ..., + videoContentURL: builtins.str | None = ..., + musicMetadata: global___EmbeddedMusic | None = ..., + videoContentCaption: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fbExperimentID", b"fbExperimentID", "linkInlineVideoMuted", b"linkInlineVideoMuted", "linkMediaDuration", b"linkMediaDuration", "musicMetadata", b"musicMetadata", "paymentLinkMetadata", b"paymentLinkMetadata", "socialMediaPostType", b"socialMediaPostType", "urlMetadata", b"urlMetadata", "videoContentCaption", b"videoContentCaption", "videoContentURL", b"videoContentURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fbExperimentID", b"fbExperimentID", "linkInlineVideoMuted", b"linkInlineVideoMuted", "linkMediaDuration", b"linkMediaDuration", "musicMetadata", b"musicMetadata", "paymentLinkMetadata", b"paymentLinkMetadata", "socialMediaPostType", b"socialMediaPostType", "urlMetadata", b"urlMetadata", "videoContentCaption", b"videoContentCaption", "videoContentURL", b"videoContentURL"]) -> None: ... + +global___LinkPreviewMetadata = LinkPreviewMetadata + +@typing.final +class PaymentLinkMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class PaymentLinkHeader(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PaymentLinkHeaderType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PaymentLinkHeaderTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentLinkMetadata.PaymentLinkHeader._PaymentLinkHeaderType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + LINK_PREVIEW: PaymentLinkMetadata.PaymentLinkHeader._PaymentLinkHeaderType.ValueType # 0 + ORDER: PaymentLinkMetadata.PaymentLinkHeader._PaymentLinkHeaderType.ValueType # 1 + + class PaymentLinkHeaderType(_PaymentLinkHeaderType, metaclass=_PaymentLinkHeaderTypeEnumTypeWrapper): ... + LINK_PREVIEW: PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType.ValueType # 0 + ORDER: PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType.ValueType # 1 + + HEADERTYPE_FIELD_NUMBER: builtins.int + headerType: global___PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType.ValueType + def __init__( + self, + *, + headerType: global___PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["headerType", b"headerType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["headerType", b"headerType"]) -> None: ... + + @typing.final + class PaymentLinkProvider(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PARAMSJSON_FIELD_NUMBER: builtins.int + paramsJSON: builtins.str + def __init__( + self, + *, + paramsJSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["paramsJSON", b"paramsJSON"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["paramsJSON", b"paramsJSON"]) -> None: ... + + @typing.final + class PaymentLinkButton(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYTEXT_FIELD_NUMBER: builtins.int + displayText: builtins.str + def __init__( + self, + *, + displayText: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["displayText", b"displayText"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["displayText", b"displayText"]) -> None: ... + + BUTTON_FIELD_NUMBER: builtins.int + HEADER_FIELD_NUMBER: builtins.int + PROVIDER_FIELD_NUMBER: builtins.int + @property + def button(self) -> global___PaymentLinkMetadata.PaymentLinkButton: ... + @property + def header(self) -> global___PaymentLinkMetadata.PaymentLinkHeader: ... + @property + def provider(self) -> global___PaymentLinkMetadata.PaymentLinkProvider: ... + def __init__( + self, + *, + button: global___PaymentLinkMetadata.PaymentLinkButton | None = ..., + header: global___PaymentLinkMetadata.PaymentLinkHeader | None = ..., + provider: global___PaymentLinkMetadata.PaymentLinkProvider | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["button", b"button", "header", b"header", "provider", b"provider"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["button", b"button", "header", b"header", "provider", b"provider"]) -> None: ... + +global___PaymentLinkMetadata = PaymentLinkMetadata + +@typing.final +class StatusNotificationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _StatusNotificationType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusNotificationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusNotificationMessage._StatusNotificationType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: StatusNotificationMessage._StatusNotificationType.ValueType # 0 + STATUS_ADD_YOURS: StatusNotificationMessage._StatusNotificationType.ValueType # 1 + STATUS_RESHARE: StatusNotificationMessage._StatusNotificationType.ValueType # 2 + STATUS_QUESTION_ANSWER_RESHARE: StatusNotificationMessage._StatusNotificationType.ValueType # 3 + + class StatusNotificationType(_StatusNotificationType, metaclass=_StatusNotificationTypeEnumTypeWrapper): ... + UNKNOWN: StatusNotificationMessage.StatusNotificationType.ValueType # 0 + STATUS_ADD_YOURS: StatusNotificationMessage.StatusNotificationType.ValueType # 1 + STATUS_RESHARE: StatusNotificationMessage.StatusNotificationType.ValueType # 2 + STATUS_QUESTION_ANSWER_RESHARE: StatusNotificationMessage.StatusNotificationType.ValueType # 3 + + RESPONSEMESSAGEKEY_FIELD_NUMBER: builtins.int + ORIGINALMESSAGEKEY_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + type: global___StatusNotificationMessage.StatusNotificationType.ValueType + @property + def responseMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def originalMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + responseMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + originalMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + type: global___StatusNotificationMessage.StatusNotificationType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["originalMessageKey", b"originalMessageKey", "responseMessageKey", b"responseMessageKey", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["originalMessageKey", b"originalMessageKey", "responseMessageKey", b"responseMessageKey", "type", b"type"]) -> None: ... + +global___StatusNotificationMessage = StatusNotificationMessage + +@typing.final +class InvoiceMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AttachmentType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AttachmentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InvoiceMessage._AttachmentType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + IMAGE: InvoiceMessage._AttachmentType.ValueType # 0 + PDF: InvoiceMessage._AttachmentType.ValueType # 1 + + class AttachmentType(_AttachmentType, metaclass=_AttachmentTypeEnumTypeWrapper): ... + IMAGE: InvoiceMessage.AttachmentType.ValueType # 0 + PDF: InvoiceMessage.AttachmentType.ValueType # 1 + + NOTE_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int + ATTACHMENTTYPE_FIELD_NUMBER: builtins.int + ATTACHMENTMIMETYPE_FIELD_NUMBER: builtins.int + ATTACHMENTMEDIAKEY_FIELD_NUMBER: builtins.int + ATTACHMENTMEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + ATTACHMENTFILESHA256_FIELD_NUMBER: builtins.int + ATTACHMENTFILEENCSHA256_FIELD_NUMBER: builtins.int + ATTACHMENTDIRECTPATH_FIELD_NUMBER: builtins.int + ATTACHMENTJPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + note: builtins.str + token: builtins.str + attachmentType: global___InvoiceMessage.AttachmentType.ValueType + attachmentMimetype: builtins.str + attachmentMediaKey: builtins.bytes + attachmentMediaKeyTimestamp: builtins.int + attachmentFileSHA256: builtins.bytes + attachmentFileEncSHA256: builtins.bytes + attachmentDirectPath: builtins.str + attachmentJPEGThumbnail: builtins.bytes + def __init__( + self, + *, + note: builtins.str | None = ..., + token: builtins.str | None = ..., + attachmentType: global___InvoiceMessage.AttachmentType.ValueType | None = ..., + attachmentMimetype: builtins.str | None = ..., + attachmentMediaKey: builtins.bytes | None = ..., + attachmentMediaKeyTimestamp: builtins.int | None = ..., + attachmentFileSHA256: builtins.bytes | None = ..., + attachmentFileEncSHA256: builtins.bytes | None = ..., + attachmentDirectPath: builtins.str | None = ..., + attachmentJPEGThumbnail: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["attachmentDirectPath", b"attachmentDirectPath", "attachmentFileEncSHA256", b"attachmentFileEncSHA256", "attachmentFileSHA256", b"attachmentFileSHA256", "attachmentJPEGThumbnail", b"attachmentJPEGThumbnail", "attachmentMediaKey", b"attachmentMediaKey", "attachmentMediaKeyTimestamp", b"attachmentMediaKeyTimestamp", "attachmentMimetype", b"attachmentMimetype", "attachmentType", b"attachmentType", "note", b"note", "token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["attachmentDirectPath", b"attachmentDirectPath", "attachmentFileEncSHA256", b"attachmentFileEncSHA256", "attachmentFileSHA256", b"attachmentFileSHA256", "attachmentJPEGThumbnail", b"attachmentJPEGThumbnail", "attachmentMediaKey", b"attachmentMediaKey", "attachmentMediaKeyTimestamp", b"attachmentMediaKeyTimestamp", "attachmentMimetype", b"attachmentMimetype", "attachmentType", b"attachmentType", "note", b"note", "token", b"token"]) -> None: ... + +global___InvoiceMessage = InvoiceMessage + +@typing.final +class ImageMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ImageSourceType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ImageSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ImageMessage._ImageSourceType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + USER_IMAGE: ImageMessage._ImageSourceType.ValueType # 0 + AI_GENERATED: ImageMessage._ImageSourceType.ValueType # 1 + AI_MODIFIED: ImageMessage._ImageSourceType.ValueType # 2 + RASTERIZED_TEXT_STATUS: ImageMessage._ImageSourceType.ValueType # 3 + + class ImageSourceType(_ImageSourceType, metaclass=_ImageSourceTypeEnumTypeWrapper): ... + USER_IMAGE: ImageMessage.ImageSourceType.ValueType # 0 + AI_GENERATED: ImageMessage.ImageSourceType.ValueType # 1 + AI_MODIFIED: ImageMessage.ImageSourceType.ValueType # 2 + RASTERIZED_TEXT_STATUS: ImageMessage.ImageSourceType.ValueType # 3 + + URL_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + INTERACTIVEANNOTATIONS_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + FIRSTSCANSIDECAR_FIELD_NUMBER: builtins.int + FIRSTSCANLENGTH_FIELD_NUMBER: builtins.int + EXPERIMENTGROUPID_FIELD_NUMBER: builtins.int + SCANSSIDECAR_FIELD_NUMBER: builtins.int + SCANLENGTHS_FIELD_NUMBER: builtins.int + MIDQUALITYFILESHA256_FIELD_NUMBER: builtins.int + MIDQUALITYFILEENCSHA256_FIELD_NUMBER: builtins.int + VIEWONCE_FIELD_NUMBER: builtins.int + THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int + THUMBNAILSHA256_FIELD_NUMBER: builtins.int + THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int + STATICURL_FIELD_NUMBER: builtins.int + ANNOTATIONS_FIELD_NUMBER: builtins.int + IMAGESOURCETYPE_FIELD_NUMBER: builtins.int + ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int + MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int + QRURL_FIELD_NUMBER: builtins.int + URL: builtins.str + mimetype: builtins.str + caption: builtins.str + fileSHA256: builtins.bytes + fileLength: builtins.int + height: builtins.int + width: builtins.int + mediaKey: builtins.bytes + fileEncSHA256: builtins.bytes + directPath: builtins.str + mediaKeyTimestamp: builtins.int + JPEGThumbnail: builtins.bytes + firstScanSidecar: builtins.bytes + firstScanLength: builtins.int + experimentGroupID: builtins.int + scansSidecar: builtins.bytes + midQualityFileSHA256: builtins.bytes + midQualityFileEncSHA256: builtins.bytes + viewOnce: builtins.bool + thumbnailDirectPath: builtins.str + thumbnailSHA256: builtins.bytes + thumbnailEncSHA256: builtins.bytes + staticURL: builtins.str + imageSourceType: global___ImageMessage.ImageSourceType.ValueType + accessibilityLabel: builtins.str + mediaKeyDomain: global___MediaKeyDomain.ValueType + qrURL: builtins.str + @property + def interactiveAnnotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveAnnotation]: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def scanLengths(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + @property + def annotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InteractiveAnnotation]: ... + def __init__( + self, + *, + URL: builtins.str | None = ..., + mimetype: builtins.str | None = ..., + caption: builtins.str | None = ..., + fileSHA256: builtins.bytes | None = ..., + fileLength: builtins.int | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + mediaKey: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + interactiveAnnotations: collections.abc.Iterable[global___InteractiveAnnotation] | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + contextInfo: global___ContextInfo | None = ..., + firstScanSidecar: builtins.bytes | None = ..., + firstScanLength: builtins.int | None = ..., + experimentGroupID: builtins.int | None = ..., + scansSidecar: builtins.bytes | None = ..., + scanLengths: collections.abc.Iterable[builtins.int] | None = ..., + midQualityFileSHA256: builtins.bytes | None = ..., + midQualityFileEncSHA256: builtins.bytes | None = ..., + viewOnce: builtins.bool | None = ..., + thumbnailDirectPath: builtins.str | None = ..., + thumbnailSHA256: builtins.bytes | None = ..., + thumbnailEncSHA256: builtins.bytes | None = ..., + staticURL: builtins.str | None = ..., + annotations: collections.abc.Iterable[global___InteractiveAnnotation] | None = ..., + imageSourceType: global___ImageMessage.ImageSourceType.ValueType | None = ..., + accessibilityLabel: builtins.str | None = ..., + mediaKeyDomain: global___MediaKeyDomain.ValueType | None = ..., + qrURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "experimentGroupID", b"experimentGroupID", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "firstScanLength", b"firstScanLength", "firstScanSidecar", b"firstScanSidecar", "height", b"height", "imageSourceType", b"imageSourceType", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "midQualityFileEncSHA256", b"midQualityFileEncSHA256", "midQualityFileSHA256", b"midQualityFileSHA256", "mimetype", b"mimetype", "qrURL", b"qrURL", "scansSidecar", b"scansSidecar", "staticURL", b"staticURL", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailSHA256", b"thumbnailSHA256", "viewOnce", b"viewOnce", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "annotations", b"annotations", "caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "experimentGroupID", b"experimentGroupID", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "firstScanLength", b"firstScanLength", "firstScanSidecar", b"firstScanSidecar", "height", b"height", "imageSourceType", b"imageSourceType", "interactiveAnnotations", b"interactiveAnnotations", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "midQualityFileEncSHA256", b"midQualityFileEncSHA256", "midQualityFileSHA256", b"midQualityFileSHA256", "mimetype", b"mimetype", "qrURL", b"qrURL", "scanLengths", b"scanLengths", "scansSidecar", b"scansSidecar", "staticURL", b"staticURL", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailSHA256", b"thumbnailSHA256", "viewOnce", b"viewOnce", "width", b"width"]) -> None: ... + +global___ImageMessage = ImageMessage + +@typing.final +class ContextInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _QuotedType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _QuotedTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo._QuotedType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + EXPLICIT: ContextInfo._QuotedType.ValueType # 0 + AUTO: ContextInfo._QuotedType.ValueType # 1 + + class QuotedType(_QuotedType, metaclass=_QuotedTypeEnumTypeWrapper): ... + EXPLICIT: ContextInfo.QuotedType.ValueType # 0 + AUTO: ContextInfo.QuotedType.ValueType # 1 + + class _ForwardOrigin: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ForwardOriginEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo._ForwardOrigin.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: ContextInfo._ForwardOrigin.ValueType # 0 + CHAT: ContextInfo._ForwardOrigin.ValueType # 1 + STATUS: ContextInfo._ForwardOrigin.ValueType # 2 + CHANNELS: ContextInfo._ForwardOrigin.ValueType # 3 + META_AI: ContextInfo._ForwardOrigin.ValueType # 4 + UGC: ContextInfo._ForwardOrigin.ValueType # 5 + + class ForwardOrigin(_ForwardOrigin, metaclass=_ForwardOriginEnumTypeWrapper): ... + UNKNOWN: ContextInfo.ForwardOrigin.ValueType # 0 + CHAT: ContextInfo.ForwardOrigin.ValueType # 1 + STATUS: ContextInfo.ForwardOrigin.ValueType # 2 + CHANNELS: ContextInfo.ForwardOrigin.ValueType # 3 + META_AI: ContextInfo.ForwardOrigin.ValueType # 4 + UGC: ContextInfo.ForwardOrigin.ValueType # 5 + + class _StatusSourceType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo._StatusSourceType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + IMAGE: ContextInfo._StatusSourceType.ValueType # 0 + VIDEO: ContextInfo._StatusSourceType.ValueType # 1 + GIF: ContextInfo._StatusSourceType.ValueType # 2 + AUDIO: ContextInfo._StatusSourceType.ValueType # 3 + TEXT: ContextInfo._StatusSourceType.ValueType # 4 + MUSIC_STANDALONE: ContextInfo._StatusSourceType.ValueType # 5 + + class StatusSourceType(_StatusSourceType, metaclass=_StatusSourceTypeEnumTypeWrapper): ... + IMAGE: ContextInfo.StatusSourceType.ValueType # 0 + VIDEO: ContextInfo.StatusSourceType.ValueType # 1 + GIF: ContextInfo.StatusSourceType.ValueType # 2 + AUDIO: ContextInfo.StatusSourceType.ValueType # 3 + TEXT: ContextInfo.StatusSourceType.ValueType # 4 + MUSIC_STANDALONE: ContextInfo.StatusSourceType.ValueType # 5 + + class _PairedMediaType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PairedMediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo._PairedMediaType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NOT_PAIRED_MEDIA: ContextInfo._PairedMediaType.ValueType # 0 + SD_VIDEO_PARENT: ContextInfo._PairedMediaType.ValueType # 1 + HD_VIDEO_CHILD: ContextInfo._PairedMediaType.ValueType # 2 + SD_IMAGE_PARENT: ContextInfo._PairedMediaType.ValueType # 3 + HD_IMAGE_CHILD: ContextInfo._PairedMediaType.ValueType # 4 + MOTION_PHOTO_PARENT: ContextInfo._PairedMediaType.ValueType # 5 + MOTION_PHOTO_CHILD: ContextInfo._PairedMediaType.ValueType # 6 + HEVC_VIDEO_PARENT: ContextInfo._PairedMediaType.ValueType # 7 + HEVC_VIDEO_CHILD: ContextInfo._PairedMediaType.ValueType # 8 + + class PairedMediaType(_PairedMediaType, metaclass=_PairedMediaTypeEnumTypeWrapper): ... + NOT_PAIRED_MEDIA: ContextInfo.PairedMediaType.ValueType # 0 + SD_VIDEO_PARENT: ContextInfo.PairedMediaType.ValueType # 1 + HD_VIDEO_CHILD: ContextInfo.PairedMediaType.ValueType # 2 + SD_IMAGE_PARENT: ContextInfo.PairedMediaType.ValueType # 3 + HD_IMAGE_CHILD: ContextInfo.PairedMediaType.ValueType # 4 + MOTION_PHOTO_PARENT: ContextInfo.PairedMediaType.ValueType # 5 + MOTION_PHOTO_CHILD: ContextInfo.PairedMediaType.ValueType # 6 + HEVC_VIDEO_PARENT: ContextInfo.PairedMediaType.ValueType # 7 + HEVC_VIDEO_CHILD: ContextInfo.PairedMediaType.ValueType # 8 + + class _StatusAttributionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusAttributionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo._StatusAttributionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: ContextInfo._StatusAttributionType.ValueType # 0 + RESHARED_FROM_MENTION: ContextInfo._StatusAttributionType.ValueType # 1 + RESHARED_FROM_POST: ContextInfo._StatusAttributionType.ValueType # 2 + RESHARED_FROM_POST_MANY_TIMES: ContextInfo._StatusAttributionType.ValueType # 3 + FORWARDED_FROM_STATUS: ContextInfo._StatusAttributionType.ValueType # 4 + + class StatusAttributionType(_StatusAttributionType, metaclass=_StatusAttributionTypeEnumTypeWrapper): ... + NONE: ContextInfo.StatusAttributionType.ValueType # 0 + RESHARED_FROM_MENTION: ContextInfo.StatusAttributionType.ValueType # 1 + RESHARED_FROM_POST: ContextInfo.StatusAttributionType.ValueType # 2 + RESHARED_FROM_POST_MANY_TIMES: ContextInfo.StatusAttributionType.ValueType # 3 + FORWARDED_FROM_STATUS: ContextInfo.StatusAttributionType.ValueType # 4 + + @typing.final + class StatusAudienceMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AudienceType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AudienceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.StatusAudienceMetadata._AudienceType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: ContextInfo.StatusAudienceMetadata._AudienceType.ValueType # 0 + CLOSE_FRIENDS: ContextInfo.StatusAudienceMetadata._AudienceType.ValueType # 1 + + class AudienceType(_AudienceType, metaclass=_AudienceTypeEnumTypeWrapper): ... + UNKNOWN: ContextInfo.StatusAudienceMetadata.AudienceType.ValueType # 0 + CLOSE_FRIENDS: ContextInfo.StatusAudienceMetadata.AudienceType.ValueType # 1 + + AUDIENCETYPE_FIELD_NUMBER: builtins.int + audienceType: global___ContextInfo.StatusAudienceMetadata.AudienceType.ValueType + def __init__( + self, + *, + audienceType: global___ContextInfo.StatusAudienceMetadata.AudienceType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["audienceType", b"audienceType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audienceType", b"audienceType"]) -> None: ... + + @typing.final + class DataSharingContext(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _DataSharingFlags: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _DataSharingFlagsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.DataSharingContext._DataSharingFlags.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SHOW_MM_DISCLOSURE_ON_CLICK: ContextInfo.DataSharingContext._DataSharingFlags.ValueType # 1 + SHOW_MM_DISCLOSURE_ON_READ: ContextInfo.DataSharingContext._DataSharingFlags.ValueType # 2 + + class DataSharingFlags(_DataSharingFlags, metaclass=_DataSharingFlagsEnumTypeWrapper): ... + SHOW_MM_DISCLOSURE_ON_CLICK: ContextInfo.DataSharingContext.DataSharingFlags.ValueType # 1 + SHOW_MM_DISCLOSURE_ON_READ: ContextInfo.DataSharingContext.DataSharingFlags.ValueType # 2 + + @typing.final + class Parameters(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + STRINGDATA_FIELD_NUMBER: builtins.int + INTDATA_FIELD_NUMBER: builtins.int + FLOATDATA_FIELD_NUMBER: builtins.int + CONTENTS_FIELD_NUMBER: builtins.int + key: builtins.str + stringData: builtins.str + intData: builtins.int + floatData: builtins.float + @property + def contents(self) -> global___ContextInfo.DataSharingContext.Parameters: ... + def __init__( + self, + *, + key: builtins.str | None = ..., + stringData: builtins.str | None = ..., + intData: builtins.int | None = ..., + floatData: builtins.float | None = ..., + contents: global___ContextInfo.DataSharingContext.Parameters | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contents", b"contents", "floatData", b"floatData", "intData", b"intData", "key", b"key", "stringData", b"stringData"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contents", b"contents", "floatData", b"floatData", "intData", b"intData", "key", b"key", "stringData", b"stringData"]) -> None: ... + + SHOWMMDISCLOSURE_FIELD_NUMBER: builtins.int + ENCRYPTEDSIGNALTOKENCONSENTED_FIELD_NUMBER: builtins.int + PARAMETERS_FIELD_NUMBER: builtins.int + DATASHARINGFLAGS_FIELD_NUMBER: builtins.int + showMmDisclosure: builtins.bool + encryptedSignalTokenConsented: builtins.str + dataSharingFlags: builtins.int + @property + def parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ContextInfo.DataSharingContext.Parameters]: ... + def __init__( + self, + *, + showMmDisclosure: builtins.bool | None = ..., + encryptedSignalTokenConsented: builtins.str | None = ..., + parameters: collections.abc.Iterable[global___ContextInfo.DataSharingContext.Parameters] | None = ..., + dataSharingFlags: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["dataSharingFlags", b"dataSharingFlags", "encryptedSignalTokenConsented", b"encryptedSignalTokenConsented", "showMmDisclosure", b"showMmDisclosure"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["dataSharingFlags", b"dataSharingFlags", "encryptedSignalTokenConsented", b"encryptedSignalTokenConsented", "parameters", b"parameters", "showMmDisclosure", b"showMmDisclosure"]) -> None: ... + + @typing.final + class ForwardedNewsletterMessageInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ContentType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ContentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.ForwardedNewsletterMessageInfo._ContentType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UPDATE: ContextInfo.ForwardedNewsletterMessageInfo._ContentType.ValueType # 1 + UPDATE_CARD: ContextInfo.ForwardedNewsletterMessageInfo._ContentType.ValueType # 2 + LINK_CARD: ContextInfo.ForwardedNewsletterMessageInfo._ContentType.ValueType # 3 + + class ContentType(_ContentType, metaclass=_ContentTypeEnumTypeWrapper): ... + UPDATE: ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType # 1 + UPDATE_CARD: ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType # 2 + LINK_CARD: ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType # 3 + + NEWSLETTERJID_FIELD_NUMBER: builtins.int + SERVERMESSAGEID_FIELD_NUMBER: builtins.int + NEWSLETTERNAME_FIELD_NUMBER: builtins.int + CONTENTTYPE_FIELD_NUMBER: builtins.int + ACCESSIBILITYTEXT_FIELD_NUMBER: builtins.int + newsletterJID: builtins.str + serverMessageID: builtins.int + newsletterName: builtins.str + contentType: global___ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType + accessibilityText: builtins.str + def __init__( + self, + *, + newsletterJID: builtins.str | None = ..., + serverMessageID: builtins.int | None = ..., + newsletterName: builtins.str | None = ..., + contentType: global___ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType | None = ..., + accessibilityText: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accessibilityText", b"accessibilityText", "contentType", b"contentType", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName", "serverMessageID", b"serverMessageID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accessibilityText", b"accessibilityText", "contentType", b"contentType", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName", "serverMessageID", b"serverMessageID"]) -> None: ... + + @typing.final + class ExternalAdReplyInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AdType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AdTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.ExternalAdReplyInfo._AdType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CTWA: ContextInfo.ExternalAdReplyInfo._AdType.ValueType # 0 + CAWC: ContextInfo.ExternalAdReplyInfo._AdType.ValueType # 1 + + class AdType(_AdType, metaclass=_AdTypeEnumTypeWrapper): ... + CTWA: ContextInfo.ExternalAdReplyInfo.AdType.ValueType # 0 + CAWC: ContextInfo.ExternalAdReplyInfo.AdType.ValueType # 1 + + class _MediaType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.ExternalAdReplyInfo._MediaType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: ContextInfo.ExternalAdReplyInfo._MediaType.ValueType # 0 + IMAGE: ContextInfo.ExternalAdReplyInfo._MediaType.ValueType # 1 + VIDEO: ContextInfo.ExternalAdReplyInfo._MediaType.ValueType # 2 + + class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper): ... + NONE: ContextInfo.ExternalAdReplyInfo.MediaType.ValueType # 0 + IMAGE: ContextInfo.ExternalAdReplyInfo.MediaType.ValueType # 1 + VIDEO: ContextInfo.ExternalAdReplyInfo.MediaType.ValueType # 2 + + TITLE_FIELD_NUMBER: builtins.int + BODY_FIELD_NUMBER: builtins.int + MEDIATYPE_FIELD_NUMBER: builtins.int + THUMBNAILURL_FIELD_NUMBER: builtins.int + MEDIAURL_FIELD_NUMBER: builtins.int + THUMBNAIL_FIELD_NUMBER: builtins.int + SOURCETYPE_FIELD_NUMBER: builtins.int + SOURCEID_FIELD_NUMBER: builtins.int + SOURCEURL_FIELD_NUMBER: builtins.int + CONTAINSAUTOREPLY_FIELD_NUMBER: builtins.int + RENDERLARGERTHUMBNAIL_FIELD_NUMBER: builtins.int + SHOWADATTRIBUTION_FIELD_NUMBER: builtins.int + CTWACLID_FIELD_NUMBER: builtins.int + REF_FIELD_NUMBER: builtins.int + CLICKTOWHATSAPPCALL_FIELD_NUMBER: builtins.int + ADCONTEXTPREVIEWDISMISSED_FIELD_NUMBER: builtins.int + SOURCEAPP_FIELD_NUMBER: builtins.int + AUTOMATEDGREETINGMESSAGESHOWN_FIELD_NUMBER: builtins.int + GREETINGMESSAGEBODY_FIELD_NUMBER: builtins.int + CTAPAYLOAD_FIELD_NUMBER: builtins.int + DISABLENUDGE_FIELD_NUMBER: builtins.int + ORIGINALIMAGEURL_FIELD_NUMBER: builtins.int + AUTOMATEDGREETINGMESSAGECTATYPE_FIELD_NUMBER: builtins.int + WTWAADFORMAT_FIELD_NUMBER: builtins.int + ADTYPE_FIELD_NUMBER: builtins.int + WTWAWEBSITEURL_FIELD_NUMBER: builtins.int + ADPREVIEWURL_FIELD_NUMBER: builtins.int + title: builtins.str + body: builtins.str + mediaType: global___ContextInfo.ExternalAdReplyInfo.MediaType.ValueType + thumbnailURL: builtins.str + mediaURL: builtins.str + thumbnail: builtins.bytes + sourceType: builtins.str + sourceID: builtins.str + sourceURL: builtins.str + containsAutoReply: builtins.bool + renderLargerThumbnail: builtins.bool + showAdAttribution: builtins.bool + ctwaClid: builtins.str + ref: builtins.str + clickToWhatsappCall: builtins.bool + adContextPreviewDismissed: builtins.bool + sourceApp: builtins.str + automatedGreetingMessageShown: builtins.bool + greetingMessageBody: builtins.str + ctaPayload: builtins.str + disableNudge: builtins.bool + originalImageURL: builtins.str + automatedGreetingMessageCtaType: builtins.str + wtwaAdFormat: builtins.bool + adType: global___ContextInfo.ExternalAdReplyInfo.AdType.ValueType + wtwaWebsiteURL: builtins.str + adPreviewURL: builtins.str + def __init__( + self, + *, + title: builtins.str | None = ..., + body: builtins.str | None = ..., + mediaType: global___ContextInfo.ExternalAdReplyInfo.MediaType.ValueType | None = ..., + thumbnailURL: builtins.str | None = ..., + mediaURL: builtins.str | None = ..., + thumbnail: builtins.bytes | None = ..., + sourceType: builtins.str | None = ..., + sourceID: builtins.str | None = ..., + sourceURL: builtins.str | None = ..., + containsAutoReply: builtins.bool | None = ..., + renderLargerThumbnail: builtins.bool | None = ..., + showAdAttribution: builtins.bool | None = ..., + ctwaClid: builtins.str | None = ..., + ref: builtins.str | None = ..., + clickToWhatsappCall: builtins.bool | None = ..., + adContextPreviewDismissed: builtins.bool | None = ..., + sourceApp: builtins.str | None = ..., + automatedGreetingMessageShown: builtins.bool | None = ..., + greetingMessageBody: builtins.str | None = ..., + ctaPayload: builtins.str | None = ..., + disableNudge: builtins.bool | None = ..., + originalImageURL: builtins.str | None = ..., + automatedGreetingMessageCtaType: builtins.str | None = ..., + wtwaAdFormat: builtins.bool | None = ..., + adType: global___ContextInfo.ExternalAdReplyInfo.AdType.ValueType | None = ..., + wtwaWebsiteURL: builtins.str | None = ..., + adPreviewURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["adContextPreviewDismissed", b"adContextPreviewDismissed", "adPreviewURL", b"adPreviewURL", "adType", b"adType", "automatedGreetingMessageCtaType", b"automatedGreetingMessageCtaType", "automatedGreetingMessageShown", b"automatedGreetingMessageShown", "body", b"body", "clickToWhatsappCall", b"clickToWhatsappCall", "containsAutoReply", b"containsAutoReply", "ctaPayload", b"ctaPayload", "ctwaClid", b"ctwaClid", "disableNudge", b"disableNudge", "greetingMessageBody", b"greetingMessageBody", "mediaType", b"mediaType", "mediaURL", b"mediaURL", "originalImageURL", b"originalImageURL", "ref", b"ref", "renderLargerThumbnail", b"renderLargerThumbnail", "showAdAttribution", b"showAdAttribution", "sourceApp", b"sourceApp", "sourceID", b"sourceID", "sourceType", b"sourceType", "sourceURL", b"sourceURL", "thumbnail", b"thumbnail", "thumbnailURL", b"thumbnailURL", "title", b"title", "wtwaAdFormat", b"wtwaAdFormat", "wtwaWebsiteURL", b"wtwaWebsiteURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["adContextPreviewDismissed", b"adContextPreviewDismissed", "adPreviewURL", b"adPreviewURL", "adType", b"adType", "automatedGreetingMessageCtaType", b"automatedGreetingMessageCtaType", "automatedGreetingMessageShown", b"automatedGreetingMessageShown", "body", b"body", "clickToWhatsappCall", b"clickToWhatsappCall", "containsAutoReply", b"containsAutoReply", "ctaPayload", b"ctaPayload", "ctwaClid", b"ctwaClid", "disableNudge", b"disableNudge", "greetingMessageBody", b"greetingMessageBody", "mediaType", b"mediaType", "mediaURL", b"mediaURL", "originalImageURL", b"originalImageURL", "ref", b"ref", "renderLargerThumbnail", b"renderLargerThumbnail", "showAdAttribution", b"showAdAttribution", "sourceApp", b"sourceApp", "sourceID", b"sourceID", "sourceType", b"sourceType", "sourceURL", b"sourceURL", "thumbnail", b"thumbnail", "thumbnailURL", b"thumbnailURL", "title", b"title", "wtwaAdFormat", b"wtwaAdFormat", "wtwaWebsiteURL", b"wtwaWebsiteURL"]) -> None: ... + + @typing.final + class AdReplyInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _MediaType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.AdReplyInfo._MediaType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: ContextInfo.AdReplyInfo._MediaType.ValueType # 0 + IMAGE: ContextInfo.AdReplyInfo._MediaType.ValueType # 1 + VIDEO: ContextInfo.AdReplyInfo._MediaType.ValueType # 2 + + class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper): ... + NONE: ContextInfo.AdReplyInfo.MediaType.ValueType # 0 + IMAGE: ContextInfo.AdReplyInfo.MediaType.ValueType # 1 + VIDEO: ContextInfo.AdReplyInfo.MediaType.ValueType # 2 + + ADVERTISERNAME_FIELD_NUMBER: builtins.int + MEDIATYPE_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + advertiserName: builtins.str + mediaType: global___ContextInfo.AdReplyInfo.MediaType.ValueType + JPEGThumbnail: builtins.bytes + caption: builtins.str + def __init__( + self, + *, + advertiserName: builtins.str | None = ..., + mediaType: global___ContextInfo.AdReplyInfo.MediaType.ValueType | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + caption: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "advertiserName", b"advertiserName", "caption", b"caption", "mediaType", b"mediaType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "advertiserName", b"advertiserName", "caption", b"caption", "mediaType", b"mediaType"]) -> None: ... + + @typing.final + class FeatureEligibilities(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CANNOTBEREACTEDTO_FIELD_NUMBER: builtins.int + CANNOTBERANKED_FIELD_NUMBER: builtins.int + CANREQUESTFEEDBACK_FIELD_NUMBER: builtins.int + CANBERESHARED_FIELD_NUMBER: builtins.int + CANRECEIVEMULTIREACT_FIELD_NUMBER: builtins.int + cannotBeReactedTo: builtins.bool + cannotBeRanked: builtins.bool + canRequestFeedback: builtins.bool + canBeReshared: builtins.bool + canReceiveMultiReact: builtins.bool + def __init__( + self, + *, + cannotBeReactedTo: builtins.bool | None = ..., + cannotBeRanked: builtins.bool | None = ..., + canRequestFeedback: builtins.bool | None = ..., + canBeReshared: builtins.bool | None = ..., + canReceiveMultiReact: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["canBeReshared", b"canBeReshared", "canReceiveMultiReact", b"canReceiveMultiReact", "canRequestFeedback", b"canRequestFeedback", "cannotBeRanked", b"cannotBeRanked", "cannotBeReactedTo", b"cannotBeReactedTo"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["canBeReshared", b"canBeReshared", "canReceiveMultiReact", b"canReceiveMultiReact", "canRequestFeedback", b"canRequestFeedback", "cannotBeRanked", b"cannotBeRanked", "cannotBeReactedTo", b"cannotBeReactedTo"]) -> None: ... + + @typing.final + class QuestionReplyQuotedMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SERVERQUESTIONID_FIELD_NUMBER: builtins.int + QUOTEDQUESTION_FIELD_NUMBER: builtins.int + QUOTEDRESPONSE_FIELD_NUMBER: builtins.int + serverQuestionID: builtins.int + @property + def quotedQuestion(self) -> global___Message: ... + @property + def quotedResponse(self) -> global___Message: ... + def __init__( + self, + *, + serverQuestionID: builtins.int | None = ..., + quotedQuestion: global___Message | None = ..., + quotedResponse: global___Message | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["quotedQuestion", b"quotedQuestion", "quotedResponse", b"quotedResponse", "serverQuestionID", b"serverQuestionID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["quotedQuestion", b"quotedQuestion", "quotedResponse", b"quotedResponse", "serverQuestionID", b"serverQuestionID"]) -> None: ... + + @typing.final + class UTMInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + UTMSOURCE_FIELD_NUMBER: builtins.int + UTMCAMPAIGN_FIELD_NUMBER: builtins.int + utmSource: builtins.str + utmCampaign: builtins.str + def __init__( + self, + *, + utmSource: builtins.str | None = ..., + utmCampaign: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["utmCampaign", b"utmCampaign", "utmSource", b"utmSource"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["utmCampaign", b"utmCampaign", "utmSource", b"utmSource"]) -> None: ... + + @typing.final + class BusinessMessageForwardInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BUSINESSOWNERJID_FIELD_NUMBER: builtins.int + businessOwnerJID: builtins.str + def __init__( + self, + *, + businessOwnerJID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["businessOwnerJID", b"businessOwnerJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["businessOwnerJID", b"businessOwnerJID"]) -> None: ... + + STANZAID_FIELD_NUMBER: builtins.int + PARTICIPANT_FIELD_NUMBER: builtins.int + QUOTEDMESSAGE_FIELD_NUMBER: builtins.int + REMOTEJID_FIELD_NUMBER: builtins.int + MENTIONEDJID_FIELD_NUMBER: builtins.int + CONVERSIONSOURCE_FIELD_NUMBER: builtins.int + CONVERSIONDATA_FIELD_NUMBER: builtins.int + CONVERSIONDELAYSECONDS_FIELD_NUMBER: builtins.int + FORWARDINGSCORE_FIELD_NUMBER: builtins.int + ISFORWARDED_FIELD_NUMBER: builtins.int + QUOTEDAD_FIELD_NUMBER: builtins.int + PLACEHOLDERKEY_FIELD_NUMBER: builtins.int + EXPIRATION_FIELD_NUMBER: builtins.int + EPHEMERALSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int + EPHEMERALSHAREDSECRET_FIELD_NUMBER: builtins.int + EXTERNALADREPLY_FIELD_NUMBER: builtins.int + ENTRYPOINTCONVERSIONSOURCE_FIELD_NUMBER: builtins.int + ENTRYPOINTCONVERSIONAPP_FIELD_NUMBER: builtins.int + ENTRYPOINTCONVERSIONDELAYSECONDS_FIELD_NUMBER: builtins.int + DISAPPEARINGMODE_FIELD_NUMBER: builtins.int + ACTIONLINK_FIELD_NUMBER: builtins.int + GROUPSUBJECT_FIELD_NUMBER: builtins.int + PARENTGROUPJID_FIELD_NUMBER: builtins.int + TRUSTBANNERTYPE_FIELD_NUMBER: builtins.int + TRUSTBANNERACTION_FIELD_NUMBER: builtins.int + ISSAMPLED_FIELD_NUMBER: builtins.int + GROUPMENTIONS_FIELD_NUMBER: builtins.int + UTM_FIELD_NUMBER: builtins.int + FORWARDEDNEWSLETTERMESSAGEINFO_FIELD_NUMBER: builtins.int + BUSINESSMESSAGEFORWARDINFO_FIELD_NUMBER: builtins.int + SMBCLIENTCAMPAIGNID_FIELD_NUMBER: builtins.int + SMBSERVERCAMPAIGNID_FIELD_NUMBER: builtins.int + DATASHARINGCONTEXT_FIELD_NUMBER: builtins.int + ALWAYSSHOWADATTRIBUTION_FIELD_NUMBER: builtins.int + FEATUREELIGIBILITIES_FIELD_NUMBER: builtins.int + ENTRYPOINTCONVERSIONEXTERNALSOURCE_FIELD_NUMBER: builtins.int + ENTRYPOINTCONVERSIONEXTERNALMEDIUM_FIELD_NUMBER: builtins.int + CTWASIGNALS_FIELD_NUMBER: builtins.int + CTWAPAYLOAD_FIELD_NUMBER: builtins.int + FORWARDEDAIBOTMESSAGEINFO_FIELD_NUMBER: builtins.int + STATUSATTRIBUTIONTYPE_FIELD_NUMBER: builtins.int + URLTRACKINGMAP_FIELD_NUMBER: builtins.int + PAIREDMEDIATYPE_FIELD_NUMBER: builtins.int + RANKINGVERSION_FIELD_NUMBER: builtins.int + MEMBERLABEL_FIELD_NUMBER: builtins.int + ISQUESTION_FIELD_NUMBER: builtins.int + STATUSSOURCETYPE_FIELD_NUMBER: builtins.int + STATUSATTRIBUTIONS_FIELD_NUMBER: builtins.int + ISGROUPSTATUS_FIELD_NUMBER: builtins.int + FORWARDORIGIN_FIELD_NUMBER: builtins.int + QUESTIONREPLYQUOTEDMESSAGE_FIELD_NUMBER: builtins.int + STATUSAUDIENCEMETADATA_FIELD_NUMBER: builtins.int + NONJIDMENTIONS_FIELD_NUMBER: builtins.int + QUOTEDTYPE_FIELD_NUMBER: builtins.int + BOTMESSAGESHARINGINFO_FIELD_NUMBER: builtins.int + stanzaID: builtins.str + participant: builtins.str + remoteJID: builtins.str + conversionSource: builtins.str + conversionData: builtins.bytes + conversionDelaySeconds: builtins.int + forwardingScore: builtins.int + isForwarded: builtins.bool + expiration: builtins.int + ephemeralSettingTimestamp: builtins.int + ephemeralSharedSecret: builtins.bytes + entryPointConversionSource: builtins.str + entryPointConversionApp: builtins.str + entryPointConversionDelaySeconds: builtins.int + groupSubject: builtins.str + parentGroupJID: builtins.str + trustBannerType: builtins.str + trustBannerAction: builtins.int + isSampled: builtins.bool + smbClientCampaignID: builtins.str + smbServerCampaignID: builtins.str + alwaysShowAdAttribution: builtins.bool + entryPointConversionExternalSource: builtins.str + entryPointConversionExternalMedium: builtins.str + ctwaSignals: builtins.str + ctwaPayload: builtins.bytes + statusAttributionType: global___ContextInfo.StatusAttributionType.ValueType + pairedMediaType: global___ContextInfo.PairedMediaType.ValueType + rankingVersion: builtins.int + isQuestion: builtins.bool + statusSourceType: global___ContextInfo.StatusSourceType.ValueType + isGroupStatus: builtins.bool + forwardOrigin: global___ContextInfo.ForwardOrigin.ValueType + nonJIDMentions: builtins.int + quotedType: global___ContextInfo.QuotedType.ValueType + @property + def quotedMessage(self) -> global___Message: ... + @property + def mentionedJID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def quotedAd(self) -> global___ContextInfo.AdReplyInfo: ... + @property + def placeholderKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def externalAdReply(self) -> global___ContextInfo.ExternalAdReplyInfo: ... + @property + def disappearingMode(self) -> global___DisappearingMode: ... + @property + def actionLink(self) -> global___ActionLink: ... + @property + def groupMentions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GroupMention]: ... + @property + def utm(self) -> global___ContextInfo.UTMInfo: ... + @property + def forwardedNewsletterMessageInfo(self) -> global___ContextInfo.ForwardedNewsletterMessageInfo: ... + @property + def businessMessageForwardInfo(self) -> global___ContextInfo.BusinessMessageForwardInfo: ... + @property + def dataSharingContext(self) -> global___ContextInfo.DataSharingContext: ... + @property + def featureEligibilities(self) -> global___ContextInfo.FeatureEligibilities: ... + @property + def forwardedAiBotMessageInfo(self) -> waAICommon.WAAICommon_pb2.ForwardedAIBotMessageInfo: ... + @property + def urlTrackingMap(self) -> global___UrlTrackingMap: ... + @property + def memberLabel(self) -> global___MemberLabel: ... + @property + def statusAttributions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waStatusAttributions.WAStatusAttributions_pb2.StatusAttribution]: ... + @property + def questionReplyQuotedMessage(self) -> global___ContextInfo.QuestionReplyQuotedMessage: ... + @property + def statusAudienceMetadata(self) -> global___ContextInfo.StatusAudienceMetadata: ... + @property + def botMessageSharingInfo(self) -> waAICommon.WAAICommon_pb2.BotMessageSharingInfo: ... + def __init__( + self, + *, + stanzaID: builtins.str | None = ..., + participant: builtins.str | None = ..., + quotedMessage: global___Message | None = ..., + remoteJID: builtins.str | None = ..., + mentionedJID: collections.abc.Iterable[builtins.str] | None = ..., + conversionSource: builtins.str | None = ..., + conversionData: builtins.bytes | None = ..., + conversionDelaySeconds: builtins.int | None = ..., + forwardingScore: builtins.int | None = ..., + isForwarded: builtins.bool | None = ..., + quotedAd: global___ContextInfo.AdReplyInfo | None = ..., + placeholderKey: waCommon.WACommon_pb2.MessageKey | None = ..., + expiration: builtins.int | None = ..., + ephemeralSettingTimestamp: builtins.int | None = ..., + ephemeralSharedSecret: builtins.bytes | None = ..., + externalAdReply: global___ContextInfo.ExternalAdReplyInfo | None = ..., + entryPointConversionSource: builtins.str | None = ..., + entryPointConversionApp: builtins.str | None = ..., + entryPointConversionDelaySeconds: builtins.int | None = ..., + disappearingMode: global___DisappearingMode | None = ..., + actionLink: global___ActionLink | None = ..., + groupSubject: builtins.str | None = ..., + parentGroupJID: builtins.str | None = ..., + trustBannerType: builtins.str | None = ..., + trustBannerAction: builtins.int | None = ..., + isSampled: builtins.bool | None = ..., + groupMentions: collections.abc.Iterable[global___GroupMention] | None = ..., + utm: global___ContextInfo.UTMInfo | None = ..., + forwardedNewsletterMessageInfo: global___ContextInfo.ForwardedNewsletterMessageInfo | None = ..., + businessMessageForwardInfo: global___ContextInfo.BusinessMessageForwardInfo | None = ..., + smbClientCampaignID: builtins.str | None = ..., + smbServerCampaignID: builtins.str | None = ..., + dataSharingContext: global___ContextInfo.DataSharingContext | None = ..., + alwaysShowAdAttribution: builtins.bool | None = ..., + featureEligibilities: global___ContextInfo.FeatureEligibilities | None = ..., + entryPointConversionExternalSource: builtins.str | None = ..., + entryPointConversionExternalMedium: builtins.str | None = ..., + ctwaSignals: builtins.str | None = ..., + ctwaPayload: builtins.bytes | None = ..., + forwardedAiBotMessageInfo: waAICommon.WAAICommon_pb2.ForwardedAIBotMessageInfo | None = ..., + statusAttributionType: global___ContextInfo.StatusAttributionType.ValueType | None = ..., + urlTrackingMap: global___UrlTrackingMap | None = ..., + pairedMediaType: global___ContextInfo.PairedMediaType.ValueType | None = ..., + rankingVersion: builtins.int | None = ..., + memberLabel: global___MemberLabel | None = ..., + isQuestion: builtins.bool | None = ..., + statusSourceType: global___ContextInfo.StatusSourceType.ValueType | None = ..., + statusAttributions: collections.abc.Iterable[waStatusAttributions.WAStatusAttributions_pb2.StatusAttribution] | None = ..., + isGroupStatus: builtins.bool | None = ..., + forwardOrigin: global___ContextInfo.ForwardOrigin.ValueType | None = ..., + questionReplyQuotedMessage: global___ContextInfo.QuestionReplyQuotedMessage | None = ..., + statusAudienceMetadata: global___ContextInfo.StatusAudienceMetadata | None = ..., + nonJIDMentions: builtins.int | None = ..., + quotedType: global___ContextInfo.QuotedType.ValueType | None = ..., + botMessageSharingInfo: waAICommon.WAAICommon_pb2.BotMessageSharingInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionLink", b"actionLink", "alwaysShowAdAttribution", b"alwaysShowAdAttribution", "botMessageSharingInfo", b"botMessageSharingInfo", "businessMessageForwardInfo", b"businessMessageForwardInfo", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource", "ctwaPayload", b"ctwaPayload", "ctwaSignals", b"ctwaSignals", "dataSharingContext", b"dataSharingContext", "disappearingMode", b"disappearingMode", "entryPointConversionApp", b"entryPointConversionApp", "entryPointConversionDelaySeconds", b"entryPointConversionDelaySeconds", "entryPointConversionExternalMedium", b"entryPointConversionExternalMedium", "entryPointConversionExternalSource", b"entryPointConversionExternalSource", "entryPointConversionSource", b"entryPointConversionSource", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "ephemeralSharedSecret", b"ephemeralSharedSecret", "expiration", b"expiration", "externalAdReply", b"externalAdReply", "featureEligibilities", b"featureEligibilities", "forwardOrigin", b"forwardOrigin", "forwardedAiBotMessageInfo", b"forwardedAiBotMessageInfo", "forwardedNewsletterMessageInfo", b"forwardedNewsletterMessageInfo", "forwardingScore", b"forwardingScore", "groupSubject", b"groupSubject", "isForwarded", b"isForwarded", "isGroupStatus", b"isGroupStatus", "isQuestion", b"isQuestion", "isSampled", b"isSampled", "memberLabel", b"memberLabel", "nonJIDMentions", b"nonJIDMentions", "pairedMediaType", b"pairedMediaType", "parentGroupJID", b"parentGroupJID", "participant", b"participant", "placeholderKey", b"placeholderKey", "questionReplyQuotedMessage", b"questionReplyQuotedMessage", "quotedAd", b"quotedAd", "quotedMessage", b"quotedMessage", "quotedType", b"quotedType", "rankingVersion", b"rankingVersion", "remoteJID", b"remoteJID", "smbClientCampaignID", b"smbClientCampaignID", "smbServerCampaignID", b"smbServerCampaignID", "stanzaID", b"stanzaID", "statusAttributionType", b"statusAttributionType", "statusAudienceMetadata", b"statusAudienceMetadata", "statusSourceType", b"statusSourceType", "trustBannerAction", b"trustBannerAction", "trustBannerType", b"trustBannerType", "urlTrackingMap", b"urlTrackingMap", "utm", b"utm"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionLink", b"actionLink", "alwaysShowAdAttribution", b"alwaysShowAdAttribution", "botMessageSharingInfo", b"botMessageSharingInfo", "businessMessageForwardInfo", b"businessMessageForwardInfo", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource", "ctwaPayload", b"ctwaPayload", "ctwaSignals", b"ctwaSignals", "dataSharingContext", b"dataSharingContext", "disappearingMode", b"disappearingMode", "entryPointConversionApp", b"entryPointConversionApp", "entryPointConversionDelaySeconds", b"entryPointConversionDelaySeconds", "entryPointConversionExternalMedium", b"entryPointConversionExternalMedium", "entryPointConversionExternalSource", b"entryPointConversionExternalSource", "entryPointConversionSource", b"entryPointConversionSource", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "ephemeralSharedSecret", b"ephemeralSharedSecret", "expiration", b"expiration", "externalAdReply", b"externalAdReply", "featureEligibilities", b"featureEligibilities", "forwardOrigin", b"forwardOrigin", "forwardedAiBotMessageInfo", b"forwardedAiBotMessageInfo", "forwardedNewsletterMessageInfo", b"forwardedNewsletterMessageInfo", "forwardingScore", b"forwardingScore", "groupMentions", b"groupMentions", "groupSubject", b"groupSubject", "isForwarded", b"isForwarded", "isGroupStatus", b"isGroupStatus", "isQuestion", b"isQuestion", "isSampled", b"isSampled", "memberLabel", b"memberLabel", "mentionedJID", b"mentionedJID", "nonJIDMentions", b"nonJIDMentions", "pairedMediaType", b"pairedMediaType", "parentGroupJID", b"parentGroupJID", "participant", b"participant", "placeholderKey", b"placeholderKey", "questionReplyQuotedMessage", b"questionReplyQuotedMessage", "quotedAd", b"quotedAd", "quotedMessage", b"quotedMessage", "quotedType", b"quotedType", "rankingVersion", b"rankingVersion", "remoteJID", b"remoteJID", "smbClientCampaignID", b"smbClientCampaignID", "smbServerCampaignID", b"smbServerCampaignID", "stanzaID", b"stanzaID", "statusAttributionType", b"statusAttributionType", "statusAttributions", b"statusAttributions", "statusAudienceMetadata", b"statusAudienceMetadata", "statusSourceType", b"statusSourceType", "trustBannerAction", b"trustBannerAction", "trustBannerType", b"trustBannerType", "urlTrackingMap", b"urlTrackingMap", "utm", b"utm"]) -> None: ... + +global___ContextInfo = ContextInfo + +@typing.final +class MessageAssociation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AssociationType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AssociationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MessageAssociation._AssociationType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: MessageAssociation._AssociationType.ValueType # 0 + MEDIA_ALBUM: MessageAssociation._AssociationType.ValueType # 1 + BOT_PLUGIN: MessageAssociation._AssociationType.ValueType # 2 + EVENT_COVER_IMAGE: MessageAssociation._AssociationType.ValueType # 3 + STATUS_POLL: MessageAssociation._AssociationType.ValueType # 4 + HD_VIDEO_DUAL_UPLOAD: MessageAssociation._AssociationType.ValueType # 5 + STATUS_EXTERNAL_RESHARE: MessageAssociation._AssociationType.ValueType # 6 + MEDIA_POLL: MessageAssociation._AssociationType.ValueType # 7 + STATUS_ADD_YOURS: MessageAssociation._AssociationType.ValueType # 8 + STATUS_NOTIFICATION: MessageAssociation._AssociationType.ValueType # 9 + HD_IMAGE_DUAL_UPLOAD: MessageAssociation._AssociationType.ValueType # 10 + STICKER_ANNOTATION: MessageAssociation._AssociationType.ValueType # 11 + MOTION_PHOTO: MessageAssociation._AssociationType.ValueType # 12 + STATUS_LINK_ACTION: MessageAssociation._AssociationType.ValueType # 13 + VIEW_ALL_REPLIES: MessageAssociation._AssociationType.ValueType # 14 + STATUS_ADD_YOURS_AI_IMAGINE: MessageAssociation._AssociationType.ValueType # 15 + STATUS_QUESTION: MessageAssociation._AssociationType.ValueType # 16 + STATUS_ADD_YOURS_DIWALI: MessageAssociation._AssociationType.ValueType # 17 + STATUS_REACTION: MessageAssociation._AssociationType.ValueType # 18 + HEVC_VIDEO_DUAL_UPLOAD: MessageAssociation._AssociationType.ValueType # 19 + + class AssociationType(_AssociationType, metaclass=_AssociationTypeEnumTypeWrapper): ... + UNKNOWN: MessageAssociation.AssociationType.ValueType # 0 + MEDIA_ALBUM: MessageAssociation.AssociationType.ValueType # 1 + BOT_PLUGIN: MessageAssociation.AssociationType.ValueType # 2 + EVENT_COVER_IMAGE: MessageAssociation.AssociationType.ValueType # 3 + STATUS_POLL: MessageAssociation.AssociationType.ValueType # 4 + HD_VIDEO_DUAL_UPLOAD: MessageAssociation.AssociationType.ValueType # 5 + STATUS_EXTERNAL_RESHARE: MessageAssociation.AssociationType.ValueType # 6 + MEDIA_POLL: MessageAssociation.AssociationType.ValueType # 7 + STATUS_ADD_YOURS: MessageAssociation.AssociationType.ValueType # 8 + STATUS_NOTIFICATION: MessageAssociation.AssociationType.ValueType # 9 + HD_IMAGE_DUAL_UPLOAD: MessageAssociation.AssociationType.ValueType # 10 + STICKER_ANNOTATION: MessageAssociation.AssociationType.ValueType # 11 + MOTION_PHOTO: MessageAssociation.AssociationType.ValueType # 12 + STATUS_LINK_ACTION: MessageAssociation.AssociationType.ValueType # 13 + VIEW_ALL_REPLIES: MessageAssociation.AssociationType.ValueType # 14 + STATUS_ADD_YOURS_AI_IMAGINE: MessageAssociation.AssociationType.ValueType # 15 + STATUS_QUESTION: MessageAssociation.AssociationType.ValueType # 16 + STATUS_ADD_YOURS_DIWALI: MessageAssociation.AssociationType.ValueType # 17 + STATUS_REACTION: MessageAssociation.AssociationType.ValueType # 18 + HEVC_VIDEO_DUAL_UPLOAD: MessageAssociation.AssociationType.ValueType # 19 + + ASSOCIATIONTYPE_FIELD_NUMBER: builtins.int + PARENTMESSAGEKEY_FIELD_NUMBER: builtins.int + MESSAGEINDEX_FIELD_NUMBER: builtins.int + associationType: global___MessageAssociation.AssociationType.ValueType + messageIndex: builtins.int + @property + def parentMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + associationType: global___MessageAssociation.AssociationType.ValueType | None = ..., + parentMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + messageIndex: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["associationType", b"associationType", "messageIndex", b"messageIndex", "parentMessageKey", b"parentMessageKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["associationType", b"associationType", "messageIndex", b"messageIndex", "parentMessageKey", b"parentMessageKey"]) -> None: ... + +global___MessageAssociation = MessageAssociation + +@typing.final +class ThreadID(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ThreadType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ThreadTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ThreadID._ThreadType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: ThreadID._ThreadType.ValueType # 0 + VIEW_REPLIES: ThreadID._ThreadType.ValueType # 1 + AI_THREAD: ThreadID._ThreadType.ValueType # 2 + + class ThreadType(_ThreadType, metaclass=_ThreadTypeEnumTypeWrapper): ... + UNKNOWN: ThreadID.ThreadType.ValueType # 0 + VIEW_REPLIES: ThreadID.ThreadType.ValueType # 1 + AI_THREAD: ThreadID.ThreadType.ValueType # 2 + + THREADTYPE_FIELD_NUMBER: builtins.int + THREADKEY_FIELD_NUMBER: builtins.int + threadType: global___ThreadID.ThreadType.ValueType + @property + def threadKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + threadType: global___ThreadID.ThreadType.ValueType | None = ..., + threadKey: waCommon.WACommon_pb2.MessageKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["threadKey", b"threadKey", "threadType", b"threadType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["threadKey", b"threadKey", "threadType", b"threadType"]) -> None: ... + +global___ThreadID = ThreadID + +@typing.final +class MessageContextInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _MessageAddonExpiryType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _MessageAddonExpiryTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MessageContextInfo._MessageAddonExpiryType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + STATIC: MessageContextInfo._MessageAddonExpiryType.ValueType # 1 + DEPENDENT_ON_PARENT: MessageContextInfo._MessageAddonExpiryType.ValueType # 2 + + class MessageAddonExpiryType(_MessageAddonExpiryType, metaclass=_MessageAddonExpiryTypeEnumTypeWrapper): ... + STATIC: MessageContextInfo.MessageAddonExpiryType.ValueType # 1 + DEPENDENT_ON_PARENT: MessageContextInfo.MessageAddonExpiryType.ValueType # 2 + + DEVICELISTMETADATA_FIELD_NUMBER: builtins.int + DEVICELISTMETADATAVERSION_FIELD_NUMBER: builtins.int + MESSAGESECRET_FIELD_NUMBER: builtins.int + PADDINGBYTES_FIELD_NUMBER: builtins.int + MESSAGEADDONDURATIONINSECS_FIELD_NUMBER: builtins.int + BOTMESSAGESECRET_FIELD_NUMBER: builtins.int + BOTMETADATA_FIELD_NUMBER: builtins.int + REPORTINGTOKENVERSION_FIELD_NUMBER: builtins.int + MESSAGEADDONEXPIRYTYPE_FIELD_NUMBER: builtins.int + MESSAGEASSOCIATION_FIELD_NUMBER: builtins.int + CAPICREATEDGROUP_FIELD_NUMBER: builtins.int + SUPPORTPAYLOAD_FIELD_NUMBER: builtins.int + LIMITSHARING_FIELD_NUMBER: builtins.int + LIMITSHARINGV2_FIELD_NUMBER: builtins.int + THREADID_FIELD_NUMBER: builtins.int + deviceListMetadataVersion: builtins.int + messageSecret: builtins.bytes + paddingBytes: builtins.bytes + messageAddOnDurationInSecs: builtins.int + botMessageSecret: builtins.bytes + reportingTokenVersion: builtins.int + messageAddOnExpiryType: global___MessageContextInfo.MessageAddonExpiryType.ValueType + capiCreatedGroup: builtins.bool + supportPayload: builtins.str + @property + def deviceListMetadata(self) -> global___DeviceListMetadata: ... + @property + def botMetadata(self) -> waAICommon.WAAICommon_pb2.BotMetadata: ... + @property + def messageAssociation(self) -> global___MessageAssociation: ... + @property + def limitSharing(self) -> waCommon.WACommon_pb2.LimitSharing: ... + @property + def limitSharingV2(self) -> waCommon.WACommon_pb2.LimitSharing: ... + @property + def threadID(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ThreadID]: ... + def __init__( + self, + *, + deviceListMetadata: global___DeviceListMetadata | None = ..., + deviceListMetadataVersion: builtins.int | None = ..., + messageSecret: builtins.bytes | None = ..., + paddingBytes: builtins.bytes | None = ..., + messageAddOnDurationInSecs: builtins.int | None = ..., + botMessageSecret: builtins.bytes | None = ..., + botMetadata: waAICommon.WAAICommon_pb2.BotMetadata | None = ..., + reportingTokenVersion: builtins.int | None = ..., + messageAddOnExpiryType: global___MessageContextInfo.MessageAddonExpiryType.ValueType | None = ..., + messageAssociation: global___MessageAssociation | None = ..., + capiCreatedGroup: builtins.bool | None = ..., + supportPayload: builtins.str | None = ..., + limitSharing: waCommon.WACommon_pb2.LimitSharing | None = ..., + limitSharingV2: waCommon.WACommon_pb2.LimitSharing | None = ..., + threadID: collections.abc.Iterable[global___ThreadID] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["botMessageSecret", b"botMessageSecret", "botMetadata", b"botMetadata", "capiCreatedGroup", b"capiCreatedGroup", "deviceListMetadata", b"deviceListMetadata", "deviceListMetadataVersion", b"deviceListMetadataVersion", "limitSharing", b"limitSharing", "limitSharingV2", b"limitSharingV2", "messageAddOnDurationInSecs", b"messageAddOnDurationInSecs", "messageAddOnExpiryType", b"messageAddOnExpiryType", "messageAssociation", b"messageAssociation", "messageSecret", b"messageSecret", "paddingBytes", b"paddingBytes", "reportingTokenVersion", b"reportingTokenVersion", "supportPayload", b"supportPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["botMessageSecret", b"botMessageSecret", "botMetadata", b"botMetadata", "capiCreatedGroup", b"capiCreatedGroup", "deviceListMetadata", b"deviceListMetadata", "deviceListMetadataVersion", b"deviceListMetadataVersion", "limitSharing", b"limitSharing", "limitSharingV2", b"limitSharingV2", "messageAddOnDurationInSecs", b"messageAddOnDurationInSecs", "messageAddOnExpiryType", b"messageAddOnExpiryType", "messageAssociation", b"messageAssociation", "messageSecret", b"messageSecret", "paddingBytes", b"paddingBytes", "reportingTokenVersion", b"reportingTokenVersion", "supportPayload", b"supportPayload", "threadID", b"threadID"]) -> None: ... + +global___MessageContextInfo = MessageContextInfo + +@typing.final +class InteractiveAnnotation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _StatusLinkType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusLinkTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InteractiveAnnotation._StatusLinkType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + RASTERIZED_LINK_PREVIEW: InteractiveAnnotation._StatusLinkType.ValueType # 1 + RASTERIZED_LINK_TRUNCATED: InteractiveAnnotation._StatusLinkType.ValueType # 2 + RASTERIZED_LINK_FULL_URL: InteractiveAnnotation._StatusLinkType.ValueType # 3 + + class StatusLinkType(_StatusLinkType, metaclass=_StatusLinkTypeEnumTypeWrapper): ... + RASTERIZED_LINK_PREVIEW: InteractiveAnnotation.StatusLinkType.ValueType # 1 + RASTERIZED_LINK_TRUNCATED: InteractiveAnnotation.StatusLinkType.ValueType # 2 + RASTERIZED_LINK_FULL_URL: InteractiveAnnotation.StatusLinkType.ValueType # 3 + + LOCATION_FIELD_NUMBER: builtins.int + NEWSLETTER_FIELD_NUMBER: builtins.int + EMBEDDEDACTION_FIELD_NUMBER: builtins.int + TAPACTION_FIELD_NUMBER: builtins.int + POLYGONVERTICES_FIELD_NUMBER: builtins.int + SHOULDSKIPCONFIRMATION_FIELD_NUMBER: builtins.int + EMBEDDEDCONTENT_FIELD_NUMBER: builtins.int + STATUSLINKTYPE_FIELD_NUMBER: builtins.int + embeddedAction: builtins.bool + shouldSkipConfirmation: builtins.bool + statusLinkType: global___InteractiveAnnotation.StatusLinkType.ValueType + @property + def location(self) -> global___Location: ... + @property + def newsletter(self) -> global___ContextInfo.ForwardedNewsletterMessageInfo: ... + @property + def tapAction(self) -> global___TapLinkAction: ... + @property + def polygonVertices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Point]: ... + @property + def embeddedContent(self) -> global___EmbeddedContent: ... + def __init__( + self, + *, + location: global___Location | None = ..., + newsletter: global___ContextInfo.ForwardedNewsletterMessageInfo | None = ..., + embeddedAction: builtins.bool | None = ..., + tapAction: global___TapLinkAction | None = ..., + polygonVertices: collections.abc.Iterable[global___Point] | None = ..., + shouldSkipConfirmation: builtins.bool | None = ..., + embeddedContent: global___EmbeddedContent | None = ..., + statusLinkType: global___InteractiveAnnotation.StatusLinkType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["action", b"action", "embeddedAction", b"embeddedAction", "embeddedContent", b"embeddedContent", "location", b"location", "newsletter", b"newsletter", "shouldSkipConfirmation", b"shouldSkipConfirmation", "statusLinkType", b"statusLinkType", "tapAction", b"tapAction"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["action", b"action", "embeddedAction", b"embeddedAction", "embeddedContent", b"embeddedContent", "location", b"location", "newsletter", b"newsletter", "polygonVertices", b"polygonVertices", "shouldSkipConfirmation", b"shouldSkipConfirmation", "statusLinkType", b"statusLinkType", "tapAction", b"tapAction"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["action", b"action"]) -> typing.Literal["location", "newsletter", "embeddedAction", "tapAction"] | None: ... + +global___InteractiveAnnotation = InteractiveAnnotation + +@typing.final +class HydratedTemplateButton(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class HydratedURLButton(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _WebviewPresentationType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _WebviewPresentationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + FULL: HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType # 1 + TALL: HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType # 2 + COMPACT: HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType # 3 + + class WebviewPresentationType(_WebviewPresentationType, metaclass=_WebviewPresentationTypeEnumTypeWrapper): ... + FULL: HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType # 1 + TALL: HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType # 2 + COMPACT: HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType # 3 + + DISPLAYTEXT_FIELD_NUMBER: builtins.int + URL_FIELD_NUMBER: builtins.int + CONSENTEDUSERSURL_FIELD_NUMBER: builtins.int + WEBVIEWPRESENTATION_FIELD_NUMBER: builtins.int + displayText: builtins.str + URL: builtins.str + consentedUsersURL: builtins.str + webviewPresentation: global___HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType + def __init__( + self, + *, + displayText: builtins.str | None = ..., + URL: builtins.str | None = ..., + consentedUsersURL: builtins.str | None = ..., + webviewPresentation: global___HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "consentedUsersURL", b"consentedUsersURL", "displayText", b"displayText", "webviewPresentation", b"webviewPresentation"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "consentedUsersURL", b"consentedUsersURL", "displayText", b"displayText", "webviewPresentation", b"webviewPresentation"]) -> None: ... + + @typing.final + class HydratedCallButton(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYTEXT_FIELD_NUMBER: builtins.int + PHONENUMBER_FIELD_NUMBER: builtins.int + displayText: builtins.str + phoneNumber: builtins.str + def __init__( + self, + *, + displayText: builtins.str | None = ..., + phoneNumber: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["displayText", b"displayText", "phoneNumber", b"phoneNumber"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["displayText", b"displayText", "phoneNumber", b"phoneNumber"]) -> None: ... + + @typing.final + class HydratedQuickReplyButton(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYTEXT_FIELD_NUMBER: builtins.int + ID_FIELD_NUMBER: builtins.int + displayText: builtins.str + ID: builtins.str + def __init__( + self, + *, + displayText: builtins.str | None = ..., + ID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "displayText", b"displayText"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "displayText", b"displayText"]) -> None: ... + + QUICKREPLYBUTTON_FIELD_NUMBER: builtins.int + URLBUTTON_FIELD_NUMBER: builtins.int + CALLBUTTON_FIELD_NUMBER: builtins.int + INDEX_FIELD_NUMBER: builtins.int + index: builtins.int + @property + def quickReplyButton(self) -> global___HydratedTemplateButton.HydratedQuickReplyButton: ... + @property + def urlButton(self) -> global___HydratedTemplateButton.HydratedURLButton: ... + @property + def callButton(self) -> global___HydratedTemplateButton.HydratedCallButton: ... + def __init__( + self, + *, + quickReplyButton: global___HydratedTemplateButton.HydratedQuickReplyButton | None = ..., + urlButton: global___HydratedTemplateButton.HydratedURLButton | None = ..., + callButton: global___HydratedTemplateButton.HydratedCallButton | None = ..., + index: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["callButton", b"callButton", "hydratedButton", b"hydratedButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["callButton", b"callButton", "hydratedButton", b"hydratedButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["hydratedButton", b"hydratedButton"]) -> typing.Literal["quickReplyButton", "urlButton", "callButton"] | None: ... + +global___HydratedTemplateButton = HydratedTemplateButton + +@typing.final +class PaymentBackground(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentBackground._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: PaymentBackground._Type.ValueType # 0 + DEFAULT: PaymentBackground._Type.ValueType # 1 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + UNKNOWN: PaymentBackground.Type.ValueType # 0 + DEFAULT: PaymentBackground.Type.ValueType # 1 + + @typing.final + class MediaData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIAKEY_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + mediaKey: builtins.bytes + mediaKeyTimestamp: builtins.int + fileSHA256: builtins.bytes + fileEncSHA256: builtins.bytes + directPath: builtins.str + def __init__( + self, + *, + mediaKey: builtins.bytes | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + fileSHA256: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp"]) -> None: ... + + ID_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + PLACEHOLDERARGB_FIELD_NUMBER: builtins.int + TEXTARGB_FIELD_NUMBER: builtins.int + SUBTEXTARGB_FIELD_NUMBER: builtins.int + MEDIADATA_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + ID: builtins.str + fileLength: builtins.int + width: builtins.int + height: builtins.int + mimetype: builtins.str + placeholderArgb: builtins.int + textArgb: builtins.int + subtextArgb: builtins.int + type: global___PaymentBackground.Type.ValueType + @property + def mediaData(self) -> global___PaymentBackground.MediaData: ... + def __init__( + self, + *, + ID: builtins.str | None = ..., + fileLength: builtins.int | None = ..., + width: builtins.int | None = ..., + height: builtins.int | None = ..., + mimetype: builtins.str | None = ..., + placeholderArgb: builtins.int | None = ..., + textArgb: builtins.int | None = ..., + subtextArgb: builtins.int | None = ..., + mediaData: global___PaymentBackground.MediaData | None = ..., + type: global___PaymentBackground.Type.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "fileLength", b"fileLength", "height", b"height", "mediaData", b"mediaData", "mimetype", b"mimetype", "placeholderArgb", b"placeholderArgb", "subtextArgb", b"subtextArgb", "textArgb", b"textArgb", "type", b"type", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "fileLength", b"fileLength", "height", b"height", "mediaData", b"mediaData", "mimetype", b"mimetype", "placeholderArgb", b"placeholderArgb", "subtextArgb", b"subtextArgb", "textArgb", b"textArgb", "type", b"type", "width", b"width"]) -> None: ... + +global___PaymentBackground = PaymentBackground + +@typing.final +class DisappearingMode(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Trigger: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TriggerEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DisappearingMode._Trigger.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: DisappearingMode._Trigger.ValueType # 0 + CHAT_SETTING: DisappearingMode._Trigger.ValueType # 1 + ACCOUNT_SETTING: DisappearingMode._Trigger.ValueType # 2 + BULK_CHANGE: DisappearingMode._Trigger.ValueType # 3 + BIZ_SUPPORTS_FB_HOSTING: DisappearingMode._Trigger.ValueType # 4 + UNKNOWN_GROUPS: DisappearingMode._Trigger.ValueType # 5 + + class Trigger(_Trigger, metaclass=_TriggerEnumTypeWrapper): ... + UNKNOWN: DisappearingMode.Trigger.ValueType # 0 + CHAT_SETTING: DisappearingMode.Trigger.ValueType # 1 + ACCOUNT_SETTING: DisappearingMode.Trigger.ValueType # 2 + BULK_CHANGE: DisappearingMode.Trigger.ValueType # 3 + BIZ_SUPPORTS_FB_HOSTING: DisappearingMode.Trigger.ValueType # 4 + UNKNOWN_GROUPS: DisappearingMode.Trigger.ValueType # 5 + + class _Initiator: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _InitiatorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DisappearingMode._Initiator.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CHANGED_IN_CHAT: DisappearingMode._Initiator.ValueType # 0 + INITIATED_BY_ME: DisappearingMode._Initiator.ValueType # 1 + INITIATED_BY_OTHER: DisappearingMode._Initiator.ValueType # 2 + BIZ_UPGRADE_FB_HOSTING: DisappearingMode._Initiator.ValueType # 3 + + class Initiator(_Initiator, metaclass=_InitiatorEnumTypeWrapper): ... + CHANGED_IN_CHAT: DisappearingMode.Initiator.ValueType # 0 + INITIATED_BY_ME: DisappearingMode.Initiator.ValueType # 1 + INITIATED_BY_OTHER: DisappearingMode.Initiator.ValueType # 2 + BIZ_UPGRADE_FB_HOSTING: DisappearingMode.Initiator.ValueType # 3 + + INITIATOR_FIELD_NUMBER: builtins.int + TRIGGER_FIELD_NUMBER: builtins.int + INITIATORDEVICEJID_FIELD_NUMBER: builtins.int + INITIATEDBYME_FIELD_NUMBER: builtins.int + initiator: global___DisappearingMode.Initiator.ValueType + trigger: global___DisappearingMode.Trigger.ValueType + initiatorDeviceJID: builtins.str + initiatedByMe: builtins.bool + def __init__( + self, + *, + initiator: global___DisappearingMode.Initiator.ValueType | None = ..., + trigger: global___DisappearingMode.Trigger.ValueType | None = ..., + initiatorDeviceJID: builtins.str | None = ..., + initiatedByMe: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["initiatedByMe", b"initiatedByMe", "initiator", b"initiator", "initiatorDeviceJID", b"initiatorDeviceJID", "trigger", b"trigger"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["initiatedByMe", b"initiatedByMe", "initiator", b"initiator", "initiatorDeviceJID", b"initiatorDeviceJID", "trigger", b"trigger"]) -> None: ... + +global___DisappearingMode = DisappearingMode + +@typing.final +class ProcessedVideo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _VideoQuality: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _VideoQualityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ProcessedVideo._VideoQuality.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNDEFINED: ProcessedVideo._VideoQuality.ValueType # 0 + LOW: ProcessedVideo._VideoQuality.ValueType # 1 + MID: ProcessedVideo._VideoQuality.ValueType # 2 + HIGH: ProcessedVideo._VideoQuality.ValueType # 3 + + class VideoQuality(_VideoQuality, metaclass=_VideoQualityEnumTypeWrapper): ... + UNDEFINED: ProcessedVideo.VideoQuality.ValueType # 0 + LOW: ProcessedVideo.VideoQuality.ValueType # 1 + MID: ProcessedVideo.VideoQuality.ValueType # 2 + HIGH: ProcessedVideo.VideoQuality.ValueType # 3 + + DIRECTPATH_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + BITRATE_FIELD_NUMBER: builtins.int + QUALITY_FIELD_NUMBER: builtins.int + CAPABILITIES_FIELD_NUMBER: builtins.int + directPath: builtins.str + fileSHA256: builtins.bytes + height: builtins.int + width: builtins.int + fileLength: builtins.int + bitrate: builtins.int + quality: global___ProcessedVideo.VideoQuality.ValueType + @property + def capabilities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + directPath: builtins.str | None = ..., + fileSHA256: builtins.bytes | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + fileLength: builtins.int | None = ..., + bitrate: builtins.int | None = ..., + quality: global___ProcessedVideo.VideoQuality.ValueType | None = ..., + capabilities: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["bitrate", b"bitrate", "directPath", b"directPath", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "height", b"height", "quality", b"quality", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["bitrate", b"bitrate", "capabilities", b"capabilities", "directPath", b"directPath", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "height", b"height", "quality", b"quality", "width", b"width"]) -> None: ... + +global___ProcessedVideo = ProcessedVideo + +@typing.final +class Message(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONVERSATION_FIELD_NUMBER: builtins.int + SENDERKEYDISTRIBUTIONMESSAGE_FIELD_NUMBER: builtins.int + IMAGEMESSAGE_FIELD_NUMBER: builtins.int + CONTACTMESSAGE_FIELD_NUMBER: builtins.int + LOCATIONMESSAGE_FIELD_NUMBER: builtins.int + EXTENDEDTEXTMESSAGE_FIELD_NUMBER: builtins.int + DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int + AUDIOMESSAGE_FIELD_NUMBER: builtins.int + VIDEOMESSAGE_FIELD_NUMBER: builtins.int + CALL_FIELD_NUMBER: builtins.int + CHAT_FIELD_NUMBER: builtins.int + PROTOCOLMESSAGE_FIELD_NUMBER: builtins.int + CONTACTSARRAYMESSAGE_FIELD_NUMBER: builtins.int + HIGHLYSTRUCTUREDMESSAGE_FIELD_NUMBER: builtins.int + FASTRATCHETKEYSENDERKEYDISTRIBUTIONMESSAGE_FIELD_NUMBER: builtins.int + SENDPAYMENTMESSAGE_FIELD_NUMBER: builtins.int + LIVELOCATIONMESSAGE_FIELD_NUMBER: builtins.int + REQUESTPAYMENTMESSAGE_FIELD_NUMBER: builtins.int + DECLINEPAYMENTREQUESTMESSAGE_FIELD_NUMBER: builtins.int + CANCELPAYMENTREQUESTMESSAGE_FIELD_NUMBER: builtins.int + TEMPLATEMESSAGE_FIELD_NUMBER: builtins.int + STICKERMESSAGE_FIELD_NUMBER: builtins.int + GROUPINVITEMESSAGE_FIELD_NUMBER: builtins.int + TEMPLATEBUTTONREPLYMESSAGE_FIELD_NUMBER: builtins.int + PRODUCTMESSAGE_FIELD_NUMBER: builtins.int + DEVICESENTMESSAGE_FIELD_NUMBER: builtins.int + MESSAGECONTEXTINFO_FIELD_NUMBER: builtins.int + LISTMESSAGE_FIELD_NUMBER: builtins.int + VIEWONCEMESSAGE_FIELD_NUMBER: builtins.int + ORDERMESSAGE_FIELD_NUMBER: builtins.int + LISTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int + EPHEMERALMESSAGE_FIELD_NUMBER: builtins.int + INVOICEMESSAGE_FIELD_NUMBER: builtins.int + BUTTONSMESSAGE_FIELD_NUMBER: builtins.int + BUTTONSRESPONSEMESSAGE_FIELD_NUMBER: builtins.int + PAYMENTINVITEMESSAGE_FIELD_NUMBER: builtins.int + INTERACTIVEMESSAGE_FIELD_NUMBER: builtins.int + REACTIONMESSAGE_FIELD_NUMBER: builtins.int + STICKERSYNCRMRMESSAGE_FIELD_NUMBER: builtins.int + INTERACTIVERESPONSEMESSAGE_FIELD_NUMBER: builtins.int + POLLCREATIONMESSAGE_FIELD_NUMBER: builtins.int + POLLUPDATEMESSAGE_FIELD_NUMBER: builtins.int + KEEPINCHATMESSAGE_FIELD_NUMBER: builtins.int + DOCUMENTWITHCAPTIONMESSAGE_FIELD_NUMBER: builtins.int + REQUESTPHONENUMBERMESSAGE_FIELD_NUMBER: builtins.int + VIEWONCEMESSAGEV2_FIELD_NUMBER: builtins.int + ENCREACTIONMESSAGE_FIELD_NUMBER: builtins.int + EDITEDMESSAGE_FIELD_NUMBER: builtins.int + VIEWONCEMESSAGEV2EXTENSION_FIELD_NUMBER: builtins.int + POLLCREATIONMESSAGEV2_FIELD_NUMBER: builtins.int + SCHEDULEDCALLCREATIONMESSAGE_FIELD_NUMBER: builtins.int + GROUPMENTIONEDMESSAGE_FIELD_NUMBER: builtins.int + PININCHATMESSAGE_FIELD_NUMBER: builtins.int + POLLCREATIONMESSAGEV3_FIELD_NUMBER: builtins.int + SCHEDULEDCALLEDITMESSAGE_FIELD_NUMBER: builtins.int + PTVMESSAGE_FIELD_NUMBER: builtins.int + BOTINVOKEMESSAGE_FIELD_NUMBER: builtins.int + CALLLOGMESSSAGE_FIELD_NUMBER: builtins.int + MESSAGEHISTORYBUNDLE_FIELD_NUMBER: builtins.int + ENCCOMMENTMESSAGE_FIELD_NUMBER: builtins.int + BCALLMESSAGE_FIELD_NUMBER: builtins.int + LOTTIESTICKERMESSAGE_FIELD_NUMBER: builtins.int + EVENTMESSAGE_FIELD_NUMBER: builtins.int + ENCEVENTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int + COMMENTMESSAGE_FIELD_NUMBER: builtins.int + NEWSLETTERADMININVITEMESSAGE_FIELD_NUMBER: builtins.int + PLACEHOLDERMESSAGE_FIELD_NUMBER: builtins.int + SECRETENCRYPTEDMESSAGE_FIELD_NUMBER: builtins.int + ALBUMMESSAGE_FIELD_NUMBER: builtins.int + EVENTCOVERIMAGE_FIELD_NUMBER: builtins.int + STICKERPACKMESSAGE_FIELD_NUMBER: builtins.int + STATUSMENTIONMESSAGE_FIELD_NUMBER: builtins.int + POLLRESULTSNAPSHOTMESSAGE_FIELD_NUMBER: builtins.int + POLLCREATIONOPTIONIMAGEMESSAGE_FIELD_NUMBER: builtins.int + ASSOCIATEDCHILDMESSAGE_FIELD_NUMBER: builtins.int + GROUPSTATUSMENTIONMESSAGE_FIELD_NUMBER: builtins.int + POLLCREATIONMESSAGEV4_FIELD_NUMBER: builtins.int + STATUSADDYOURS_FIELD_NUMBER: builtins.int + GROUPSTATUSMESSAGE_FIELD_NUMBER: builtins.int + RICHRESPONSEMESSAGE_FIELD_NUMBER: builtins.int + STATUSNOTIFICATIONMESSAGE_FIELD_NUMBER: builtins.int + LIMITSHARINGMESSAGE_FIELD_NUMBER: builtins.int + BOTTASKMESSAGE_FIELD_NUMBER: builtins.int + QUESTIONMESSAGE_FIELD_NUMBER: builtins.int + MESSAGEHISTORYNOTICE_FIELD_NUMBER: builtins.int + GROUPSTATUSMESSAGEV2_FIELD_NUMBER: builtins.int + BOTFORWARDEDMESSAGE_FIELD_NUMBER: builtins.int + STATUSQUESTIONANSWERMESSAGE_FIELD_NUMBER: builtins.int + QUESTIONREPLYMESSAGE_FIELD_NUMBER: builtins.int + QUESTIONRESPONSEMESSAGE_FIELD_NUMBER: builtins.int + STATUSQUOTEDMESSAGE_FIELD_NUMBER: builtins.int + STATUSSTICKERINTERACTIONMESSAGE_FIELD_NUMBER: builtins.int + POLLCREATIONMESSAGEV5_FIELD_NUMBER: builtins.int + POLLRESULTSNAPSHOTMESSAGEV2_FIELD_NUMBER: builtins.int + NEWSLETTERFOLLOWERINVITEMESSAGEV2_FIELD_NUMBER: builtins.int + REQUESTCONTACTINFOMESSAGE_FIELD_NUMBER: builtins.int + conversation: builtins.str + @property + def senderKeyDistributionMessage(self) -> global___SenderKeyDistributionMessage: ... + @property + def imageMessage(self) -> global___ImageMessage: ... + @property + def contactMessage(self) -> global___ContactMessage: ... + @property + def locationMessage(self) -> global___LocationMessage: ... + @property + def extendedTextMessage(self) -> global___ExtendedTextMessage: ... + @property + def documentMessage(self) -> global___DocumentMessage: ... + @property + def audioMessage(self) -> global___AudioMessage: ... + @property + def videoMessage(self) -> global___VideoMessage: ... + @property + def call(self) -> global___Call: ... + @property + def chat(self) -> global___Chat: ... + @property + def protocolMessage(self) -> global___ProtocolMessage: ... + @property + def contactsArrayMessage(self) -> global___ContactsArrayMessage: ... + @property + def highlyStructuredMessage(self) -> global___HighlyStructuredMessage: ... + @property + def fastRatchetKeySenderKeyDistributionMessage(self) -> global___SenderKeyDistributionMessage: ... + @property + def sendPaymentMessage(self) -> global___SendPaymentMessage: ... + @property + def liveLocationMessage(self) -> global___LiveLocationMessage: ... + @property + def requestPaymentMessage(self) -> global___RequestPaymentMessage: ... + @property + def declinePaymentRequestMessage(self) -> global___DeclinePaymentRequestMessage: ... + @property + def cancelPaymentRequestMessage(self) -> global___CancelPaymentRequestMessage: ... + @property + def templateMessage(self) -> global___TemplateMessage: ... + @property + def stickerMessage(self) -> global___StickerMessage: ... + @property + def groupInviteMessage(self) -> global___GroupInviteMessage: ... + @property + def templateButtonReplyMessage(self) -> global___TemplateButtonReplyMessage: ... + @property + def productMessage(self) -> global___ProductMessage: ... + @property + def deviceSentMessage(self) -> global___DeviceSentMessage: ... + @property + def messageContextInfo(self) -> global___MessageContextInfo: ... + @property + def listMessage(self) -> global___ListMessage: ... + @property + def viewOnceMessage(self) -> global___FutureProofMessage: ... + @property + def orderMessage(self) -> global___OrderMessage: ... + @property + def listResponseMessage(self) -> global___ListResponseMessage: ... + @property + def ephemeralMessage(self) -> global___FutureProofMessage: ... + @property + def invoiceMessage(self) -> global___InvoiceMessage: ... + @property + def buttonsMessage(self) -> global___ButtonsMessage: ... + @property + def buttonsResponseMessage(self) -> global___ButtonsResponseMessage: ... + @property + def paymentInviteMessage(self) -> global___PaymentInviteMessage: ... + @property + def interactiveMessage(self) -> global___InteractiveMessage: ... + @property + def reactionMessage(self) -> global___ReactionMessage: ... + @property + def stickerSyncRmrMessage(self) -> global___StickerSyncRMRMessage: ... + @property + def interactiveResponseMessage(self) -> global___InteractiveResponseMessage: ... + @property + def pollCreationMessage(self) -> global___PollCreationMessage: ... + @property + def pollUpdateMessage(self) -> global___PollUpdateMessage: ... + @property + def keepInChatMessage(self) -> global___KeepInChatMessage: ... + @property + def documentWithCaptionMessage(self) -> global___FutureProofMessage: ... + @property + def requestPhoneNumberMessage(self) -> global___RequestPhoneNumberMessage: ... + @property + def viewOnceMessageV2(self) -> global___FutureProofMessage: ... + @property + def encReactionMessage(self) -> global___EncReactionMessage: ... + @property + def editedMessage(self) -> global___FutureProofMessage: ... + @property + def viewOnceMessageV2Extension(self) -> global___FutureProofMessage: ... + @property + def pollCreationMessageV2(self) -> global___PollCreationMessage: ... + @property + def scheduledCallCreationMessage(self) -> global___ScheduledCallCreationMessage: ... + @property + def groupMentionedMessage(self) -> global___FutureProofMessage: ... + @property + def pinInChatMessage(self) -> global___PinInChatMessage: ... + @property + def pollCreationMessageV3(self) -> global___PollCreationMessage: ... + @property + def scheduledCallEditMessage(self) -> global___ScheduledCallEditMessage: ... + @property + def ptvMessage(self) -> global___VideoMessage: ... + @property + def botInvokeMessage(self) -> global___FutureProofMessage: ... + @property + def callLogMesssage(self) -> global___CallLogMessage: ... + @property + def messageHistoryBundle(self) -> global___MessageHistoryBundle: ... + @property + def encCommentMessage(self) -> global___EncCommentMessage: ... + @property + def bcallMessage(self) -> global___BCallMessage: ... + @property + def lottieStickerMessage(self) -> global___FutureProofMessage: ... + @property + def eventMessage(self) -> global___EventMessage: ... + @property + def encEventResponseMessage(self) -> global___EncEventResponseMessage: ... + @property + def commentMessage(self) -> global___CommentMessage: ... + @property + def newsletterAdminInviteMessage(self) -> global___NewsletterAdminInviteMessage: ... + @property + def placeholderMessage(self) -> global___PlaceholderMessage: ... + @property + def secretEncryptedMessage(self) -> global___SecretEncryptedMessage: ... + @property + def albumMessage(self) -> global___AlbumMessage: ... + @property + def eventCoverImage(self) -> global___FutureProofMessage: ... + @property + def stickerPackMessage(self) -> global___StickerPackMessage: ... + @property + def statusMentionMessage(self) -> global___FutureProofMessage: ... + @property + def pollResultSnapshotMessage(self) -> global___PollResultSnapshotMessage: ... + @property + def pollCreationOptionImageMessage(self) -> global___FutureProofMessage: ... + @property + def associatedChildMessage(self) -> global___FutureProofMessage: ... + @property + def groupStatusMentionMessage(self) -> global___FutureProofMessage: ... + @property + def pollCreationMessageV4(self) -> global___FutureProofMessage: ... + @property + def statusAddYours(self) -> global___FutureProofMessage: ... + @property + def groupStatusMessage(self) -> global___FutureProofMessage: ... + @property + def richResponseMessage(self) -> global___AIRichResponseMessage: ... + @property + def statusNotificationMessage(self) -> global___StatusNotificationMessage: ... + @property + def limitSharingMessage(self) -> global___FutureProofMessage: ... + @property + def botTaskMessage(self) -> global___FutureProofMessage: ... + @property + def questionMessage(self) -> global___FutureProofMessage: ... + @property + def messageHistoryNotice(self) -> global___MessageHistoryNotice: ... + @property + def groupStatusMessageV2(self) -> global___FutureProofMessage: ... + @property + def botForwardedMessage(self) -> global___FutureProofMessage: ... + @property + def statusQuestionAnswerMessage(self) -> global___StatusQuestionAnswerMessage: ... + @property + def questionReplyMessage(self) -> global___FutureProofMessage: ... + @property + def questionResponseMessage(self) -> global___QuestionResponseMessage: ... + @property + def statusQuotedMessage(self) -> global___StatusQuotedMessage: ... + @property + def statusStickerInteractionMessage(self) -> global___StatusStickerInteractionMessage: ... + @property + def pollCreationMessageV5(self) -> global___PollCreationMessage: ... + @property + def pollResultSnapshotMessageV2(self) -> global___PollResultSnapshotMessage: ... + @property + def newsletterFollowerInviteMessageV2(self) -> global___NewsletterFollowerInviteMessage: ... + @property + def requestContactInfoMessage(self) -> global___RequestContactInfoMessage: ... + def __init__( + self, + *, + conversation: builtins.str | None = ..., + senderKeyDistributionMessage: global___SenderKeyDistributionMessage | None = ..., + imageMessage: global___ImageMessage | None = ..., + contactMessage: global___ContactMessage | None = ..., + locationMessage: global___LocationMessage | None = ..., + extendedTextMessage: global___ExtendedTextMessage | None = ..., + documentMessage: global___DocumentMessage | None = ..., + audioMessage: global___AudioMessage | None = ..., + videoMessage: global___VideoMessage | None = ..., + call: global___Call | None = ..., + chat: global___Chat | None = ..., + protocolMessage: global___ProtocolMessage | None = ..., + contactsArrayMessage: global___ContactsArrayMessage | None = ..., + highlyStructuredMessage: global___HighlyStructuredMessage | None = ..., + fastRatchetKeySenderKeyDistributionMessage: global___SenderKeyDistributionMessage | None = ..., + sendPaymentMessage: global___SendPaymentMessage | None = ..., + liveLocationMessage: global___LiveLocationMessage | None = ..., + requestPaymentMessage: global___RequestPaymentMessage | None = ..., + declinePaymentRequestMessage: global___DeclinePaymentRequestMessage | None = ..., + cancelPaymentRequestMessage: global___CancelPaymentRequestMessage | None = ..., + templateMessage: global___TemplateMessage | None = ..., + stickerMessage: global___StickerMessage | None = ..., + groupInviteMessage: global___GroupInviteMessage | None = ..., + templateButtonReplyMessage: global___TemplateButtonReplyMessage | None = ..., + productMessage: global___ProductMessage | None = ..., + deviceSentMessage: global___DeviceSentMessage | None = ..., + messageContextInfo: global___MessageContextInfo | None = ..., + listMessage: global___ListMessage | None = ..., + viewOnceMessage: global___FutureProofMessage | None = ..., + orderMessage: global___OrderMessage | None = ..., + listResponseMessage: global___ListResponseMessage | None = ..., + ephemeralMessage: global___FutureProofMessage | None = ..., + invoiceMessage: global___InvoiceMessage | None = ..., + buttonsMessage: global___ButtonsMessage | None = ..., + buttonsResponseMessage: global___ButtonsResponseMessage | None = ..., + paymentInviteMessage: global___PaymentInviteMessage | None = ..., + interactiveMessage: global___InteractiveMessage | None = ..., + reactionMessage: global___ReactionMessage | None = ..., + stickerSyncRmrMessage: global___StickerSyncRMRMessage | None = ..., + interactiveResponseMessage: global___InteractiveResponseMessage | None = ..., + pollCreationMessage: global___PollCreationMessage | None = ..., + pollUpdateMessage: global___PollUpdateMessage | None = ..., + keepInChatMessage: global___KeepInChatMessage | None = ..., + documentWithCaptionMessage: global___FutureProofMessage | None = ..., + requestPhoneNumberMessage: global___RequestPhoneNumberMessage | None = ..., + viewOnceMessageV2: global___FutureProofMessage | None = ..., + encReactionMessage: global___EncReactionMessage | None = ..., + editedMessage: global___FutureProofMessage | None = ..., + viewOnceMessageV2Extension: global___FutureProofMessage | None = ..., + pollCreationMessageV2: global___PollCreationMessage | None = ..., + scheduledCallCreationMessage: global___ScheduledCallCreationMessage | None = ..., + groupMentionedMessage: global___FutureProofMessage | None = ..., + pinInChatMessage: global___PinInChatMessage | None = ..., + pollCreationMessageV3: global___PollCreationMessage | None = ..., + scheduledCallEditMessage: global___ScheduledCallEditMessage | None = ..., + ptvMessage: global___VideoMessage | None = ..., + botInvokeMessage: global___FutureProofMessage | None = ..., + callLogMesssage: global___CallLogMessage | None = ..., + messageHistoryBundle: global___MessageHistoryBundle | None = ..., + encCommentMessage: global___EncCommentMessage | None = ..., + bcallMessage: global___BCallMessage | None = ..., + lottieStickerMessage: global___FutureProofMessage | None = ..., + eventMessage: global___EventMessage | None = ..., + encEventResponseMessage: global___EncEventResponseMessage | None = ..., + commentMessage: global___CommentMessage | None = ..., + newsletterAdminInviteMessage: global___NewsletterAdminInviteMessage | None = ..., + placeholderMessage: global___PlaceholderMessage | None = ..., + secretEncryptedMessage: global___SecretEncryptedMessage | None = ..., + albumMessage: global___AlbumMessage | None = ..., + eventCoverImage: global___FutureProofMessage | None = ..., + stickerPackMessage: global___StickerPackMessage | None = ..., + statusMentionMessage: global___FutureProofMessage | None = ..., + pollResultSnapshotMessage: global___PollResultSnapshotMessage | None = ..., + pollCreationOptionImageMessage: global___FutureProofMessage | None = ..., + associatedChildMessage: global___FutureProofMessage | None = ..., + groupStatusMentionMessage: global___FutureProofMessage | None = ..., + pollCreationMessageV4: global___FutureProofMessage | None = ..., + statusAddYours: global___FutureProofMessage | None = ..., + groupStatusMessage: global___FutureProofMessage | None = ..., + richResponseMessage: global___AIRichResponseMessage | None = ..., + statusNotificationMessage: global___StatusNotificationMessage | None = ..., + limitSharingMessage: global___FutureProofMessage | None = ..., + botTaskMessage: global___FutureProofMessage | None = ..., + questionMessage: global___FutureProofMessage | None = ..., + messageHistoryNotice: global___MessageHistoryNotice | None = ..., + groupStatusMessageV2: global___FutureProofMessage | None = ..., + botForwardedMessage: global___FutureProofMessage | None = ..., + statusQuestionAnswerMessage: global___StatusQuestionAnswerMessage | None = ..., + questionReplyMessage: global___FutureProofMessage | None = ..., + questionResponseMessage: global___QuestionResponseMessage | None = ..., + statusQuotedMessage: global___StatusQuotedMessage | None = ..., + statusStickerInteractionMessage: global___StatusStickerInteractionMessage | None = ..., + pollCreationMessageV5: global___PollCreationMessage | None = ..., + pollResultSnapshotMessageV2: global___PollResultSnapshotMessage | None = ..., + newsletterFollowerInviteMessageV2: global___NewsletterFollowerInviteMessage | None = ..., + requestContactInfoMessage: global___RequestContactInfoMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["albumMessage", b"albumMessage", "associatedChildMessage", b"associatedChildMessage", "audioMessage", b"audioMessage", "bcallMessage", b"bcallMessage", "botForwardedMessage", b"botForwardedMessage", "botInvokeMessage", b"botInvokeMessage", "botTaskMessage", b"botTaskMessage", "buttonsMessage", b"buttonsMessage", "buttonsResponseMessage", b"buttonsResponseMessage", "call", b"call", "callLogMesssage", b"callLogMesssage", "cancelPaymentRequestMessage", b"cancelPaymentRequestMessage", "chat", b"chat", "commentMessage", b"commentMessage", "contactMessage", b"contactMessage", "contactsArrayMessage", b"contactsArrayMessage", "conversation", b"conversation", "declinePaymentRequestMessage", b"declinePaymentRequestMessage", "deviceSentMessage", b"deviceSentMessage", "documentMessage", b"documentMessage", "documentWithCaptionMessage", b"documentWithCaptionMessage", "editedMessage", b"editedMessage", "encCommentMessage", b"encCommentMessage", "encEventResponseMessage", b"encEventResponseMessage", "encReactionMessage", b"encReactionMessage", "ephemeralMessage", b"ephemeralMessage", "eventCoverImage", b"eventCoverImage", "eventMessage", b"eventMessage", "extendedTextMessage", b"extendedTextMessage", "fastRatchetKeySenderKeyDistributionMessage", b"fastRatchetKeySenderKeyDistributionMessage", "groupInviteMessage", b"groupInviteMessage", "groupMentionedMessage", b"groupMentionedMessage", "groupStatusMentionMessage", b"groupStatusMentionMessage", "groupStatusMessage", b"groupStatusMessage", "groupStatusMessageV2", b"groupStatusMessageV2", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "interactiveMessage", b"interactiveMessage", "interactiveResponseMessage", b"interactiveResponseMessage", "invoiceMessage", b"invoiceMessage", "keepInChatMessage", b"keepInChatMessage", "limitSharingMessage", b"limitSharingMessage", "listMessage", b"listMessage", "listResponseMessage", b"listResponseMessage", "liveLocationMessage", b"liveLocationMessage", "locationMessage", b"locationMessage", "lottieStickerMessage", b"lottieStickerMessage", "messageContextInfo", b"messageContextInfo", "messageHistoryBundle", b"messageHistoryBundle", "messageHistoryNotice", b"messageHistoryNotice", "newsletterAdminInviteMessage", b"newsletterAdminInviteMessage", "newsletterFollowerInviteMessageV2", b"newsletterFollowerInviteMessageV2", "orderMessage", b"orderMessage", "paymentInviteMessage", b"paymentInviteMessage", "pinInChatMessage", b"pinInChatMessage", "placeholderMessage", b"placeholderMessage", "pollCreationMessage", b"pollCreationMessage", "pollCreationMessageV2", b"pollCreationMessageV2", "pollCreationMessageV3", b"pollCreationMessageV3", "pollCreationMessageV4", b"pollCreationMessageV4", "pollCreationMessageV5", b"pollCreationMessageV5", "pollCreationOptionImageMessage", b"pollCreationOptionImageMessage", "pollResultSnapshotMessage", b"pollResultSnapshotMessage", "pollResultSnapshotMessageV2", b"pollResultSnapshotMessageV2", "pollUpdateMessage", b"pollUpdateMessage", "productMessage", b"productMessage", "protocolMessage", b"protocolMessage", "ptvMessage", b"ptvMessage", "questionMessage", b"questionMessage", "questionReplyMessage", b"questionReplyMessage", "questionResponseMessage", b"questionResponseMessage", "reactionMessage", b"reactionMessage", "requestContactInfoMessage", b"requestContactInfoMessage", "requestPaymentMessage", b"requestPaymentMessage", "requestPhoneNumberMessage", b"requestPhoneNumberMessage", "richResponseMessage", b"richResponseMessage", "scheduledCallCreationMessage", b"scheduledCallCreationMessage", "scheduledCallEditMessage", b"scheduledCallEditMessage", "secretEncryptedMessage", b"secretEncryptedMessage", "sendPaymentMessage", b"sendPaymentMessage", "senderKeyDistributionMessage", b"senderKeyDistributionMessage", "statusAddYours", b"statusAddYours", "statusMentionMessage", b"statusMentionMessage", "statusNotificationMessage", b"statusNotificationMessage", "statusQuestionAnswerMessage", b"statusQuestionAnswerMessage", "statusQuotedMessage", b"statusQuotedMessage", "statusStickerInteractionMessage", b"statusStickerInteractionMessage", "stickerMessage", b"stickerMessage", "stickerPackMessage", b"stickerPackMessage", "stickerSyncRmrMessage", b"stickerSyncRmrMessage", "templateButtonReplyMessage", b"templateButtonReplyMessage", "templateMessage", b"templateMessage", "videoMessage", b"videoMessage", "viewOnceMessage", b"viewOnceMessage", "viewOnceMessageV2", b"viewOnceMessageV2", "viewOnceMessageV2Extension", b"viewOnceMessageV2Extension"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["albumMessage", b"albumMessage", "associatedChildMessage", b"associatedChildMessage", "audioMessage", b"audioMessage", "bcallMessage", b"bcallMessage", "botForwardedMessage", b"botForwardedMessage", "botInvokeMessage", b"botInvokeMessage", "botTaskMessage", b"botTaskMessage", "buttonsMessage", b"buttonsMessage", "buttonsResponseMessage", b"buttonsResponseMessage", "call", b"call", "callLogMesssage", b"callLogMesssage", "cancelPaymentRequestMessage", b"cancelPaymentRequestMessage", "chat", b"chat", "commentMessage", b"commentMessage", "contactMessage", b"contactMessage", "contactsArrayMessage", b"contactsArrayMessage", "conversation", b"conversation", "declinePaymentRequestMessage", b"declinePaymentRequestMessage", "deviceSentMessage", b"deviceSentMessage", "documentMessage", b"documentMessage", "documentWithCaptionMessage", b"documentWithCaptionMessage", "editedMessage", b"editedMessage", "encCommentMessage", b"encCommentMessage", "encEventResponseMessage", b"encEventResponseMessage", "encReactionMessage", b"encReactionMessage", "ephemeralMessage", b"ephemeralMessage", "eventCoverImage", b"eventCoverImage", "eventMessage", b"eventMessage", "extendedTextMessage", b"extendedTextMessage", "fastRatchetKeySenderKeyDistributionMessage", b"fastRatchetKeySenderKeyDistributionMessage", "groupInviteMessage", b"groupInviteMessage", "groupMentionedMessage", b"groupMentionedMessage", "groupStatusMentionMessage", b"groupStatusMentionMessage", "groupStatusMessage", b"groupStatusMessage", "groupStatusMessageV2", b"groupStatusMessageV2", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "interactiveMessage", b"interactiveMessage", "interactiveResponseMessage", b"interactiveResponseMessage", "invoiceMessage", b"invoiceMessage", "keepInChatMessage", b"keepInChatMessage", "limitSharingMessage", b"limitSharingMessage", "listMessage", b"listMessage", "listResponseMessage", b"listResponseMessage", "liveLocationMessage", b"liveLocationMessage", "locationMessage", b"locationMessage", "lottieStickerMessage", b"lottieStickerMessage", "messageContextInfo", b"messageContextInfo", "messageHistoryBundle", b"messageHistoryBundle", "messageHistoryNotice", b"messageHistoryNotice", "newsletterAdminInviteMessage", b"newsletterAdminInviteMessage", "newsletterFollowerInviteMessageV2", b"newsletterFollowerInviteMessageV2", "orderMessage", b"orderMessage", "paymentInviteMessage", b"paymentInviteMessage", "pinInChatMessage", b"pinInChatMessage", "placeholderMessage", b"placeholderMessage", "pollCreationMessage", b"pollCreationMessage", "pollCreationMessageV2", b"pollCreationMessageV2", "pollCreationMessageV3", b"pollCreationMessageV3", "pollCreationMessageV4", b"pollCreationMessageV4", "pollCreationMessageV5", b"pollCreationMessageV5", "pollCreationOptionImageMessage", b"pollCreationOptionImageMessage", "pollResultSnapshotMessage", b"pollResultSnapshotMessage", "pollResultSnapshotMessageV2", b"pollResultSnapshotMessageV2", "pollUpdateMessage", b"pollUpdateMessage", "productMessage", b"productMessage", "protocolMessage", b"protocolMessage", "ptvMessage", b"ptvMessage", "questionMessage", b"questionMessage", "questionReplyMessage", b"questionReplyMessage", "questionResponseMessage", b"questionResponseMessage", "reactionMessage", b"reactionMessage", "requestContactInfoMessage", b"requestContactInfoMessage", "requestPaymentMessage", b"requestPaymentMessage", "requestPhoneNumberMessage", b"requestPhoneNumberMessage", "richResponseMessage", b"richResponseMessage", "scheduledCallCreationMessage", b"scheduledCallCreationMessage", "scheduledCallEditMessage", b"scheduledCallEditMessage", "secretEncryptedMessage", b"secretEncryptedMessage", "sendPaymentMessage", b"sendPaymentMessage", "senderKeyDistributionMessage", b"senderKeyDistributionMessage", "statusAddYours", b"statusAddYours", "statusMentionMessage", b"statusMentionMessage", "statusNotificationMessage", b"statusNotificationMessage", "statusQuestionAnswerMessage", b"statusQuestionAnswerMessage", "statusQuotedMessage", b"statusQuotedMessage", "statusStickerInteractionMessage", b"statusStickerInteractionMessage", "stickerMessage", b"stickerMessage", "stickerPackMessage", b"stickerPackMessage", "stickerSyncRmrMessage", b"stickerSyncRmrMessage", "templateButtonReplyMessage", b"templateButtonReplyMessage", "templateMessage", b"templateMessage", "videoMessage", b"videoMessage", "viewOnceMessage", b"viewOnceMessage", "viewOnceMessageV2", b"viewOnceMessageV2", "viewOnceMessageV2Extension", b"viewOnceMessageV2Extension"]) -> None: ... + +global___Message = Message + +@typing.final +class AlbumMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EXPECTEDIMAGECOUNT_FIELD_NUMBER: builtins.int + EXPECTEDVIDEOCOUNT_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + expectedImageCount: builtins.int + expectedVideoCount: builtins.int + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + expectedImageCount: builtins.int | None = ..., + expectedVideoCount: builtins.int | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "expectedImageCount", b"expectedImageCount", "expectedVideoCount", b"expectedVideoCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "expectedImageCount", b"expectedImageCount", "expectedVideoCount", b"expectedVideoCount"]) -> None: ... + +global___AlbumMessage = AlbumMessage + +@typing.final +class MessageHistoryMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + HISTORYRECEIVERS_FIELD_NUMBER: builtins.int + OLDESTMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int + MESSAGECOUNT_FIELD_NUMBER: builtins.int + oldestMessageTimestamp: builtins.int + messageCount: builtins.int + @property + def historyReceivers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + historyReceivers: collections.abc.Iterable[builtins.str] | None = ..., + oldestMessageTimestamp: builtins.int | None = ..., + messageCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageCount", b"messageCount", "oldestMessageTimestamp", b"oldestMessageTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["historyReceivers", b"historyReceivers", "messageCount", b"messageCount", "oldestMessageTimestamp", b"oldestMessageTimestamp"]) -> None: ... + +global___MessageHistoryMetadata = MessageHistoryMetadata + +@typing.final +class MessageHistoryNotice(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTEXTINFO_FIELD_NUMBER: builtins.int + MESSAGEHISTORYMETADATA_FIELD_NUMBER: builtins.int + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def messageHistoryMetadata(self) -> global___MessageHistoryMetadata: ... + def __init__( + self, + *, + contextInfo: global___ContextInfo | None = ..., + messageHistoryMetadata: global___MessageHistoryMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "messageHistoryMetadata", b"messageHistoryMetadata"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "messageHistoryMetadata", b"messageHistoryMetadata"]) -> None: ... + +global___MessageHistoryNotice = MessageHistoryNotice + +@typing.final +class MessageHistoryBundle(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MIMETYPE_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + MESSAGEHISTORYMETADATA_FIELD_NUMBER: builtins.int + mimetype: builtins.str + fileSHA256: builtins.bytes + mediaKey: builtins.bytes + fileEncSHA256: builtins.bytes + directPath: builtins.str + mediaKeyTimestamp: builtins.int + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def messageHistoryMetadata(self) -> global___MessageHistoryMetadata: ... + def __init__( + self, + *, + mimetype: builtins.str | None = ..., + fileSHA256: builtins.bytes | None = ..., + mediaKey: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + contextInfo: global___ContextInfo | None = ..., + messageHistoryMetadata: global___MessageHistoryMetadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "messageHistoryMetadata", b"messageHistoryMetadata", "mimetype", b"mimetype"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "messageHistoryMetadata", b"messageHistoryMetadata", "mimetype", b"mimetype"]) -> None: ... + +global___MessageHistoryBundle = MessageHistoryBundle + +@typing.final +class EncEventResponseMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EVENTCREATIONMESSAGEKEY_FIELD_NUMBER: builtins.int + ENCPAYLOAD_FIELD_NUMBER: builtins.int + ENCIV_FIELD_NUMBER: builtins.int + encPayload: builtins.bytes + encIV: builtins.bytes + @property + def eventCreationMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + eventCreationMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + encPayload: builtins.bytes | None = ..., + encIV: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "eventCreationMessageKey", b"eventCreationMessageKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "eventCreationMessageKey", b"eventCreationMessageKey"]) -> None: ... + +global___EncEventResponseMessage = EncEventResponseMessage + +@typing.final +class EventMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTEXTINFO_FIELD_NUMBER: builtins.int + ISCANCELED_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + LOCATION_FIELD_NUMBER: builtins.int + JOINLINK_FIELD_NUMBER: builtins.int + STARTTIME_FIELD_NUMBER: builtins.int + ENDTIME_FIELD_NUMBER: builtins.int + EXTRAGUESTSALLOWED_FIELD_NUMBER: builtins.int + ISSCHEDULECALL_FIELD_NUMBER: builtins.int + isCanceled: builtins.bool + name: builtins.str + description: builtins.str + joinLink: builtins.str + startTime: builtins.int + endTime: builtins.int + extraGuestsAllowed: builtins.bool + isScheduleCall: builtins.bool + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def location(self) -> global___LocationMessage: ... + def __init__( + self, + *, + contextInfo: global___ContextInfo | None = ..., + isCanceled: builtins.bool | None = ..., + name: builtins.str | None = ..., + description: builtins.str | None = ..., + location: global___LocationMessage | None = ..., + joinLink: builtins.str | None = ..., + startTime: builtins.int | None = ..., + endTime: builtins.int | None = ..., + extraGuestsAllowed: builtins.bool | None = ..., + isScheduleCall: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "description", b"description", "endTime", b"endTime", "extraGuestsAllowed", b"extraGuestsAllowed", "isCanceled", b"isCanceled", "isScheduleCall", b"isScheduleCall", "joinLink", b"joinLink", "location", b"location", "name", b"name", "startTime", b"startTime"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "description", b"description", "endTime", b"endTime", "extraGuestsAllowed", b"extraGuestsAllowed", "isCanceled", b"isCanceled", "isScheduleCall", b"isScheduleCall", "joinLink", b"joinLink", "location", b"location", "name", b"name", "startTime", b"startTime"]) -> None: ... + +global___EventMessage = EventMessage + +@typing.final +class CommentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGE_FIELD_NUMBER: builtins.int + TARGETMESSAGEKEY_FIELD_NUMBER: builtins.int + @property + def message(self) -> global___Message: ... + @property + def targetMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + message: global___Message | None = ..., + targetMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["message", b"message", "targetMessageKey", b"targetMessageKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["message", b"message", "targetMessageKey", b"targetMessageKey"]) -> None: ... + +global___CommentMessage = CommentMessage + +@typing.final +class EncCommentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TARGETMESSAGEKEY_FIELD_NUMBER: builtins.int + ENCPAYLOAD_FIELD_NUMBER: builtins.int + ENCIV_FIELD_NUMBER: builtins.int + encPayload: builtins.bytes + encIV: builtins.bytes + @property + def targetMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + targetMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + encPayload: builtins.bytes | None = ..., + encIV: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "targetMessageKey", b"targetMessageKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "targetMessageKey", b"targetMessageKey"]) -> None: ... + +global___EncCommentMessage = EncCommentMessage + +@typing.final +class EncReactionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TARGETMESSAGEKEY_FIELD_NUMBER: builtins.int + ENCPAYLOAD_FIELD_NUMBER: builtins.int + ENCIV_FIELD_NUMBER: builtins.int + encPayload: builtins.bytes + encIV: builtins.bytes + @property + def targetMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + targetMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + encPayload: builtins.bytes | None = ..., + encIV: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "targetMessageKey", b"targetMessageKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "targetMessageKey", b"targetMessageKey"]) -> None: ... + +global___EncReactionMessage = EncReactionMessage + +@typing.final +class KeepInChatMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + KEEPTYPE_FIELD_NUMBER: builtins.int + TIMESTAMPMS_FIELD_NUMBER: builtins.int + keepType: global___KeepType.ValueType + timestampMS: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + keepType: global___KeepType.ValueType | None = ..., + timestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["keepType", b"keepType", "key", b"key", "timestampMS", b"timestampMS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["keepType", b"keepType", "key", b"key", "timestampMS", b"timestampMS"]) -> None: ... + +global___KeepInChatMessage = KeepInChatMessage + +@typing.final +class QuestionResponseMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + text: builtins.str + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + text: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "text", b"text"]) -> None: ... + +global___QuestionResponseMessage = QuestionResponseMessage + +@typing.final +class StatusQuestionAnswerMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + text: builtins.str + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + text: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "text", b"text"]) -> None: ... + +global___StatusQuestionAnswerMessage = StatusQuestionAnswerMessage + +@typing.final +class PollResultSnapshotMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class PollVote(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OPTIONNAME_FIELD_NUMBER: builtins.int + OPTIONVOTECOUNT_FIELD_NUMBER: builtins.int + optionName: builtins.str + optionVoteCount: builtins.int + def __init__( + self, + *, + optionName: builtins.str | None = ..., + optionVoteCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["optionName", b"optionName", "optionVoteCount", b"optionVoteCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["optionName", b"optionName", "optionVoteCount", b"optionVoteCount"]) -> None: ... + + NAME_FIELD_NUMBER: builtins.int + POLLVOTES_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + POLLTYPE_FIELD_NUMBER: builtins.int + name: builtins.str + pollType: global___PollType.ValueType + @property + def pollVotes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PollResultSnapshotMessage.PollVote]: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + name: builtins.str | None = ..., + pollVotes: collections.abc.Iterable[global___PollResultSnapshotMessage.PollVote] | None = ..., + contextInfo: global___ContextInfo | None = ..., + pollType: global___PollType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "name", b"name", "pollType", b"pollType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "name", b"name", "pollType", b"pollType", "pollVotes", b"pollVotes"]) -> None: ... + +global___PollResultSnapshotMessage = PollResultSnapshotMessage + +@typing.final +class PollVoteMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SELECTEDOPTIONS_FIELD_NUMBER: builtins.int + @property + def selectedOptions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + def __init__( + self, + *, + selectedOptions: collections.abc.Iterable[builtins.bytes] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["selectedOptions", b"selectedOptions"]) -> None: ... + +global___PollVoteMessage = PollVoteMessage + +@typing.final +class PollEncValue(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ENCPAYLOAD_FIELD_NUMBER: builtins.int + ENCIV_FIELD_NUMBER: builtins.int + encPayload: builtins.bytes + encIV: builtins.bytes + def __init__( + self, + *, + encPayload: builtins.bytes | None = ..., + encIV: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload"]) -> None: ... + +global___PollEncValue = PollEncValue + +@typing.final +class PollUpdateMessageMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + +global___PollUpdateMessageMetadata = PollUpdateMessageMetadata + +@typing.final +class PollUpdateMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + POLLCREATIONMESSAGEKEY_FIELD_NUMBER: builtins.int + VOTE_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + senderTimestampMS: builtins.int + @property + def pollCreationMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def vote(self) -> global___PollEncValue: ... + @property + def metadata(self) -> global___PollUpdateMessageMetadata: ... + def __init__( + self, + *, + pollCreationMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + vote: global___PollEncValue | None = ..., + metadata: global___PollUpdateMessageMetadata | None = ..., + senderTimestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata", "pollCreationMessageKey", b"pollCreationMessageKey", "senderTimestampMS", b"senderTimestampMS", "vote", b"vote"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "pollCreationMessageKey", b"pollCreationMessageKey", "senderTimestampMS", b"senderTimestampMS", "vote", b"vote"]) -> None: ... + +global___PollUpdateMessage = PollUpdateMessage + +@typing.final +class PollCreationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Option(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OPTIONNAME_FIELD_NUMBER: builtins.int + OPTIONHASH_FIELD_NUMBER: builtins.int + optionName: builtins.str + optionHash: builtins.str + def __init__( + self, + *, + optionName: builtins.str | None = ..., + optionHash: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["optionHash", b"optionHash", "optionName", b"optionName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["optionHash", b"optionHash", "optionName", b"optionName"]) -> None: ... + + ENCKEY_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + OPTIONS_FIELD_NUMBER: builtins.int + SELECTABLEOPTIONSCOUNT_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + POLLCONTENTTYPE_FIELD_NUMBER: builtins.int + POLLTYPE_FIELD_NUMBER: builtins.int + CORRECTANSWER_FIELD_NUMBER: builtins.int + encKey: builtins.bytes + name: builtins.str + selectableOptionsCount: builtins.int + pollContentType: global___PollContentType.ValueType + pollType: global___PollType.ValueType + @property + def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PollCreationMessage.Option]: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def correctAnswer(self) -> global___PollCreationMessage.Option: ... + def __init__( + self, + *, + encKey: builtins.bytes | None = ..., + name: builtins.str | None = ..., + options: collections.abc.Iterable[global___PollCreationMessage.Option] | None = ..., + selectableOptionsCount: builtins.int | None = ..., + contextInfo: global___ContextInfo | None = ..., + pollContentType: global___PollContentType.ValueType | None = ..., + pollType: global___PollType.ValueType | None = ..., + correctAnswer: global___PollCreationMessage.Option | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "correctAnswer", b"correctAnswer", "encKey", b"encKey", "name", b"name", "pollContentType", b"pollContentType", "pollType", b"pollType", "selectableOptionsCount", b"selectableOptionsCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "correctAnswer", b"correctAnswer", "encKey", b"encKey", "name", b"name", "options", b"options", "pollContentType", b"pollContentType", "pollType", b"pollType", "selectableOptionsCount", b"selectableOptionsCount"]) -> None: ... + +global___PollCreationMessage = PollCreationMessage + +@typing.final +class StickerSyncRMRMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILEHASH_FIELD_NUMBER: builtins.int + RMRSOURCE_FIELD_NUMBER: builtins.int + REQUESTTIMESTAMP_FIELD_NUMBER: builtins.int + rmrSource: builtins.str + requestTimestamp: builtins.int + @property + def filehash(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + filehash: collections.abc.Iterable[builtins.str] | None = ..., + rmrSource: builtins.str | None = ..., + requestTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["requestTimestamp", b"requestTimestamp", "rmrSource", b"rmrSource"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["filehash", b"filehash", "requestTimestamp", b"requestTimestamp", "rmrSource", b"rmrSource"]) -> None: ... + +global___StickerSyncRMRMessage = StickerSyncRMRMessage + +@typing.final +class ReactionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + GROUPINGKEY_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + text: builtins.str + groupingKey: builtins.str + senderTimestampMS: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + text: builtins.str | None = ..., + groupingKey: builtins.str | None = ..., + senderTimestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["groupingKey", b"groupingKey", "key", b"key", "senderTimestampMS", b"senderTimestampMS", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["groupingKey", b"groupingKey", "key", b"key", "senderTimestampMS", b"senderTimestampMS", "text", b"text"]) -> None: ... + +global___ReactionMessage = ReactionMessage + +@typing.final +class FutureProofMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGE_FIELD_NUMBER: builtins.int + @property + def message(self) -> global___Message: ... + def __init__( + self, + *, + message: global___Message | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["message", b"message"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["message", b"message"]) -> None: ... + +global___FutureProofMessage = FutureProofMessage + +@typing.final +class DeviceSentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DESTINATIONJID_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + PHASH_FIELD_NUMBER: builtins.int + destinationJID: builtins.str + phash: builtins.str + @property + def message(self) -> global___Message: ... + def __init__( + self, + *, + destinationJID: builtins.str | None = ..., + message: global___Message | None = ..., + phash: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["destinationJID", b"destinationJID", "message", b"message", "phash", b"phash"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["destinationJID", b"destinationJID", "message", b"message", "phash", b"phash"]) -> None: ... + +global___DeviceSentMessage = DeviceSentMessage + +@typing.final +class RequestContactInfoMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TEXT_FIELD_NUMBER: builtins.int + CTABUTTONTEXT_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + text: builtins.str + ctaButtonText: builtins.str + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + text: builtins.str | None = ..., + ctaButtonText: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "ctaButtonText", b"ctaButtonText", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "ctaButtonText", b"ctaButtonText", "text", b"text"]) -> None: ... + +global___RequestContactInfoMessage = RequestContactInfoMessage + +@typing.final +class RequestPhoneNumberMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONTEXTINFO_FIELD_NUMBER: builtins.int + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo"]) -> None: ... + +global___RequestPhoneNumberMessage = RequestPhoneNumberMessage + +@typing.final +class NewsletterFollowerInviteMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NEWSLETTERJID_FIELD_NUMBER: builtins.int + NEWSLETTERNAME_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + newsletterJID: builtins.str + newsletterName: builtins.str + JPEGThumbnail: builtins.bytes + caption: builtins.str + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + newsletterJID: builtins.str | None = ..., + newsletterName: builtins.str | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + caption: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName"]) -> None: ... + +global___NewsletterFollowerInviteMessage = NewsletterFollowerInviteMessage + +@typing.final +class NewsletterAdminInviteMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NEWSLETTERJID_FIELD_NUMBER: builtins.int + NEWSLETTERNAME_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + INVITEEXPIRATION_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + newsletterJID: builtins.str + newsletterName: builtins.str + JPEGThumbnail: builtins.bytes + caption: builtins.str + inviteExpiration: builtins.int + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + newsletterJID: builtins.str | None = ..., + newsletterName: builtins.str | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + caption: builtins.str | None = ..., + inviteExpiration: builtins.int | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "inviteExpiration", b"inviteExpiration", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "inviteExpiration", b"inviteExpiration", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName"]) -> None: ... + +global___NewsletterAdminInviteMessage = NewsletterAdminInviteMessage + +@typing.final +class ProductMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class ProductSnapshot(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRODUCTIMAGE_FIELD_NUMBER: builtins.int + PRODUCTID_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + CURRENCYCODE_FIELD_NUMBER: builtins.int + PRICEAMOUNT1000_FIELD_NUMBER: builtins.int + RETAILERID_FIELD_NUMBER: builtins.int + URL_FIELD_NUMBER: builtins.int + PRODUCTIMAGECOUNT_FIELD_NUMBER: builtins.int + FIRSTIMAGEID_FIELD_NUMBER: builtins.int + SALEPRICEAMOUNT1000_FIELD_NUMBER: builtins.int + SIGNEDURL_FIELD_NUMBER: builtins.int + productID: builtins.str + title: builtins.str + description: builtins.str + currencyCode: builtins.str + priceAmount1000: builtins.int + retailerID: builtins.str + URL: builtins.str + productImageCount: builtins.int + firstImageID: builtins.str + salePriceAmount1000: builtins.int + signedURL: builtins.str + @property + def productImage(self) -> global___ImageMessage: ... + def __init__( + self, + *, + productImage: global___ImageMessage | None = ..., + productID: builtins.str | None = ..., + title: builtins.str | None = ..., + description: builtins.str | None = ..., + currencyCode: builtins.str | None = ..., + priceAmount1000: builtins.int | None = ..., + retailerID: builtins.str | None = ..., + URL: builtins.str | None = ..., + productImageCount: builtins.int | None = ..., + firstImageID: builtins.str | None = ..., + salePriceAmount1000: builtins.int | None = ..., + signedURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "currencyCode", b"currencyCode", "description", b"description", "firstImageID", b"firstImageID", "priceAmount1000", b"priceAmount1000", "productID", b"productID", "productImage", b"productImage", "productImageCount", b"productImageCount", "retailerID", b"retailerID", "salePriceAmount1000", b"salePriceAmount1000", "signedURL", b"signedURL", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "currencyCode", b"currencyCode", "description", b"description", "firstImageID", b"firstImageID", "priceAmount1000", b"priceAmount1000", "productID", b"productID", "productImage", b"productImage", "productImageCount", b"productImageCount", "retailerID", b"retailerID", "salePriceAmount1000", b"salePriceAmount1000", "signedURL", b"signedURL", "title", b"title"]) -> None: ... + + @typing.final + class CatalogSnapshot(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CATALOGIMAGE_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + title: builtins.str + description: builtins.str + @property + def catalogImage(self) -> global___ImageMessage: ... + def __init__( + self, + *, + catalogImage: global___ImageMessage | None = ..., + title: builtins.str | None = ..., + description: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["catalogImage", b"catalogImage", "description", b"description", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["catalogImage", b"catalogImage", "description", b"description", "title", b"title"]) -> None: ... + + PRODUCT_FIELD_NUMBER: builtins.int + BUSINESSOWNERJID_FIELD_NUMBER: builtins.int + CATALOG_FIELD_NUMBER: builtins.int + BODY_FIELD_NUMBER: builtins.int + FOOTER_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + businessOwnerJID: builtins.str + body: builtins.str + footer: builtins.str + @property + def product(self) -> global___ProductMessage.ProductSnapshot: ... + @property + def catalog(self) -> global___ProductMessage.CatalogSnapshot: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + product: global___ProductMessage.ProductSnapshot | None = ..., + businessOwnerJID: builtins.str | None = ..., + catalog: global___ProductMessage.CatalogSnapshot | None = ..., + body: builtins.str | None = ..., + footer: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["body", b"body", "businessOwnerJID", b"businessOwnerJID", "catalog", b"catalog", "contextInfo", b"contextInfo", "footer", b"footer", "product", b"product"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["body", b"body", "businessOwnerJID", b"businessOwnerJID", "catalog", b"catalog", "contextInfo", b"contextInfo", "footer", b"footer", "product", b"product"]) -> None: ... + +global___ProductMessage = ProductMessage + +@typing.final +class TemplateButtonReplyMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SELECTEDID_FIELD_NUMBER: builtins.int + SELECTEDDISPLAYTEXT_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + SELECTEDINDEX_FIELD_NUMBER: builtins.int + SELECTEDCAROUSELCARDINDEX_FIELD_NUMBER: builtins.int + selectedID: builtins.str + selectedDisplayText: builtins.str + selectedIndex: builtins.int + selectedCarouselCardIndex: builtins.int + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + selectedID: builtins.str | None = ..., + selectedDisplayText: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + selectedIndex: builtins.int | None = ..., + selectedCarouselCardIndex: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "selectedCarouselCardIndex", b"selectedCarouselCardIndex", "selectedDisplayText", b"selectedDisplayText", "selectedID", b"selectedID", "selectedIndex", b"selectedIndex"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "selectedCarouselCardIndex", b"selectedCarouselCardIndex", "selectedDisplayText", b"selectedDisplayText", "selectedID", b"selectedID", "selectedIndex", b"selectedIndex"]) -> None: ... + +global___TemplateButtonReplyMessage = TemplateButtonReplyMessage + +@typing.final +class TemplateMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class HydratedFourRowTemplate(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int + HYDRATEDTITLETEXT_FIELD_NUMBER: builtins.int + IMAGEMESSAGE_FIELD_NUMBER: builtins.int + VIDEOMESSAGE_FIELD_NUMBER: builtins.int + LOCATIONMESSAGE_FIELD_NUMBER: builtins.int + HYDRATEDCONTENTTEXT_FIELD_NUMBER: builtins.int + HYDRATEDFOOTERTEXT_FIELD_NUMBER: builtins.int + HYDRATEDBUTTONS_FIELD_NUMBER: builtins.int + TEMPLATEID_FIELD_NUMBER: builtins.int + MASKLINKEDDEVICES_FIELD_NUMBER: builtins.int + hydratedTitleText: builtins.str + hydratedContentText: builtins.str + hydratedFooterText: builtins.str + templateID: builtins.str + maskLinkedDevices: builtins.bool + @property + def documentMessage(self) -> global___DocumentMessage: ... + @property + def imageMessage(self) -> global___ImageMessage: ... + @property + def videoMessage(self) -> global___VideoMessage: ... + @property + def locationMessage(self) -> global___LocationMessage: ... + @property + def hydratedButtons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HydratedTemplateButton]: ... + def __init__( + self, + *, + documentMessage: global___DocumentMessage | None = ..., + hydratedTitleText: builtins.str | None = ..., + imageMessage: global___ImageMessage | None = ..., + videoMessage: global___VideoMessage | None = ..., + locationMessage: global___LocationMessage | None = ..., + hydratedContentText: builtins.str | None = ..., + hydratedFooterText: builtins.str | None = ..., + hydratedButtons: collections.abc.Iterable[global___HydratedTemplateButton] | None = ..., + templateID: builtins.str | None = ..., + maskLinkedDevices: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["documentMessage", b"documentMessage", "hydratedContentText", b"hydratedContentText", "hydratedFooterText", b"hydratedFooterText", "hydratedTitleText", b"hydratedTitleText", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "maskLinkedDevices", b"maskLinkedDevices", "templateID", b"templateID", "title", b"title", "videoMessage", b"videoMessage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["documentMessage", b"documentMessage", "hydratedButtons", b"hydratedButtons", "hydratedContentText", b"hydratedContentText", "hydratedFooterText", b"hydratedFooterText", "hydratedTitleText", b"hydratedTitleText", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "maskLinkedDevices", b"maskLinkedDevices", "templateID", b"templateID", "title", b"title", "videoMessage", b"videoMessage"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["title", b"title"]) -> typing.Literal["documentMessage", "hydratedTitleText", "imageMessage", "videoMessage", "locationMessage"] | None: ... + + @typing.final + class FourRowTemplate(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int + HIGHLYSTRUCTUREDMESSAGE_FIELD_NUMBER: builtins.int + IMAGEMESSAGE_FIELD_NUMBER: builtins.int + VIDEOMESSAGE_FIELD_NUMBER: builtins.int + LOCATIONMESSAGE_FIELD_NUMBER: builtins.int + CONTENT_FIELD_NUMBER: builtins.int + FOOTER_FIELD_NUMBER: builtins.int + BUTTONS_FIELD_NUMBER: builtins.int + @property + def documentMessage(self) -> global___DocumentMessage: ... + @property + def highlyStructuredMessage(self) -> global___HighlyStructuredMessage: ... + @property + def imageMessage(self) -> global___ImageMessage: ... + @property + def videoMessage(self) -> global___VideoMessage: ... + @property + def locationMessage(self) -> global___LocationMessage: ... + @property + def content(self) -> global___HighlyStructuredMessage: ... + @property + def footer(self) -> global___HighlyStructuredMessage: ... + @property + def buttons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TemplateButton]: ... + def __init__( + self, + *, + documentMessage: global___DocumentMessage | None = ..., + highlyStructuredMessage: global___HighlyStructuredMessage | None = ..., + imageMessage: global___ImageMessage | None = ..., + videoMessage: global___VideoMessage | None = ..., + locationMessage: global___LocationMessage | None = ..., + content: global___HighlyStructuredMessage | None = ..., + footer: global___HighlyStructuredMessage | None = ..., + buttons: collections.abc.Iterable[global___TemplateButton] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["content", b"content", "documentMessage", b"documentMessage", "footer", b"footer", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "title", b"title", "videoMessage", b"videoMessage"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buttons", b"buttons", "content", b"content", "documentMessage", b"documentMessage", "footer", b"footer", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "title", b"title", "videoMessage", b"videoMessage"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["title", b"title"]) -> typing.Literal["documentMessage", "highlyStructuredMessage", "imageMessage", "videoMessage", "locationMessage"] | None: ... + + FOURROWTEMPLATE_FIELD_NUMBER: builtins.int + HYDRATEDFOURROWTEMPLATE_FIELD_NUMBER: builtins.int + INTERACTIVEMESSAGETEMPLATE_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + HYDRATEDTEMPLATE_FIELD_NUMBER: builtins.int + TEMPLATEID_FIELD_NUMBER: builtins.int + templateID: builtins.str + @property + def fourRowTemplate(self) -> global___TemplateMessage.FourRowTemplate: ... + @property + def hydratedFourRowTemplate(self) -> global___TemplateMessage.HydratedFourRowTemplate: ... + @property + def interactiveMessageTemplate(self) -> global___InteractiveMessage: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + @property + def hydratedTemplate(self) -> global___TemplateMessage.HydratedFourRowTemplate: ... + def __init__( + self, + *, + fourRowTemplate: global___TemplateMessage.FourRowTemplate | None = ..., + hydratedFourRowTemplate: global___TemplateMessage.HydratedFourRowTemplate | None = ..., + interactiveMessageTemplate: global___InteractiveMessage | None = ..., + contextInfo: global___ContextInfo | None = ..., + hydratedTemplate: global___TemplateMessage.HydratedFourRowTemplate | None = ..., + templateID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "format", b"format", "fourRowTemplate", b"fourRowTemplate", "hydratedFourRowTemplate", b"hydratedFourRowTemplate", "hydratedTemplate", b"hydratedTemplate", "interactiveMessageTemplate", b"interactiveMessageTemplate", "templateID", b"templateID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "format", b"format", "fourRowTemplate", b"fourRowTemplate", "hydratedFourRowTemplate", b"hydratedFourRowTemplate", "hydratedTemplate", b"hydratedTemplate", "interactiveMessageTemplate", b"interactiveMessageTemplate", "templateID", b"templateID"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["format", b"format"]) -> typing.Literal["fourRowTemplate", "hydratedFourRowTemplate", "interactiveMessageTemplate"] | None: ... + +global___TemplateMessage = TemplateMessage + +@typing.final +class StickerMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + URL_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + FIRSTFRAMELENGTH_FIELD_NUMBER: builtins.int + FIRSTFRAMESIDECAR_FIELD_NUMBER: builtins.int + ISANIMATED_FIELD_NUMBER: builtins.int + PNGTHUMBNAIL_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + STICKERSENTTS_FIELD_NUMBER: builtins.int + ISAVATAR_FIELD_NUMBER: builtins.int + ISAISTICKER_FIELD_NUMBER: builtins.int + ISLOTTIE_FIELD_NUMBER: builtins.int + ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int + MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int + URL: builtins.str + fileSHA256: builtins.bytes + fileEncSHA256: builtins.bytes + mediaKey: builtins.bytes + mimetype: builtins.str + height: builtins.int + width: builtins.int + directPath: builtins.str + fileLength: builtins.int + mediaKeyTimestamp: builtins.int + firstFrameLength: builtins.int + firstFrameSidecar: builtins.bytes + isAnimated: builtins.bool + pngThumbnail: builtins.bytes + stickerSentTS: builtins.int + isAvatar: builtins.bool + isAiSticker: builtins.bool + isLottie: builtins.bool + accessibilityLabel: builtins.str + mediaKeyDomain: global___MediaKeyDomain.ValueType + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + URL: builtins.str | None = ..., + fileSHA256: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + mediaKey: builtins.bytes | None = ..., + mimetype: builtins.str | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + directPath: builtins.str | None = ..., + fileLength: builtins.int | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + firstFrameLength: builtins.int | None = ..., + firstFrameSidecar: builtins.bytes | None = ..., + isAnimated: builtins.bool | None = ..., + pngThumbnail: builtins.bytes | None = ..., + contextInfo: global___ContextInfo | None = ..., + stickerSentTS: builtins.int | None = ..., + isAvatar: builtins.bool | None = ..., + isAiSticker: builtins.bool | None = ..., + isLottie: builtins.bool | None = ..., + accessibilityLabel: builtins.str | None = ..., + mediaKeyDomain: global___MediaKeyDomain.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "firstFrameLength", b"firstFrameLength", "firstFrameSidecar", b"firstFrameSidecar", "height", b"height", "isAiSticker", b"isAiSticker", "isAnimated", b"isAnimated", "isAvatar", b"isAvatar", "isLottie", b"isLottie", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pngThumbnail", b"pngThumbnail", "stickerSentTS", b"stickerSentTS", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "firstFrameLength", b"firstFrameLength", "firstFrameSidecar", b"firstFrameSidecar", "height", b"height", "isAiSticker", b"isAiSticker", "isAnimated", b"isAnimated", "isAvatar", b"isAvatar", "isLottie", b"isLottie", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pngThumbnail", b"pngThumbnail", "stickerSentTS", b"stickerSentTS", "width", b"width"]) -> None: ... + +global___StickerMessage = StickerMessage + +@typing.final +class LiveLocationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DEGREESLATITUDE_FIELD_NUMBER: builtins.int + DEGREESLONGITUDE_FIELD_NUMBER: builtins.int + ACCURACYINMETERS_FIELD_NUMBER: builtins.int + SPEEDINMPS_FIELD_NUMBER: builtins.int + DEGREESCLOCKWISEFROMMAGNETICNORTH_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + SEQUENCENUMBER_FIELD_NUMBER: builtins.int + TIMEOFFSET_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + degreesLatitude: builtins.float + degreesLongitude: builtins.float + accuracyInMeters: builtins.int + speedInMps: builtins.float + degreesClockwiseFromMagneticNorth: builtins.int + caption: builtins.str + sequenceNumber: builtins.int + timeOffset: builtins.int + JPEGThumbnail: builtins.bytes + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + degreesLatitude: builtins.float | None = ..., + degreesLongitude: builtins.float | None = ..., + accuracyInMeters: builtins.int | None = ..., + speedInMps: builtins.float | None = ..., + degreesClockwiseFromMagneticNorth: builtins.int | None = ..., + caption: builtins.str | None = ..., + sequenceNumber: builtins.int | None = ..., + timeOffset: builtins.int | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "accuracyInMeters", b"accuracyInMeters", "caption", b"caption", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "sequenceNumber", b"sequenceNumber", "speedInMps", b"speedInMps", "timeOffset", b"timeOffset"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "accuracyInMeters", b"accuracyInMeters", "caption", b"caption", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "sequenceNumber", b"sequenceNumber", "speedInMps", b"speedInMps", "timeOffset", b"timeOffset"]) -> None: ... + +global___LiveLocationMessage = LiveLocationMessage + +@typing.final +class CancelPaymentRequestMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... + +global___CancelPaymentRequestMessage = CancelPaymentRequestMessage + +@typing.final +class DeclinePaymentRequestMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ... + +global___DeclinePaymentRequestMessage = DeclinePaymentRequestMessage + +@typing.final +class RequestPaymentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NOTEMESSAGE_FIELD_NUMBER: builtins.int + CURRENCYCODEISO4217_FIELD_NUMBER: builtins.int + AMOUNT1000_FIELD_NUMBER: builtins.int + REQUESTFROM_FIELD_NUMBER: builtins.int + EXPIRYTIMESTAMP_FIELD_NUMBER: builtins.int + AMOUNT_FIELD_NUMBER: builtins.int + BACKGROUND_FIELD_NUMBER: builtins.int + currencyCodeIso4217: builtins.str + amount1000: builtins.int + requestFrom: builtins.str + expiryTimestamp: builtins.int + @property + def noteMessage(self) -> global___Message: ... + @property + def amount(self) -> global___Money: ... + @property + def background(self) -> global___PaymentBackground: ... + def __init__( + self, + *, + noteMessage: global___Message | None = ..., + currencyCodeIso4217: builtins.str | None = ..., + amount1000: builtins.int | None = ..., + requestFrom: builtins.str | None = ..., + expiryTimestamp: builtins.int | None = ..., + amount: global___Money | None = ..., + background: global___PaymentBackground | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["amount", b"amount", "amount1000", b"amount1000", "background", b"background", "currencyCodeIso4217", b"currencyCodeIso4217", "expiryTimestamp", b"expiryTimestamp", "noteMessage", b"noteMessage", "requestFrom", b"requestFrom"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["amount", b"amount", "amount1000", b"amount1000", "background", b"background", "currencyCodeIso4217", b"currencyCodeIso4217", "expiryTimestamp", b"expiryTimestamp", "noteMessage", b"noteMessage", "requestFrom", b"requestFrom"]) -> None: ... + +global___RequestPaymentMessage = RequestPaymentMessage + +@typing.final +class SendPaymentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NOTEMESSAGE_FIELD_NUMBER: builtins.int + REQUESTMESSAGEKEY_FIELD_NUMBER: builtins.int + BACKGROUND_FIELD_NUMBER: builtins.int + TRANSACTIONDATA_FIELD_NUMBER: builtins.int + transactionData: builtins.str + @property + def noteMessage(self) -> global___Message: ... + @property + def requestMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def background(self) -> global___PaymentBackground: ... + def __init__( + self, + *, + noteMessage: global___Message | None = ..., + requestMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + background: global___PaymentBackground | None = ..., + transactionData: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["background", b"background", "noteMessage", b"noteMessage", "requestMessageKey", b"requestMessageKey", "transactionData", b"transactionData"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["background", b"background", "noteMessage", b"noteMessage", "requestMessageKey", b"requestMessageKey", "transactionData", b"transactionData"]) -> None: ... + +global___SendPaymentMessage = SendPaymentMessage + +@typing.final +class ContactsArrayMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYNAME_FIELD_NUMBER: builtins.int + CONTACTS_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + displayName: builtins.str + @property + def contacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ContactMessage]: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + displayName: builtins.str | None = ..., + contacts: collections.abc.Iterable[global___ContactMessage] | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "displayName", b"displayName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contacts", b"contacts", "contextInfo", b"contextInfo", "displayName", b"displayName"]) -> None: ... + +global___ContactsArrayMessage = ContactsArrayMessage + +@typing.final +class InitialSecurityNotificationSettingSync(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SECURITYNOTIFICATIONENABLED_FIELD_NUMBER: builtins.int + securityNotificationEnabled: builtins.bool + def __init__( + self, + *, + securityNotificationEnabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["securityNotificationEnabled", b"securityNotificationEnabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["securityNotificationEnabled", b"securityNotificationEnabled"]) -> None: ... + +global___InitialSecurityNotificationSettingSync = InitialSecurityNotificationSettingSync + +@typing.final +class FullHistorySyncOnDemandRequestMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REQUESTID_FIELD_NUMBER: builtins.int + requestID: builtins.str + def __init__( + self, + *, + requestID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["requestID", b"requestID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["requestID", b"requestID"]) -> None: ... + +global___FullHistorySyncOnDemandRequestMetadata = FullHistorySyncOnDemandRequestMetadata + +@typing.final +class AppStateFatalExceptionNotification(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COLLECTIONNAMES_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + timestamp: builtins.int + @property + def collectionNames(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + collectionNames: collections.abc.Iterable[builtins.str] | None = ..., + timestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["collectionNames", b"collectionNames", "timestamp", b"timestamp"]) -> None: ... + +global___AppStateFatalExceptionNotification = AppStateFatalExceptionNotification + +@typing.final +class AppStateSyncKeyRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEYIDS_FIELD_NUMBER: builtins.int + @property + def keyIDs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AppStateSyncKeyId]: ... + def __init__( + self, + *, + keyIDs: collections.abc.Iterable[global___AppStateSyncKeyId] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["keyIDs", b"keyIDs"]) -> None: ... + +global___AppStateSyncKeyRequest = AppStateSyncKeyRequest + +@typing.final +class AppStateSyncKeyShare(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEYS_FIELD_NUMBER: builtins.int + @property + def keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AppStateSyncKey]: ... + def __init__( + self, + *, + keys: collections.abc.Iterable[global___AppStateSyncKey] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["keys", b"keys"]) -> None: ... + +global___AppStateSyncKeyShare = AppStateSyncKeyShare + +@typing.final +class AppStateSyncKeyData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEYDATA_FIELD_NUMBER: builtins.int + FINGERPRINT_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + keyData: builtins.bytes + timestamp: builtins.int + @property + def fingerprint(self) -> global___AppStateSyncKeyFingerprint: ... + def __init__( + self, + *, + keyData: builtins.bytes | None = ..., + fingerprint: global___AppStateSyncKeyFingerprint | None = ..., + timestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fingerprint", b"fingerprint", "keyData", b"keyData", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fingerprint", b"fingerprint", "keyData", b"keyData", "timestamp", b"timestamp"]) -> None: ... + +global___AppStateSyncKeyData = AppStateSyncKeyData + +@typing.final +class AppStateSyncKeyFingerprint(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RAWID_FIELD_NUMBER: builtins.int + CURRENTINDEX_FIELD_NUMBER: builtins.int + DEVICEINDEXES_FIELD_NUMBER: builtins.int + rawID: builtins.int + currentIndex: builtins.int + @property + def deviceIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + rawID: builtins.int | None = ..., + currentIndex: builtins.int | None = ..., + deviceIndexes: collections.abc.Iterable[builtins.int] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["currentIndex", b"currentIndex", "rawID", b"rawID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["currentIndex", b"currentIndex", "deviceIndexes", b"deviceIndexes", "rawID", b"rawID"]) -> None: ... + +global___AppStateSyncKeyFingerprint = AppStateSyncKeyFingerprint + +@typing.final +class AppStateSyncKeyId(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEYID_FIELD_NUMBER: builtins.int + keyID: builtins.bytes + def __init__( + self, + *, + keyID: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["keyID", b"keyID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["keyID", b"keyID"]) -> None: ... + +global___AppStateSyncKeyId = AppStateSyncKeyId + +@typing.final +class AppStateSyncKey(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEYID_FIELD_NUMBER: builtins.int + KEYDATA_FIELD_NUMBER: builtins.int + @property + def keyID(self) -> global___AppStateSyncKeyId: ... + @property + def keyData(self) -> global___AppStateSyncKeyData: ... + def __init__( + self, + *, + keyID: global___AppStateSyncKeyId | None = ..., + keyData: global___AppStateSyncKeyData | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["keyData", b"keyData", "keyID", b"keyID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["keyData", b"keyData", "keyID", b"keyID"]) -> None: ... + +global___AppStateSyncKey = AppStateSyncKey + +@typing.final +class HistorySyncNotification(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILESHA256_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + SYNCTYPE_FIELD_NUMBER: builtins.int + CHUNKORDER_FIELD_NUMBER: builtins.int + ORIGINALMESSAGEID_FIELD_NUMBER: builtins.int + PROGRESS_FIELD_NUMBER: builtins.int + OLDESTMSGINCHUNKTIMESTAMPSEC_FIELD_NUMBER: builtins.int + INITIALHISTBOOTSTRAPINLINEPAYLOAD_FIELD_NUMBER: builtins.int + PEERDATAREQUESTSESSIONID_FIELD_NUMBER: builtins.int + FULLHISTORYSYNCONDEMANDREQUESTMETADATA_FIELD_NUMBER: builtins.int + ENCHANDLE_FIELD_NUMBER: builtins.int + fileSHA256: builtins.bytes + fileLength: builtins.int + mediaKey: builtins.bytes + fileEncSHA256: builtins.bytes + directPath: builtins.str + syncType: global___HistorySyncType.ValueType + chunkOrder: builtins.int + originalMessageID: builtins.str + progress: builtins.int + oldestMsgInChunkTimestampSec: builtins.int + initialHistBootstrapInlinePayload: builtins.bytes + peerDataRequestSessionID: builtins.str + encHandle: builtins.str + @property + def fullHistorySyncOnDemandRequestMetadata(self) -> global___FullHistorySyncOnDemandRequestMetadata: ... + def __init__( + self, + *, + fileSHA256: builtins.bytes | None = ..., + fileLength: builtins.int | None = ..., + mediaKey: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + syncType: global___HistorySyncType.ValueType | None = ..., + chunkOrder: builtins.int | None = ..., + originalMessageID: builtins.str | None = ..., + progress: builtins.int | None = ..., + oldestMsgInChunkTimestampSec: builtins.int | None = ..., + initialHistBootstrapInlinePayload: builtins.bytes | None = ..., + peerDataRequestSessionID: builtins.str | None = ..., + fullHistorySyncOnDemandRequestMetadata: global___FullHistorySyncOnDemandRequestMetadata | None = ..., + encHandle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["chunkOrder", b"chunkOrder", "directPath", b"directPath", "encHandle", b"encHandle", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "fullHistorySyncOnDemandRequestMetadata", b"fullHistorySyncOnDemandRequestMetadata", "initialHistBootstrapInlinePayload", b"initialHistBootstrapInlinePayload", "mediaKey", b"mediaKey", "oldestMsgInChunkTimestampSec", b"oldestMsgInChunkTimestampSec", "originalMessageID", b"originalMessageID", "peerDataRequestSessionID", b"peerDataRequestSessionID", "progress", b"progress", "syncType", b"syncType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chunkOrder", b"chunkOrder", "directPath", b"directPath", "encHandle", b"encHandle", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "fullHistorySyncOnDemandRequestMetadata", b"fullHistorySyncOnDemandRequestMetadata", "initialHistBootstrapInlinePayload", b"initialHistBootstrapInlinePayload", "mediaKey", b"mediaKey", "oldestMsgInChunkTimestampSec", b"oldestMsgInChunkTimestampSec", "originalMessageID", b"originalMessageID", "peerDataRequestSessionID", b"peerDataRequestSessionID", "progress", b"progress", "syncType", b"syncType"]) -> None: ... + +global___HistorySyncNotification = HistorySyncNotification + +@typing.final +class Chat(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYNAME_FIELD_NUMBER: builtins.int + ID_FIELD_NUMBER: builtins.int + displayName: builtins.str + ID: builtins.str + def __init__( + self, + *, + displayName: builtins.str | None = ..., + ID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "displayName", b"displayName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "displayName", b"displayName"]) -> None: ... + +global___Chat = Chat + +@typing.final +class Call(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CALLKEY_FIELD_NUMBER: builtins.int + CONVERSIONSOURCE_FIELD_NUMBER: builtins.int + CONVERSIONDATA_FIELD_NUMBER: builtins.int + CONVERSIONDELAYSECONDS_FIELD_NUMBER: builtins.int + CTWASIGNALS_FIELD_NUMBER: builtins.int + CTWAPAYLOAD_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + NATIVEFLOWCALLBUTTONPAYLOAD_FIELD_NUMBER: builtins.int + DEEPLINKPAYLOAD_FIELD_NUMBER: builtins.int + callKey: builtins.bytes + conversionSource: builtins.str + conversionData: builtins.bytes + conversionDelaySeconds: builtins.int + ctwaSignals: builtins.str + ctwaPayload: builtins.bytes + nativeFlowCallButtonPayload: builtins.str + deeplinkPayload: builtins.str + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + callKey: builtins.bytes | None = ..., + conversionSource: builtins.str | None = ..., + conversionData: builtins.bytes | None = ..., + conversionDelaySeconds: builtins.int | None = ..., + ctwaSignals: builtins.str | None = ..., + ctwaPayload: builtins.bytes | None = ..., + contextInfo: global___ContextInfo | None = ..., + nativeFlowCallButtonPayload: builtins.str | None = ..., + deeplinkPayload: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["callKey", b"callKey", "contextInfo", b"contextInfo", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource", "ctwaPayload", b"ctwaPayload", "ctwaSignals", b"ctwaSignals", "deeplinkPayload", b"deeplinkPayload", "nativeFlowCallButtonPayload", b"nativeFlowCallButtonPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["callKey", b"callKey", "contextInfo", b"contextInfo", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource", "ctwaPayload", b"ctwaPayload", "ctwaSignals", b"ctwaSignals", "deeplinkPayload", b"deeplinkPayload", "nativeFlowCallButtonPayload", b"nativeFlowCallButtonPayload"]) -> None: ... + +global___Call = Call + +@typing.final +class AudioMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + URL_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + SECONDS_FIELD_NUMBER: builtins.int + PTT_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + STREAMINGSIDECAR_FIELD_NUMBER: builtins.int + WAVEFORM_FIELD_NUMBER: builtins.int + BACKGROUNDARGB_FIELD_NUMBER: builtins.int + VIEWONCE_FIELD_NUMBER: builtins.int + ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int + MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int + URL: builtins.str + mimetype: builtins.str + fileSHA256: builtins.bytes + fileLength: builtins.int + seconds: builtins.int + PTT: builtins.bool + mediaKey: builtins.bytes + fileEncSHA256: builtins.bytes + directPath: builtins.str + mediaKeyTimestamp: builtins.int + streamingSidecar: builtins.bytes + waveform: builtins.bytes + backgroundArgb: builtins.int + viewOnce: builtins.bool + accessibilityLabel: builtins.str + mediaKeyDomain: global___MediaKeyDomain.ValueType + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + URL: builtins.str | None = ..., + mimetype: builtins.str | None = ..., + fileSHA256: builtins.bytes | None = ..., + fileLength: builtins.int | None = ..., + seconds: builtins.int | None = ..., + PTT: builtins.bool | None = ..., + mediaKey: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + contextInfo: global___ContextInfo | None = ..., + streamingSidecar: builtins.bytes | None = ..., + waveform: builtins.bytes | None = ..., + backgroundArgb: builtins.int | None = ..., + viewOnce: builtins.bool | None = ..., + accessibilityLabel: builtins.str | None = ..., + mediaKeyDomain: global___MediaKeyDomain.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["PTT", b"PTT", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "backgroundArgb", b"backgroundArgb", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "seconds", b"seconds", "streamingSidecar", b"streamingSidecar", "viewOnce", b"viewOnce", "waveform", b"waveform"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["PTT", b"PTT", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "backgroundArgb", b"backgroundArgb", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "seconds", b"seconds", "streamingSidecar", b"streamingSidecar", "viewOnce", b"viewOnce", "waveform", b"waveform"]) -> None: ... + +global___AudioMessage = AudioMessage + +@typing.final +class DocumentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + URL_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + PAGECOUNT_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILENAME_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + CONTACTVCARD_FIELD_NUMBER: builtins.int + THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int + THUMBNAILSHA256_FIELD_NUMBER: builtins.int + THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int + THUMBNAILWIDTH_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int + MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int + URL: builtins.str + mimetype: builtins.str + title: builtins.str + fileSHA256: builtins.bytes + fileLength: builtins.int + pageCount: builtins.int + mediaKey: builtins.bytes + fileName: builtins.str + fileEncSHA256: builtins.bytes + directPath: builtins.str + mediaKeyTimestamp: builtins.int + contactVcard: builtins.bool + thumbnailDirectPath: builtins.str + thumbnailSHA256: builtins.bytes + thumbnailEncSHA256: builtins.bytes + JPEGThumbnail: builtins.bytes + thumbnailHeight: builtins.int + thumbnailWidth: builtins.int + caption: builtins.str + accessibilityLabel: builtins.str + mediaKeyDomain: global___MediaKeyDomain.ValueType + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + URL: builtins.str | None = ..., + mimetype: builtins.str | None = ..., + title: builtins.str | None = ..., + fileSHA256: builtins.bytes | None = ..., + fileLength: builtins.int | None = ..., + pageCount: builtins.int | None = ..., + mediaKey: builtins.bytes | None = ..., + fileName: builtins.str | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + contactVcard: builtins.bool | None = ..., + thumbnailDirectPath: builtins.str | None = ..., + thumbnailSHA256: builtins.bytes | None = ..., + thumbnailEncSHA256: builtins.bytes | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + contextInfo: global___ContextInfo | None = ..., + thumbnailHeight: builtins.int | None = ..., + thumbnailWidth: builtins.int | None = ..., + caption: builtins.str | None = ..., + accessibilityLabel: builtins.str | None = ..., + mediaKeyDomain: global___MediaKeyDomain.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "caption", b"caption", "contactVcard", b"contactVcard", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileName", b"fileName", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pageCount", b"pageCount", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "caption", b"caption", "contactVcard", b"contactVcard", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileName", b"fileName", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pageCount", b"pageCount", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "title", b"title"]) -> None: ... + +global___DocumentMessage = DocumentMessage + +@typing.final +class URLMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FBEXPERIMENTID_FIELD_NUMBER: builtins.int + fbExperimentID: builtins.int + def __init__( + self, + *, + fbExperimentID: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fbExperimentID", b"fbExperimentID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fbExperimentID", b"fbExperimentID"]) -> None: ... + +global___URLMetadata = URLMetadata + +@typing.final +class PaymentExtendedMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TYPE_FIELD_NUMBER: builtins.int + PLATFORM_FIELD_NUMBER: builtins.int + MESSAGEPARAMSJSON_FIELD_NUMBER: builtins.int + type: builtins.int + platform: builtins.str + messageParamsJSON: builtins.str + def __init__( + self, + *, + type: builtins.int | None = ..., + platform: builtins.str | None = ..., + messageParamsJSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageParamsJSON", b"messageParamsJSON", "platform", b"platform", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageParamsJSON", b"messageParamsJSON", "platform", b"platform", "type", b"type"]) -> None: ... + +global___PaymentExtendedMetadata = PaymentExtendedMetadata + +@typing.final +class MMSThumbnailMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int + THUMBNAILSHA256_FIELD_NUMBER: builtins.int + THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int + THUMBNAILWIDTH_FIELD_NUMBER: builtins.int + MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int + thumbnailDirectPath: builtins.str + thumbnailSHA256: builtins.bytes + thumbnailEncSHA256: builtins.bytes + mediaKey: builtins.bytes + mediaKeyTimestamp: builtins.int + thumbnailHeight: builtins.int + thumbnailWidth: builtins.int + mediaKeyDomain: global___MediaKeyDomain.ValueType + def __init__( + self, + *, + thumbnailDirectPath: builtins.str | None = ..., + thumbnailSHA256: builtins.bytes | None = ..., + thumbnailEncSHA256: builtins.bytes | None = ..., + mediaKey: builtins.bytes | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + thumbnailHeight: builtins.int | None = ..., + thumbnailWidth: builtins.int | None = ..., + mediaKeyDomain: global___MediaKeyDomain.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth"]) -> None: ... + +global___MMSThumbnailMetadata = MMSThumbnailMetadata + +@typing.final +class LocationMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DEGREESLATITUDE_FIELD_NUMBER: builtins.int + DEGREESLONGITUDE_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + ADDRESS_FIELD_NUMBER: builtins.int + URL_FIELD_NUMBER: builtins.int + ISLIVE_FIELD_NUMBER: builtins.int + ACCURACYINMETERS_FIELD_NUMBER: builtins.int + SPEEDINMPS_FIELD_NUMBER: builtins.int + DEGREESCLOCKWISEFROMMAGNETICNORTH_FIELD_NUMBER: builtins.int + COMMENT_FIELD_NUMBER: builtins.int + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + degreesLatitude: builtins.float + degreesLongitude: builtins.float + name: builtins.str + address: builtins.str + URL: builtins.str + isLive: builtins.bool + accuracyInMeters: builtins.int + speedInMps: builtins.float + degreesClockwiseFromMagneticNorth: builtins.int + comment: builtins.str + JPEGThumbnail: builtins.bytes + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + degreesLatitude: builtins.float | None = ..., + degreesLongitude: builtins.float | None = ..., + name: builtins.str | None = ..., + address: builtins.str | None = ..., + URL: builtins.str | None = ..., + isLive: builtins.bool | None = ..., + accuracyInMeters: builtins.int | None = ..., + speedInMps: builtins.float | None = ..., + degreesClockwiseFromMagneticNorth: builtins.int | None = ..., + comment: builtins.str | None = ..., + JPEGThumbnail: builtins.bytes | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accuracyInMeters", b"accuracyInMeters", "address", b"address", "comment", b"comment", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "isLive", b"isLive", "name", b"name", "speedInMps", b"speedInMps"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accuracyInMeters", b"accuracyInMeters", "address", b"address", "comment", b"comment", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "isLive", b"isLive", "name", b"name", "speedInMps", b"speedInMps"]) -> None: ... + +global___LocationMessage = LocationMessage + +@typing.final +class ContactMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYNAME_FIELD_NUMBER: builtins.int + VCARD_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + displayName: builtins.str + vcard: builtins.str + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + displayName: builtins.str | None = ..., + vcard: builtins.str | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "displayName", b"displayName", "vcard", b"vcard"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "displayName", b"displayName", "vcard", b"vcard"]) -> None: ... + +global___ContactMessage = ContactMessage + +@typing.final +class SenderKeyDistributionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + GROUPID_FIELD_NUMBER: builtins.int + AXOLOTLSENDERKEYDISTRIBUTIONMESSAGE_FIELD_NUMBER: builtins.int + groupID: builtins.str + axolotlSenderKeyDistributionMessage: builtins.bytes + def __init__( + self, + *, + groupID: builtins.str | None = ..., + axolotlSenderKeyDistributionMessage: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["axolotlSenderKeyDistributionMessage", b"axolotlSenderKeyDistributionMessage", "groupID", b"groupID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["axolotlSenderKeyDistributionMessage", b"axolotlSenderKeyDistributionMessage", "groupID", b"groupID"]) -> None: ... + +global___SenderKeyDistributionMessage = SenderKeyDistributionMessage + +@typing.final +class VideoEndCard(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + USERNAME_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + THUMBNAILIMAGEURL_FIELD_NUMBER: builtins.int + PROFILEPICTUREURL_FIELD_NUMBER: builtins.int + username: builtins.str + caption: builtins.str + thumbnailImageURL: builtins.str + profilePictureURL: builtins.str + def __init__( + self, + *, + username: builtins.str | None = ..., + caption: builtins.str | None = ..., + thumbnailImageURL: builtins.str | None = ..., + profilePictureURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["caption", b"caption", "profilePictureURL", b"profilePictureURL", "thumbnailImageURL", b"thumbnailImageURL", "username", b"username"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["caption", b"caption", "profilePictureURL", b"profilePictureURL", "thumbnailImageURL", b"thumbnailImageURL", "username", b"username"]) -> None: ... + +global___VideoEndCard = VideoEndCard + +@typing.final +class DeviceListMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SENDERKEYHASH_FIELD_NUMBER: builtins.int + SENDERTIMESTAMP_FIELD_NUMBER: builtins.int + SENDERKEYINDEXES_FIELD_NUMBER: builtins.int + SENDERACCOUNTTYPE_FIELD_NUMBER: builtins.int + RECEIVERACCOUNTTYPE_FIELD_NUMBER: builtins.int + RECIPIENTKEYHASH_FIELD_NUMBER: builtins.int + RECIPIENTTIMESTAMP_FIELD_NUMBER: builtins.int + RECIPIENTKEYINDEXES_FIELD_NUMBER: builtins.int + senderKeyHash: builtins.bytes + senderTimestamp: builtins.int + senderAccountType: waAdv.WAAdv_pb2.ADVEncryptionType.ValueType + receiverAccountType: waAdv.WAAdv_pb2.ADVEncryptionType.ValueType + recipientKeyHash: builtins.bytes + recipientTimestamp: builtins.int + @property + def senderKeyIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + @property + def recipientKeyIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + senderKeyHash: builtins.bytes | None = ..., + senderTimestamp: builtins.int | None = ..., + senderKeyIndexes: collections.abc.Iterable[builtins.int] | None = ..., + senderAccountType: waAdv.WAAdv_pb2.ADVEncryptionType.ValueType | None = ..., + receiverAccountType: waAdv.WAAdv_pb2.ADVEncryptionType.ValueType | None = ..., + recipientKeyHash: builtins.bytes | None = ..., + recipientTimestamp: builtins.int | None = ..., + recipientKeyIndexes: collections.abc.Iterable[builtins.int] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["receiverAccountType", b"receiverAccountType", "recipientKeyHash", b"recipientKeyHash", "recipientTimestamp", b"recipientTimestamp", "senderAccountType", b"senderAccountType", "senderKeyHash", b"senderKeyHash", "senderTimestamp", b"senderTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["receiverAccountType", b"receiverAccountType", "recipientKeyHash", b"recipientKeyHash", "recipientKeyIndexes", b"recipientKeyIndexes", "recipientTimestamp", b"recipientTimestamp", "senderAccountType", b"senderAccountType", "senderKeyHash", b"senderKeyHash", "senderKeyIndexes", b"senderKeyIndexes", "senderTimestamp", b"senderTimestamp"]) -> None: ... + +global___DeviceListMetadata = DeviceListMetadata + +@typing.final +class EmbeddedMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STANZAID_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + stanzaID: builtins.str + @property + def message(self) -> global___Message: ... + def __init__( + self, + *, + stanzaID: builtins.str | None = ..., + message: global___Message | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["message", b"message", "stanzaID", b"stanzaID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["message", b"message", "stanzaID", b"stanzaID"]) -> None: ... + +global___EmbeddedMessage = EmbeddedMessage + +@typing.final +class EmbeddedMusic(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MUSICCONTENTMEDIAID_FIELD_NUMBER: builtins.int + SONGID_FIELD_NUMBER: builtins.int + AUTHOR_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + ARTWORKDIRECTPATH_FIELD_NUMBER: builtins.int + ARTWORKSHA256_FIELD_NUMBER: builtins.int + ARTWORKENCSHA256_FIELD_NUMBER: builtins.int + ARTISTATTRIBUTION_FIELD_NUMBER: builtins.int + COUNTRYBLOCKLIST_FIELD_NUMBER: builtins.int + ISEXPLICIT_FIELD_NUMBER: builtins.int + ARTWORKMEDIAKEY_FIELD_NUMBER: builtins.int + MUSICSONGSTARTTIMEINMS_FIELD_NUMBER: builtins.int + DERIVEDCONTENTSTARTTIMEINMS_FIELD_NUMBER: builtins.int + OVERLAPDURATIONINMS_FIELD_NUMBER: builtins.int + musicContentMediaID: builtins.str + songID: builtins.str + author: builtins.str + title: builtins.str + artworkDirectPath: builtins.str + artworkSHA256: builtins.bytes + artworkEncSHA256: builtins.bytes + artistAttribution: builtins.str + countryBlocklist: builtins.bytes + isExplicit: builtins.bool + artworkMediaKey: builtins.bytes + musicSongStartTimeInMS: builtins.int + derivedContentStartTimeInMS: builtins.int + overlapDurationInMS: builtins.int + def __init__( + self, + *, + musicContentMediaID: builtins.str | None = ..., + songID: builtins.str | None = ..., + author: builtins.str | None = ..., + title: builtins.str | None = ..., + artworkDirectPath: builtins.str | None = ..., + artworkSHA256: builtins.bytes | None = ..., + artworkEncSHA256: builtins.bytes | None = ..., + artistAttribution: builtins.str | None = ..., + countryBlocklist: builtins.bytes | None = ..., + isExplicit: builtins.bool | None = ..., + artworkMediaKey: builtins.bytes | None = ..., + musicSongStartTimeInMS: builtins.int | None = ..., + derivedContentStartTimeInMS: builtins.int | None = ..., + overlapDurationInMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["artistAttribution", b"artistAttribution", "artworkDirectPath", b"artworkDirectPath", "artworkEncSHA256", b"artworkEncSHA256", "artworkMediaKey", b"artworkMediaKey", "artworkSHA256", b"artworkSHA256", "author", b"author", "countryBlocklist", b"countryBlocklist", "derivedContentStartTimeInMS", b"derivedContentStartTimeInMS", "isExplicit", b"isExplicit", "musicContentMediaID", b"musicContentMediaID", "musicSongStartTimeInMS", b"musicSongStartTimeInMS", "overlapDurationInMS", b"overlapDurationInMS", "songID", b"songID", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["artistAttribution", b"artistAttribution", "artworkDirectPath", b"artworkDirectPath", "artworkEncSHA256", b"artworkEncSHA256", "artworkMediaKey", b"artworkMediaKey", "artworkSHA256", b"artworkSHA256", "author", b"author", "countryBlocklist", b"countryBlocklist", "derivedContentStartTimeInMS", b"derivedContentStartTimeInMS", "isExplicit", b"isExplicit", "musicContentMediaID", b"musicContentMediaID", "musicSongStartTimeInMS", b"musicSongStartTimeInMS", "overlapDurationInMS", b"overlapDurationInMS", "songID", b"songID", "title", b"title"]) -> None: ... + +global___EmbeddedMusic = EmbeddedMusic + +@typing.final +class EmbeddedContent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EMBEDDEDMESSAGE_FIELD_NUMBER: builtins.int + EMBEDDEDMUSIC_FIELD_NUMBER: builtins.int + @property + def embeddedMessage(self) -> global___EmbeddedMessage: ... + @property + def embeddedMusic(self) -> global___EmbeddedMusic: ... + def __init__( + self, + *, + embeddedMessage: global___EmbeddedMessage | None = ..., + embeddedMusic: global___EmbeddedMusic | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["content", b"content", "embeddedMessage", b"embeddedMessage", "embeddedMusic", b"embeddedMusic"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["content", b"content", "embeddedMessage", b"embeddedMessage", "embeddedMusic", b"embeddedMusic"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["content", b"content"]) -> typing.Literal["embeddedMessage", "embeddedMusic"] | None: ... + +global___EmbeddedContent = EmbeddedContent + +@typing.final +class TapLinkAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + TAPURL_FIELD_NUMBER: builtins.int + title: builtins.str + tapURL: builtins.str + def __init__( + self, + *, + title: builtins.str | None = ..., + tapURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["tapURL", b"tapURL", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["tapURL", b"tapURL", "title", b"title"]) -> None: ... + +global___TapLinkAction = TapLinkAction + +@typing.final +class Point(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + XDEPRECATED_FIELD_NUMBER: builtins.int + YDEPRECATED_FIELD_NUMBER: builtins.int + X_FIELD_NUMBER: builtins.int + Y_FIELD_NUMBER: builtins.int + xDeprecated: builtins.int + yDeprecated: builtins.int + x: builtins.float + y: builtins.float + def __init__( + self, + *, + xDeprecated: builtins.int | None = ..., + yDeprecated: builtins.int | None = ..., + x: builtins.float | None = ..., + y: builtins.float | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["x", b"x", "xDeprecated", b"xDeprecated", "y", b"y", "yDeprecated", b"yDeprecated"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["x", b"x", "xDeprecated", b"xDeprecated", "y", b"y", "yDeprecated", b"yDeprecated"]) -> None: ... + +global___Point = Point + +@typing.final +class Location(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DEGREESLATITUDE_FIELD_NUMBER: builtins.int + DEGREESLONGITUDE_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + degreesLatitude: builtins.float + degreesLongitude: builtins.float + name: builtins.str + def __init__( + self, + *, + degreesLatitude: builtins.float | None = ..., + degreesLongitude: builtins.float | None = ..., + name: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "name", b"name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "name", b"name"]) -> None: ... + +global___Location = Location + +@typing.final +class TemplateButton(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class CallButton(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYTEXT_FIELD_NUMBER: builtins.int + PHONENUMBER_FIELD_NUMBER: builtins.int + @property + def displayText(self) -> global___HighlyStructuredMessage: ... + @property + def phoneNumber(self) -> global___HighlyStructuredMessage: ... + def __init__( + self, + *, + displayText: global___HighlyStructuredMessage | None = ..., + phoneNumber: global___HighlyStructuredMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["displayText", b"displayText", "phoneNumber", b"phoneNumber"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["displayText", b"displayText", "phoneNumber", b"phoneNumber"]) -> None: ... + + @typing.final + class URLButton(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYTEXT_FIELD_NUMBER: builtins.int + URL_FIELD_NUMBER: builtins.int + @property + def displayText(self) -> global___HighlyStructuredMessage: ... + @property + def URL(self) -> global___HighlyStructuredMessage: ... + def __init__( + self, + *, + displayText: global___HighlyStructuredMessage | None = ..., + URL: global___HighlyStructuredMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "displayText", b"displayText"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "displayText", b"displayText"]) -> None: ... + + @typing.final + class QuickReplyButton(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYTEXT_FIELD_NUMBER: builtins.int + ID_FIELD_NUMBER: builtins.int + ID: builtins.str + @property + def displayText(self) -> global___HighlyStructuredMessage: ... + def __init__( + self, + *, + displayText: global___HighlyStructuredMessage | None = ..., + ID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "displayText", b"displayText"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "displayText", b"displayText"]) -> None: ... + + QUICKREPLYBUTTON_FIELD_NUMBER: builtins.int + URLBUTTON_FIELD_NUMBER: builtins.int + CALLBUTTON_FIELD_NUMBER: builtins.int + INDEX_FIELD_NUMBER: builtins.int + index: builtins.int + @property + def quickReplyButton(self) -> global___TemplateButton.QuickReplyButton: ... + @property + def urlButton(self) -> global___TemplateButton.URLButton: ... + @property + def callButton(self) -> global___TemplateButton.CallButton: ... + def __init__( + self, + *, + quickReplyButton: global___TemplateButton.QuickReplyButton | None = ..., + urlButton: global___TemplateButton.URLButton | None = ..., + callButton: global___TemplateButton.CallButton | None = ..., + index: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["button", b"button", "callButton", b"callButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["button", b"button", "callButton", b"callButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["button", b"button"]) -> typing.Literal["quickReplyButton", "urlButton", "callButton"] | None: ... + +global___TemplateButton = TemplateButton + +@typing.final +class Money(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VALUE_FIELD_NUMBER: builtins.int + OFFSET_FIELD_NUMBER: builtins.int + CURRENCYCODE_FIELD_NUMBER: builtins.int + value: builtins.int + offset: builtins.int + currencyCode: builtins.str + def __init__( + self, + *, + value: builtins.int | None = ..., + offset: builtins.int | None = ..., + currencyCode: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["currencyCode", b"currencyCode", "offset", b"offset", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["currencyCode", b"currencyCode", "offset", b"offset", "value", b"value"]) -> None: ... + +global___Money = Money + +@typing.final +class ActionLink(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + URL_FIELD_NUMBER: builtins.int + BUTTONTITLE_FIELD_NUMBER: builtins.int + URL: builtins.str + buttonTitle: builtins.str + def __init__( + self, + *, + URL: builtins.str | None = ..., + buttonTitle: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "buttonTitle", b"buttonTitle"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "buttonTitle", b"buttonTitle"]) -> None: ... + +global___ActionLink = ActionLink + +@typing.final +class GroupMention(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + GROUPJID_FIELD_NUMBER: builtins.int + GROUPSUBJECT_FIELD_NUMBER: builtins.int + groupJID: builtins.str + groupSubject: builtins.str + def __init__( + self, + *, + groupJID: builtins.str | None = ..., + groupSubject: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["groupJID", b"groupJID", "groupSubject", b"groupSubject"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["groupJID", b"groupJID", "groupSubject", b"groupSubject"]) -> None: ... + +global___GroupMention = GroupMention + +@typing.final +class MessageSecretMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VERSION_FIELD_NUMBER: builtins.int + ENCIV_FIELD_NUMBER: builtins.int + ENCPAYLOAD_FIELD_NUMBER: builtins.int + version: builtins.int + encIV: builtins.bytes + encPayload: builtins.bytes + def __init__( + self, + *, + version: builtins.int | None = ..., + encIV: builtins.bytes | None = ..., + encPayload: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "version", b"version"]) -> None: ... + +global___MessageSecretMessage = MessageSecretMessage + +@typing.final +class MediaNotifyMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EXPRESSPATHURL_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + expressPathURL: builtins.str + fileEncSHA256: builtins.bytes + fileLength: builtins.int + def __init__( + self, + *, + expressPathURL: builtins.str | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + fileLength: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["expressPathURL", b"expressPathURL", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["expressPathURL", b"expressPathURL", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength"]) -> None: ... + +global___MediaNotifyMessage = MediaNotifyMessage + +@typing.final +class LIDMigrationMappingSyncMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ENCODEDMAPPINGPAYLOAD_FIELD_NUMBER: builtins.int + encodedMappingPayload: builtins.bytes + def __init__( + self, + *, + encodedMappingPayload: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encodedMappingPayload", b"encodedMappingPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encodedMappingPayload", b"encodedMappingPayload"]) -> None: ... + +global___LIDMigrationMappingSyncMessage = LIDMigrationMappingSyncMessage + +@typing.final +class UrlTrackingMap(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class UrlTrackingMapElement(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ORIGINALURL_FIELD_NUMBER: builtins.int + UNCONSENTEDUSERSURL_FIELD_NUMBER: builtins.int + CONSENTEDUSERSURL_FIELD_NUMBER: builtins.int + CARDINDEX_FIELD_NUMBER: builtins.int + originalURL: builtins.str + unconsentedUsersURL: builtins.str + consentedUsersURL: builtins.str + cardIndex: builtins.int + def __init__( + self, + *, + originalURL: builtins.str | None = ..., + unconsentedUsersURL: builtins.str | None = ..., + consentedUsersURL: builtins.str | None = ..., + cardIndex: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["cardIndex", b"cardIndex", "consentedUsersURL", b"consentedUsersURL", "originalURL", b"originalURL", "unconsentedUsersURL", b"unconsentedUsersURL"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["cardIndex", b"cardIndex", "consentedUsersURL", b"consentedUsersURL", "originalURL", b"originalURL", "unconsentedUsersURL", b"unconsentedUsersURL"]) -> None: ... + + URLTRACKINGMAPELEMENTS_FIELD_NUMBER: builtins.int + @property + def urlTrackingMapElements(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UrlTrackingMap.UrlTrackingMapElement]: ... + def __init__( + self, + *, + urlTrackingMapElements: collections.abc.Iterable[global___UrlTrackingMap.UrlTrackingMapElement] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["urlTrackingMapElements", b"urlTrackingMapElements"]) -> None: ... + +global___UrlTrackingMap = UrlTrackingMap + +@typing.final +class MemberLabel(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LABEL_FIELD_NUMBER: builtins.int + LABELTIMESTAMP_FIELD_NUMBER: builtins.int + label: builtins.str + labelTimestamp: builtins.int + def __init__( + self, + *, + label: builtins.str | None = ..., + labelTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["label", b"label", "labelTimestamp", b"labelTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["label", b"label", "labelTimestamp", b"labelTimestamp"]) -> None: ... + +global___MemberLabel = MemberLabel + +@typing.final +class AIRichResponseMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGETYPE_FIELD_NUMBER: builtins.int + SUBMESSAGES_FIELD_NUMBER: builtins.int + UNIFIEDRESPONSE_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + messageType: waAICommon.WAAICommon_pb2.AIRichResponseMessageType.ValueType + @property + def submessages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waAICommon.WAAICommon_pb2.AIRichResponseSubMessage]: ... + @property + def unifiedResponse(self) -> waAICommon.WAAICommon_pb2.AIRichResponseUnifiedResponse: ... + @property + def contextInfo(self) -> global___ContextInfo: ... + def __init__( + self, + *, + messageType: waAICommon.WAAICommon_pb2.AIRichResponseMessageType.ValueType | None = ..., + submessages: collections.abc.Iterable[waAICommon.WAAICommon_pb2.AIRichResponseSubMessage] | None = ..., + unifiedResponse: waAICommon.WAAICommon_pb2.AIRichResponseUnifiedResponse | None = ..., + contextInfo: global___ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "messageType", b"messageType", "unifiedResponse", b"unifiedResponse"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "messageType", b"messageType", "submessages", b"submessages", "unifiedResponse", b"unifiedResponse"]) -> None: ... + +global___AIRichResponseMessage = AIRichResponseMessage + +@typing.final +class AIQueryFanout(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGEKEY_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + timestamp: builtins.int + @property + def messageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def message(self) -> global___Message: ... + def __init__( + self, + *, + messageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + message: global___Message | None = ..., + timestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["message", b"message", "messageKey", b"messageKey", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["message", b"message", "messageKey", b"messageKey", "timestamp", b"timestamp"]) -> None: ... + +global___AIQueryFanout = AIQueryFanout diff --git a/neonize/proto/waE2EGuest/WAWebProtobufsE2EGuest_pb2.py b/neonize/proto/waE2EGuest/WAWebProtobufsE2EGuest_pb2.py new file mode 100644 index 00000000..f81d75e6 --- /dev/null +++ b/neonize/proto/waE2EGuest/WAWebProtobufsE2EGuest_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waE2EGuest/WAWebProtobufsE2EGuest.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waE2EGuest/WAWebProtobufsE2EGuest.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'waE2EGuest/WAWebProtobufsE2EGuest.proto\x12\x16WAWebProtobufsE2EGuest\"\x8e\x03\n\x07Message\x12\x14\n\x0c\x63onversation\x18\x01 \x01(\t\x12P\n\x13\x65xtendedTextMessage\x18\x06 \x01(\x0b\x32\x33.WAWebProtobufsE2EGuest.Message.ExtendedTextMessage\x12\x46\n\x12messageContextInfo\x18# \x01(\x0b\x32*.WAWebProtobufsE2EGuest.MessageContextInfo\x1a\x65\n\x13\x45xtendedTextMessage\x12\x0c\n\x04text\x18\x01 \x01(\t\x12@\n\x0b\x63ontextInfo\x18\x11 \x01(\x0b\x32+.WAWebProtobufsE2EGuest.Message.ContextInfo\x1al\n\x0b\x43ontextInfo\x12\x10\n\x08stanzaID\x18\x01 \x01(\t\x12\x13\n\x0bparticipant\x18\x02 \x01(\t\x12\x36\n\rquotedMessage\x18\x03 \x01(\x0b\x32\x1f.WAWebProtobufsE2EGuest.Message\"+\n\x12MessageContextInfo\x12\x15\n\rmessageSecret\x18\x03 \x01(\x0c\x42&Z$go.mau.fi/whatsmeow/proto/waE2EGuest') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waE2EGuest.WAWebProtobufsE2EGuest_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z$go.mau.fi/whatsmeow/proto/waE2EGuest' + _globals['_MESSAGE']._serialized_start=68 + _globals['_MESSAGE']._serialized_end=466 + _globals['_MESSAGE_EXTENDEDTEXTMESSAGE']._serialized_start=255 + _globals['_MESSAGE_EXTENDEDTEXTMESSAGE']._serialized_end=356 + _globals['_MESSAGE_CONTEXTINFO']._serialized_start=358 + _globals['_MESSAGE_CONTEXTINFO']._serialized_end=466 + _globals['_MESSAGECONTEXTINFO']._serialized_start=468 + _globals['_MESSAGECONTEXTINFO']._serialized_end=511 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waE2EGuest/WAWebProtobufsE2EGuest_pb2.pyi b/neonize/proto/waE2EGuest/WAWebProtobufsE2EGuest_pb2.pyi new file mode 100644 index 00000000..178c4926 --- /dev/null +++ b/neonize/proto/waE2EGuest/WAWebProtobufsE2EGuest_pb2.pyi @@ -0,0 +1,90 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class Message(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class ExtendedTextMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TEXT_FIELD_NUMBER: builtins.int + CONTEXTINFO_FIELD_NUMBER: builtins.int + text: builtins.str + @property + def contextInfo(self) -> global___Message.ContextInfo: ... + def __init__( + self, + *, + text: builtins.str | None = ..., + contextInfo: global___Message.ContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "text", b"text"]) -> None: ... + + @typing.final + class ContextInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STANZAID_FIELD_NUMBER: builtins.int + PARTICIPANT_FIELD_NUMBER: builtins.int + QUOTEDMESSAGE_FIELD_NUMBER: builtins.int + stanzaID: builtins.str + participant: builtins.str + @property + def quotedMessage(self) -> global___Message: ... + def __init__( + self, + *, + stanzaID: builtins.str | None = ..., + participant: builtins.str | None = ..., + quotedMessage: global___Message | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["participant", b"participant", "quotedMessage", b"quotedMessage", "stanzaID", b"stanzaID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant", b"participant", "quotedMessage", b"quotedMessage", "stanzaID", b"stanzaID"]) -> None: ... + + CONVERSATION_FIELD_NUMBER: builtins.int + EXTENDEDTEXTMESSAGE_FIELD_NUMBER: builtins.int + MESSAGECONTEXTINFO_FIELD_NUMBER: builtins.int + conversation: builtins.str + @property + def extendedTextMessage(self) -> global___Message.ExtendedTextMessage: ... + @property + def messageContextInfo(self) -> global___MessageContextInfo: ... + def __init__( + self, + *, + conversation: builtins.str | None = ..., + extendedTextMessage: global___Message.ExtendedTextMessage | None = ..., + messageContextInfo: global___MessageContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["conversation", b"conversation", "extendedTextMessage", b"extendedTextMessage", "messageContextInfo", b"messageContextInfo"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["conversation", b"conversation", "extendedTextMessage", b"extendedTextMessage", "messageContextInfo", b"messageContextInfo"]) -> None: ... + +global___Message = Message + +@typing.final +class MessageContextInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGESECRET_FIELD_NUMBER: builtins.int + messageSecret: builtins.bytes + def __init__( + self, + *, + messageSecret: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageSecret", b"messageSecret"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageSecret", b"messageSecret"]) -> None: ... + +global___MessageContextInfo = MessageContextInfo diff --git a/neonize/proto/waEphemeral/WAWebProtobufsEphemeral_pb2.py b/neonize/proto/waEphemeral/WAWebProtobufsEphemeral_pb2.py new file mode 100644 index 00000000..ec8e6c29 --- /dev/null +++ b/neonize/proto/waEphemeral/WAWebProtobufsEphemeral_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waEphemeral/WAWebProtobufsEphemeral.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waEphemeral/WAWebProtobufsEphemeral.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)waEphemeral/WAWebProtobufsEphemeral.proto\x12\x17WAWebProtobufsEphemeral\"7\n\x10\x45phemeralSetting\x12\x10\n\x08\x64uration\x18\x01 \x01(\x0f\x12\x11\n\ttimestamp\x18\x02 \x01(\x10\x42\'Z%go.mau.fi/whatsmeow/proto/waEphemeral') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waEphemeral.WAWebProtobufsEphemeral_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z%go.mau.fi/whatsmeow/proto/waEphemeral' + _globals['_EPHEMERALSETTING']._serialized_start=70 + _globals['_EPHEMERALSETTING']._serialized_end=125 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waEphemeral/WAWebProtobufsEphemeral_pb2.pyi b/neonize/proto/waEphemeral/WAWebProtobufsEphemeral_pb2.pyi new file mode 100644 index 00000000..630efc0c --- /dev/null +++ b/neonize/proto/waEphemeral/WAWebProtobufsEphemeral_pb2.pyi @@ -0,0 +1,30 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class EphemeralSetting(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DURATION_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + duration: builtins.int + timestamp: builtins.int + def __init__( + self, + *, + duration: builtins.int | None = ..., + timestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["duration", b"duration", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["duration", b"duration", "timestamp", b"timestamp"]) -> None: ... + +global___EphemeralSetting = EphemeralSetting diff --git a/neonize/proto/waFingerprint/WAFingerprint_pb2.py b/neonize/proto/waFingerprint/WAFingerprint_pb2.py new file mode 100644 index 00000000..c14a0680 --- /dev/null +++ b/neonize/proto/waFingerprint/WAFingerprint_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waFingerprint/WAFingerprint.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waFingerprint/WAFingerprint.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!waFingerprint/WAFingerprint.proto\x12\rWAFingerprint\"\xb7\x01\n\x0f\x46ingerprintData\x12\x11\n\tpublicKey\x18\x01 \x01(\x0c\x12\x14\n\x0cpnIdentifier\x18\x02 \x01(\x0c\x12\x15\n\rlidIdentifier\x18\x03 \x01(\x0c\x12\x1a\n\x12usernameIdentifier\x18\x04 \x01(\x0c\x12/\n\x0bhostedState\x18\x05 \x01(\x0e\x32\x1a.WAFingerprint.HostedState\x12\x17\n\x0fhashedPublicKey\x18\x06 \x01(\x0c\"\x9b\x01\n\x13\x43ombinedFingerprint\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x38\n\x10localFingerprint\x18\x02 \x01(\x0b\x32\x1e.WAFingerprint.FingerprintData\x12\x39\n\x11remoteFingerprint\x18\x03 \x01(\x0b\x32\x1e.WAFingerprint.FingerprintData*#\n\x0bHostedState\x12\x08\n\x04\x45\x32\x45\x45\x10\x00\x12\n\n\x06HOSTED\x10\x01\x42)Z\'go.mau.fi/whatsmeow/proto/waFingerprint') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waFingerprint.WAFingerprint_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\'go.mau.fi/whatsmeow/proto/waFingerprint' + _globals['_HOSTEDSTATE']._serialized_start=396 + _globals['_HOSTEDSTATE']._serialized_end=431 + _globals['_FINGERPRINTDATA']._serialized_start=53 + _globals['_FINGERPRINTDATA']._serialized_end=236 + _globals['_COMBINEDFINGERPRINT']._serialized_start=239 + _globals['_COMBINEDFINGERPRINT']._serialized_end=394 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waFingerprint/WAFingerprint_pb2.pyi b/neonize/proto/waFingerprint/WAFingerprint_pb2.pyi new file mode 100644 index 00000000..94318df5 --- /dev/null +++ b/neonize/proto/waFingerprint/WAFingerprint_pb2.pyi @@ -0,0 +1,88 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _HostedState: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _HostedStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_HostedState.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + E2EE: _HostedState.ValueType # 0 + HOSTED: _HostedState.ValueType # 1 + +class HostedState(_HostedState, metaclass=_HostedStateEnumTypeWrapper): ... + +E2EE: HostedState.ValueType # 0 +HOSTED: HostedState.ValueType # 1 +global___HostedState = HostedState + +@typing.final +class FingerprintData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PUBLICKEY_FIELD_NUMBER: builtins.int + PNIDENTIFIER_FIELD_NUMBER: builtins.int + LIDIDENTIFIER_FIELD_NUMBER: builtins.int + USERNAMEIDENTIFIER_FIELD_NUMBER: builtins.int + HOSTEDSTATE_FIELD_NUMBER: builtins.int + HASHEDPUBLICKEY_FIELD_NUMBER: builtins.int + publicKey: builtins.bytes + pnIdentifier: builtins.bytes + lidIdentifier: builtins.bytes + usernameIdentifier: builtins.bytes + hostedState: global___HostedState.ValueType + hashedPublicKey: builtins.bytes + def __init__( + self, + *, + publicKey: builtins.bytes | None = ..., + pnIdentifier: builtins.bytes | None = ..., + lidIdentifier: builtins.bytes | None = ..., + usernameIdentifier: builtins.bytes | None = ..., + hostedState: global___HostedState.ValueType | None = ..., + hashedPublicKey: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["hashedPublicKey", b"hashedPublicKey", "hostedState", b"hostedState", "lidIdentifier", b"lidIdentifier", "pnIdentifier", b"pnIdentifier", "publicKey", b"publicKey", "usernameIdentifier", b"usernameIdentifier"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["hashedPublicKey", b"hashedPublicKey", "hostedState", b"hostedState", "lidIdentifier", b"lidIdentifier", "pnIdentifier", b"pnIdentifier", "publicKey", b"publicKey", "usernameIdentifier", b"usernameIdentifier"]) -> None: ... + +global___FingerprintData = FingerprintData + +@typing.final +class CombinedFingerprint(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VERSION_FIELD_NUMBER: builtins.int + LOCALFINGERPRINT_FIELD_NUMBER: builtins.int + REMOTEFINGERPRINT_FIELD_NUMBER: builtins.int + version: builtins.int + @property + def localFingerprint(self) -> global___FingerprintData: ... + @property + def remoteFingerprint(self) -> global___FingerprintData: ... + def __init__( + self, + *, + version: builtins.int | None = ..., + localFingerprint: global___FingerprintData | None = ..., + remoteFingerprint: global___FingerprintData | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["localFingerprint", b"localFingerprint", "remoteFingerprint", b"remoteFingerprint", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["localFingerprint", b"localFingerprint", "remoteFingerprint", b"remoteFingerprint", "version", b"version"]) -> None: ... + +global___CombinedFingerprint = CombinedFingerprint diff --git a/neonize/proto/waGroupHistory/WAWebProtobufsGroupHistory_pb2.py b/neonize/proto/waGroupHistory/WAWebProtobufsGroupHistory_pb2.py new file mode 100644 index 00000000..d1c11bd5 --- /dev/null +++ b/neonize/proto/waGroupHistory/WAWebProtobufsGroupHistory_pb2.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waGroupHistory/WAWebProtobufsGroupHistory.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waGroupHistory/WAWebProtobufsGroupHistory.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waWeb import WAWebProtobufsWeb_pb2 as waWeb_dot_WAWebProtobufsWeb__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/waGroupHistory/WAWebProtobufsGroupHistory.proto\x12\x1aWAWebProtobufsGroupHistory\x1a\x1dwaWeb/WAWebProtobufsWeb.proto\"C\n\x0cGroupHistory\x12\x33\n\x08messages\x18\x01 \x03(\x0b\x32!.WAWebProtobufsWeb.WebMessageInfoB*Z(go.mau.fi/whatsmeow/proto/waGroupHistory') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waGroupHistory.WAWebProtobufsGroupHistory_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z(go.mau.fi/whatsmeow/proto/waGroupHistory' + _globals['_GROUPHISTORY']._serialized_start=110 + _globals['_GROUPHISTORY']._serialized_end=177 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waGroupHistory/WAWebProtobufsGroupHistory_pb2.pyi b/neonize/proto/waGroupHistory/WAWebProtobufsGroupHistory_pb2.pyi new file mode 100644 index 00000000..b487c07d --- /dev/null +++ b/neonize/proto/waGroupHistory/WAWebProtobufsGroupHistory_pb2.pyi @@ -0,0 +1,30 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing +import waWeb.WAWebProtobufsWeb_pb2 + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class GroupHistory(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGES_FIELD_NUMBER: builtins.int + @property + def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waWeb.WAWebProtobufsWeb_pb2.WebMessageInfo]: ... + def __init__( + self, + *, + messages: collections.abc.Iterable[waWeb.WAWebProtobufsWeb_pb2.WebMessageInfo] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["messages", b"messages"]) -> None: ... + +global___GroupHistory = GroupHistory diff --git a/neonize/proto/waHistorySync/WAWebProtobufsHistorySync_pb2.py b/neonize/proto/waHistorySync/WAWebProtobufsHistorySync_pb2.py new file mode 100644 index 00000000..44b55d27 --- /dev/null +++ b/neonize/proto/waHistorySync/WAWebProtobufsHistorySync_pb2.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waHistorySync/WAWebProtobufsHistorySync.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waHistorySync/WAWebProtobufsHistorySync.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waSyncAction import WASyncAction_pb2 as waSyncAction_dot_WASyncAction__pb2 +from waChatLockSettings import WAProtobufsChatLockSettings_pb2 as waChatLockSettings_dot_WAProtobufsChatLockSettings__pb2 +from waE2E import WAWebProtobufsE2E_pb2 as waE2E_dot_WAWebProtobufsE2E__pb2 +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 +from waWeb import WAWebProtobufsWeb_pb2 as waWeb_dot_WAWebProtobufsWeb__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-waHistorySync/WAWebProtobufsHistorySync.proto\x12\x19WAWebProtobufsHistorySync\x1a\x1fwaSyncAction/WASyncAction.proto\x1a\x34waChatLockSettings/WAProtobufsChatLockSettings.proto\x1a\x1dwaE2E/WAWebProtobufsE2E.proto\x1a\x17waCommon/WACommon.proto\x1a\x1dwaWeb/WAWebProtobufsWeb.proto\"\xe2\x08\n\x0bHistorySync\x12H\n\x08syncType\x18\x01 \x02(\x0e\x32\x36.WAWebProtobufsHistorySync.HistorySync.HistorySyncType\x12>\n\rconversations\x18\x02 \x03(\x0b\x32\'.WAWebProtobufsHistorySync.Conversation\x12;\n\x10statusV3Messages\x18\x03 \x03(\x0b\x32!.WAWebProtobufsWeb.WebMessageInfo\x12\x12\n\nchunkOrder\x18\x05 \x01(\r\x12\x10\n\x08progress\x18\x06 \x01(\r\x12\x36\n\tpushnames\x18\x07 \x03(\x0b\x32#.WAWebProtobufsHistorySync.Pushname\x12\x41\n\x0eglobalSettings\x18\x08 \x01(\x0b\x32).WAWebProtobufsHistorySync.GlobalSettings\x12\x1a\n\x12threadIDUserSecret\x18\t \x01(\x0c\x12\x1f\n\x17threadDsTimeframeOffset\x18\n \x01(\r\x12\x42\n\x0erecentStickers\x18\x0b \x03(\x0b\x32*.WAWebProtobufsHistorySync.StickerMetadata\x12\x45\n\x10pastParticipants\x18\x0c \x03(\x0b\x32+.WAWebProtobufsHistorySync.PastParticipants\x12\x33\n\x0e\x63\x61llLogRecords\x18\r \x03(\x0b\x32\x1b.WASyncAction.CallLogRecord\x12R\n\x0f\x61iWaitListState\x18\x0e \x01(\x0e\x32\x39.WAWebProtobufsHistorySync.HistorySync.BotAIWaitListState\x12T\n\x18phoneNumberToLidMappings\x18\x0f \x03(\x0b\x32\x32.WAWebProtobufsHistorySync.PhoneNumberToLIDMapping\x12\x1a\n\x12\x63ompanionMetaNonce\x18\x10 \x01(\t\x12,\n$shareableChatIdentifierEncryptionKey\x18\x11 \x01(\x0c\x12\x34\n\x08\x61\x63\x63ounts\x18\x12 \x03(\x0b\x32\".WAWebProtobufsHistorySync.Account\"7\n\x12\x42otAIWaitListState\x12\x0f\n\x0bIN_WAITLIST\x10\x00\x12\x10\n\x0c\x41I_AVAILABLE\x10\x01\"\x8a\x01\n\x0fHistorySyncType\x12\x15\n\x11INITIAL_BOOTSTRAP\x10\x00\x12\x15\n\x11INITIAL_STATUS_V3\x10\x01\x12\x08\n\x04\x46ULL\x10\x02\x12\n\n\x06RECENT\x10\x03\x12\r\n\tPUSH_NAME\x10\x04\x12\x15\n\x11NON_BLOCKING_DATA\x10\x05\x12\r\n\tON_DEMAND\x10\x06\"\x91\x0e\n\x0c\x43onversation\x12\n\n\x02ID\x18\x01 \x02(\t\x12;\n\x08messages\x18\x02 \x03(\x0b\x32).WAWebProtobufsHistorySync.HistorySyncMsg\x12\x0e\n\x06newJID\x18\x03 \x01(\t\x12\x0e\n\x06oldJID\x18\x04 \x01(\t\x12\x18\n\x10lastMsgTimestamp\x18\x05 \x01(\x04\x12\x13\n\x0bunreadCount\x18\x06 \x01(\r\x12\x10\n\x08readOnly\x18\x07 \x01(\x08\x12\x1c\n\x14\x65ndOfHistoryTransfer\x18\x08 \x01(\x08\x12\x1b\n\x13\x65phemeralExpiration\x18\t \x01(\r\x12!\n\x19\x65phemeralSettingTimestamp\x18\n \x01(\x03\x12\x62\n\x18\x65ndOfHistoryTransferType\x18\x0b \x01(\x0e\x32@.WAWebProtobufsHistorySync.Conversation.EndOfHistoryTransferType\x12\x1d\n\x15\x63onversationTimestamp\x18\x0c \x01(\x04\x12\x0c\n\x04name\x18\r \x01(\t\x12\r\n\x05pHash\x18\x0e \x01(\t\x12\x0f\n\x07notSpam\x18\x0f \x01(\x08\x12\x10\n\x08\x61rchived\x18\x10 \x01(\x08\x12=\n\x10\x64isappearingMode\x18\x11 \x01(\x0b\x32#.WAWebProtobufsE2E.DisappearingMode\x12\x1a\n\x12unreadMentionCount\x18\x12 \x01(\r\x12\x16\n\x0emarkedAsUnread\x18\x13 \x01(\x08\x12@\n\x0bparticipant\x18\x14 \x03(\x0b\x32+.WAWebProtobufsHistorySync.GroupParticipant\x12\x0f\n\x07tcToken\x18\x15 \x01(\x0c\x12\x18\n\x10tcTokenTimestamp\x18\x16 \x01(\x04\x12!\n\x19\x63ontactPrimaryIdentityKey\x18\x17 \x01(\x0c\x12\x0e\n\x06pinned\x18\x18 \x01(\r\x12\x13\n\x0bmuteEndTime\x18\x19 \x01(\x04\x12?\n\twallpaper\x18\x1a \x01(\x0b\x32,.WAWebProtobufsHistorySync.WallpaperSettings\x12\x43\n\x0fmediaVisibility\x18\x1b \x01(\x0e\x32*.WAWebProtobufsHistorySync.MediaVisibility\x12\x1e\n\x16tcTokenSenderTimestamp\x18\x1c \x01(\x04\x12\x11\n\tsuspended\x18\x1d \x01(\x08\x12\x12\n\nterminated\x18\x1e \x01(\x08\x12\x11\n\tcreatedAt\x18\x1f \x01(\x04\x12\x11\n\tcreatedBy\x18 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18! \x01(\t\x12\x0f\n\x07support\x18\" \x01(\x08\x12\x15\n\risParentGroup\x18# \x01(\x08\x12\x15\n\rparentGroupID\x18% \x01(\t\x12\x19\n\x11isDefaultSubgroup\x18$ \x01(\x08\x12\x13\n\x0b\x64isplayName\x18& \x01(\t\x12\r\n\x05pnJID\x18\' \x01(\t\x12\x12\n\nshareOwnPn\x18( \x01(\x08\x12\x1d\n\x15pnhDuplicateLidThread\x18) \x01(\x08\x12\x0e\n\x06lidJID\x18* \x01(\t\x12\x10\n\x08username\x18+ \x01(\t\x12\x15\n\rlidOriginType\x18, \x01(\t\x12\x15\n\rcommentsCount\x18- \x01(\r\x12\x0e\n\x06locked\x18. \x01(\x08\x12N\n\x15systemMessageToInsert\x18/ \x01(\x0e\x32/.WAWebProtobufsHistorySync.PrivacySystemMessage\x12\x18\n\x10\x63\x61piCreatedGroup\x18\x30 \x01(\x08\x12\x12\n\naccountLid\x18\x31 \x01(\t\x12\x14\n\x0climitSharing\x18\x32 \x01(\x08\x12$\n\x1climitSharingSettingTimestamp\x18\x33 \x01(\x03\x12;\n\x13limitSharingTrigger\x18\x34 \x01(\x0e\x32\x1e.WACommon.LimitSharing.Trigger\x12!\n\x19limitSharingInitiatedByMe\x18\x35 \x01(\x08\x12\x1c\n\x14maibaAiThreadEnabled\x18\x36 \x01(\x08\"\xbc\x01\n\x18\x45ndOfHistoryTransferType\x12\x30\n,COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY\x10\x00\x12\x32\n.COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY\x10\x01\x12:\n6COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY\x10\x02\"\xc8\x01\n\x10GroupParticipant\x12\x0f\n\x07userJID\x18\x01 \x02(\t\x12>\n\x04rank\x18\x02 \x01(\x0e\x32\x30.WAWebProtobufsHistorySync.GroupParticipant.Rank\x12\x33\n\x0bmemberLabel\x18\x03 \x01(\x0b\x32\x1e.WAWebProtobufsE2E.MemberLabel\".\n\x04Rank\x12\x0b\n\x07REGULAR\x10\x00\x12\t\n\x05\x41\x44MIN\x10\x01\x12\x0e\n\nSUPERADMIN\x10\x02\"\xa6\x01\n\x0fPastParticipant\x12\x0f\n\x07userJID\x18\x01 \x01(\t\x12K\n\x0bleaveReason\x18\x02 \x01(\x0e\x32\x36.WAWebProtobufsHistorySync.PastParticipant.LeaveReason\x12\x0f\n\x07leaveTS\x18\x03 \x01(\x04\"$\n\x0bLeaveReason\x12\x08\n\x04LEFT\x10\x00\x12\x0b\n\x07REMOVED\x10\x01\"8\n\x17PhoneNumberToLIDMapping\x12\r\n\x05pnJID\x18\x01 \x01(\t\x12\x0e\n\x06lidJID\x18\x02 \x01(\t\"X\n\x07\x41\x63\x63ount\x12\x0b\n\x03lid\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x13\n\x0b\x63ountryCode\x18\x03 \x01(\t\x12\x19\n\x11isUsernameDeleted\x18\x04 \x01(\x08\"X\n\x0eHistorySyncMsg\x12\x32\n\x07message\x18\x01 \x01(\x0b\x32!.WAWebProtobufsWeb.WebMessageInfo\x12\x12\n\nmsgOrderID\x18\x02 \x01(\x04\"(\n\x08Pushname\x12\n\n\x02ID\x18\x01 \x01(\t\x12\x10\n\x08pushname\x18\x02 \x01(\t\"6\n\x11WallpaperSettings\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x0f\n\x07opacity\x18\x02 \x01(\r\"\xd1\x08\n\x0eGlobalSettings\x12I\n\x13lightThemeWallpaper\x18\x01 \x01(\x0b\x32,.WAWebProtobufsHistorySync.WallpaperSettings\x12\x43\n\x0fmediaVisibility\x18\x02 \x01(\x0e\x32*.WAWebProtobufsHistorySync.MediaVisibility\x12H\n\x12\x64\x61rkThemeWallpaper\x18\x03 \x01(\x0b\x32,.WAWebProtobufsHistorySync.WallpaperSettings\x12I\n\x10\x61utoDownloadWiFi\x18\x04 \x01(\x0b\x32/.WAWebProtobufsHistorySync.AutoDownloadSettings\x12M\n\x14\x61utoDownloadCellular\x18\x05 \x01(\x0b\x32/.WAWebProtobufsHistorySync.AutoDownloadSettings\x12L\n\x13\x61utoDownloadRoaming\x18\x06 \x01(\x0b\x32/.WAWebProtobufsHistorySync.AutoDownloadSettings\x12*\n\"showIndividualNotificationsPreview\x18\x07 \x01(\x08\x12%\n\x1dshowGroupNotificationsPreview\x18\x08 \x01(\x08\x12 \n\x18\x64isappearingModeDuration\x18\t \x01(\x05\x12!\n\x19\x64isappearingModeTimestamp\x18\n \x01(\x03\x12I\n\x12\x61vatarUserSettings\x18\x0b \x01(\x0b\x32-.WAWebProtobufsHistorySync.AvatarUserSettings\x12\x10\n\x08\x66ontSize\x18\x0c \x01(\x05\x12\x1d\n\x15securityNotifications\x18\r \x01(\x08\x12\x1a\n\x12\x61utoUnarchiveChats\x18\x0e \x01(\x08\x12\x18\n\x10videoQualityMode\x18\x0f \x01(\x05\x12\x18\n\x10photoQualityMode\x18\x10 \x01(\x05\x12W\n\x1eindividualNotificationSettings\x18\x11 \x01(\x0b\x32/.WAWebProtobufsHistorySync.NotificationSettings\x12R\n\x19groupNotificationSettings\x18\x12 \x01(\x0b\x32/.WAWebProtobufsHistorySync.NotificationSettings\x12G\n\x10\x63hatLockSettings\x18\x13 \x01(\x0b\x32-.WAProtobufsChatLockSettings.ChatLockSettings\x12#\n\x1b\x63hatDbLidMigrationTimestamp\x18\x14 \x01(\x03\"w\n\x14\x41utoDownloadSettings\x12\x16\n\x0e\x64ownloadImages\x18\x01 \x01(\x08\x12\x15\n\rdownloadAudio\x18\x02 \x01(\x08\x12\x15\n\rdownloadVideo\x18\x03 \x01(\x08\x12\x19\n\x11\x64ownloadDocuments\x18\x04 \x01(\x08\"\x9d\x02\n\x0fStickerMetadata\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\x12\n\nfileSHA256\x18\x02 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x03 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x04 \x01(\x0c\x12\x10\n\x08mimetype\x18\x05 \x01(\t\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\r\n\x05width\x18\x07 \x01(\r\x12\x12\n\ndirectPath\x18\x08 \x01(\t\x12\x12\n\nfileLength\x18\t \x01(\x04\x12\x0e\n\x06weight\x18\n \x01(\x02\x12\x19\n\x11lastStickerSentTS\x18\x0b \x01(\x03\x12\x10\n\x08isLottie\x18\x0c \x01(\x08\x12\x11\n\timageHash\x18\r \x01(\t\x12\x17\n\x0fisAvatarSticker\x18\x0e \x01(\x08\"j\n\x10PastParticipants\x12\x10\n\x08groupJID\x18\x01 \x01(\t\x12\x44\n\x10pastParticipants\x18\x02 \x03(\x0b\x32*.WAWebProtobufsHistorySync.PastParticipant\"4\n\x12\x41vatarUserSettings\x12\x0c\n\x04\x46\x42ID\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\"\xa9\x01\n\x14NotificationSettings\x12\x16\n\x0emessageVibrate\x18\x01 \x01(\t\x12\x14\n\x0cmessagePopup\x18\x02 \x01(\t\x12\x14\n\x0cmessageLight\x18\x03 \x01(\t\x12 \n\x18lowPriorityNotifications\x18\x04 \x01(\x08\x12\x16\n\x0ereactionsMuted\x18\x05 \x01(\x08\x12\x13\n\x0b\x63\x61llVibrate\x18\x06 \x01(\t*/\n\x0fMediaVisibility\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x07\n\x03OFF\x10\x01\x12\x06\n\x02ON\x10\x02*E\n\x14PrivacySystemMessage\x12\x0c\n\x08\x45\x32\x45\x45_MSG\x10\x01\x12\x0e\n\nNE2EE_SELF\x10\x02\x12\x0f\n\x0bNE2EE_OTHER\x10\x03\x42)Z\'go.mau.fi/whatsmeow/proto/waHistorySync') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waHistorySync.WAWebProtobufsHistorySync_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\'go.mau.fi/whatsmeow/proto/waHistorySync' + _globals['_MEDIAVISIBILITY']._serialized_start=5746 + _globals['_MEDIAVISIBILITY']._serialized_end=5793 + _globals['_PRIVACYSYSTEMMESSAGE']._serialized_start=5795 + _globals['_PRIVACYSYSTEMMESSAGE']._serialized_end=5864 + _globals['_HISTORYSYNC']._serialized_start=251 + _globals['_HISTORYSYNC']._serialized_end=1373 + _globals['_HISTORYSYNC_BOTAIWAITLISTSTATE']._serialized_start=1177 + _globals['_HISTORYSYNC_BOTAIWAITLISTSTATE']._serialized_end=1232 + _globals['_HISTORYSYNC_HISTORYSYNCTYPE']._serialized_start=1235 + _globals['_HISTORYSYNC_HISTORYSYNCTYPE']._serialized_end=1373 + _globals['_CONVERSATION']._serialized_start=1376 + _globals['_CONVERSATION']._serialized_end=3185 + _globals['_CONVERSATION_ENDOFHISTORYTRANSFERTYPE']._serialized_start=2997 + _globals['_CONVERSATION_ENDOFHISTORYTRANSFERTYPE']._serialized_end=3185 + _globals['_GROUPPARTICIPANT']._serialized_start=3188 + _globals['_GROUPPARTICIPANT']._serialized_end=3388 + _globals['_GROUPPARTICIPANT_RANK']._serialized_start=3342 + _globals['_GROUPPARTICIPANT_RANK']._serialized_end=3388 + _globals['_PASTPARTICIPANT']._serialized_start=3391 + _globals['_PASTPARTICIPANT']._serialized_end=3557 + _globals['_PASTPARTICIPANT_LEAVEREASON']._serialized_start=3521 + _globals['_PASTPARTICIPANT_LEAVEREASON']._serialized_end=3557 + _globals['_PHONENUMBERTOLIDMAPPING']._serialized_start=3559 + _globals['_PHONENUMBERTOLIDMAPPING']._serialized_end=3615 + _globals['_ACCOUNT']._serialized_start=3617 + _globals['_ACCOUNT']._serialized_end=3705 + _globals['_HISTORYSYNCMSG']._serialized_start=3707 + _globals['_HISTORYSYNCMSG']._serialized_end=3795 + _globals['_PUSHNAME']._serialized_start=3797 + _globals['_PUSHNAME']._serialized_end=3837 + _globals['_WALLPAPERSETTINGS']._serialized_start=3839 + _globals['_WALLPAPERSETTINGS']._serialized_end=3893 + _globals['_GLOBALSETTINGS']._serialized_start=3896 + _globals['_GLOBALSETTINGS']._serialized_end=5001 + _globals['_AUTODOWNLOADSETTINGS']._serialized_start=5003 + _globals['_AUTODOWNLOADSETTINGS']._serialized_end=5122 + _globals['_STICKERMETADATA']._serialized_start=5125 + _globals['_STICKERMETADATA']._serialized_end=5410 + _globals['_PASTPARTICIPANTS']._serialized_start=5412 + _globals['_PASTPARTICIPANTS']._serialized_end=5518 + _globals['_AVATARUSERSETTINGS']._serialized_start=5520 + _globals['_AVATARUSERSETTINGS']._serialized_end=5572 + _globals['_NOTIFICATIONSETTINGS']._serialized_start=5575 + _globals['_NOTIFICATIONSETTINGS']._serialized_end=5744 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waHistorySync/WAWebProtobufsHistorySync_pb2.pyi b/neonize/proto/waHistorySync/WAWebProtobufsHistorySync_pb2.pyi new file mode 100644 index 00000000..355eda6f --- /dev/null +++ b/neonize/proto/waHistorySync/WAWebProtobufsHistorySync_pb2.pyi @@ -0,0 +1,769 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waChatLockSettings.WAProtobufsChatLockSettings_pb2 +import waCommon.WACommon_pb2 +import waE2E.WAWebProtobufsE2E_pb2 +import waSyncAction.WASyncAction_pb2 +import waWeb.WAWebProtobufsWeb_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _MediaVisibility: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _MediaVisibilityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MediaVisibility.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DEFAULT: _MediaVisibility.ValueType # 0 + OFF: _MediaVisibility.ValueType # 1 + ON: _MediaVisibility.ValueType # 2 + +class MediaVisibility(_MediaVisibility, metaclass=_MediaVisibilityEnumTypeWrapper): ... + +DEFAULT: MediaVisibility.ValueType # 0 +OFF: MediaVisibility.ValueType # 1 +ON: MediaVisibility.ValueType # 2 +global___MediaVisibility = MediaVisibility + +class _PrivacySystemMessage: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _PrivacySystemMessageEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PrivacySystemMessage.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + E2EE_MSG: _PrivacySystemMessage.ValueType # 1 + NE2EE_SELF: _PrivacySystemMessage.ValueType # 2 + NE2EE_OTHER: _PrivacySystemMessage.ValueType # 3 + +class PrivacySystemMessage(_PrivacySystemMessage, metaclass=_PrivacySystemMessageEnumTypeWrapper): ... + +E2EE_MSG: PrivacySystemMessage.ValueType # 1 +NE2EE_SELF: PrivacySystemMessage.ValueType # 2 +NE2EE_OTHER: PrivacySystemMessage.ValueType # 3 +global___PrivacySystemMessage = PrivacySystemMessage + +@typing.final +class HistorySync(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BotAIWaitListState: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BotAIWaitListStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HistorySync._BotAIWaitListState.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + IN_WAITLIST: HistorySync._BotAIWaitListState.ValueType # 0 + AI_AVAILABLE: HistorySync._BotAIWaitListState.ValueType # 1 + + class BotAIWaitListState(_BotAIWaitListState, metaclass=_BotAIWaitListStateEnumTypeWrapper): ... + IN_WAITLIST: HistorySync.BotAIWaitListState.ValueType # 0 + AI_AVAILABLE: HistorySync.BotAIWaitListState.ValueType # 1 + + class _HistorySyncType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _HistorySyncTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HistorySync._HistorySyncType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + INITIAL_BOOTSTRAP: HistorySync._HistorySyncType.ValueType # 0 + INITIAL_STATUS_V3: HistorySync._HistorySyncType.ValueType # 1 + FULL: HistorySync._HistorySyncType.ValueType # 2 + RECENT: HistorySync._HistorySyncType.ValueType # 3 + PUSH_NAME: HistorySync._HistorySyncType.ValueType # 4 + NON_BLOCKING_DATA: HistorySync._HistorySyncType.ValueType # 5 + ON_DEMAND: HistorySync._HistorySyncType.ValueType # 6 + + class HistorySyncType(_HistorySyncType, metaclass=_HistorySyncTypeEnumTypeWrapper): ... + INITIAL_BOOTSTRAP: HistorySync.HistorySyncType.ValueType # 0 + INITIAL_STATUS_V3: HistorySync.HistorySyncType.ValueType # 1 + FULL: HistorySync.HistorySyncType.ValueType # 2 + RECENT: HistorySync.HistorySyncType.ValueType # 3 + PUSH_NAME: HistorySync.HistorySyncType.ValueType # 4 + NON_BLOCKING_DATA: HistorySync.HistorySyncType.ValueType # 5 + ON_DEMAND: HistorySync.HistorySyncType.ValueType # 6 + + SYNCTYPE_FIELD_NUMBER: builtins.int + CONVERSATIONS_FIELD_NUMBER: builtins.int + STATUSV3MESSAGES_FIELD_NUMBER: builtins.int + CHUNKORDER_FIELD_NUMBER: builtins.int + PROGRESS_FIELD_NUMBER: builtins.int + PUSHNAMES_FIELD_NUMBER: builtins.int + GLOBALSETTINGS_FIELD_NUMBER: builtins.int + THREADIDUSERSECRET_FIELD_NUMBER: builtins.int + THREADDSTIMEFRAMEOFFSET_FIELD_NUMBER: builtins.int + RECENTSTICKERS_FIELD_NUMBER: builtins.int + PASTPARTICIPANTS_FIELD_NUMBER: builtins.int + CALLLOGRECORDS_FIELD_NUMBER: builtins.int + AIWAITLISTSTATE_FIELD_NUMBER: builtins.int + PHONENUMBERTOLIDMAPPINGS_FIELD_NUMBER: builtins.int + COMPANIONMETANONCE_FIELD_NUMBER: builtins.int + SHAREABLECHATIDENTIFIERENCRYPTIONKEY_FIELD_NUMBER: builtins.int + ACCOUNTS_FIELD_NUMBER: builtins.int + syncType: global___HistorySync.HistorySyncType.ValueType + chunkOrder: builtins.int + progress: builtins.int + threadIDUserSecret: builtins.bytes + threadDsTimeframeOffset: builtins.int + aiWaitListState: global___HistorySync.BotAIWaitListState.ValueType + companionMetaNonce: builtins.str + shareableChatIdentifierEncryptionKey: builtins.bytes + @property + def conversations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Conversation]: ... + @property + def statusV3Messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waWeb.WAWebProtobufsWeb_pb2.WebMessageInfo]: ... + @property + def pushnames(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Pushname]: ... + @property + def globalSettings(self) -> global___GlobalSettings: ... + @property + def recentStickers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StickerMetadata]: ... + @property + def pastParticipants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PastParticipants]: ... + @property + def callLogRecords(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waSyncAction.WASyncAction_pb2.CallLogRecord]: ... + @property + def phoneNumberToLidMappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PhoneNumberToLIDMapping]: ... + @property + def accounts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Account]: ... + def __init__( + self, + *, + syncType: global___HistorySync.HistorySyncType.ValueType | None = ..., + conversations: collections.abc.Iterable[global___Conversation] | None = ..., + statusV3Messages: collections.abc.Iterable[waWeb.WAWebProtobufsWeb_pb2.WebMessageInfo] | None = ..., + chunkOrder: builtins.int | None = ..., + progress: builtins.int | None = ..., + pushnames: collections.abc.Iterable[global___Pushname] | None = ..., + globalSettings: global___GlobalSettings | None = ..., + threadIDUserSecret: builtins.bytes | None = ..., + threadDsTimeframeOffset: builtins.int | None = ..., + recentStickers: collections.abc.Iterable[global___StickerMetadata] | None = ..., + pastParticipants: collections.abc.Iterable[global___PastParticipants] | None = ..., + callLogRecords: collections.abc.Iterable[waSyncAction.WASyncAction_pb2.CallLogRecord] | None = ..., + aiWaitListState: global___HistorySync.BotAIWaitListState.ValueType | None = ..., + phoneNumberToLidMappings: collections.abc.Iterable[global___PhoneNumberToLIDMapping] | None = ..., + companionMetaNonce: builtins.str | None = ..., + shareableChatIdentifierEncryptionKey: builtins.bytes | None = ..., + accounts: collections.abc.Iterable[global___Account] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["aiWaitListState", b"aiWaitListState", "chunkOrder", b"chunkOrder", "companionMetaNonce", b"companionMetaNonce", "globalSettings", b"globalSettings", "progress", b"progress", "shareableChatIdentifierEncryptionKey", b"shareableChatIdentifierEncryptionKey", "syncType", b"syncType", "threadDsTimeframeOffset", b"threadDsTimeframeOffset", "threadIDUserSecret", b"threadIDUserSecret"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accounts", b"accounts", "aiWaitListState", b"aiWaitListState", "callLogRecords", b"callLogRecords", "chunkOrder", b"chunkOrder", "companionMetaNonce", b"companionMetaNonce", "conversations", b"conversations", "globalSettings", b"globalSettings", "pastParticipants", b"pastParticipants", "phoneNumberToLidMappings", b"phoneNumberToLidMappings", "progress", b"progress", "pushnames", b"pushnames", "recentStickers", b"recentStickers", "shareableChatIdentifierEncryptionKey", b"shareableChatIdentifierEncryptionKey", "statusV3Messages", b"statusV3Messages", "syncType", b"syncType", "threadDsTimeframeOffset", b"threadDsTimeframeOffset", "threadIDUserSecret", b"threadIDUserSecret"]) -> None: ... + +global___HistorySync = HistorySync + +@typing.final +class Conversation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _EndOfHistoryTransferType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _EndOfHistoryTransferTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Conversation._EndOfHistoryTransferType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY: Conversation._EndOfHistoryTransferType.ValueType # 0 + COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY: Conversation._EndOfHistoryTransferType.ValueType # 1 + COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY: Conversation._EndOfHistoryTransferType.ValueType # 2 + + class EndOfHistoryTransferType(_EndOfHistoryTransferType, metaclass=_EndOfHistoryTransferTypeEnumTypeWrapper): ... + COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY: Conversation.EndOfHistoryTransferType.ValueType # 0 + COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY: Conversation.EndOfHistoryTransferType.ValueType # 1 + COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY: Conversation.EndOfHistoryTransferType.ValueType # 2 + + ID_FIELD_NUMBER: builtins.int + MESSAGES_FIELD_NUMBER: builtins.int + NEWJID_FIELD_NUMBER: builtins.int + OLDJID_FIELD_NUMBER: builtins.int + LASTMSGTIMESTAMP_FIELD_NUMBER: builtins.int + UNREADCOUNT_FIELD_NUMBER: builtins.int + READONLY_FIELD_NUMBER: builtins.int + ENDOFHISTORYTRANSFER_FIELD_NUMBER: builtins.int + EPHEMERALEXPIRATION_FIELD_NUMBER: builtins.int + EPHEMERALSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int + ENDOFHISTORYTRANSFERTYPE_FIELD_NUMBER: builtins.int + CONVERSATIONTIMESTAMP_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + PHASH_FIELD_NUMBER: builtins.int + NOTSPAM_FIELD_NUMBER: builtins.int + ARCHIVED_FIELD_NUMBER: builtins.int + DISAPPEARINGMODE_FIELD_NUMBER: builtins.int + UNREADMENTIONCOUNT_FIELD_NUMBER: builtins.int + MARKEDASUNREAD_FIELD_NUMBER: builtins.int + PARTICIPANT_FIELD_NUMBER: builtins.int + TCTOKEN_FIELD_NUMBER: builtins.int + TCTOKENTIMESTAMP_FIELD_NUMBER: builtins.int + CONTACTPRIMARYIDENTITYKEY_FIELD_NUMBER: builtins.int + PINNED_FIELD_NUMBER: builtins.int + MUTEENDTIME_FIELD_NUMBER: builtins.int + WALLPAPER_FIELD_NUMBER: builtins.int + MEDIAVISIBILITY_FIELD_NUMBER: builtins.int + TCTOKENSENDERTIMESTAMP_FIELD_NUMBER: builtins.int + SUSPENDED_FIELD_NUMBER: builtins.int + TERMINATED_FIELD_NUMBER: builtins.int + CREATEDAT_FIELD_NUMBER: builtins.int + CREATEDBY_FIELD_NUMBER: builtins.int + DESCRIPTION_FIELD_NUMBER: builtins.int + SUPPORT_FIELD_NUMBER: builtins.int + ISPARENTGROUP_FIELD_NUMBER: builtins.int + PARENTGROUPID_FIELD_NUMBER: builtins.int + ISDEFAULTSUBGROUP_FIELD_NUMBER: builtins.int + DISPLAYNAME_FIELD_NUMBER: builtins.int + PNJID_FIELD_NUMBER: builtins.int + SHAREOWNPN_FIELD_NUMBER: builtins.int + PNHDUPLICATELIDTHREAD_FIELD_NUMBER: builtins.int + LIDJID_FIELD_NUMBER: builtins.int + USERNAME_FIELD_NUMBER: builtins.int + LIDORIGINTYPE_FIELD_NUMBER: builtins.int + COMMENTSCOUNT_FIELD_NUMBER: builtins.int + LOCKED_FIELD_NUMBER: builtins.int + SYSTEMMESSAGETOINSERT_FIELD_NUMBER: builtins.int + CAPICREATEDGROUP_FIELD_NUMBER: builtins.int + ACCOUNTLID_FIELD_NUMBER: builtins.int + LIMITSHARING_FIELD_NUMBER: builtins.int + LIMITSHARINGSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int + LIMITSHARINGTRIGGER_FIELD_NUMBER: builtins.int + LIMITSHARINGINITIATEDBYME_FIELD_NUMBER: builtins.int + MAIBAAITHREADENABLED_FIELD_NUMBER: builtins.int + ID: builtins.str + newJID: builtins.str + oldJID: builtins.str + lastMsgTimestamp: builtins.int + unreadCount: builtins.int + readOnly: builtins.bool + endOfHistoryTransfer: builtins.bool + ephemeralExpiration: builtins.int + ephemeralSettingTimestamp: builtins.int + endOfHistoryTransferType: global___Conversation.EndOfHistoryTransferType.ValueType + conversationTimestamp: builtins.int + name: builtins.str + pHash: builtins.str + notSpam: builtins.bool + archived: builtins.bool + unreadMentionCount: builtins.int + markedAsUnread: builtins.bool + tcToken: builtins.bytes + tcTokenTimestamp: builtins.int + contactPrimaryIdentityKey: builtins.bytes + pinned: builtins.int + muteEndTime: builtins.int + mediaVisibility: global___MediaVisibility.ValueType + tcTokenSenderTimestamp: builtins.int + suspended: builtins.bool + terminated: builtins.bool + createdAt: builtins.int + createdBy: builtins.str + description: builtins.str + support: builtins.bool + isParentGroup: builtins.bool + parentGroupID: builtins.str + isDefaultSubgroup: builtins.bool + displayName: builtins.str + pnJID: builtins.str + shareOwnPn: builtins.bool + pnhDuplicateLidThread: builtins.bool + lidJID: builtins.str + username: builtins.str + lidOriginType: builtins.str + commentsCount: builtins.int + locked: builtins.bool + systemMessageToInsert: global___PrivacySystemMessage.ValueType + capiCreatedGroup: builtins.bool + accountLid: builtins.str + limitSharing: builtins.bool + limitSharingSettingTimestamp: builtins.int + limitSharingTrigger: waCommon.WACommon_pb2.LimitSharing.Trigger.ValueType + limitSharingInitiatedByMe: builtins.bool + maibaAiThreadEnabled: builtins.bool + @property + def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HistorySyncMsg]: ... + @property + def disappearingMode(self) -> waE2E.WAWebProtobufsE2E_pb2.DisappearingMode: ... + @property + def participant(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GroupParticipant]: ... + @property + def wallpaper(self) -> global___WallpaperSettings: ... + def __init__( + self, + *, + ID: builtins.str | None = ..., + messages: collections.abc.Iterable[global___HistorySyncMsg] | None = ..., + newJID: builtins.str | None = ..., + oldJID: builtins.str | None = ..., + lastMsgTimestamp: builtins.int | None = ..., + unreadCount: builtins.int | None = ..., + readOnly: builtins.bool | None = ..., + endOfHistoryTransfer: builtins.bool | None = ..., + ephemeralExpiration: builtins.int | None = ..., + ephemeralSettingTimestamp: builtins.int | None = ..., + endOfHistoryTransferType: global___Conversation.EndOfHistoryTransferType.ValueType | None = ..., + conversationTimestamp: builtins.int | None = ..., + name: builtins.str | None = ..., + pHash: builtins.str | None = ..., + notSpam: builtins.bool | None = ..., + archived: builtins.bool | None = ..., + disappearingMode: waE2E.WAWebProtobufsE2E_pb2.DisappearingMode | None = ..., + unreadMentionCount: builtins.int | None = ..., + markedAsUnread: builtins.bool | None = ..., + participant: collections.abc.Iterable[global___GroupParticipant] | None = ..., + tcToken: builtins.bytes | None = ..., + tcTokenTimestamp: builtins.int | None = ..., + contactPrimaryIdentityKey: builtins.bytes | None = ..., + pinned: builtins.int | None = ..., + muteEndTime: builtins.int | None = ..., + wallpaper: global___WallpaperSettings | None = ..., + mediaVisibility: global___MediaVisibility.ValueType | None = ..., + tcTokenSenderTimestamp: builtins.int | None = ..., + suspended: builtins.bool | None = ..., + terminated: builtins.bool | None = ..., + createdAt: builtins.int | None = ..., + createdBy: builtins.str | None = ..., + description: builtins.str | None = ..., + support: builtins.bool | None = ..., + isParentGroup: builtins.bool | None = ..., + parentGroupID: builtins.str | None = ..., + isDefaultSubgroup: builtins.bool | None = ..., + displayName: builtins.str | None = ..., + pnJID: builtins.str | None = ..., + shareOwnPn: builtins.bool | None = ..., + pnhDuplicateLidThread: builtins.bool | None = ..., + lidJID: builtins.str | None = ..., + username: builtins.str | None = ..., + lidOriginType: builtins.str | None = ..., + commentsCount: builtins.int | None = ..., + locked: builtins.bool | None = ..., + systemMessageToInsert: global___PrivacySystemMessage.ValueType | None = ..., + capiCreatedGroup: builtins.bool | None = ..., + accountLid: builtins.str | None = ..., + limitSharing: builtins.bool | None = ..., + limitSharingSettingTimestamp: builtins.int | None = ..., + limitSharingTrigger: waCommon.WACommon_pb2.LimitSharing.Trigger.ValueType | None = ..., + limitSharingInitiatedByMe: builtins.bool | None = ..., + maibaAiThreadEnabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "accountLid", b"accountLid", "archived", b"archived", "capiCreatedGroup", b"capiCreatedGroup", "commentsCount", b"commentsCount", "contactPrimaryIdentityKey", b"contactPrimaryIdentityKey", "conversationTimestamp", b"conversationTimestamp", "createdAt", b"createdAt", "createdBy", b"createdBy", "description", b"description", "disappearingMode", b"disappearingMode", "displayName", b"displayName", "endOfHistoryTransfer", b"endOfHistoryTransfer", "endOfHistoryTransferType", b"endOfHistoryTransferType", "ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "isDefaultSubgroup", b"isDefaultSubgroup", "isParentGroup", b"isParentGroup", "lastMsgTimestamp", b"lastMsgTimestamp", "lidJID", b"lidJID", "lidOriginType", b"lidOriginType", "limitSharing", b"limitSharing", "limitSharingInitiatedByMe", b"limitSharingInitiatedByMe", "limitSharingSettingTimestamp", b"limitSharingSettingTimestamp", "limitSharingTrigger", b"limitSharingTrigger", "locked", b"locked", "maibaAiThreadEnabled", b"maibaAiThreadEnabled", "markedAsUnread", b"markedAsUnread", "mediaVisibility", b"mediaVisibility", "muteEndTime", b"muteEndTime", "name", b"name", "newJID", b"newJID", "notSpam", b"notSpam", "oldJID", b"oldJID", "pHash", b"pHash", "parentGroupID", b"parentGroupID", "pinned", b"pinned", "pnJID", b"pnJID", "pnhDuplicateLidThread", b"pnhDuplicateLidThread", "readOnly", b"readOnly", "shareOwnPn", b"shareOwnPn", "support", b"support", "suspended", b"suspended", "systemMessageToInsert", b"systemMessageToInsert", "tcToken", b"tcToken", "tcTokenSenderTimestamp", b"tcTokenSenderTimestamp", "tcTokenTimestamp", b"tcTokenTimestamp", "terminated", b"terminated", "unreadCount", b"unreadCount", "unreadMentionCount", b"unreadMentionCount", "username", b"username", "wallpaper", b"wallpaper"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "accountLid", b"accountLid", "archived", b"archived", "capiCreatedGroup", b"capiCreatedGroup", "commentsCount", b"commentsCount", "contactPrimaryIdentityKey", b"contactPrimaryIdentityKey", "conversationTimestamp", b"conversationTimestamp", "createdAt", b"createdAt", "createdBy", b"createdBy", "description", b"description", "disappearingMode", b"disappearingMode", "displayName", b"displayName", "endOfHistoryTransfer", b"endOfHistoryTransfer", "endOfHistoryTransferType", b"endOfHistoryTransferType", "ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "isDefaultSubgroup", b"isDefaultSubgroup", "isParentGroup", b"isParentGroup", "lastMsgTimestamp", b"lastMsgTimestamp", "lidJID", b"lidJID", "lidOriginType", b"lidOriginType", "limitSharing", b"limitSharing", "limitSharingInitiatedByMe", b"limitSharingInitiatedByMe", "limitSharingSettingTimestamp", b"limitSharingSettingTimestamp", "limitSharingTrigger", b"limitSharingTrigger", "locked", b"locked", "maibaAiThreadEnabled", b"maibaAiThreadEnabled", "markedAsUnread", b"markedAsUnread", "mediaVisibility", b"mediaVisibility", "messages", b"messages", "muteEndTime", b"muteEndTime", "name", b"name", "newJID", b"newJID", "notSpam", b"notSpam", "oldJID", b"oldJID", "pHash", b"pHash", "parentGroupID", b"parentGroupID", "participant", b"participant", "pinned", b"pinned", "pnJID", b"pnJID", "pnhDuplicateLidThread", b"pnhDuplicateLidThread", "readOnly", b"readOnly", "shareOwnPn", b"shareOwnPn", "support", b"support", "suspended", b"suspended", "systemMessageToInsert", b"systemMessageToInsert", "tcToken", b"tcToken", "tcTokenSenderTimestamp", b"tcTokenSenderTimestamp", "tcTokenTimestamp", b"tcTokenTimestamp", "terminated", b"terminated", "unreadCount", b"unreadCount", "unreadMentionCount", b"unreadMentionCount", "username", b"username", "wallpaper", b"wallpaper"]) -> None: ... + +global___Conversation = Conversation + +@typing.final +class GroupParticipant(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Rank: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _RankEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GroupParticipant._Rank.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + REGULAR: GroupParticipant._Rank.ValueType # 0 + ADMIN: GroupParticipant._Rank.ValueType # 1 + SUPERADMIN: GroupParticipant._Rank.ValueType # 2 + + class Rank(_Rank, metaclass=_RankEnumTypeWrapper): ... + REGULAR: GroupParticipant.Rank.ValueType # 0 + ADMIN: GroupParticipant.Rank.ValueType # 1 + SUPERADMIN: GroupParticipant.Rank.ValueType # 2 + + USERJID_FIELD_NUMBER: builtins.int + RANK_FIELD_NUMBER: builtins.int + MEMBERLABEL_FIELD_NUMBER: builtins.int + userJID: builtins.str + rank: global___GroupParticipant.Rank.ValueType + @property + def memberLabel(self) -> waE2E.WAWebProtobufsE2E_pb2.MemberLabel: ... + def __init__( + self, + *, + userJID: builtins.str | None = ..., + rank: global___GroupParticipant.Rank.ValueType | None = ..., + memberLabel: waE2E.WAWebProtobufsE2E_pb2.MemberLabel | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["memberLabel", b"memberLabel", "rank", b"rank", "userJID", b"userJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["memberLabel", b"memberLabel", "rank", b"rank", "userJID", b"userJID"]) -> None: ... + +global___GroupParticipant = GroupParticipant + +@typing.final +class PastParticipant(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _LeaveReason: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _LeaveReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PastParticipant._LeaveReason.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + LEFT: PastParticipant._LeaveReason.ValueType # 0 + REMOVED: PastParticipant._LeaveReason.ValueType # 1 + + class LeaveReason(_LeaveReason, metaclass=_LeaveReasonEnumTypeWrapper): ... + LEFT: PastParticipant.LeaveReason.ValueType # 0 + REMOVED: PastParticipant.LeaveReason.ValueType # 1 + + USERJID_FIELD_NUMBER: builtins.int + LEAVEREASON_FIELD_NUMBER: builtins.int + LEAVETS_FIELD_NUMBER: builtins.int + userJID: builtins.str + leaveReason: global___PastParticipant.LeaveReason.ValueType + leaveTS: builtins.int + def __init__( + self, + *, + userJID: builtins.str | None = ..., + leaveReason: global___PastParticipant.LeaveReason.ValueType | None = ..., + leaveTS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["leaveReason", b"leaveReason", "leaveTS", b"leaveTS", "userJID", b"userJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["leaveReason", b"leaveReason", "leaveTS", b"leaveTS", "userJID", b"userJID"]) -> None: ... + +global___PastParticipant = PastParticipant + +@typing.final +class PhoneNumberToLIDMapping(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PNJID_FIELD_NUMBER: builtins.int + LIDJID_FIELD_NUMBER: builtins.int + pnJID: builtins.str + lidJID: builtins.str + def __init__( + self, + *, + pnJID: builtins.str | None = ..., + lidJID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["lidJID", b"lidJID", "pnJID", b"pnJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["lidJID", b"lidJID", "pnJID", b"pnJID"]) -> None: ... + +global___PhoneNumberToLIDMapping = PhoneNumberToLIDMapping + +@typing.final +class Account(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LID_FIELD_NUMBER: builtins.int + USERNAME_FIELD_NUMBER: builtins.int + COUNTRYCODE_FIELD_NUMBER: builtins.int + ISUSERNAMEDELETED_FIELD_NUMBER: builtins.int + lid: builtins.str + username: builtins.str + countryCode: builtins.str + isUsernameDeleted: builtins.bool + def __init__( + self, + *, + lid: builtins.str | None = ..., + username: builtins.str | None = ..., + countryCode: builtins.str | None = ..., + isUsernameDeleted: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["countryCode", b"countryCode", "isUsernameDeleted", b"isUsernameDeleted", "lid", b"lid", "username", b"username"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["countryCode", b"countryCode", "isUsernameDeleted", b"isUsernameDeleted", "lid", b"lid", "username", b"username"]) -> None: ... + +global___Account = Account + +@typing.final +class HistorySyncMsg(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGE_FIELD_NUMBER: builtins.int + MSGORDERID_FIELD_NUMBER: builtins.int + msgOrderID: builtins.int + @property + def message(self) -> waWeb.WAWebProtobufsWeb_pb2.WebMessageInfo: ... + def __init__( + self, + *, + message: waWeb.WAWebProtobufsWeb_pb2.WebMessageInfo | None = ..., + msgOrderID: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["message", b"message", "msgOrderID", b"msgOrderID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["message", b"message", "msgOrderID", b"msgOrderID"]) -> None: ... + +global___HistorySyncMsg = HistorySyncMsg + +@typing.final +class Pushname(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + PUSHNAME_FIELD_NUMBER: builtins.int + ID: builtins.str + pushname: builtins.str + def __init__( + self, + *, + ID: builtins.str | None = ..., + pushname: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "pushname", b"pushname"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "pushname", b"pushname"]) -> None: ... + +global___Pushname = Pushname + +@typing.final +class WallpaperSettings(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILENAME_FIELD_NUMBER: builtins.int + OPACITY_FIELD_NUMBER: builtins.int + filename: builtins.str + opacity: builtins.int + def __init__( + self, + *, + filename: builtins.str | None = ..., + opacity: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["filename", b"filename", "opacity", b"opacity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["filename", b"filename", "opacity", b"opacity"]) -> None: ... + +global___WallpaperSettings = WallpaperSettings + +@typing.final +class GlobalSettings(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LIGHTTHEMEWALLPAPER_FIELD_NUMBER: builtins.int + MEDIAVISIBILITY_FIELD_NUMBER: builtins.int + DARKTHEMEWALLPAPER_FIELD_NUMBER: builtins.int + AUTODOWNLOADWIFI_FIELD_NUMBER: builtins.int + AUTODOWNLOADCELLULAR_FIELD_NUMBER: builtins.int + AUTODOWNLOADROAMING_FIELD_NUMBER: builtins.int + SHOWINDIVIDUALNOTIFICATIONSPREVIEW_FIELD_NUMBER: builtins.int + SHOWGROUPNOTIFICATIONSPREVIEW_FIELD_NUMBER: builtins.int + DISAPPEARINGMODEDURATION_FIELD_NUMBER: builtins.int + DISAPPEARINGMODETIMESTAMP_FIELD_NUMBER: builtins.int + AVATARUSERSETTINGS_FIELD_NUMBER: builtins.int + FONTSIZE_FIELD_NUMBER: builtins.int + SECURITYNOTIFICATIONS_FIELD_NUMBER: builtins.int + AUTOUNARCHIVECHATS_FIELD_NUMBER: builtins.int + VIDEOQUALITYMODE_FIELD_NUMBER: builtins.int + PHOTOQUALITYMODE_FIELD_NUMBER: builtins.int + INDIVIDUALNOTIFICATIONSETTINGS_FIELD_NUMBER: builtins.int + GROUPNOTIFICATIONSETTINGS_FIELD_NUMBER: builtins.int + CHATLOCKSETTINGS_FIELD_NUMBER: builtins.int + CHATDBLIDMIGRATIONTIMESTAMP_FIELD_NUMBER: builtins.int + mediaVisibility: global___MediaVisibility.ValueType + showIndividualNotificationsPreview: builtins.bool + showGroupNotificationsPreview: builtins.bool + disappearingModeDuration: builtins.int + disappearingModeTimestamp: builtins.int + fontSize: builtins.int + securityNotifications: builtins.bool + autoUnarchiveChats: builtins.bool + videoQualityMode: builtins.int + photoQualityMode: builtins.int + chatDbLidMigrationTimestamp: builtins.int + @property + def lightThemeWallpaper(self) -> global___WallpaperSettings: ... + @property + def darkThemeWallpaper(self) -> global___WallpaperSettings: ... + @property + def autoDownloadWiFi(self) -> global___AutoDownloadSettings: ... + @property + def autoDownloadCellular(self) -> global___AutoDownloadSettings: ... + @property + def autoDownloadRoaming(self) -> global___AutoDownloadSettings: ... + @property + def avatarUserSettings(self) -> global___AvatarUserSettings: ... + @property + def individualNotificationSettings(self) -> global___NotificationSettings: ... + @property + def groupNotificationSettings(self) -> global___NotificationSettings: ... + @property + def chatLockSettings(self) -> waChatLockSettings.WAProtobufsChatLockSettings_pb2.ChatLockSettings: ... + def __init__( + self, + *, + lightThemeWallpaper: global___WallpaperSettings | None = ..., + mediaVisibility: global___MediaVisibility.ValueType | None = ..., + darkThemeWallpaper: global___WallpaperSettings | None = ..., + autoDownloadWiFi: global___AutoDownloadSettings | None = ..., + autoDownloadCellular: global___AutoDownloadSettings | None = ..., + autoDownloadRoaming: global___AutoDownloadSettings | None = ..., + showIndividualNotificationsPreview: builtins.bool | None = ..., + showGroupNotificationsPreview: builtins.bool | None = ..., + disappearingModeDuration: builtins.int | None = ..., + disappearingModeTimestamp: builtins.int | None = ..., + avatarUserSettings: global___AvatarUserSettings | None = ..., + fontSize: builtins.int | None = ..., + securityNotifications: builtins.bool | None = ..., + autoUnarchiveChats: builtins.bool | None = ..., + videoQualityMode: builtins.int | None = ..., + photoQualityMode: builtins.int | None = ..., + individualNotificationSettings: global___NotificationSettings | None = ..., + groupNotificationSettings: global___NotificationSettings | None = ..., + chatLockSettings: waChatLockSettings.WAProtobufsChatLockSettings_pb2.ChatLockSettings | None = ..., + chatDbLidMigrationTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["autoDownloadCellular", b"autoDownloadCellular", "autoDownloadRoaming", b"autoDownloadRoaming", "autoDownloadWiFi", b"autoDownloadWiFi", "autoUnarchiveChats", b"autoUnarchiveChats", "avatarUserSettings", b"avatarUserSettings", "chatDbLidMigrationTimestamp", b"chatDbLidMigrationTimestamp", "chatLockSettings", b"chatLockSettings", "darkThemeWallpaper", b"darkThemeWallpaper", "disappearingModeDuration", b"disappearingModeDuration", "disappearingModeTimestamp", b"disappearingModeTimestamp", "fontSize", b"fontSize", "groupNotificationSettings", b"groupNotificationSettings", "individualNotificationSettings", b"individualNotificationSettings", "lightThemeWallpaper", b"lightThemeWallpaper", "mediaVisibility", b"mediaVisibility", "photoQualityMode", b"photoQualityMode", "securityNotifications", b"securityNotifications", "showGroupNotificationsPreview", b"showGroupNotificationsPreview", "showIndividualNotificationsPreview", b"showIndividualNotificationsPreview", "videoQualityMode", b"videoQualityMode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["autoDownloadCellular", b"autoDownloadCellular", "autoDownloadRoaming", b"autoDownloadRoaming", "autoDownloadWiFi", b"autoDownloadWiFi", "autoUnarchiveChats", b"autoUnarchiveChats", "avatarUserSettings", b"avatarUserSettings", "chatDbLidMigrationTimestamp", b"chatDbLidMigrationTimestamp", "chatLockSettings", b"chatLockSettings", "darkThemeWallpaper", b"darkThemeWallpaper", "disappearingModeDuration", b"disappearingModeDuration", "disappearingModeTimestamp", b"disappearingModeTimestamp", "fontSize", b"fontSize", "groupNotificationSettings", b"groupNotificationSettings", "individualNotificationSettings", b"individualNotificationSettings", "lightThemeWallpaper", b"lightThemeWallpaper", "mediaVisibility", b"mediaVisibility", "photoQualityMode", b"photoQualityMode", "securityNotifications", b"securityNotifications", "showGroupNotificationsPreview", b"showGroupNotificationsPreview", "showIndividualNotificationsPreview", b"showIndividualNotificationsPreview", "videoQualityMode", b"videoQualityMode"]) -> None: ... + +global___GlobalSettings = GlobalSettings + +@typing.final +class AutoDownloadSettings(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DOWNLOADIMAGES_FIELD_NUMBER: builtins.int + DOWNLOADAUDIO_FIELD_NUMBER: builtins.int + DOWNLOADVIDEO_FIELD_NUMBER: builtins.int + DOWNLOADDOCUMENTS_FIELD_NUMBER: builtins.int + downloadImages: builtins.bool + downloadAudio: builtins.bool + downloadVideo: builtins.bool + downloadDocuments: builtins.bool + def __init__( + self, + *, + downloadImages: builtins.bool | None = ..., + downloadAudio: builtins.bool | None = ..., + downloadVideo: builtins.bool | None = ..., + downloadDocuments: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["downloadAudio", b"downloadAudio", "downloadDocuments", b"downloadDocuments", "downloadImages", b"downloadImages", "downloadVideo", b"downloadVideo"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["downloadAudio", b"downloadAudio", "downloadDocuments", b"downloadDocuments", "downloadImages", b"downloadImages", "downloadVideo", b"downloadVideo"]) -> None: ... + +global___AutoDownloadSettings = AutoDownloadSettings + +@typing.final +class StickerMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + URL_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + WEIGHT_FIELD_NUMBER: builtins.int + LASTSTICKERSENTTS_FIELD_NUMBER: builtins.int + ISLOTTIE_FIELD_NUMBER: builtins.int + IMAGEHASH_FIELD_NUMBER: builtins.int + ISAVATARSTICKER_FIELD_NUMBER: builtins.int + URL: builtins.str + fileSHA256: builtins.bytes + fileEncSHA256: builtins.bytes + mediaKey: builtins.bytes + mimetype: builtins.str + height: builtins.int + width: builtins.int + directPath: builtins.str + fileLength: builtins.int + weight: builtins.float + lastStickerSentTS: builtins.int + isLottie: builtins.bool + imageHash: builtins.str + isAvatarSticker: builtins.bool + def __init__( + self, + *, + URL: builtins.str | None = ..., + fileSHA256: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + mediaKey: builtins.bytes | None = ..., + mimetype: builtins.str | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + directPath: builtins.str | None = ..., + fileLength: builtins.int | None = ..., + weight: builtins.float | None = ..., + lastStickerSentTS: builtins.int | None = ..., + isLottie: builtins.bool | None = ..., + imageHash: builtins.str | None = ..., + isAvatarSticker: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "height", b"height", "imageHash", b"imageHash", "isAvatarSticker", b"isAvatarSticker", "isLottie", b"isLottie", "lastStickerSentTS", b"lastStickerSentTS", "mediaKey", b"mediaKey", "mimetype", b"mimetype", "weight", b"weight", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "height", b"height", "imageHash", b"imageHash", "isAvatarSticker", b"isAvatarSticker", "isLottie", b"isLottie", "lastStickerSentTS", b"lastStickerSentTS", "mediaKey", b"mediaKey", "mimetype", b"mimetype", "weight", b"weight", "width", b"width"]) -> None: ... + +global___StickerMetadata = StickerMetadata + +@typing.final +class PastParticipants(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + GROUPJID_FIELD_NUMBER: builtins.int + PASTPARTICIPANTS_FIELD_NUMBER: builtins.int + groupJID: builtins.str + @property + def pastParticipants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PastParticipant]: ... + def __init__( + self, + *, + groupJID: builtins.str | None = ..., + pastParticipants: collections.abc.Iterable[global___PastParticipant] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["groupJID", b"groupJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["groupJID", b"groupJID", "pastParticipants", b"pastParticipants"]) -> None: ... + +global___PastParticipants = PastParticipants + +@typing.final +class AvatarUserSettings(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FBID_FIELD_NUMBER: builtins.int + PASSWORD_FIELD_NUMBER: builtins.int + FBID: builtins.str + password: builtins.str + def __init__( + self, + *, + FBID: builtins.str | None = ..., + password: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["FBID", b"FBID", "password", b"password"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["FBID", b"FBID", "password", b"password"]) -> None: ... + +global___AvatarUserSettings = AvatarUserSettings + +@typing.final +class NotificationSettings(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGEVIBRATE_FIELD_NUMBER: builtins.int + MESSAGEPOPUP_FIELD_NUMBER: builtins.int + MESSAGELIGHT_FIELD_NUMBER: builtins.int + LOWPRIORITYNOTIFICATIONS_FIELD_NUMBER: builtins.int + REACTIONSMUTED_FIELD_NUMBER: builtins.int + CALLVIBRATE_FIELD_NUMBER: builtins.int + messageVibrate: builtins.str + messagePopup: builtins.str + messageLight: builtins.str + lowPriorityNotifications: builtins.bool + reactionsMuted: builtins.bool + callVibrate: builtins.str + def __init__( + self, + *, + messageVibrate: builtins.str | None = ..., + messagePopup: builtins.str | None = ..., + messageLight: builtins.str | None = ..., + lowPriorityNotifications: builtins.bool | None = ..., + reactionsMuted: builtins.bool | None = ..., + callVibrate: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["callVibrate", b"callVibrate", "lowPriorityNotifications", b"lowPriorityNotifications", "messageLight", b"messageLight", "messagePopup", b"messagePopup", "messageVibrate", b"messageVibrate", "reactionsMuted", b"reactionsMuted"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["callVibrate", b"callVibrate", "lowPriorityNotifications", b"lowPriorityNotifications", "messageLight", b"messageLight", "messagePopup", b"messagePopup", "messageVibrate", b"messageVibrate", "reactionsMuted", b"reactionsMuted"]) -> None: ... + +global___NotificationSettings = NotificationSettings diff --git a/neonize/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload_pb2.py b/neonize/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload_pb2.py new file mode 100644 index 00000000..c40e8227 --- /dev/null +++ b/neonize/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload_pb2.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nDwaLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto\x12$WAWebProtobufLidMigrationSyncPayload\"I\n\x13LIDMigrationMapping\x12\n\n\x02pn\x18\x01 \x02(\x04\x12\x13\n\x0b\x61ssignedLid\x18\x02 \x02(\x04\x12\x11\n\tlatestLid\x18\x03 \x01(\x04\"\x96\x01\n\x1eLIDMigrationMappingSyncPayload\x12R\n\x0fpnToLidMappings\x18\x01 \x03(\x0b\x32\x39.WAWebProtobufLidMigrationSyncPayload.LIDMigrationMapping\x12 \n\x18\x63hatDbMigrationTimestamp\x18\x02 \x01(\x04\x42\x35Z3go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waLidMigrationSyncPayload.WAWebProtobufLidMigrationSyncPayload_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z3go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload' + _globals['_LIDMIGRATIONMAPPING']._serialized_start=110 + _globals['_LIDMIGRATIONMAPPING']._serialized_end=183 + _globals['_LIDMIGRATIONMAPPINGSYNCPAYLOAD']._serialized_start=186 + _globals['_LIDMIGRATIONMAPPINGSYNCPAYLOAD']._serialized_end=336 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload_pb2.pyi b/neonize/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload_pb2.pyi new file mode 100644 index 00000000..68500741 --- /dev/null +++ b/neonize/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload_pb2.pyi @@ -0,0 +1,55 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class LIDMigrationMapping(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PN_FIELD_NUMBER: builtins.int + ASSIGNEDLID_FIELD_NUMBER: builtins.int + LATESTLID_FIELD_NUMBER: builtins.int + pn: builtins.int + assignedLid: builtins.int + latestLid: builtins.int + def __init__( + self, + *, + pn: builtins.int | None = ..., + assignedLid: builtins.int | None = ..., + latestLid: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["assignedLid", b"assignedLid", "latestLid", b"latestLid", "pn", b"pn"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["assignedLid", b"assignedLid", "latestLid", b"latestLid", "pn", b"pn"]) -> None: ... + +global___LIDMigrationMapping = LIDMigrationMapping + +@typing.final +class LIDMigrationMappingSyncPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PNTOLIDMAPPINGS_FIELD_NUMBER: builtins.int + CHATDBMIGRATIONTIMESTAMP_FIELD_NUMBER: builtins.int + chatDbMigrationTimestamp: builtins.int + @property + def pnToLidMappings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LIDMigrationMapping]: ... + def __init__( + self, + *, + pnToLidMappings: collections.abc.Iterable[global___LIDMigrationMapping] | None = ..., + chatDbMigrationTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["chatDbMigrationTimestamp", b"chatDbMigrationTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chatDbMigrationTimestamp", b"chatDbMigrationTimestamp", "pnToLidMappings", b"pnToLidMappings"]) -> None: ... + +global___LIDMigrationMappingSyncPayload = LIDMigrationMappingSyncPayload diff --git a/neonize/proto/waMediaEntryData/WAMediaEntryData_pb2.py b/neonize/proto/waMediaEntryData/WAMediaEntryData_pb2.py new file mode 100644 index 00000000..44cacb53 --- /dev/null +++ b/neonize/proto/waMediaEntryData/WAMediaEntryData_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waMediaEntryData/WAMediaEntryData.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waMediaEntryData/WAMediaEntryData.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'waMediaEntryData/WAMediaEntryData.proto\x12\x10WAMediaEntryData\"\xc9\x05\n\nMediaEntry\x12\x12\n\nfileSHA256\x18\x01 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x02 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x03 \x01(\x0c\x12\x12\n\ndirectPath\x18\x04 \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x05 \x01(\x03\x12\x17\n\x0fserverMediaType\x18\x06 \x01(\t\x12\x13\n\x0buploadToken\x18\x07 \x01(\x0c\x12\x1a\n\x12validatedTimestamp\x18\x08 \x01(\x0c\x12\x0f\n\x07sidecar\x18\t \x01(\x0c\x12\x10\n\x08objectID\x18\n \x01(\t\x12\x0c\n\x04\x46\x42ID\x18\x0b \x01(\t\x12Q\n\x15\x64ownloadableThumbnail\x18\x0c \x01(\x0b\x32\x32.WAMediaEntryData.MediaEntry.DownloadableThumbnail\x12\x0e\n\x06handle\x18\r \x01(\t\x12\x10\n\x08\x66ilename\x18\x0e \x01(\t\x12S\n\x16progressiveJPEGDetails\x18\x0f \x01(\x0b\x32\x33.WAMediaEntryData.MediaEntry.ProgressiveJpegDetails\x12\x0c\n\x04size\x18\x10 \x01(\x03\x12$\n\x1clastDownloadAttemptTimestamp\x18\x11 \x01(\x03\x1a>\n\x16ProgressiveJpegDetails\x12\x13\n\x0bscanLengths\x18\x01 \x03(\r\x12\x0f\n\x07sidecar\x18\x02 \x01(\x0c\x1a\x95\x01\n\x15\x44ownloadableThumbnail\x12\x12\n\nfileSHA256\x18\x01 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x02 \x01(\x0c\x12\x12\n\ndirectPath\x18\x03 \x01(\t\x12\x10\n\x08mediaKey\x18\x04 \x01(\x0c\x12\x19\n\x11mediaKeyTimestamp\x18\x05 \x01(\x03\x12\x10\n\x08objectID\x18\x06 \x01(\tB,Z*go.mau.fi/whatsmeow/proto/waMediaEntryData') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waMediaEntryData.WAMediaEntryData_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z*go.mau.fi/whatsmeow/proto/waMediaEntryData' + _globals['_MEDIAENTRY']._serialized_start=62 + _globals['_MEDIAENTRY']._serialized_end=775 + _globals['_MEDIAENTRY_PROGRESSIVEJPEGDETAILS']._serialized_start=561 + _globals['_MEDIAENTRY_PROGRESSIVEJPEGDETAILS']._serialized_end=623 + _globals['_MEDIAENTRY_DOWNLOADABLETHUMBNAIL']._serialized_start=626 + _globals['_MEDIAENTRY_DOWNLOADABLETHUMBNAIL']._serialized_end=775 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waMediaEntryData/WAMediaEntryData_pb2.pyi b/neonize/proto/waMediaEntryData/WAMediaEntryData_pb2.pyi new file mode 100644 index 00000000..a0dce909 --- /dev/null +++ b/neonize/proto/waMediaEntryData/WAMediaEntryData_pb2.pyi @@ -0,0 +1,126 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class MediaEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class ProgressiveJpegDetails(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SCANLENGTHS_FIELD_NUMBER: builtins.int + SIDECAR_FIELD_NUMBER: builtins.int + sidecar: builtins.bytes + @property + def scanLengths(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + scanLengths: collections.abc.Iterable[builtins.int] | None = ..., + sidecar: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["sidecar", b"sidecar"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["scanLengths", b"scanLengths", "sidecar", b"sidecar"]) -> None: ... + + @typing.final + class DownloadableThumbnail(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILESHA256_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + OBJECTID_FIELD_NUMBER: builtins.int + fileSHA256: builtins.bytes + fileEncSHA256: builtins.bytes + directPath: builtins.str + mediaKey: builtins.bytes + mediaKeyTimestamp: builtins.int + objectID: builtins.str + def __init__( + self, + *, + fileSHA256: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + mediaKey: builtins.bytes | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + objectID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "objectID", b"objectID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "objectID", b"objectID"]) -> None: ... + + FILESHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + SERVERMEDIATYPE_FIELD_NUMBER: builtins.int + UPLOADTOKEN_FIELD_NUMBER: builtins.int + VALIDATEDTIMESTAMP_FIELD_NUMBER: builtins.int + SIDECAR_FIELD_NUMBER: builtins.int + OBJECTID_FIELD_NUMBER: builtins.int + FBID_FIELD_NUMBER: builtins.int + DOWNLOADABLETHUMBNAIL_FIELD_NUMBER: builtins.int + HANDLE_FIELD_NUMBER: builtins.int + FILENAME_FIELD_NUMBER: builtins.int + PROGRESSIVEJPEGDETAILS_FIELD_NUMBER: builtins.int + SIZE_FIELD_NUMBER: builtins.int + LASTDOWNLOADATTEMPTTIMESTAMP_FIELD_NUMBER: builtins.int + fileSHA256: builtins.bytes + mediaKey: builtins.bytes + fileEncSHA256: builtins.bytes + directPath: builtins.str + mediaKeyTimestamp: builtins.int + serverMediaType: builtins.str + uploadToken: builtins.bytes + validatedTimestamp: builtins.bytes + sidecar: builtins.bytes + objectID: builtins.str + FBID: builtins.str + handle: builtins.str + filename: builtins.str + size: builtins.int + lastDownloadAttemptTimestamp: builtins.int + @property + def downloadableThumbnail(self) -> global___MediaEntry.DownloadableThumbnail: ... + @property + def progressiveJPEGDetails(self) -> global___MediaEntry.ProgressiveJpegDetails: ... + def __init__( + self, + *, + fileSHA256: builtins.bytes | None = ..., + mediaKey: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + serverMediaType: builtins.str | None = ..., + uploadToken: builtins.bytes | None = ..., + validatedTimestamp: builtins.bytes | None = ..., + sidecar: builtins.bytes | None = ..., + objectID: builtins.str | None = ..., + FBID: builtins.str | None = ..., + downloadableThumbnail: global___MediaEntry.DownloadableThumbnail | None = ..., + handle: builtins.str | None = ..., + filename: builtins.str | None = ..., + progressiveJPEGDetails: global___MediaEntry.ProgressiveJpegDetails | None = ..., + size: builtins.int | None = ..., + lastDownloadAttemptTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["FBID", b"FBID", "directPath", b"directPath", "downloadableThumbnail", b"downloadableThumbnail", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "filename", b"filename", "handle", b"handle", "lastDownloadAttemptTimestamp", b"lastDownloadAttemptTimestamp", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "objectID", b"objectID", "progressiveJPEGDetails", b"progressiveJPEGDetails", "serverMediaType", b"serverMediaType", "sidecar", b"sidecar", "size", b"size", "uploadToken", b"uploadToken", "validatedTimestamp", b"validatedTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["FBID", b"FBID", "directPath", b"directPath", "downloadableThumbnail", b"downloadableThumbnail", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "filename", b"filename", "handle", b"handle", "lastDownloadAttemptTimestamp", b"lastDownloadAttemptTimestamp", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "objectID", b"objectID", "progressiveJPEGDetails", b"progressiveJPEGDetails", "serverMediaType", b"serverMediaType", "sidecar", b"sidecar", "size", b"size", "uploadToken", b"uploadToken", "validatedTimestamp", b"validatedTimestamp"]) -> None: ... + +global___MediaEntry = MediaEntry diff --git a/neonize/proto/waMediaTransport/WAMediaTransport_pb2.py b/neonize/proto/waMediaTransport/WAMediaTransport_pb2.py new file mode 100644 index 00000000..d2b9ccfd --- /dev/null +++ b/neonize/proto/waMediaTransport/WAMediaTransport_pb2.py @@ -0,0 +1,98 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waMediaTransport/WAMediaTransport.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waMediaTransport/WAMediaTransport.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'waMediaTransport/WAMediaTransport.proto\x12\x10WAMediaTransport\x1a\x17waCommon/WACommon.proto\"\xb3\x06\n\x10WAMediaTransport\x12=\n\x08integral\x18\x01 \x01(\x0b\x32+.WAMediaTransport.WAMediaTransport.Integral\x12?\n\tancillary\x18\x02 \x01(\x0b\x32,.WAMediaTransport.WAMediaTransport.Ancillary\x1a\xa6\x04\n\tAncillary\x12\x12\n\nfileLength\x18\x01 \x01(\x04\x12\x10\n\x08mimetype\x18\x02 \x01(\t\x12I\n\tthumbnail\x18\x03 \x01(\x0b\x32\x36.WAMediaTransport.WAMediaTransport.Ancillary.Thumbnail\x12\x10\n\x08objectID\x18\x04 \x01(\t\x1a\x95\x03\n\tThumbnail\x12\x15\n\rJPEGThumbnail\x18\x01 \x01(\x0c\x12k\n\x15\x64ownloadableThumbnail\x18\x02 \x01(\x0b\x32L.WAMediaTransport.WAMediaTransport.Ancillary.Thumbnail.DownloadableThumbnail\x12\x16\n\x0ethumbnailWidth\x18\x03 \x01(\r\x12\x17\n\x0fthumbnailHeight\x18\x04 \x01(\r\x1a\xd2\x01\n\x15\x44ownloadableThumbnail\x12\x12\n\nfileSHA256\x18\x01 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x02 \x01(\x0c\x12\x12\n\ndirectPath\x18\x03 \x01(\t\x12\x10\n\x08mediaKey\x18\x04 \x01(\x0c\x12\x19\n\x11mediaKeyTimestamp\x18\x05 \x01(\x03\x12\x10\n\x08objectID\x18\x06 \x01(\t\x12\x1d\n\x15thumbnailScansSidecar\x18\x07 \x01(\x0c\x12\x1c\n\x14thumbnailScanLengths\x18\x08 \x03(\r\x1av\n\x08Integral\x12\x12\n\nfileSHA256\x18\x01 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x02 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x03 \x01(\x0c\x12\x12\n\ndirectPath\x18\x04 \x01(\t\x12\x19\n\x11mediaKeyTimestamp\x18\x05 \x01(\x03\"\xf5\x03\n\x0eImageTransport\x12;\n\x08integral\x18\x01 \x01(\x0b\x32).WAMediaTransport.ImageTransport.Integral\x12=\n\tancillary\x18\x02 \x01(\x0b\x32*.WAMediaTransport.ImageTransport.Ancillary\x1a\xa3\x02\n\tAncillary\x12\x0e\n\x06height\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\r\x12\x14\n\x0cscansSidecar\x18\x03 \x01(\x0c\x12\x13\n\x0bscanLengths\x18\x04 \x03(\r\x12\x1c\n\x14midQualityFileSHA256\x18\x05 \x01(\x0c\x12\x41\n\x06hdType\x18\x06 \x01(\x0e\x32\x31.WAMediaTransport.ImageTransport.Ancillary.HdType\x12!\n\x15memoriesConceptScores\x18\x07 \x03(\x02\x42\x02\x10\x01\x12\x1e\n\x12memoriesConceptIDs\x18\x08 \x03(\rB\x02\x10\x01\"(\n\x06HdType\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05LQ_4K\x10\x01\x12\t\n\x05HQ_4K\x10\x02\x1a\x41\n\x08Integral\x12\x35\n\ttransport\x18\x01 \x01(\x0b\x32\".WAMediaTransport.WAMediaTransport\"\x84\x04\n\x0eVideoTransport\x12;\n\x08integral\x18\x01 \x01(\x0b\x32).WAMediaTransport.VideoTransport.Integral\x12=\n\tancillary\x18\x02 \x01(\x0b\x32*.WAMediaTransport.VideoTransport.Ancillary\x1a\xb2\x02\n\tAncillary\x12\x0f\n\x07seconds\x18\x01 \x01(\r\x12&\n\x07\x63\x61ption\x18\x02 \x01(\x0b\x32\x15.WACommon.MessageText\x12\x13\n\x0bgifPlayback\x18\x03 \x01(\x08\x12\x0e\n\x06height\x18\x04 \x01(\r\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0f\n\x07sidecar\x18\x06 \x01(\x0c\x12N\n\x0egifAttribution\x18\x07 \x01(\x0e\x32\x36.WAMediaTransport.VideoTransport.Ancillary.Attribution\x12\x1a\n\x12\x61\x63\x63\x65ssibilityLabel\x18\x08 \x01(\t\x12\x0c\n\x04isHd\x18\t \x01(\x08\"-\n\x0b\x41ttribution\x12\x08\n\x04NONE\x10\x00\x12\t\n\x05GIPHY\x10\x01\x12\t\n\x05TENOR\x10\x02\x1a\x41\n\x08Integral\x12\x35\n\ttransport\x18\x01 \x01(\x0b\x32\".WAMediaTransport.WAMediaTransport\"\x93\x07\n\x0e\x41udioTransport\x12;\n\x08integral\x18\x01 \x01(\x0b\x32).WAMediaTransport.AudioTransport.Integral\x12=\n\tancillary\x18\x02 \x01(\x0b\x32*.WAMediaTransport.AudioTransport.Ancillary\x1a\xce\x04\n\tAncillary\x12\x0f\n\x07seconds\x18\x01 \x01(\r\x12K\n\x0b\x61vatarAudio\x18\x02 \x01(\x0b\x32\x36.WAMediaTransport.AudioTransport.Ancillary.AvatarAudio\x1a\xe2\x03\n\x0b\x41vatarAudio\x12\x0e\n\x06poseID\x18\x01 \x01(\r\x12m\n\x10\x61vatarAnimations\x18\x02 \x03(\x0b\x32S.WAMediaTransport.AudioTransport.Ancillary.AvatarAudio.DownloadableAvatarAnimations\x1a\xfb\x01\n\x1c\x44ownloadableAvatarAnimations\x12\x12\n\nfileSHA256\x18\x01 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x02 \x01(\x0c\x12\x12\n\ndirectPath\x18\x03 \x01(\t\x12\x10\n\x08mediaKey\x18\x04 \x01(\x0c\x12\x19\n\x11mediaKeyTimestamp\x18\x05 \x01(\x03\x12\x10\n\x08objectID\x18\x06 \x01(\t\x12]\n\x0e\x61nimationsType\x18\x07 \x01(\x0e\x32\x45.WAMediaTransport.AudioTransport.Ancillary.AvatarAudio.AnimationsType\"V\n\x0e\x41nimationsType\x12\r\n\tTALKING_A\x10\x00\x12\n\n\x06IDLE_A\x10\x01\x12\r\n\tTALKING_B\x10\x02\x12\n\n\x06IDLE_B\x10\x03\x12\x0e\n\nBACKGROUND\x10\x04\x1a\xb3\x01\n\x08Integral\x12\x35\n\ttransport\x18\x01 \x01(\x0b\x32\".WAMediaTransport.WAMediaTransport\x12J\n\x0b\x61udioFormat\x18\x02 \x01(\x0e\x32\x35.WAMediaTransport.AudioTransport.Integral.AudioFormat\"$\n\x0b\x41udioFormat\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04OPUS\x10\x01\"\xf8\x01\n\x11\x44ocumentTransport\x12>\n\x08integral\x18\x01 \x01(\x0b\x32,.WAMediaTransport.DocumentTransport.Integral\x12@\n\tancillary\x18\x02 \x01(\x0b\x32-.WAMediaTransport.DocumentTransport.Ancillary\x1a\x1e\n\tAncillary\x12\x11\n\tpageCount\x18\x01 \x01(\r\x1a\x41\n\x08Integral\x12\x35\n\ttransport\x18\x01 \x01(\x0b\x32\".WAMediaTransport.WAMediaTransport\"\xd8\x03\n\x10StickerTransport\x12=\n\x08integral\x18\x01 \x01(\x0b\x32+.WAMediaTransport.StickerTransport.Integral\x12?\n\tancillary\x18\x02 \x01(\x0b\x32,.WAMediaTransport.StickerTransport.Ancillary\x1a\xd3\x01\n\tAncillary\x12\x11\n\tpageCount\x18\x01 \x01(\r\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\r\n\x05width\x18\x03 \x01(\r\x12\x18\n\x10\x66irstFrameLength\x18\x04 \x01(\r\x12\x19\n\x11\x66irstFrameSidecar\x18\x05 \x01(\x0c\x12\x14\n\x0cmustacheText\x18\x06 \x01(\t\x12\x14\n\x0cisThirdParty\x18\x07 \x01(\x08\x12\x17\n\x0freceiverFetchID\x18\x08 \x01(\t\x12\x1a\n\x12\x61\x63\x63\x65ssibilityLabel\x18\t \x01(\t\x1an\n\x08Integral\x12\x35\n\ttransport\x18\x01 \x01(\x0b\x32\".WAMediaTransport.WAMediaTransport\x12\x12\n\nisAnimated\x18\x02 \x01(\x08\x12\x17\n\x0freceiverFetchID\x18\x03 \x01(\t\"\x9d\x02\n\x10\x43ontactTransport\x12=\n\x08integral\x18\x01 \x01(\x0b\x32+.WAMediaTransport.ContactTransport.Integral\x12?\n\tancillary\x18\x02 \x01(\x0b\x32,.WAMediaTransport.ContactTransport.Ancillary\x1a \n\tAncillary\x12\x13\n\x0b\x64isplayName\x18\x01 \x01(\t\x1ag\n\x08Integral\x12\x0f\n\x05vcard\x18\x01 \x01(\tH\x00\x12?\n\x11\x64ownloadableVcard\x18\x02 \x01(\x0b\x32\".WAMediaTransport.WAMediaTransportH\x00\x42\t\n\x07\x63ontactB,Z*go.mau.fi/whatsmeow/proto/waMediaTransport') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waMediaTransport.WAMediaTransport_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z*go.mau.fi/whatsmeow/proto/waMediaTransport' + _globals['_IMAGETRANSPORT_ANCILLARY'].fields_by_name['memoriesConceptScores']._loaded_options = None + _globals['_IMAGETRANSPORT_ANCILLARY'].fields_by_name['memoriesConceptScores']._serialized_options = b'\020\001' + _globals['_IMAGETRANSPORT_ANCILLARY'].fields_by_name['memoriesConceptIDs']._loaded_options = None + _globals['_IMAGETRANSPORT_ANCILLARY'].fields_by_name['memoriesConceptIDs']._serialized_options = b'\020\001' + _globals['_WAMEDIATRANSPORT']._serialized_start=87 + _globals['_WAMEDIATRANSPORT']._serialized_end=906 + _globals['_WAMEDIATRANSPORT_ANCILLARY']._serialized_start=236 + _globals['_WAMEDIATRANSPORT_ANCILLARY']._serialized_end=786 + _globals['_WAMEDIATRANSPORT_ANCILLARY_THUMBNAIL']._serialized_start=381 + _globals['_WAMEDIATRANSPORT_ANCILLARY_THUMBNAIL']._serialized_end=786 + _globals['_WAMEDIATRANSPORT_ANCILLARY_THUMBNAIL_DOWNLOADABLETHUMBNAIL']._serialized_start=576 + _globals['_WAMEDIATRANSPORT_ANCILLARY_THUMBNAIL_DOWNLOADABLETHUMBNAIL']._serialized_end=786 + _globals['_WAMEDIATRANSPORT_INTEGRAL']._serialized_start=788 + _globals['_WAMEDIATRANSPORT_INTEGRAL']._serialized_end=906 + _globals['_IMAGETRANSPORT']._serialized_start=909 + _globals['_IMAGETRANSPORT']._serialized_end=1410 + _globals['_IMAGETRANSPORT_ANCILLARY']._serialized_start=1052 + _globals['_IMAGETRANSPORT_ANCILLARY']._serialized_end=1343 + _globals['_IMAGETRANSPORT_ANCILLARY_HDTYPE']._serialized_start=1303 + _globals['_IMAGETRANSPORT_ANCILLARY_HDTYPE']._serialized_end=1343 + _globals['_IMAGETRANSPORT_INTEGRAL']._serialized_start=1345 + _globals['_IMAGETRANSPORT_INTEGRAL']._serialized_end=1410 + _globals['_VIDEOTRANSPORT']._serialized_start=1413 + _globals['_VIDEOTRANSPORT']._serialized_end=1929 + _globals['_VIDEOTRANSPORT_ANCILLARY']._serialized_start=1556 + _globals['_VIDEOTRANSPORT_ANCILLARY']._serialized_end=1862 + _globals['_VIDEOTRANSPORT_ANCILLARY_ATTRIBUTION']._serialized_start=1817 + _globals['_VIDEOTRANSPORT_ANCILLARY_ATTRIBUTION']._serialized_end=1862 + _globals['_VIDEOTRANSPORT_INTEGRAL']._serialized_start=1345 + _globals['_VIDEOTRANSPORT_INTEGRAL']._serialized_end=1410 + _globals['_AUDIOTRANSPORT']._serialized_start=1932 + _globals['_AUDIOTRANSPORT']._serialized_end=2847 + _globals['_AUDIOTRANSPORT_ANCILLARY']._serialized_start=2075 + _globals['_AUDIOTRANSPORT_ANCILLARY']._serialized_end=2665 + _globals['_AUDIOTRANSPORT_ANCILLARY_AVATARAUDIO']._serialized_start=2183 + _globals['_AUDIOTRANSPORT_ANCILLARY_AVATARAUDIO']._serialized_end=2665 + _globals['_AUDIOTRANSPORT_ANCILLARY_AVATARAUDIO_DOWNLOADABLEAVATARANIMATIONS']._serialized_start=2326 + _globals['_AUDIOTRANSPORT_ANCILLARY_AVATARAUDIO_DOWNLOADABLEAVATARANIMATIONS']._serialized_end=2577 + _globals['_AUDIOTRANSPORT_ANCILLARY_AVATARAUDIO_ANIMATIONSTYPE']._serialized_start=2579 + _globals['_AUDIOTRANSPORT_ANCILLARY_AVATARAUDIO_ANIMATIONSTYPE']._serialized_end=2665 + _globals['_AUDIOTRANSPORT_INTEGRAL']._serialized_start=2668 + _globals['_AUDIOTRANSPORT_INTEGRAL']._serialized_end=2847 + _globals['_AUDIOTRANSPORT_INTEGRAL_AUDIOFORMAT']._serialized_start=2811 + _globals['_AUDIOTRANSPORT_INTEGRAL_AUDIOFORMAT']._serialized_end=2847 + _globals['_DOCUMENTTRANSPORT']._serialized_start=2850 + _globals['_DOCUMENTTRANSPORT']._serialized_end=3098 + _globals['_DOCUMENTTRANSPORT_ANCILLARY']._serialized_start=3001 + _globals['_DOCUMENTTRANSPORT_ANCILLARY']._serialized_end=3031 + _globals['_DOCUMENTTRANSPORT_INTEGRAL']._serialized_start=1345 + _globals['_DOCUMENTTRANSPORT_INTEGRAL']._serialized_end=1410 + _globals['_STICKERTRANSPORT']._serialized_start=3101 + _globals['_STICKERTRANSPORT']._serialized_end=3573 + _globals['_STICKERTRANSPORT_ANCILLARY']._serialized_start=3250 + _globals['_STICKERTRANSPORT_ANCILLARY']._serialized_end=3461 + _globals['_STICKERTRANSPORT_INTEGRAL']._serialized_start=3463 + _globals['_STICKERTRANSPORT_INTEGRAL']._serialized_end=3573 + _globals['_CONTACTTRANSPORT']._serialized_start=3576 + _globals['_CONTACTTRANSPORT']._serialized_end=3861 + _globals['_CONTACTTRANSPORT_ANCILLARY']._serialized_start=3724 + _globals['_CONTACTTRANSPORT_ANCILLARY']._serialized_end=3756 + _globals['_CONTACTTRANSPORT_INTEGRAL']._serialized_start=3758 + _globals['_CONTACTTRANSPORT_INTEGRAL']._serialized_end=3861 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waMediaTransport/WAMediaTransport_pb2.pyi b/neonize/proto/waMediaTransport/WAMediaTransport_pb2.pyi new file mode 100644 index 00000000..a10d48bb --- /dev/null +++ b/neonize/proto/waMediaTransport/WAMediaTransport_pb2.pyi @@ -0,0 +1,654 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waCommon.WACommon_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class WAMediaTransport(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Ancillary(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Thumbnail(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class DownloadableThumbnail(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILESHA256_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + OBJECTID_FIELD_NUMBER: builtins.int + THUMBNAILSCANSSIDECAR_FIELD_NUMBER: builtins.int + THUMBNAILSCANLENGTHS_FIELD_NUMBER: builtins.int + fileSHA256: builtins.bytes + fileEncSHA256: builtins.bytes + directPath: builtins.str + mediaKey: builtins.bytes + mediaKeyTimestamp: builtins.int + objectID: builtins.str + thumbnailScansSidecar: builtins.bytes + @property + def thumbnailScanLengths(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + fileSHA256: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + mediaKey: builtins.bytes | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + objectID: builtins.str | None = ..., + thumbnailScansSidecar: builtins.bytes | None = ..., + thumbnailScanLengths: collections.abc.Iterable[builtins.int] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "objectID", b"objectID", "thumbnailScansSidecar", b"thumbnailScansSidecar"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "objectID", b"objectID", "thumbnailScanLengths", b"thumbnailScanLengths", "thumbnailScansSidecar", b"thumbnailScansSidecar"]) -> None: ... + + JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int + DOWNLOADABLETHUMBNAIL_FIELD_NUMBER: builtins.int + THUMBNAILWIDTH_FIELD_NUMBER: builtins.int + THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int + JPEGThumbnail: builtins.bytes + thumbnailWidth: builtins.int + thumbnailHeight: builtins.int + @property + def downloadableThumbnail(self) -> global___WAMediaTransport.Ancillary.Thumbnail.DownloadableThumbnail: ... + def __init__( + self, + *, + JPEGThumbnail: builtins.bytes | None = ..., + downloadableThumbnail: global___WAMediaTransport.Ancillary.Thumbnail.DownloadableThumbnail | None = ..., + thumbnailWidth: builtins.int | None = ..., + thumbnailHeight: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "downloadableThumbnail", b"downloadableThumbnail", "thumbnailHeight", b"thumbnailHeight", "thumbnailWidth", b"thumbnailWidth"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "downloadableThumbnail", b"downloadableThumbnail", "thumbnailHeight", b"thumbnailHeight", "thumbnailWidth", b"thumbnailWidth"]) -> None: ... + + FILELENGTH_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + THUMBNAIL_FIELD_NUMBER: builtins.int + OBJECTID_FIELD_NUMBER: builtins.int + fileLength: builtins.int + mimetype: builtins.str + objectID: builtins.str + @property + def thumbnail(self) -> global___WAMediaTransport.Ancillary.Thumbnail: ... + def __init__( + self, + *, + fileLength: builtins.int | None = ..., + mimetype: builtins.str | None = ..., + thumbnail: global___WAMediaTransport.Ancillary.Thumbnail | None = ..., + objectID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fileLength", b"fileLength", "mimetype", b"mimetype", "objectID", b"objectID", "thumbnail", b"thumbnail"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fileLength", b"fileLength", "mimetype", b"mimetype", "objectID", b"objectID", "thumbnail", b"thumbnail"]) -> None: ... + + @typing.final + class Integral(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILESHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + fileSHA256: builtins.bytes + mediaKey: builtins.bytes + fileEncSHA256: builtins.bytes + directPath: builtins.str + mediaKeyTimestamp: builtins.int + def __init__( + self, + *, + fileSHA256: builtins.bytes | None = ..., + mediaKey: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp"]) -> None: ... + + INTEGRAL_FIELD_NUMBER: builtins.int + ANCILLARY_FIELD_NUMBER: builtins.int + @property + def integral(self) -> global___WAMediaTransport.Integral: ... + @property + def ancillary(self) -> global___WAMediaTransport.Ancillary: ... + def __init__( + self, + *, + integral: global___WAMediaTransport.Integral | None = ..., + ancillary: global___WAMediaTransport.Ancillary | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> None: ... + +global___WAMediaTransport = WAMediaTransport + +@typing.final +class ImageTransport(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Ancillary(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _HdType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _HdTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ImageTransport.Ancillary._HdType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: ImageTransport.Ancillary._HdType.ValueType # 0 + LQ_4K: ImageTransport.Ancillary._HdType.ValueType # 1 + HQ_4K: ImageTransport.Ancillary._HdType.ValueType # 2 + + class HdType(_HdType, metaclass=_HdTypeEnumTypeWrapper): ... + NONE: ImageTransport.Ancillary.HdType.ValueType # 0 + LQ_4K: ImageTransport.Ancillary.HdType.ValueType # 1 + HQ_4K: ImageTransport.Ancillary.HdType.ValueType # 2 + + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + SCANSSIDECAR_FIELD_NUMBER: builtins.int + SCANLENGTHS_FIELD_NUMBER: builtins.int + MIDQUALITYFILESHA256_FIELD_NUMBER: builtins.int + HDTYPE_FIELD_NUMBER: builtins.int + MEMORIESCONCEPTSCORES_FIELD_NUMBER: builtins.int + MEMORIESCONCEPTIDS_FIELD_NUMBER: builtins.int + height: builtins.int + width: builtins.int + scansSidecar: builtins.bytes + midQualityFileSHA256: builtins.bytes + hdType: global___ImageTransport.Ancillary.HdType.ValueType + @property + def scanLengths(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + @property + def memoriesConceptScores(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ... + @property + def memoriesConceptIDs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + height: builtins.int | None = ..., + width: builtins.int | None = ..., + scansSidecar: builtins.bytes | None = ..., + scanLengths: collections.abc.Iterable[builtins.int] | None = ..., + midQualityFileSHA256: builtins.bytes | None = ..., + hdType: global___ImageTransport.Ancillary.HdType.ValueType | None = ..., + memoriesConceptScores: collections.abc.Iterable[builtins.float] | None = ..., + memoriesConceptIDs: collections.abc.Iterable[builtins.int] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["hdType", b"hdType", "height", b"height", "midQualityFileSHA256", b"midQualityFileSHA256", "scansSidecar", b"scansSidecar", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["hdType", b"hdType", "height", b"height", "memoriesConceptIDs", b"memoriesConceptIDs", "memoriesConceptScores", b"memoriesConceptScores", "midQualityFileSHA256", b"midQualityFileSHA256", "scanLengths", b"scanLengths", "scansSidecar", b"scansSidecar", "width", b"width"]) -> None: ... + + @typing.final + class Integral(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TRANSPORT_FIELD_NUMBER: builtins.int + @property + def transport(self) -> global___WAMediaTransport: ... + def __init__( + self, + *, + transport: global___WAMediaTransport | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["transport", b"transport"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["transport", b"transport"]) -> None: ... + + INTEGRAL_FIELD_NUMBER: builtins.int + ANCILLARY_FIELD_NUMBER: builtins.int + @property + def integral(self) -> global___ImageTransport.Integral: ... + @property + def ancillary(self) -> global___ImageTransport.Ancillary: ... + def __init__( + self, + *, + integral: global___ImageTransport.Integral | None = ..., + ancillary: global___ImageTransport.Ancillary | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> None: ... + +global___ImageTransport = ImageTransport + +@typing.final +class VideoTransport(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Ancillary(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Attribution: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AttributionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[VideoTransport.Ancillary._Attribution.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: VideoTransport.Ancillary._Attribution.ValueType # 0 + GIPHY: VideoTransport.Ancillary._Attribution.ValueType # 1 + TENOR: VideoTransport.Ancillary._Attribution.ValueType # 2 + + class Attribution(_Attribution, metaclass=_AttributionEnumTypeWrapper): ... + NONE: VideoTransport.Ancillary.Attribution.ValueType # 0 + GIPHY: VideoTransport.Ancillary.Attribution.ValueType # 1 + TENOR: VideoTransport.Ancillary.Attribution.ValueType # 2 + + SECONDS_FIELD_NUMBER: builtins.int + CAPTION_FIELD_NUMBER: builtins.int + GIFPLAYBACK_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + SIDECAR_FIELD_NUMBER: builtins.int + GIFATTRIBUTION_FIELD_NUMBER: builtins.int + ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int + ISHD_FIELD_NUMBER: builtins.int + seconds: builtins.int + gifPlayback: builtins.bool + height: builtins.int + width: builtins.int + sidecar: builtins.bytes + gifAttribution: global___VideoTransport.Ancillary.Attribution.ValueType + accessibilityLabel: builtins.str + isHd: builtins.bool + @property + def caption(self) -> waCommon.WACommon_pb2.MessageText: ... + def __init__( + self, + *, + seconds: builtins.int | None = ..., + caption: waCommon.WACommon_pb2.MessageText | None = ..., + gifPlayback: builtins.bool | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + sidecar: builtins.bytes | None = ..., + gifAttribution: global___VideoTransport.Ancillary.Attribution.ValueType | None = ..., + accessibilityLabel: builtins.str | None = ..., + isHd: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accessibilityLabel", b"accessibilityLabel", "caption", b"caption", "gifAttribution", b"gifAttribution", "gifPlayback", b"gifPlayback", "height", b"height", "isHd", b"isHd", "seconds", b"seconds", "sidecar", b"sidecar", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accessibilityLabel", b"accessibilityLabel", "caption", b"caption", "gifAttribution", b"gifAttribution", "gifPlayback", b"gifPlayback", "height", b"height", "isHd", b"isHd", "seconds", b"seconds", "sidecar", b"sidecar", "width", b"width"]) -> None: ... + + @typing.final + class Integral(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TRANSPORT_FIELD_NUMBER: builtins.int + @property + def transport(self) -> global___WAMediaTransport: ... + def __init__( + self, + *, + transport: global___WAMediaTransport | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["transport", b"transport"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["transport", b"transport"]) -> None: ... + + INTEGRAL_FIELD_NUMBER: builtins.int + ANCILLARY_FIELD_NUMBER: builtins.int + @property + def integral(self) -> global___VideoTransport.Integral: ... + @property + def ancillary(self) -> global___VideoTransport.Ancillary: ... + def __init__( + self, + *, + integral: global___VideoTransport.Integral | None = ..., + ancillary: global___VideoTransport.Ancillary | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> None: ... + +global___VideoTransport = VideoTransport + +@typing.final +class AudioTransport(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Ancillary(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class AvatarAudio(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AnimationsType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AnimationsTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AudioTransport.Ancillary.AvatarAudio._AnimationsType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + TALKING_A: AudioTransport.Ancillary.AvatarAudio._AnimationsType.ValueType # 0 + IDLE_A: AudioTransport.Ancillary.AvatarAudio._AnimationsType.ValueType # 1 + TALKING_B: AudioTransport.Ancillary.AvatarAudio._AnimationsType.ValueType # 2 + IDLE_B: AudioTransport.Ancillary.AvatarAudio._AnimationsType.ValueType # 3 + BACKGROUND: AudioTransport.Ancillary.AvatarAudio._AnimationsType.ValueType # 4 + + class AnimationsType(_AnimationsType, metaclass=_AnimationsTypeEnumTypeWrapper): ... + TALKING_A: AudioTransport.Ancillary.AvatarAudio.AnimationsType.ValueType # 0 + IDLE_A: AudioTransport.Ancillary.AvatarAudio.AnimationsType.ValueType # 1 + TALKING_B: AudioTransport.Ancillary.AvatarAudio.AnimationsType.ValueType # 2 + IDLE_B: AudioTransport.Ancillary.AvatarAudio.AnimationsType.ValueType # 3 + BACKGROUND: AudioTransport.Ancillary.AvatarAudio.AnimationsType.ValueType # 4 + + @typing.final + class DownloadableAvatarAnimations(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILESHA256_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int + OBJECTID_FIELD_NUMBER: builtins.int + ANIMATIONSTYPE_FIELD_NUMBER: builtins.int + fileSHA256: builtins.bytes + fileEncSHA256: builtins.bytes + directPath: builtins.str + mediaKey: builtins.bytes + mediaKeyTimestamp: builtins.int + objectID: builtins.str + animationsType: global___AudioTransport.Ancillary.AvatarAudio.AnimationsType.ValueType + def __init__( + self, + *, + fileSHA256: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + mediaKey: builtins.bytes | None = ..., + mediaKeyTimestamp: builtins.int | None = ..., + objectID: builtins.str | None = ..., + animationsType: global___AudioTransport.Ancillary.AvatarAudio.AnimationsType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["animationsType", b"animationsType", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "objectID", b"objectID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["animationsType", b"animationsType", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "objectID", b"objectID"]) -> None: ... + + POSEID_FIELD_NUMBER: builtins.int + AVATARANIMATIONS_FIELD_NUMBER: builtins.int + poseID: builtins.int + @property + def avatarAnimations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AudioTransport.Ancillary.AvatarAudio.DownloadableAvatarAnimations]: ... + def __init__( + self, + *, + poseID: builtins.int | None = ..., + avatarAnimations: collections.abc.Iterable[global___AudioTransport.Ancillary.AvatarAudio.DownloadableAvatarAnimations] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["poseID", b"poseID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["avatarAnimations", b"avatarAnimations", "poseID", b"poseID"]) -> None: ... + + SECONDS_FIELD_NUMBER: builtins.int + AVATARAUDIO_FIELD_NUMBER: builtins.int + seconds: builtins.int + @property + def avatarAudio(self) -> global___AudioTransport.Ancillary.AvatarAudio: ... + def __init__( + self, + *, + seconds: builtins.int | None = ..., + avatarAudio: global___AudioTransport.Ancillary.AvatarAudio | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["avatarAudio", b"avatarAudio", "seconds", b"seconds"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["avatarAudio", b"avatarAudio", "seconds", b"seconds"]) -> None: ... + + @typing.final + class Integral(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AudioFormat: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AudioFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AudioTransport.Integral._AudioFormat.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: AudioTransport.Integral._AudioFormat.ValueType # 0 + OPUS: AudioTransport.Integral._AudioFormat.ValueType # 1 + + class AudioFormat(_AudioFormat, metaclass=_AudioFormatEnumTypeWrapper): ... + UNKNOWN: AudioTransport.Integral.AudioFormat.ValueType # 0 + OPUS: AudioTransport.Integral.AudioFormat.ValueType # 1 + + TRANSPORT_FIELD_NUMBER: builtins.int + AUDIOFORMAT_FIELD_NUMBER: builtins.int + audioFormat: global___AudioTransport.Integral.AudioFormat.ValueType + @property + def transport(self) -> global___WAMediaTransport: ... + def __init__( + self, + *, + transport: global___WAMediaTransport | None = ..., + audioFormat: global___AudioTransport.Integral.AudioFormat.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["audioFormat", b"audioFormat", "transport", b"transport"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["audioFormat", b"audioFormat", "transport", b"transport"]) -> None: ... + + INTEGRAL_FIELD_NUMBER: builtins.int + ANCILLARY_FIELD_NUMBER: builtins.int + @property + def integral(self) -> global___AudioTransport.Integral: ... + @property + def ancillary(self) -> global___AudioTransport.Ancillary: ... + def __init__( + self, + *, + integral: global___AudioTransport.Integral | None = ..., + ancillary: global___AudioTransport.Ancillary | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> None: ... + +global___AudioTransport = AudioTransport + +@typing.final +class DocumentTransport(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Ancillary(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PAGECOUNT_FIELD_NUMBER: builtins.int + pageCount: builtins.int + def __init__( + self, + *, + pageCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["pageCount", b"pageCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["pageCount", b"pageCount"]) -> None: ... + + @typing.final + class Integral(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TRANSPORT_FIELD_NUMBER: builtins.int + @property + def transport(self) -> global___WAMediaTransport: ... + def __init__( + self, + *, + transport: global___WAMediaTransport | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["transport", b"transport"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["transport", b"transport"]) -> None: ... + + INTEGRAL_FIELD_NUMBER: builtins.int + ANCILLARY_FIELD_NUMBER: builtins.int + @property + def integral(self) -> global___DocumentTransport.Integral: ... + @property + def ancillary(self) -> global___DocumentTransport.Ancillary: ... + def __init__( + self, + *, + integral: global___DocumentTransport.Integral | None = ..., + ancillary: global___DocumentTransport.Ancillary | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> None: ... + +global___DocumentTransport = DocumentTransport + +@typing.final +class StickerTransport(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Ancillary(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PAGECOUNT_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + FIRSTFRAMELENGTH_FIELD_NUMBER: builtins.int + FIRSTFRAMESIDECAR_FIELD_NUMBER: builtins.int + MUSTACHETEXT_FIELD_NUMBER: builtins.int + ISTHIRDPARTY_FIELD_NUMBER: builtins.int + RECEIVERFETCHID_FIELD_NUMBER: builtins.int + ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int + pageCount: builtins.int + height: builtins.int + width: builtins.int + firstFrameLength: builtins.int + firstFrameSidecar: builtins.bytes + mustacheText: builtins.str + isThirdParty: builtins.bool + receiverFetchID: builtins.str + accessibilityLabel: builtins.str + def __init__( + self, + *, + pageCount: builtins.int | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + firstFrameLength: builtins.int | None = ..., + firstFrameSidecar: builtins.bytes | None = ..., + mustacheText: builtins.str | None = ..., + isThirdParty: builtins.bool | None = ..., + receiverFetchID: builtins.str | None = ..., + accessibilityLabel: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accessibilityLabel", b"accessibilityLabel", "firstFrameLength", b"firstFrameLength", "firstFrameSidecar", b"firstFrameSidecar", "height", b"height", "isThirdParty", b"isThirdParty", "mustacheText", b"mustacheText", "pageCount", b"pageCount", "receiverFetchID", b"receiverFetchID", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accessibilityLabel", b"accessibilityLabel", "firstFrameLength", b"firstFrameLength", "firstFrameSidecar", b"firstFrameSidecar", "height", b"height", "isThirdParty", b"isThirdParty", "mustacheText", b"mustacheText", "pageCount", b"pageCount", "receiverFetchID", b"receiverFetchID", "width", b"width"]) -> None: ... + + @typing.final + class Integral(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TRANSPORT_FIELD_NUMBER: builtins.int + ISANIMATED_FIELD_NUMBER: builtins.int + RECEIVERFETCHID_FIELD_NUMBER: builtins.int + isAnimated: builtins.bool + receiverFetchID: builtins.str + @property + def transport(self) -> global___WAMediaTransport: ... + def __init__( + self, + *, + transport: global___WAMediaTransport | None = ..., + isAnimated: builtins.bool | None = ..., + receiverFetchID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isAnimated", b"isAnimated", "receiverFetchID", b"receiverFetchID", "transport", b"transport"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isAnimated", b"isAnimated", "receiverFetchID", b"receiverFetchID", "transport", b"transport"]) -> None: ... + + INTEGRAL_FIELD_NUMBER: builtins.int + ANCILLARY_FIELD_NUMBER: builtins.int + @property + def integral(self) -> global___StickerTransport.Integral: ... + @property + def ancillary(self) -> global___StickerTransport.Ancillary: ... + def __init__( + self, + *, + integral: global___StickerTransport.Integral | None = ..., + ancillary: global___StickerTransport.Ancillary | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> None: ... + +global___StickerTransport = StickerTransport + +@typing.final +class ContactTransport(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Ancillary(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DISPLAYNAME_FIELD_NUMBER: builtins.int + displayName: builtins.str + def __init__( + self, + *, + displayName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["displayName", b"displayName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["displayName", b"displayName"]) -> None: ... + + @typing.final + class Integral(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VCARD_FIELD_NUMBER: builtins.int + DOWNLOADABLEVCARD_FIELD_NUMBER: builtins.int + vcard: builtins.str + @property + def downloadableVcard(self) -> global___WAMediaTransport: ... + def __init__( + self, + *, + vcard: builtins.str | None = ..., + downloadableVcard: global___WAMediaTransport | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["contact", b"contact", "downloadableVcard", b"downloadableVcard", "vcard", b"vcard"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["contact", b"contact", "downloadableVcard", b"downloadableVcard", "vcard", b"vcard"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["contact", b"contact"]) -> typing.Literal["vcard", "downloadableVcard"] | None: ... + + INTEGRAL_FIELD_NUMBER: builtins.int + ANCILLARY_FIELD_NUMBER: builtins.int + @property + def integral(self) -> global___ContactTransport.Integral: ... + @property + def ancillary(self) -> global___ContactTransport.Ancillary: ... + def __init__( + self, + *, + integral: global___ContactTransport.Integral | None = ..., + ancillary: global___ContactTransport.Ancillary | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> None: ... + +global___ContactTransport = ContactTransport diff --git a/neonize/proto/waMmsRetry/WAMmsRetry_pb2.py b/neonize/proto/waMmsRetry/WAMmsRetry_pb2.py new file mode 100644 index 00000000..7e368e58 --- /dev/null +++ b/neonize/proto/waMmsRetry/WAMmsRetry_pb2.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waMmsRetry/WAMmsRetry.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waMmsRetry/WAMmsRetry.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bwaMmsRetry/WAMmsRetry.proto\x12\nWAMmsRetry\"\xe7\x01\n\x16MediaRetryNotification\x12\x10\n\x08stanzaID\x18\x01 \x01(\t\x12\x12\n\ndirectPath\x18\x02 \x01(\t\x12=\n\x06result\x18\x03 \x01(\x0e\x32-.WAMmsRetry.MediaRetryNotification.ResultType\x12\x15\n\rmessageSecret\x18\x04 \x01(\x0c\"Q\n\nResultType\x12\x11\n\rGENERAL_ERROR\x10\x00\x12\x0b\n\x07SUCCESS\x10\x01\x12\r\n\tNOT_FOUND\x10\x02\x12\x14\n\x10\x44\x45\x43RYPTION_ERROR\x10\x03\"&\n\x12ServerErrorReceipt\x12\x10\n\x08stanzaID\x18\x01 \x01(\tB&Z$go.mau.fi/whatsmeow/proto/waMmsRetry') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waMmsRetry.WAMmsRetry_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z$go.mau.fi/whatsmeow/proto/waMmsRetry' + _globals['_MEDIARETRYNOTIFICATION']._serialized_start=44 + _globals['_MEDIARETRYNOTIFICATION']._serialized_end=275 + _globals['_MEDIARETRYNOTIFICATION_RESULTTYPE']._serialized_start=194 + _globals['_MEDIARETRYNOTIFICATION_RESULTTYPE']._serialized_end=275 + _globals['_SERVERERRORRECEIPT']._serialized_start=277 + _globals['_SERVERERRORRECEIPT']._serialized_end=315 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waMmsRetry/WAMmsRetry_pb2.pyi b/neonize/proto/waMmsRetry/WAMmsRetry_pb2.pyi new file mode 100644 index 00000000..a2374843 --- /dev/null +++ b/neonize/proto/waMmsRetry/WAMmsRetry_pb2.pyi @@ -0,0 +1,76 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class MediaRetryNotification(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ResultType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ResultTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MediaRetryNotification._ResultType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + GENERAL_ERROR: MediaRetryNotification._ResultType.ValueType # 0 + SUCCESS: MediaRetryNotification._ResultType.ValueType # 1 + NOT_FOUND: MediaRetryNotification._ResultType.ValueType # 2 + DECRYPTION_ERROR: MediaRetryNotification._ResultType.ValueType # 3 + + class ResultType(_ResultType, metaclass=_ResultTypeEnumTypeWrapper): ... + GENERAL_ERROR: MediaRetryNotification.ResultType.ValueType # 0 + SUCCESS: MediaRetryNotification.ResultType.ValueType # 1 + NOT_FOUND: MediaRetryNotification.ResultType.ValueType # 2 + DECRYPTION_ERROR: MediaRetryNotification.ResultType.ValueType # 3 + + STANZAID_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + RESULT_FIELD_NUMBER: builtins.int + MESSAGESECRET_FIELD_NUMBER: builtins.int + stanzaID: builtins.str + directPath: builtins.str + result: global___MediaRetryNotification.ResultType.ValueType + messageSecret: builtins.bytes + def __init__( + self, + *, + stanzaID: builtins.str | None = ..., + directPath: builtins.str | None = ..., + result: global___MediaRetryNotification.ResultType.ValueType | None = ..., + messageSecret: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "messageSecret", b"messageSecret", "result", b"result", "stanzaID", b"stanzaID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "messageSecret", b"messageSecret", "result", b"result", "stanzaID", b"stanzaID"]) -> None: ... + +global___MediaRetryNotification = MediaRetryNotification + +@typing.final +class ServerErrorReceipt(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STANZAID_FIELD_NUMBER: builtins.int + stanzaID: builtins.str + def __init__( + self, + *, + stanzaID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["stanzaID", b"stanzaID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["stanzaID", b"stanzaID"]) -> None: ... + +global___ServerErrorReceipt = ServerErrorReceipt diff --git a/neonize/proto/waMsgApplication/WAMsgApplication_pb2.py b/neonize/proto/waMsgApplication/WAMsgApplication_pb2.py new file mode 100644 index 00000000..c0345103 --- /dev/null +++ b/neonize/proto/waMsgApplication/WAMsgApplication_pb2.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waMsgApplication/WAMsgApplication.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waMsgApplication/WAMsgApplication.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'waMsgApplication/WAMsgApplication.proto\x12\x10WAMsgApplication\x1a\x17waCommon/WACommon.proto\"\xb5\x11\n\x12MessageApplication\x12=\n\x07payload\x18\x01 \x01(\x0b\x32,.WAMsgApplication.MessageApplication.Payload\x12?\n\x08metadata\x18\x02 \x01(\x0b\x32-.WAMsgApplication.MessageApplication.Metadata\x1a\x8c\x08\n\x08Metadata\x12U\n\x14\x63hatEphemeralSetting\x18\x01 \x01(\x0b\x32\x35.WAMsgApplication.MessageApplication.EphemeralSettingH\x00\x12\x61\n\x14\x65phemeralSettingList\x18\x02 \x01(\x0b\x32\x41.WAMsgApplication.MessageApplication.Metadata.EphemeralSettingMapH\x00\x12\x1f\n\x15\x65phemeralSharedSecret\x18\x03 \x01(\x0cH\x00\x12\x17\n\x0f\x66orwardingScore\x18\x05 \x01(\r\x12\x13\n\x0bisForwarded\x18\x06 \x01(\x08\x12/\n\x10\x62usinessMetadata\x18\x07 \x01(\x0b\x32\x15.WACommon.SubProtocol\x12\x13\n\x0b\x66rankingKey\x18\x08 \x01(\x0c\x12\x17\n\x0f\x66rankingVersion\x18\t \x01(\x05\x12R\n\rquotedMessage\x18\n \x01(\x0b\x32;.WAMsgApplication.MessageApplication.Metadata.QuotedMessage\x12L\n\nthreadType\x18\x0b \x01(\x0e\x32\x38.WAMsgApplication.MessageApplication.Metadata.ThreadType\x12!\n\x19readonlyMetadataDataclass\x18\x0c \x01(\t\x12\x0f\n\x07groupID\x18\r \x01(\t\x12\x11\n\tgroupSize\x18\x0e \x01(\r\x12\x12\n\ngroupIndex\x18\x0f \x01(\r\x12\x15\n\rbotResponseID\x18\x10 \x01(\t\x12\x15\n\rcollapsibleID\x18\x11 \x01(\t\x12\x15\n\rsecondaryOtid\x18\x12 \x01(\t\x1a\x88\x01\n\rQuotedMessage\x12\x10\n\x08stanzaID\x18\x01 \x01(\t\x12\x11\n\tremoteJID\x18\x02 \x01(\t\x12\x13\n\x0bparticipant\x18\x03 \x01(\t\x12=\n\x07payload\x18\x04 \x01(\x0b\x32,.WAMsgApplication.MessageApplication.Payload\x1aw\n\x13\x45phemeralSettingMap\x12\x0f\n\x07\x63hatJID\x18\x01 \x01(\t\x12O\n\x10\x65phemeralSetting\x18\x02 \x01(\x0b\x32\x35.WAMsgApplication.MessageApplication.EphemeralSetting\"E\n\nThreadType\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x0f\n\x0bVANISH_MODE\x10\x01\x12\x19\n\x15\x44ISAPPEARING_MESSAGES\x10\x02\x42\x0b\n\tephemeral\x1a\xb9\x02\n\x07Payload\x12\x43\n\x0b\x63oreContent\x18\x01 \x01(\x0b\x32,.WAMsgApplication.MessageApplication.ContentH\x00\x12=\n\x06signal\x18\x02 \x01(\x0b\x32+.WAMsgApplication.MessageApplication.SignalH\x00\x12O\n\x0f\x61pplicationData\x18\x03 \x01(\x0b\x32\x34.WAMsgApplication.MessageApplication.ApplicationDataH\x00\x12N\n\x0bsubProtocol\x18\x04 \x01(\x0b\x32\x37.WAMsgApplication.MessageApplication.SubProtocolPayloadH\x00\x42\t\n\x07\x63ontent\x1a\xed\x02\n\x12SubProtocolPayload\x12\x30\n\x0f\x63onsumerMessage\x18\x02 \x01(\x0b\x32\x15.WACommon.SubProtocolH\x00\x12\x30\n\x0f\x62usinessMessage\x18\x03 \x01(\x0b\x32\x15.WACommon.SubProtocolH\x00\x12/\n\x0epaymentMessage\x18\x04 \x01(\x0b\x32\x15.WACommon.SubProtocolH\x00\x12,\n\x0bmultiDevice\x18\x05 \x01(\x0b\x32\x15.WACommon.SubProtocolH\x00\x12%\n\x04voip\x18\x06 \x01(\x0b\x32\x15.WACommon.SubProtocolH\x00\x12*\n\tarmadillo\x18\x07 \x01(\x0b\x32\x15.WACommon.SubProtocolH\x00\x12\x32\n\x0b\x66utureProof\x18\x01 \x01(\x0e\x32\x1d.WACommon.FutureProofBehaviorB\r\n\x0bsubProtocol\x1a\x11\n\x0f\x41pplicationData\x1a\x08\n\x06Signal\x1a\t\n\x07\x43ontent\x1a\xbb\x02\n\x10\x45phemeralSetting\x12\x1b\n\x13\x65phemeralExpiration\x18\x02 \x01(\r\x12!\n\x19\x65phemeralSettingTimestamp\x18\x03 \x01(\x03\x12`\n\x10\x65phemeralityType\x18\x05 \x01(\x0e\x32\x46.WAMsgApplication.MessageApplication.EphemeralSetting.EphemeralityType\x12\x1f\n\x17isEphemeralSettingReset\x18\x04 \x01(\x08\"d\n\x10\x45phemeralityType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tSEEN_ONCE\x10\x01\x12\x19\n\x15SEEN_BASED_WITH_TIMER\x10\x02\x12\x19\n\x15SEND_BASED_WITH_TIMER\x10\x03\x42,Z*go.mau.fi/whatsmeow/proto/waMsgApplication') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waMsgApplication.WAMsgApplication_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z*go.mau.fi/whatsmeow/proto/waMsgApplication' + _globals['_MESSAGEAPPLICATION']._serialized_start=87 + _globals['_MESSAGEAPPLICATION']._serialized_end=2316 + _globals['_MESSAGEAPPLICATION_METADATA']._serialized_start=238 + _globals['_MESSAGEAPPLICATION_METADATA']._serialized_end=1274 + _globals['_MESSAGEAPPLICATION_METADATA_QUOTEDMESSAGE']._serialized_start=933 + _globals['_MESSAGEAPPLICATION_METADATA_QUOTEDMESSAGE']._serialized_end=1069 + _globals['_MESSAGEAPPLICATION_METADATA_EPHEMERALSETTINGMAP']._serialized_start=1071 + _globals['_MESSAGEAPPLICATION_METADATA_EPHEMERALSETTINGMAP']._serialized_end=1190 + _globals['_MESSAGEAPPLICATION_METADATA_THREADTYPE']._serialized_start=1192 + _globals['_MESSAGEAPPLICATION_METADATA_THREADTYPE']._serialized_end=1261 + _globals['_MESSAGEAPPLICATION_PAYLOAD']._serialized_start=1277 + _globals['_MESSAGEAPPLICATION_PAYLOAD']._serialized_end=1590 + _globals['_MESSAGEAPPLICATION_SUBPROTOCOLPAYLOAD']._serialized_start=1593 + _globals['_MESSAGEAPPLICATION_SUBPROTOCOLPAYLOAD']._serialized_end=1958 + _globals['_MESSAGEAPPLICATION_APPLICATIONDATA']._serialized_start=1960 + _globals['_MESSAGEAPPLICATION_APPLICATIONDATA']._serialized_end=1977 + _globals['_MESSAGEAPPLICATION_SIGNAL']._serialized_start=1979 + _globals['_MESSAGEAPPLICATION_SIGNAL']._serialized_end=1987 + _globals['_MESSAGEAPPLICATION_CONTENT']._serialized_start=1989 + _globals['_MESSAGEAPPLICATION_CONTENT']._serialized_end=1998 + _globals['_MESSAGEAPPLICATION_EPHEMERALSETTING']._serialized_start=2001 + _globals['_MESSAGEAPPLICATION_EPHEMERALSETTING']._serialized_end=2316 + _globals['_MESSAGEAPPLICATION_EPHEMERALSETTING_EPHEMERALITYTYPE']._serialized_start=2216 + _globals['_MESSAGEAPPLICATION_EPHEMERALSETTING_EPHEMERALITYTYPE']._serialized_end=2316 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waMsgApplication/WAMsgApplication_pb2.pyi b/neonize/proto/waMsgApplication/WAMsgApplication_pb2.pyi new file mode 100644 index 00000000..a41d7e26 --- /dev/null +++ b/neonize/proto/waMsgApplication/WAMsgApplication_pb2.pyi @@ -0,0 +1,295 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waCommon.WACommon_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class MessageApplication(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Metadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ThreadType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ThreadTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MessageApplication.Metadata._ThreadType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DEFAULT: MessageApplication.Metadata._ThreadType.ValueType # 0 + VANISH_MODE: MessageApplication.Metadata._ThreadType.ValueType # 1 + DISAPPEARING_MESSAGES: MessageApplication.Metadata._ThreadType.ValueType # 2 + + class ThreadType(_ThreadType, metaclass=_ThreadTypeEnumTypeWrapper): ... + DEFAULT: MessageApplication.Metadata.ThreadType.ValueType # 0 + VANISH_MODE: MessageApplication.Metadata.ThreadType.ValueType # 1 + DISAPPEARING_MESSAGES: MessageApplication.Metadata.ThreadType.ValueType # 2 + + @typing.final + class QuotedMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STANZAID_FIELD_NUMBER: builtins.int + REMOTEJID_FIELD_NUMBER: builtins.int + PARTICIPANT_FIELD_NUMBER: builtins.int + PAYLOAD_FIELD_NUMBER: builtins.int + stanzaID: builtins.str + remoteJID: builtins.str + participant: builtins.str + @property + def payload(self) -> global___MessageApplication.Payload: ... + def __init__( + self, + *, + stanzaID: builtins.str | None = ..., + remoteJID: builtins.str | None = ..., + participant: builtins.str | None = ..., + payload: global___MessageApplication.Payload | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["participant", b"participant", "payload", b"payload", "remoteJID", b"remoteJID", "stanzaID", b"stanzaID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["participant", b"participant", "payload", b"payload", "remoteJID", b"remoteJID", "stanzaID", b"stanzaID"]) -> None: ... + + @typing.final + class EphemeralSettingMap(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CHATJID_FIELD_NUMBER: builtins.int + EPHEMERALSETTING_FIELD_NUMBER: builtins.int + chatJID: builtins.str + @property + def ephemeralSetting(self) -> global___MessageApplication.EphemeralSetting: ... + def __init__( + self, + *, + chatJID: builtins.str | None = ..., + ephemeralSetting: global___MessageApplication.EphemeralSetting | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["chatJID", b"chatJID", "ephemeralSetting", b"ephemeralSetting"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chatJID", b"chatJID", "ephemeralSetting", b"ephemeralSetting"]) -> None: ... + + CHATEPHEMERALSETTING_FIELD_NUMBER: builtins.int + EPHEMERALSETTINGLIST_FIELD_NUMBER: builtins.int + EPHEMERALSHAREDSECRET_FIELD_NUMBER: builtins.int + FORWARDINGSCORE_FIELD_NUMBER: builtins.int + ISFORWARDED_FIELD_NUMBER: builtins.int + BUSINESSMETADATA_FIELD_NUMBER: builtins.int + FRANKINGKEY_FIELD_NUMBER: builtins.int + FRANKINGVERSION_FIELD_NUMBER: builtins.int + QUOTEDMESSAGE_FIELD_NUMBER: builtins.int + THREADTYPE_FIELD_NUMBER: builtins.int + READONLYMETADATADATACLASS_FIELD_NUMBER: builtins.int + GROUPID_FIELD_NUMBER: builtins.int + GROUPSIZE_FIELD_NUMBER: builtins.int + GROUPINDEX_FIELD_NUMBER: builtins.int + BOTRESPONSEID_FIELD_NUMBER: builtins.int + COLLAPSIBLEID_FIELD_NUMBER: builtins.int + SECONDARYOTID_FIELD_NUMBER: builtins.int + ephemeralSharedSecret: builtins.bytes + forwardingScore: builtins.int + isForwarded: builtins.bool + frankingKey: builtins.bytes + frankingVersion: builtins.int + threadType: global___MessageApplication.Metadata.ThreadType.ValueType + readonlyMetadataDataclass: builtins.str + groupID: builtins.str + groupSize: builtins.int + groupIndex: builtins.int + botResponseID: builtins.str + collapsibleID: builtins.str + secondaryOtid: builtins.str + @property + def chatEphemeralSetting(self) -> global___MessageApplication.EphemeralSetting: ... + @property + def ephemeralSettingList(self) -> global___MessageApplication.Metadata.EphemeralSettingMap: ... + @property + def businessMetadata(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def quotedMessage(self) -> global___MessageApplication.Metadata.QuotedMessage: ... + def __init__( + self, + *, + chatEphemeralSetting: global___MessageApplication.EphemeralSetting | None = ..., + ephemeralSettingList: global___MessageApplication.Metadata.EphemeralSettingMap | None = ..., + ephemeralSharedSecret: builtins.bytes | None = ..., + forwardingScore: builtins.int | None = ..., + isForwarded: builtins.bool | None = ..., + businessMetadata: waCommon.WACommon_pb2.SubProtocol | None = ..., + frankingKey: builtins.bytes | None = ..., + frankingVersion: builtins.int | None = ..., + quotedMessage: global___MessageApplication.Metadata.QuotedMessage | None = ..., + threadType: global___MessageApplication.Metadata.ThreadType.ValueType | None = ..., + readonlyMetadataDataclass: builtins.str | None = ..., + groupID: builtins.str | None = ..., + groupSize: builtins.int | None = ..., + groupIndex: builtins.int | None = ..., + botResponseID: builtins.str | None = ..., + collapsibleID: builtins.str | None = ..., + secondaryOtid: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["botResponseID", b"botResponseID", "businessMetadata", b"businessMetadata", "chatEphemeralSetting", b"chatEphemeralSetting", "collapsibleID", b"collapsibleID", "ephemeral", b"ephemeral", "ephemeralSettingList", b"ephemeralSettingList", "ephemeralSharedSecret", b"ephemeralSharedSecret", "forwardingScore", b"forwardingScore", "frankingKey", b"frankingKey", "frankingVersion", b"frankingVersion", "groupID", b"groupID", "groupIndex", b"groupIndex", "groupSize", b"groupSize", "isForwarded", b"isForwarded", "quotedMessage", b"quotedMessage", "readonlyMetadataDataclass", b"readonlyMetadataDataclass", "secondaryOtid", b"secondaryOtid", "threadType", b"threadType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["botResponseID", b"botResponseID", "businessMetadata", b"businessMetadata", "chatEphemeralSetting", b"chatEphemeralSetting", "collapsibleID", b"collapsibleID", "ephemeral", b"ephemeral", "ephemeralSettingList", b"ephemeralSettingList", "ephemeralSharedSecret", b"ephemeralSharedSecret", "forwardingScore", b"forwardingScore", "frankingKey", b"frankingKey", "frankingVersion", b"frankingVersion", "groupID", b"groupID", "groupIndex", b"groupIndex", "groupSize", b"groupSize", "isForwarded", b"isForwarded", "quotedMessage", b"quotedMessage", "readonlyMetadataDataclass", b"readonlyMetadataDataclass", "secondaryOtid", b"secondaryOtid", "threadType", b"threadType"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["ephemeral", b"ephemeral"]) -> typing.Literal["chatEphemeralSetting", "ephemeralSettingList", "ephemeralSharedSecret"] | None: ... + + @typing.final + class Payload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CORECONTENT_FIELD_NUMBER: builtins.int + SIGNAL_FIELD_NUMBER: builtins.int + APPLICATIONDATA_FIELD_NUMBER: builtins.int + SUBPROTOCOL_FIELD_NUMBER: builtins.int + @property + def coreContent(self) -> global___MessageApplication.Content: ... + @property + def signal(self) -> global___MessageApplication.Signal: ... + @property + def applicationData(self) -> global___MessageApplication.ApplicationData: ... + @property + def subProtocol(self) -> global___MessageApplication.SubProtocolPayload: ... + def __init__( + self, + *, + coreContent: global___MessageApplication.Content | None = ..., + signal: global___MessageApplication.Signal | None = ..., + applicationData: global___MessageApplication.ApplicationData | None = ..., + subProtocol: global___MessageApplication.SubProtocolPayload | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["applicationData", b"applicationData", "content", b"content", "coreContent", b"coreContent", "signal", b"signal", "subProtocol", b"subProtocol"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["applicationData", b"applicationData", "content", b"content", "coreContent", b"coreContent", "signal", b"signal", "subProtocol", b"subProtocol"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["content", b"content"]) -> typing.Literal["coreContent", "signal", "applicationData", "subProtocol"] | None: ... + + @typing.final + class SubProtocolPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CONSUMERMESSAGE_FIELD_NUMBER: builtins.int + BUSINESSMESSAGE_FIELD_NUMBER: builtins.int + PAYMENTMESSAGE_FIELD_NUMBER: builtins.int + MULTIDEVICE_FIELD_NUMBER: builtins.int + VOIP_FIELD_NUMBER: builtins.int + ARMADILLO_FIELD_NUMBER: builtins.int + FUTUREPROOF_FIELD_NUMBER: builtins.int + futureProof: waCommon.WACommon_pb2.FutureProofBehavior.ValueType + @property + def consumerMessage(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def businessMessage(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def paymentMessage(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def multiDevice(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def voip(self) -> waCommon.WACommon_pb2.SubProtocol: ... + @property + def armadillo(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + consumerMessage: waCommon.WACommon_pb2.SubProtocol | None = ..., + businessMessage: waCommon.WACommon_pb2.SubProtocol | None = ..., + paymentMessage: waCommon.WACommon_pb2.SubProtocol | None = ..., + multiDevice: waCommon.WACommon_pb2.SubProtocol | None = ..., + voip: waCommon.WACommon_pb2.SubProtocol | None = ..., + armadillo: waCommon.WACommon_pb2.SubProtocol | None = ..., + futureProof: waCommon.WACommon_pb2.FutureProofBehavior.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["armadillo", b"armadillo", "businessMessage", b"businessMessage", "consumerMessage", b"consumerMessage", "futureProof", b"futureProof", "multiDevice", b"multiDevice", "paymentMessage", b"paymentMessage", "subProtocol", b"subProtocol", "voip", b"voip"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["armadillo", b"armadillo", "businessMessage", b"businessMessage", "consumerMessage", b"consumerMessage", "futureProof", b"futureProof", "multiDevice", b"multiDevice", "paymentMessage", b"paymentMessage", "subProtocol", b"subProtocol", "voip", b"voip"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["subProtocol", b"subProtocol"]) -> typing.Literal["consumerMessage", "businessMessage", "paymentMessage", "multiDevice", "voip", "armadillo"] | None: ... + + @typing.final + class ApplicationData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + + @typing.final + class Signal(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + + @typing.final + class Content(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + + @typing.final + class EphemeralSetting(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _EphemeralityType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _EphemeralityTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MessageApplication.EphemeralSetting._EphemeralityType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: MessageApplication.EphemeralSetting._EphemeralityType.ValueType # 0 + SEEN_ONCE: MessageApplication.EphemeralSetting._EphemeralityType.ValueType # 1 + SEEN_BASED_WITH_TIMER: MessageApplication.EphemeralSetting._EphemeralityType.ValueType # 2 + SEND_BASED_WITH_TIMER: MessageApplication.EphemeralSetting._EphemeralityType.ValueType # 3 + + class EphemeralityType(_EphemeralityType, metaclass=_EphemeralityTypeEnumTypeWrapper): ... + UNKNOWN: MessageApplication.EphemeralSetting.EphemeralityType.ValueType # 0 + SEEN_ONCE: MessageApplication.EphemeralSetting.EphemeralityType.ValueType # 1 + SEEN_BASED_WITH_TIMER: MessageApplication.EphemeralSetting.EphemeralityType.ValueType # 2 + SEND_BASED_WITH_TIMER: MessageApplication.EphemeralSetting.EphemeralityType.ValueType # 3 + + EPHEMERALEXPIRATION_FIELD_NUMBER: builtins.int + EPHEMERALSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int + EPHEMERALITYTYPE_FIELD_NUMBER: builtins.int + ISEPHEMERALSETTINGRESET_FIELD_NUMBER: builtins.int + ephemeralExpiration: builtins.int + ephemeralSettingTimestamp: builtins.int + ephemeralityType: global___MessageApplication.EphemeralSetting.EphemeralityType.ValueType + isEphemeralSettingReset: builtins.bool + def __init__( + self, + *, + ephemeralExpiration: builtins.int | None = ..., + ephemeralSettingTimestamp: builtins.int | None = ..., + ephemeralityType: global___MessageApplication.EphemeralSetting.EphemeralityType.ValueType | None = ..., + isEphemeralSettingReset: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "ephemeralityType", b"ephemeralityType", "isEphemeralSettingReset", b"isEphemeralSettingReset"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "ephemeralityType", b"ephemeralityType", "isEphemeralSettingReset", b"isEphemeralSettingReset"]) -> None: ... + + PAYLOAD_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + @property + def payload(self) -> global___MessageApplication.Payload: ... + @property + def metadata(self) -> global___MessageApplication.Metadata: ... + def __init__( + self, + *, + payload: global___MessageApplication.Payload | None = ..., + metadata: global___MessageApplication.Metadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]) -> None: ... + +global___MessageApplication = MessageApplication diff --git a/neonize/proto/waMsgTransport/WAMsgTransport_pb2.py b/neonize/proto/waMsgTransport/WAMsgTransport_pb2.py new file mode 100644 index 00000000..1cde0a54 --- /dev/null +++ b/neonize/proto/waMsgTransport/WAMsgTransport_pb2.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waMsgTransport/WAMsgTransport.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waMsgTransport/WAMsgTransport.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#waMsgTransport/WAMsgTransport.proto\x12\x0eWAMsgTransport\x1a\x17waCommon/WACommon.proto\"\xa4\r\n\x10MessageTransport\x12\x39\n\x07payload\x18\x01 \x01(\x0b\x32(.WAMsgTransport.MessageTransport.Payload\x12;\n\x08protocol\x18\x02 \x01(\x0b\x32).WAMsgTransport.MessageTransport.Protocol\x1ap\n\x07Payload\x12\x31\n\x12\x61pplicationPayload\x18\x01 \x01(\x0b\x32\x15.WACommon.SubProtocol\x12\x32\n\x0b\x66utureProof\x18\x03 \x01(\x0e\x32\x1d.WACommon.FutureProofBehavior\x1a\xa5\x0b\n\x08Protocol\x12\x44\n\x08integral\x18\x01 \x01(\x0b\x32\x32.WAMsgTransport.MessageTransport.Protocol.Integral\x12\x46\n\tancillary\x18\x02 \x01(\x0b\x32\x33.WAMsgTransport.MessageTransport.Protocol.Ancillary\x1a\xdd\x08\n\tAncillary\x12^\n\x04skdm\x18\x02 \x01(\x0b\x32P.WAMsgTransport.MessageTransport.Protocol.Ancillary.SenderKeyDistributionMessage\x12>\n\x12\x64\x65viceListMetadata\x18\x03 \x01(\x0b\x32\".WAMsgTransport.DeviceListMetadata\x12X\n\x04icdc\x18\x04 \x01(\x0b\x32J.WAMsgTransport.MessageTransport.Protocol.Ancillary.ICDCParticipantDevices\x12\\\n\x0f\x62\x61\x63kupDirective\x18\x05 \x01(\x0b\x32\x43.WAMsgTransport.MessageTransport.Protocol.Ancillary.BackupDirective\x1a\xe8\x01\n\x0f\x42\x61\x63kupDirective\x12\x11\n\tmessageID\x18\x01 \x01(\t\x12\x62\n\nactionType\x18\x02 \x01(\x0e\x32N.WAMsgTransport.MessageTransport.Protocol.Ancillary.BackupDirective.ActionType\x12\x17\n\x0fsupplementalKey\x18\x03 \x01(\t\"E\n\nActionType\x12\x08\n\x04NOOP\x10\x00\x12\n\n\x06UPSERT\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x15\n\x11UPSERT_AND_DELETE\x10\x03\x1a\xae\x03\n\x16ICDCParticipantDevices\x12~\n\x0esenderIdentity\x18\x01 \x01(\x0b\x32\x66.WAMsgTransport.MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.ICDCIdentityListDescription\x12\x83\x01\n\x13recipientIdentities\x18\x02 \x03(\x0b\x32\x66.WAMsgTransport.MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.ICDCIdentityListDescription\x12\x19\n\x11recipientUserJIDs\x18\x03 \x03(\t\x1as\n\x1bICDCIdentityListDescription\x12\x0b\n\x03seq\x18\x01 \x01(\x05\x12\x15\n\rsigningDevice\x18\x02 \x01(\x0c\x12\x16\n\x0eunknownDevices\x18\x03 \x03(\x0c\x12\x18\n\x10unknownDeviceIDs\x18\x04 \x03(\x05\x1a\\\n\x1cSenderKeyDistributionMessage\x12\x0f\n\x07groupID\x18\x01 \x01(\t\x12+\n#axolotlSenderKeyDistributionMessage\x18\x02 \x01(\x0c\x1a\xaa\x01\n\x08Integral\x12\x0f\n\x07padding\x18\x01 \x01(\x0c\x12Q\n\x03\x44SM\x18\x02 \x01(\x0b\x32\x44.WAMsgTransport.MessageTransport.Protocol.Integral.DeviceSentMessage\x1a:\n\x11\x44\x65viceSentMessage\x12\x16\n\x0e\x64\x65stinationJID\x18\x01 \x01(\t\x12\r\n\x05phash\x18\x02 \x01(\t\"z\n\x12\x44\x65viceListMetadata\x12\x15\n\rsenderKeyHash\x18\x01 \x01(\x0c\x12\x17\n\x0fsenderTimestamp\x18\x02 \x01(\x04\x12\x18\n\x10recipientKeyHash\x18\x08 \x01(\x0c\x12\x1a\n\x12recipientTimestamp\x18\t \x01(\x04\x42*Z(go.mau.fi/whatsmeow/proto/waMsgTransport') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waMsgTransport.WAMsgTransport_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z(go.mau.fi/whatsmeow/proto/waMsgTransport' + _globals['_MESSAGETRANSPORT']._serialized_start=81 + _globals['_MESSAGETRANSPORT']._serialized_end=1781 + _globals['_MESSAGETRANSPORT_PAYLOAD']._serialized_start=221 + _globals['_MESSAGETRANSPORT_PAYLOAD']._serialized_end=333 + _globals['_MESSAGETRANSPORT_PROTOCOL']._serialized_start=336 + _globals['_MESSAGETRANSPORT_PROTOCOL']._serialized_end=1781 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY']._serialized_start=491 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY']._serialized_end=1608 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY_BACKUPDIRECTIVE']._serialized_start=849 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY_BACKUPDIRECTIVE']._serialized_end=1081 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY_BACKUPDIRECTIVE_ACTIONTYPE']._serialized_start=1012 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY_BACKUPDIRECTIVE_ACTIONTYPE']._serialized_end=1081 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY_ICDCPARTICIPANTDEVICES']._serialized_start=1084 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY_ICDCPARTICIPANTDEVICES']._serialized_end=1514 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY_ICDCPARTICIPANTDEVICES_ICDCIDENTITYLISTDESCRIPTION']._serialized_start=1399 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY_ICDCPARTICIPANTDEVICES_ICDCIDENTITYLISTDESCRIPTION']._serialized_end=1514 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY_SENDERKEYDISTRIBUTIONMESSAGE']._serialized_start=1516 + _globals['_MESSAGETRANSPORT_PROTOCOL_ANCILLARY_SENDERKEYDISTRIBUTIONMESSAGE']._serialized_end=1608 + _globals['_MESSAGETRANSPORT_PROTOCOL_INTEGRAL']._serialized_start=1611 + _globals['_MESSAGETRANSPORT_PROTOCOL_INTEGRAL']._serialized_end=1781 + _globals['_MESSAGETRANSPORT_PROTOCOL_INTEGRAL_DEVICESENTMESSAGE']._serialized_start=1723 + _globals['_MESSAGETRANSPORT_PROTOCOL_INTEGRAL_DEVICESENTMESSAGE']._serialized_end=1781 + _globals['_DEVICELISTMETADATA']._serialized_start=1783 + _globals['_DEVICELISTMETADATA']._serialized_end=1905 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waMsgTransport/WAMsgTransport_pb2.pyi b/neonize/proto/waMsgTransport/WAMsgTransport_pb2.pyi new file mode 100644 index 00000000..87463e92 --- /dev/null +++ b/neonize/proto/waMsgTransport/WAMsgTransport_pb2.pyi @@ -0,0 +1,268 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waCommon.WACommon_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class MessageTransport(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Payload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + APPLICATIONPAYLOAD_FIELD_NUMBER: builtins.int + FUTUREPROOF_FIELD_NUMBER: builtins.int + futureProof: waCommon.WACommon_pb2.FutureProofBehavior.ValueType + @property + def applicationPayload(self) -> waCommon.WACommon_pb2.SubProtocol: ... + def __init__( + self, + *, + applicationPayload: waCommon.WACommon_pb2.SubProtocol | None = ..., + futureProof: waCommon.WACommon_pb2.FutureProofBehavior.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["applicationPayload", b"applicationPayload", "futureProof", b"futureProof"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["applicationPayload", b"applicationPayload", "futureProof", b"futureProof"]) -> None: ... + + @typing.final + class Protocol(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Ancillary(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class BackupDirective(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ActionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ActionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MessageTransport.Protocol.Ancillary.BackupDirective._ActionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NOOP: MessageTransport.Protocol.Ancillary.BackupDirective._ActionType.ValueType # 0 + UPSERT: MessageTransport.Protocol.Ancillary.BackupDirective._ActionType.ValueType # 1 + DELETE: MessageTransport.Protocol.Ancillary.BackupDirective._ActionType.ValueType # 2 + UPSERT_AND_DELETE: MessageTransport.Protocol.Ancillary.BackupDirective._ActionType.ValueType # 3 + + class ActionType(_ActionType, metaclass=_ActionTypeEnumTypeWrapper): ... + NOOP: MessageTransport.Protocol.Ancillary.BackupDirective.ActionType.ValueType # 0 + UPSERT: MessageTransport.Protocol.Ancillary.BackupDirective.ActionType.ValueType # 1 + DELETE: MessageTransport.Protocol.Ancillary.BackupDirective.ActionType.ValueType # 2 + UPSERT_AND_DELETE: MessageTransport.Protocol.Ancillary.BackupDirective.ActionType.ValueType # 3 + + MESSAGEID_FIELD_NUMBER: builtins.int + ACTIONTYPE_FIELD_NUMBER: builtins.int + SUPPLEMENTALKEY_FIELD_NUMBER: builtins.int + messageID: builtins.str + actionType: global___MessageTransport.Protocol.Ancillary.BackupDirective.ActionType.ValueType + supplementalKey: builtins.str + def __init__( + self, + *, + messageID: builtins.str | None = ..., + actionType: global___MessageTransport.Protocol.Ancillary.BackupDirective.ActionType.ValueType | None = ..., + supplementalKey: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionType", b"actionType", "messageID", b"messageID", "supplementalKey", b"supplementalKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionType", b"actionType", "messageID", b"messageID", "supplementalKey", b"supplementalKey"]) -> None: ... + + @typing.final + class ICDCParticipantDevices(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class ICDCIdentityListDescription(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SEQ_FIELD_NUMBER: builtins.int + SIGNINGDEVICE_FIELD_NUMBER: builtins.int + UNKNOWNDEVICES_FIELD_NUMBER: builtins.int + UNKNOWNDEVICEIDS_FIELD_NUMBER: builtins.int + seq: builtins.int + signingDevice: builtins.bytes + @property + def unknownDevices(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: ... + @property + def unknownDeviceIDs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + seq: builtins.int | None = ..., + signingDevice: builtins.bytes | None = ..., + unknownDevices: collections.abc.Iterable[builtins.bytes] | None = ..., + unknownDeviceIDs: collections.abc.Iterable[builtins.int] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["seq", b"seq", "signingDevice", b"signingDevice"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["seq", b"seq", "signingDevice", b"signingDevice", "unknownDeviceIDs", b"unknownDeviceIDs", "unknownDevices", b"unknownDevices"]) -> None: ... + + SENDERIDENTITY_FIELD_NUMBER: builtins.int + RECIPIENTIDENTITIES_FIELD_NUMBER: builtins.int + RECIPIENTUSERJIDS_FIELD_NUMBER: builtins.int + @property + def senderIdentity(self) -> global___MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.ICDCIdentityListDescription: ... + @property + def recipientIdentities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.ICDCIdentityListDescription]: ... + @property + def recipientUserJIDs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + senderIdentity: global___MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.ICDCIdentityListDescription | None = ..., + recipientIdentities: collections.abc.Iterable[global___MessageTransport.Protocol.Ancillary.ICDCParticipantDevices.ICDCIdentityListDescription] | None = ..., + recipientUserJIDs: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["senderIdentity", b"senderIdentity"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["recipientIdentities", b"recipientIdentities", "recipientUserJIDs", b"recipientUserJIDs", "senderIdentity", b"senderIdentity"]) -> None: ... + + @typing.final + class SenderKeyDistributionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + GROUPID_FIELD_NUMBER: builtins.int + AXOLOTLSENDERKEYDISTRIBUTIONMESSAGE_FIELD_NUMBER: builtins.int + groupID: builtins.str + axolotlSenderKeyDistributionMessage: builtins.bytes + def __init__( + self, + *, + groupID: builtins.str | None = ..., + axolotlSenderKeyDistributionMessage: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["axolotlSenderKeyDistributionMessage", b"axolotlSenderKeyDistributionMessage", "groupID", b"groupID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["axolotlSenderKeyDistributionMessage", b"axolotlSenderKeyDistributionMessage", "groupID", b"groupID"]) -> None: ... + + SKDM_FIELD_NUMBER: builtins.int + DEVICELISTMETADATA_FIELD_NUMBER: builtins.int + ICDC_FIELD_NUMBER: builtins.int + BACKUPDIRECTIVE_FIELD_NUMBER: builtins.int + @property + def skdm(self) -> global___MessageTransport.Protocol.Ancillary.SenderKeyDistributionMessage: ... + @property + def deviceListMetadata(self) -> global___DeviceListMetadata: ... + @property + def icdc(self) -> global___MessageTransport.Protocol.Ancillary.ICDCParticipantDevices: ... + @property + def backupDirective(self) -> global___MessageTransport.Protocol.Ancillary.BackupDirective: ... + def __init__( + self, + *, + skdm: global___MessageTransport.Protocol.Ancillary.SenderKeyDistributionMessage | None = ..., + deviceListMetadata: global___DeviceListMetadata | None = ..., + icdc: global___MessageTransport.Protocol.Ancillary.ICDCParticipantDevices | None = ..., + backupDirective: global___MessageTransport.Protocol.Ancillary.BackupDirective | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["backupDirective", b"backupDirective", "deviceListMetadata", b"deviceListMetadata", "icdc", b"icdc", "skdm", b"skdm"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["backupDirective", b"backupDirective", "deviceListMetadata", b"deviceListMetadata", "icdc", b"icdc", "skdm", b"skdm"]) -> None: ... + + @typing.final + class Integral(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class DeviceSentMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DESTINATIONJID_FIELD_NUMBER: builtins.int + PHASH_FIELD_NUMBER: builtins.int + destinationJID: builtins.str + phash: builtins.str + def __init__( + self, + *, + destinationJID: builtins.str | None = ..., + phash: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["destinationJID", b"destinationJID", "phash", b"phash"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["destinationJID", b"destinationJID", "phash", b"phash"]) -> None: ... + + PADDING_FIELD_NUMBER: builtins.int + DSM_FIELD_NUMBER: builtins.int + padding: builtins.bytes + @property + def DSM(self) -> global___MessageTransport.Protocol.Integral.DeviceSentMessage: ... + def __init__( + self, + *, + padding: builtins.bytes | None = ..., + DSM: global___MessageTransport.Protocol.Integral.DeviceSentMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["DSM", b"DSM", "padding", b"padding"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["DSM", b"DSM", "padding", b"padding"]) -> None: ... + + INTEGRAL_FIELD_NUMBER: builtins.int + ANCILLARY_FIELD_NUMBER: builtins.int + @property + def integral(self) -> global___MessageTransport.Protocol.Integral: ... + @property + def ancillary(self) -> global___MessageTransport.Protocol.Ancillary: ... + def __init__( + self, + *, + integral: global___MessageTransport.Protocol.Integral | None = ..., + ancillary: global___MessageTransport.Protocol.Ancillary | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ancillary", b"ancillary", "integral", b"integral"]) -> None: ... + + PAYLOAD_FIELD_NUMBER: builtins.int + PROTOCOL_FIELD_NUMBER: builtins.int + @property + def payload(self) -> global___MessageTransport.Payload: ... + @property + def protocol(self) -> global___MessageTransport.Protocol: ... + def __init__( + self, + *, + payload: global___MessageTransport.Payload | None = ..., + protocol: global___MessageTransport.Protocol | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["payload", b"payload", "protocol", b"protocol"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["payload", b"payload", "protocol", b"protocol"]) -> None: ... + +global___MessageTransport = MessageTransport + +@typing.final +class DeviceListMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SENDERKEYHASH_FIELD_NUMBER: builtins.int + SENDERTIMESTAMP_FIELD_NUMBER: builtins.int + RECIPIENTKEYHASH_FIELD_NUMBER: builtins.int + RECIPIENTTIMESTAMP_FIELD_NUMBER: builtins.int + senderKeyHash: builtins.bytes + senderTimestamp: builtins.int + recipientKeyHash: builtins.bytes + recipientTimestamp: builtins.int + def __init__( + self, + *, + senderKeyHash: builtins.bytes | None = ..., + senderTimestamp: builtins.int | None = ..., + recipientKeyHash: builtins.bytes | None = ..., + recipientTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["recipientKeyHash", b"recipientKeyHash", "recipientTimestamp", b"recipientTimestamp", "senderKeyHash", b"senderKeyHash", "senderTimestamp", b"senderTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["recipientKeyHash", b"recipientKeyHash", "recipientTimestamp", b"recipientTimestamp", "senderKeyHash", b"senderKeyHash", "senderTimestamp", b"senderTimestamp"]) -> None: ... + +global___DeviceListMetadata = DeviceListMetadata diff --git a/neonize/proto/waMultiDevice/WAMultiDevice_pb2.py b/neonize/proto/waMultiDevice/WAMultiDevice_pb2.py new file mode 100644 index 00000000..f6575fa7 --- /dev/null +++ b/neonize/proto/waMultiDevice/WAMultiDevice_pb2.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waMultiDevice/WAMultiDevice.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waMultiDevice/WAMultiDevice.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!waMultiDevice/WAMultiDevice.proto\x12\rWAMultiDevice\"\xf5\t\n\x0bMultiDevice\x12\x33\n\x07payload\x18\x01 \x01(\x0b\x32\".WAMultiDevice.MultiDevice.Payload\x12\x35\n\x08metadata\x18\x02 \x01(\x0b\x32#.WAMultiDevice.MultiDevice.Metadata\x1a\n\n\x08Metadata\x1a\x90\x01\n\x07Payload\x12\x45\n\x0f\x61pplicationData\x18\x01 \x01(\x0b\x32*.WAMultiDevice.MultiDevice.ApplicationDataH\x00\x12\x33\n\x06signal\x18\x02 \x01(\x0b\x32!.WAMultiDevice.MultiDevice.SignalH\x00\x42\t\n\x07payload\x1a\xd0\x07\n\x0f\x41pplicationData\x12\x66\n\x14\x61ppStateSyncKeyShare\x18\x01 \x01(\x0b\x32\x46.WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyShareMessageH\x00\x12j\n\x16\x61ppStateSyncKeyRequest\x18\x02 \x01(\x0b\x32H.WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyRequestMessageH\x00\x1am\n\x1d\x41ppStateSyncKeyRequestMessage\x12L\n\x06keyIDs\x18\x01 \x03(\x0b\x32<.WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyId\x1ag\n\x1b\x41ppStateSyncKeyShareMessage\x12H\n\x04keys\x18\x01 \x03(\x0b\x32:.WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey\x1a\xd9\x03\n\x0f\x41ppStateSyncKey\x12K\n\x05keyID\x18\x01 \x01(\x0b\x32<.WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKeyId\x12_\n\x07keyData\x18\x02 \x01(\x0b\x32N.WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData\x1a\x97\x02\n\x13\x41ppStateSyncKeyData\x12\x0f\n\x07keyData\x18\x01 \x01(\x0c\x12~\n\x0b\x66ingerprint\x18\x02 \x01(\x0b\x32i.WAMultiDevice.MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData.AppStateSyncKeyFingerprint\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x1a\\\n\x1a\x41ppStateSyncKeyFingerprint\x12\r\n\x05rawID\x18\x01 \x01(\r\x12\x14\n\x0c\x63urrentIndex\x18\x02 \x01(\r\x12\x19\n\rdeviceIndexes\x18\x03 \x03(\rB\x02\x10\x01\x1a\"\n\x11\x41ppStateSyncKeyId\x12\r\n\x05keyID\x18\x01 \x01(\x0c\x42\x11\n\x0f\x61pplicationData\x1a\x08\n\x06SignalB)Z\'go.mau.fi/whatsmeow/proto/waMultiDevice') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waMultiDevice.WAMultiDevice_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\'go.mau.fi/whatsmeow/proto/waMultiDevice' + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEY_APPSTATESYNCKEYDATA_APPSTATESYNCKEYFINGERPRINT'].fields_by_name['deviceIndexes']._loaded_options = None + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEY_APPSTATESYNCKEYDATA_APPSTATESYNCKEYFINGERPRINT'].fields_by_name['deviceIndexes']._serialized_options = b'\020\001' + _globals['_MULTIDEVICE']._serialized_start=53 + _globals['_MULTIDEVICE']._serialized_end=1322 + _globals['_MULTIDEVICE_METADATA']._serialized_start=176 + _globals['_MULTIDEVICE_METADATA']._serialized_end=186 + _globals['_MULTIDEVICE_PAYLOAD']._serialized_start=189 + _globals['_MULTIDEVICE_PAYLOAD']._serialized_end=333 + _globals['_MULTIDEVICE_APPLICATIONDATA']._serialized_start=336 + _globals['_MULTIDEVICE_APPLICATIONDATA']._serialized_end=1312 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEYREQUESTMESSAGE']._serialized_start=567 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEYREQUESTMESSAGE']._serialized_end=676 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEYSHAREMESSAGE']._serialized_start=678 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEYSHAREMESSAGE']._serialized_end=781 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEY']._serialized_start=784 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEY']._serialized_end=1257 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEY_APPSTATESYNCKEYDATA']._serialized_start=978 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEY_APPSTATESYNCKEYDATA']._serialized_end=1257 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEY_APPSTATESYNCKEYDATA_APPSTATESYNCKEYFINGERPRINT']._serialized_start=1165 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEY_APPSTATESYNCKEYDATA_APPSTATESYNCKEYFINGERPRINT']._serialized_end=1257 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEYID']._serialized_start=1259 + _globals['_MULTIDEVICE_APPLICATIONDATA_APPSTATESYNCKEYID']._serialized_end=1293 + _globals['_MULTIDEVICE_SIGNAL']._serialized_start=1314 + _globals['_MULTIDEVICE_SIGNAL']._serialized_end=1322 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waMultiDevice/WAMultiDevice_pb2.pyi b/neonize/proto/waMultiDevice/WAMultiDevice_pb2.pyi new file mode 100644 index 00000000..dc034142 --- /dev/null +++ b/neonize/proto/waMultiDevice/WAMultiDevice_pb2.pyi @@ -0,0 +1,193 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class MultiDevice(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Metadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + + @typing.final + class Payload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + APPLICATIONDATA_FIELD_NUMBER: builtins.int + SIGNAL_FIELD_NUMBER: builtins.int + @property + def applicationData(self) -> global___MultiDevice.ApplicationData: ... + @property + def signal(self) -> global___MultiDevice.Signal: ... + def __init__( + self, + *, + applicationData: global___MultiDevice.ApplicationData | None = ..., + signal: global___MultiDevice.Signal | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["applicationData", b"applicationData", "payload", b"payload", "signal", b"signal"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["applicationData", b"applicationData", "payload", b"payload", "signal", b"signal"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["payload", b"payload"]) -> typing.Literal["applicationData", "signal"] | None: ... + + @typing.final + class ApplicationData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class AppStateSyncKeyRequestMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEYIDS_FIELD_NUMBER: builtins.int + @property + def keyIDs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MultiDevice.ApplicationData.AppStateSyncKeyId]: ... + def __init__( + self, + *, + keyIDs: collections.abc.Iterable[global___MultiDevice.ApplicationData.AppStateSyncKeyId] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["keyIDs", b"keyIDs"]) -> None: ... + + @typing.final + class AppStateSyncKeyShareMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEYS_FIELD_NUMBER: builtins.int + @property + def keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MultiDevice.ApplicationData.AppStateSyncKey]: ... + def __init__( + self, + *, + keys: collections.abc.Iterable[global___MultiDevice.ApplicationData.AppStateSyncKey] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["keys", b"keys"]) -> None: ... + + @typing.final + class AppStateSyncKey(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class AppStateSyncKeyData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class AppStateSyncKeyFingerprint(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + RAWID_FIELD_NUMBER: builtins.int + CURRENTINDEX_FIELD_NUMBER: builtins.int + DEVICEINDEXES_FIELD_NUMBER: builtins.int + rawID: builtins.int + currentIndex: builtins.int + @property + def deviceIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + rawID: builtins.int | None = ..., + currentIndex: builtins.int | None = ..., + deviceIndexes: collections.abc.Iterable[builtins.int] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["currentIndex", b"currentIndex", "rawID", b"rawID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["currentIndex", b"currentIndex", "deviceIndexes", b"deviceIndexes", "rawID", b"rawID"]) -> None: ... + + KEYDATA_FIELD_NUMBER: builtins.int + FINGERPRINT_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + keyData: builtins.bytes + timestamp: builtins.int + @property + def fingerprint(self) -> global___MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData.AppStateSyncKeyFingerprint: ... + def __init__( + self, + *, + keyData: builtins.bytes | None = ..., + fingerprint: global___MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData.AppStateSyncKeyFingerprint | None = ..., + timestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["fingerprint", b"fingerprint", "keyData", b"keyData", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["fingerprint", b"fingerprint", "keyData", b"keyData", "timestamp", b"timestamp"]) -> None: ... + + KEYID_FIELD_NUMBER: builtins.int + KEYDATA_FIELD_NUMBER: builtins.int + @property + def keyID(self) -> global___MultiDevice.ApplicationData.AppStateSyncKeyId: ... + @property + def keyData(self) -> global___MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData: ... + def __init__( + self, + *, + keyID: global___MultiDevice.ApplicationData.AppStateSyncKeyId | None = ..., + keyData: global___MultiDevice.ApplicationData.AppStateSyncKey.AppStateSyncKeyData | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["keyData", b"keyData", "keyID", b"keyID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["keyData", b"keyData", "keyID", b"keyID"]) -> None: ... + + @typing.final + class AppStateSyncKeyId(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEYID_FIELD_NUMBER: builtins.int + keyID: builtins.bytes + def __init__( + self, + *, + keyID: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["keyID", b"keyID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["keyID", b"keyID"]) -> None: ... + + APPSTATESYNCKEYSHARE_FIELD_NUMBER: builtins.int + APPSTATESYNCKEYREQUEST_FIELD_NUMBER: builtins.int + @property + def appStateSyncKeyShare(self) -> global___MultiDevice.ApplicationData.AppStateSyncKeyShareMessage: ... + @property + def appStateSyncKeyRequest(self) -> global___MultiDevice.ApplicationData.AppStateSyncKeyRequestMessage: ... + def __init__( + self, + *, + appStateSyncKeyShare: global___MultiDevice.ApplicationData.AppStateSyncKeyShareMessage | None = ..., + appStateSyncKeyRequest: global___MultiDevice.ApplicationData.AppStateSyncKeyRequestMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["appStateSyncKeyRequest", b"appStateSyncKeyRequest", "appStateSyncKeyShare", b"appStateSyncKeyShare", "applicationData", b"applicationData"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["appStateSyncKeyRequest", b"appStateSyncKeyRequest", "appStateSyncKeyShare", b"appStateSyncKeyShare", "applicationData", b"applicationData"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["applicationData", b"applicationData"]) -> typing.Literal["appStateSyncKeyShare", "appStateSyncKeyRequest"] | None: ... + + @typing.final + class Signal(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__( + self, + ) -> None: ... + + PAYLOAD_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + @property + def payload(self) -> global___MultiDevice.Payload: ... + @property + def metadata(self) -> global___MultiDevice.Metadata: ... + def __init__( + self, + *, + payload: global___MultiDevice.Payload | None = ..., + metadata: global___MultiDevice.Metadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]) -> None: ... + +global___MultiDevice = MultiDevice diff --git a/neonize/proto/waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces_pb2.py b/neonize/proto/waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces_pb2.py new file mode 100644 index 00000000..a2927dbf --- /dev/null +++ b/neonize/proto/waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces_pb2.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nCwaQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces.proto\x12$WAWebProtobufsQuickPromotionSurfaces\"\xe4\x05\n\x02QP\x1a\xe1\x01\n\x0c\x46ilterClause\x12G\n\nclauseType\x18\x01 \x02(\x0e\x32\x33.WAWebProtobufsQuickPromotionSurfaces.QP.ClauseType\x12\x46\n\x07\x63lauses\x18\x02 \x03(\x0b\x32\x35.WAWebProtobufsQuickPromotionSurfaces.QP.FilterClause\x12@\n\x07\x66ilters\x18\x03 \x03(\x0b\x32/.WAWebProtobufsQuickPromotionSurfaces.QP.Filter\x1a\xa3\x02\n\x06\x46ilter\x12\x12\n\nfilterName\x18\x01 \x02(\t\x12M\n\nparameters\x18\x02 \x03(\x0b\x32\x39.WAWebProtobufsQuickPromotionSurfaces.QP.FilterParameters\x12K\n\x0c\x66ilterResult\x18\x03 \x01(\x0e\x32\x35.WAWebProtobufsQuickPromotionSurfaces.QP.FilterResult\x12i\n\x18\x63lientNotSupportedConfig\x18\x04 \x02(\x0e\x32G.WAWebProtobufsQuickPromotionSurfaces.QP.FilterClientNotSupportedConfig\x1a.\n\x10\x46ilterParameters\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"0\n\x0c\x46ilterResult\x12\x08\n\x04TRUE\x10\x01\x12\t\n\x05\x46\x41LSE\x10\x02\x12\x0b\n\x07UNKNOWN\x10\x03\"J\n\x1e\x46ilterClientNotSupportedConfig\x12\x13\n\x0fPASS_BY_DEFAULT\x10\x01\x12\x13\n\x0f\x46\x41IL_BY_DEFAULT\x10\x02\"&\n\nClauseType\x12\x07\n\x03\x41ND\x10\x01\x12\x06\n\x02OR\x10\x02\x12\x07\n\x03NOR\x10\x03\x42\x34Z2go.mau.fi/whatsmeow/proto/waQuickPromotionSurfaces') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waQuickPromotionSurfaces.WAWebProtobufsQuickPromotionSurfaces_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z2go.mau.fi/whatsmeow/proto/waQuickPromotionSurfaces' + _globals['_QP']._serialized_start=110 + _globals['_QP']._serialized_end=850 + _globals['_QP_FILTERCLAUSE']._serialized_start=117 + _globals['_QP_FILTERCLAUSE']._serialized_end=342 + _globals['_QP_FILTER']._serialized_start=345 + _globals['_QP_FILTER']._serialized_end=636 + _globals['_QP_FILTERPARAMETERS']._serialized_start=638 + _globals['_QP_FILTERPARAMETERS']._serialized_end=684 + _globals['_QP_FILTERRESULT']._serialized_start=686 + _globals['_QP_FILTERRESULT']._serialized_end=734 + _globals['_QP_FILTERCLIENTNOTSUPPORTEDCONFIG']._serialized_start=736 + _globals['_QP_FILTERCLIENTNOTSUPPORTEDCONFIG']._serialized_end=810 + _globals['_QP_CLAUSETYPE']._serialized_start=812 + _globals['_QP_CLAUSETYPE']._serialized_end=850 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces_pb2.pyi b/neonize/proto/waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces_pb2.pyi new file mode 100644 index 00000000..4458c11f --- /dev/null +++ b/neonize/proto/waQuickPromotionSurfaces/WAWebProtobufsQuickPromotionSurfaces_pb2.pyi @@ -0,0 +1,136 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class QP(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _FilterResult: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _FilterResultEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[QP._FilterResult.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + TRUE: QP._FilterResult.ValueType # 1 + FALSE: QP._FilterResult.ValueType # 2 + UNKNOWN: QP._FilterResult.ValueType # 3 + + class FilterResult(_FilterResult, metaclass=_FilterResultEnumTypeWrapper): ... + TRUE: QP.FilterResult.ValueType # 1 + FALSE: QP.FilterResult.ValueType # 2 + UNKNOWN: QP.FilterResult.ValueType # 3 + + class _FilterClientNotSupportedConfig: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _FilterClientNotSupportedConfigEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[QP._FilterClientNotSupportedConfig.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PASS_BY_DEFAULT: QP._FilterClientNotSupportedConfig.ValueType # 1 + FAIL_BY_DEFAULT: QP._FilterClientNotSupportedConfig.ValueType # 2 + + class FilterClientNotSupportedConfig(_FilterClientNotSupportedConfig, metaclass=_FilterClientNotSupportedConfigEnumTypeWrapper): ... + PASS_BY_DEFAULT: QP.FilterClientNotSupportedConfig.ValueType # 1 + FAIL_BY_DEFAULT: QP.FilterClientNotSupportedConfig.ValueType # 2 + + class _ClauseType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ClauseTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[QP._ClauseType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + AND: QP._ClauseType.ValueType # 1 + OR: QP._ClauseType.ValueType # 2 + NOR: QP._ClauseType.ValueType # 3 + + class ClauseType(_ClauseType, metaclass=_ClauseTypeEnumTypeWrapper): ... + AND: QP.ClauseType.ValueType # 1 + OR: QP.ClauseType.ValueType # 2 + NOR: QP.ClauseType.ValueType # 3 + + @typing.final + class FilterClause(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CLAUSETYPE_FIELD_NUMBER: builtins.int + CLAUSES_FIELD_NUMBER: builtins.int + FILTERS_FIELD_NUMBER: builtins.int + clauseType: global___QP.ClauseType.ValueType + @property + def clauses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QP.FilterClause]: ... + @property + def filters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QP.Filter]: ... + def __init__( + self, + *, + clauseType: global___QP.ClauseType.ValueType | None = ..., + clauses: collections.abc.Iterable[global___QP.FilterClause] | None = ..., + filters: collections.abc.Iterable[global___QP.Filter] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["clauseType", b"clauseType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clauseType", b"clauseType", "clauses", b"clauses", "filters", b"filters"]) -> None: ... + + @typing.final + class Filter(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FILTERNAME_FIELD_NUMBER: builtins.int + PARAMETERS_FIELD_NUMBER: builtins.int + FILTERRESULT_FIELD_NUMBER: builtins.int + CLIENTNOTSUPPORTEDCONFIG_FIELD_NUMBER: builtins.int + filterName: builtins.str + filterResult: global___QP.FilterResult.ValueType + clientNotSupportedConfig: global___QP.FilterClientNotSupportedConfig.ValueType + @property + def parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___QP.FilterParameters]: ... + def __init__( + self, + *, + filterName: builtins.str | None = ..., + parameters: collections.abc.Iterable[global___QP.FilterParameters] | None = ..., + filterResult: global___QP.FilterResult.ValueType | None = ..., + clientNotSupportedConfig: global___QP.FilterClientNotSupportedConfig.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["clientNotSupportedConfig", b"clientNotSupportedConfig", "filterName", b"filterName", "filterResult", b"filterResult"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clientNotSupportedConfig", b"clientNotSupportedConfig", "filterName", b"filterName", "filterResult", b"filterResult", "parameters", b"parameters"]) -> None: ... + + @typing.final + class FilterParameters(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + value: builtins.str + def __init__( + self, + *, + key: builtins.str | None = ..., + value: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + + def __init__( + self, + ) -> None: ... + +global___QP = QP diff --git a/neonize/proto/waReporting/WAWebProtobufsReporting_pb2.py b/neonize/proto/waReporting/WAWebProtobufsReporting_pb2.py new file mode 100644 index 00000000..554d6db4 --- /dev/null +++ b/neonize/proto/waReporting/WAWebProtobufsReporting_pb2.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waReporting/WAWebProtobufsReporting.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waReporting/WAWebProtobufsReporting.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)waReporting/WAWebProtobufsReporting.proto\x12\x17WAWebProtobufsReporting\"d\n\nReportable\x12\x12\n\nminVersion\x18\x01 \x01(\r\x12\x12\n\nmaxVersion\x18\x02 \x01(\r\x12\x1f\n\x17notReportableMinVersion\x18\x03 \x01(\r\x12\r\n\x05never\x18\x04 \x01(\x08\"\xa2\x01\n\x06\x43onfig\x12\x39\n\x05\x66ield\x18\x01 \x03(\x0b\x32*.WAWebProtobufsReporting.Config.FieldEntry\x12\x0f\n\x07version\x18\x02 \x01(\r\x1aL\n\nFieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.WAWebProtobufsReporting.Field:\x02\x38\x01\"\xf4\x01\n\x05\x46ield\x12\x12\n\nminVersion\x18\x01 \x01(\r\x12\x12\n\nmaxVersion\x18\x02 \x01(\r\x12\x1f\n\x17notReportableMinVersion\x18\x03 \x01(\r\x12\x11\n\tisMessage\x18\x04 \x01(\x08\x12>\n\x08subfield\x18\x05 \x03(\x0b\x32,.WAWebProtobufsReporting.Field.SubfieldEntry\x1aO\n\rSubfieldEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12-\n\x05value\x18\x02 \x01(\x0b\x32\x1e.WAWebProtobufsReporting.Field:\x02\x38\x01\x42\'Z%go.mau.fi/whatsmeow/proto/waReportingb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waReporting.WAWebProtobufsReporting_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z%go.mau.fi/whatsmeow/proto/waReporting' + _globals['_CONFIG_FIELDENTRY']._loaded_options = None + _globals['_CONFIG_FIELDENTRY']._serialized_options = b'8\001' + _globals['_FIELD_SUBFIELDENTRY']._loaded_options = None + _globals['_FIELD_SUBFIELDENTRY']._serialized_options = b'8\001' + _globals['_REPORTABLE']._serialized_start=70 + _globals['_REPORTABLE']._serialized_end=170 + _globals['_CONFIG']._serialized_start=173 + _globals['_CONFIG']._serialized_end=335 + _globals['_CONFIG_FIELDENTRY']._serialized_start=259 + _globals['_CONFIG_FIELDENTRY']._serialized_end=335 + _globals['_FIELD']._serialized_start=338 + _globals['_FIELD']._serialized_end=582 + _globals['_FIELD_SUBFIELDENTRY']._serialized_start=503 + _globals['_FIELD_SUBFIELDENTRY']._serialized_end=582 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waReporting/WAWebProtobufsReporting_pb2.pyi b/neonize/proto/waReporting/WAWebProtobufsReporting_pb2.pyi new file mode 100644 index 00000000..f98b9543 --- /dev/null +++ b/neonize/proto/waReporting/WAWebProtobufsReporting_pb2.pyi @@ -0,0 +1,120 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class Reportable(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MINVERSION_FIELD_NUMBER: builtins.int + MAXVERSION_FIELD_NUMBER: builtins.int + NOTREPORTABLEMINVERSION_FIELD_NUMBER: builtins.int + NEVER_FIELD_NUMBER: builtins.int + minVersion: builtins.int + maxVersion: builtins.int + notReportableMinVersion: builtins.int + never: builtins.bool + def __init__( + self, + *, + minVersion: builtins.int = ..., + maxVersion: builtins.int = ..., + notReportableMinVersion: builtins.int = ..., + never: builtins.bool = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["maxVersion", b"maxVersion", "minVersion", b"minVersion", "never", b"never", "notReportableMinVersion", b"notReportableMinVersion"]) -> None: ... + +global___Reportable = Reportable + +@typing.final +class Config(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class FieldEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int + @property + def value(self) -> global___Field: ... + def __init__( + self, + *, + key: builtins.int = ..., + value: global___Field | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + + FIELD_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + version: builtins.int + @property + def field(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___Field]: ... + def __init__( + self, + *, + field: collections.abc.Mapping[builtins.int, global___Field] | None = ..., + version: builtins.int = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["field", b"field", "version", b"version"]) -> None: ... + +global___Config = Config + +@typing.final +class Field(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class SubfieldEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.int + @property + def value(self) -> global___Field: ... + def __init__( + self, + *, + key: builtins.int = ..., + value: global___Field | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + + MINVERSION_FIELD_NUMBER: builtins.int + MAXVERSION_FIELD_NUMBER: builtins.int + NOTREPORTABLEMINVERSION_FIELD_NUMBER: builtins.int + ISMESSAGE_FIELD_NUMBER: builtins.int + SUBFIELD_FIELD_NUMBER: builtins.int + minVersion: builtins.int + maxVersion: builtins.int + notReportableMinVersion: builtins.int + isMessage: builtins.bool + @property + def subfield(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___Field]: ... + def __init__( + self, + *, + minVersion: builtins.int = ..., + maxVersion: builtins.int = ..., + notReportableMinVersion: builtins.int = ..., + isMessage: builtins.bool = ..., + subfield: collections.abc.Mapping[builtins.int, global___Field] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["isMessage", b"isMessage", "maxVersion", b"maxVersion", "minVersion", b"minVersion", "notReportableMinVersion", b"notReportableMinVersion", "subfield", b"subfield"]) -> None: ... + +global___Field = Field diff --git a/neonize/proto/waRoutingInfo/WAWebProtobufsRoutingInfo_pb2.py b/neonize/proto/waRoutingInfo/WAWebProtobufsRoutingInfo_pb2.py new file mode 100644 index 00000000..c779f8a5 --- /dev/null +++ b/neonize/proto/waRoutingInfo/WAWebProtobufsRoutingInfo_pb2.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waRoutingInfo/WAWebProtobufsRoutingInfo.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waRoutingInfo/WAWebProtobufsRoutingInfo.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-waRoutingInfo/WAWebProtobufsRoutingInfo.proto\x12\x19WAWebProtobufsRoutingInfo\"w\n\x0bRoutingInfo\x12\x10\n\x08regionID\x18\x01 \x03(\x05\x12\x11\n\tclusterID\x18\x02 \x03(\x05\x12\x0e\n\x06taskID\x18\x03 \x01(\x05\x12\r\n\x05\x64\x65\x62ug\x18\x04 \x01(\x08\x12\x0e\n\x06tcpBbr\x18\x05 \x01(\x08\x12\x14\n\x0ctcpKeepalive\x18\x06 \x01(\x08\x42)Z\'go.mau.fi/whatsmeow/proto/waRoutingInfo') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waRoutingInfo.WAWebProtobufsRoutingInfo_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\'go.mau.fi/whatsmeow/proto/waRoutingInfo' + _globals['_ROUTINGINFO']._serialized_start=76 + _globals['_ROUTINGINFO']._serialized_end=195 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waRoutingInfo/WAWebProtobufsRoutingInfo_pb2.pyi b/neonize/proto/waRoutingInfo/WAWebProtobufsRoutingInfo_pb2.pyi new file mode 100644 index 00000000..e229df94 --- /dev/null +++ b/neonize/proto/waRoutingInfo/WAWebProtobufsRoutingInfo_pb2.pyi @@ -0,0 +1,46 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class RoutingInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REGIONID_FIELD_NUMBER: builtins.int + CLUSTERID_FIELD_NUMBER: builtins.int + TASKID_FIELD_NUMBER: builtins.int + DEBUG_FIELD_NUMBER: builtins.int + TCPBBR_FIELD_NUMBER: builtins.int + TCPKEEPALIVE_FIELD_NUMBER: builtins.int + taskID: builtins.int + debug: builtins.bool + tcpBbr: builtins.bool + tcpKeepalive: builtins.bool + @property + def regionID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + @property + def clusterID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + regionID: collections.abc.Iterable[builtins.int] | None = ..., + clusterID: collections.abc.Iterable[builtins.int] | None = ..., + taskID: builtins.int | None = ..., + debug: builtins.bool | None = ..., + tcpBbr: builtins.bool | None = ..., + tcpKeepalive: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["debug", b"debug", "taskID", b"taskID", "tcpBbr", b"tcpBbr", "tcpKeepalive", b"tcpKeepalive"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clusterID", b"clusterID", "debug", b"debug", "regionID", b"regionID", "taskID", b"taskID", "tcpBbr", b"tcpBbr", "tcpKeepalive", b"tcpKeepalive"]) -> None: ... + +global___RoutingInfo = RoutingInfo diff --git a/neonize/proto/waServerSync/WAServerSync_pb2.py b/neonize/proto/waServerSync/WAServerSync_pb2.py new file mode 100644 index 00000000..1f50cf40 --- /dev/null +++ b/neonize/proto/waServerSync/WAServerSync_pb2.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waServerSync/WAServerSync.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waServerSync/WAServerSync.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fwaServerSync/WAServerSync.proto\x12\x0cWAServerSync\"\xa0\x01\n\rSyncdMutation\x12=\n\toperation\x18\x01 \x01(\x0e\x32*.WAServerSync.SyncdMutation.SyncdOperation\x12)\n\x06record\x18\x02 \x01(\x0b\x32\x19.WAServerSync.SyncdRecord\"%\n\x0eSyncdOperation\x12\x07\n\x03SET\x10\x00\x12\n\n\x06REMOVE\x10\x01\"\x1f\n\x0cSyncdVersion\x12\x0f\n\x07version\x18\x01 \x01(\x04\"&\n\x08\x45xitCode\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x04\x12\x0c\n\x04text\x18\x02 \x01(\t\"\x1a\n\nSyncdIndex\x12\x0c\n\x04\x62lob\x18\x01 \x01(\x0c\"\x1a\n\nSyncdValue\x12\x0c\n\x04\x62lob\x18\x01 \x01(\x0c\"\x13\n\x05KeyId\x12\n\n\x02ID\x18\x01 \x01(\x0c\"\x83\x01\n\x0bSyncdRecord\x12\'\n\x05index\x18\x01 \x01(\x0b\x32\x18.WAServerSync.SyncdIndex\x12\'\n\x05value\x18\x02 \x01(\x0b\x32\x18.WAServerSync.SyncdValue\x12\"\n\x05keyID\x18\x03 \x01(\x0b\x32\x13.WAServerSync.KeyId\"\x8f\x01\n\x15\x45xternalBlobReference\x12\x10\n\x08mediaKey\x18\x01 \x01(\x0c\x12\x12\n\ndirectPath\x18\x02 \x01(\t\x12\x0e\n\x06handle\x18\x03 \x01(\t\x12\x15\n\rfileSizeBytes\x18\x04 \x01(\x04\x12\x12\n\nfileSHA256\x18\x05 \x01(\x0c\x12\x15\n\rfileEncSHA256\x18\x06 \x01(\x0c\"\x99\x01\n\rSyncdSnapshot\x12+\n\x07version\x18\x01 \x01(\x0b\x32\x1a.WAServerSync.SyncdVersion\x12*\n\x07records\x18\x02 \x03(\x0b\x32\x19.WAServerSync.SyncdRecord\x12\x0b\n\x03mac\x18\x03 \x01(\x0c\x12\"\n\x05keyID\x18\x04 \x01(\x0b\x32\x13.WAServerSync.KeyId\"@\n\x0eSyncdMutations\x12.\n\tmutations\x18\x01 \x03(\x0b\x32\x1b.WAServerSync.SyncdMutation\"\xcc\x02\n\nSyncdPatch\x12+\n\x07version\x18\x01 \x01(\x0b\x32\x1a.WAServerSync.SyncdVersion\x12.\n\tmutations\x18\x02 \x03(\x0b\x32\x1b.WAServerSync.SyncdMutation\x12>\n\x11\x65xternalMutations\x18\x03 \x01(\x0b\x32#.WAServerSync.ExternalBlobReference\x12\x13\n\x0bsnapshotMAC\x18\x04 \x01(\x0c\x12\x10\n\x08patchMAC\x18\x05 \x01(\x0c\x12\"\n\x05keyID\x18\x06 \x01(\x0b\x32\x13.WAServerSync.KeyId\x12(\n\x08\x65xitCode\x18\x07 \x01(\x0b\x32\x16.WAServerSync.ExitCode\x12\x13\n\x0b\x64\x65viceIndex\x18\x08 \x01(\r\x12\x17\n\x0f\x63lientDebugData\x18\t \x01(\x0c\x42(Z&go.mau.fi/whatsmeow/proto/waServerSync') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waServerSync.WAServerSync_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z&go.mau.fi/whatsmeow/proto/waServerSync' + _globals['_SYNCDMUTATION']._serialized_start=50 + _globals['_SYNCDMUTATION']._serialized_end=210 + _globals['_SYNCDMUTATION_SYNCDOPERATION']._serialized_start=173 + _globals['_SYNCDMUTATION_SYNCDOPERATION']._serialized_end=210 + _globals['_SYNCDVERSION']._serialized_start=212 + _globals['_SYNCDVERSION']._serialized_end=243 + _globals['_EXITCODE']._serialized_start=245 + _globals['_EXITCODE']._serialized_end=283 + _globals['_SYNCDINDEX']._serialized_start=285 + _globals['_SYNCDINDEX']._serialized_end=311 + _globals['_SYNCDVALUE']._serialized_start=313 + _globals['_SYNCDVALUE']._serialized_end=339 + _globals['_KEYID']._serialized_start=341 + _globals['_KEYID']._serialized_end=360 + _globals['_SYNCDRECORD']._serialized_start=363 + _globals['_SYNCDRECORD']._serialized_end=494 + _globals['_EXTERNALBLOBREFERENCE']._serialized_start=497 + _globals['_EXTERNALBLOBREFERENCE']._serialized_end=640 + _globals['_SYNCDSNAPSHOT']._serialized_start=643 + _globals['_SYNCDSNAPSHOT']._serialized_end=796 + _globals['_SYNCDMUTATIONS']._serialized_start=798 + _globals['_SYNCDMUTATIONS']._serialized_end=862 + _globals['_SYNCDPATCH']._serialized_start=865 + _globals['_SYNCDPATCH']._serialized_end=1197 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waServerSync/WAServerSync_pb2.pyi b/neonize/proto/waServerSync/WAServerSync_pb2.pyi new file mode 100644 index 00000000..e84fe61e --- /dev/null +++ b/neonize/proto/waServerSync/WAServerSync_pb2.pyi @@ -0,0 +1,281 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class SyncdMutation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _SyncdOperation: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SyncdOperationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SyncdMutation._SyncdOperation.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SET: SyncdMutation._SyncdOperation.ValueType # 0 + REMOVE: SyncdMutation._SyncdOperation.ValueType # 1 + + class SyncdOperation(_SyncdOperation, metaclass=_SyncdOperationEnumTypeWrapper): ... + SET: SyncdMutation.SyncdOperation.ValueType # 0 + REMOVE: SyncdMutation.SyncdOperation.ValueType # 1 + + OPERATION_FIELD_NUMBER: builtins.int + RECORD_FIELD_NUMBER: builtins.int + operation: global___SyncdMutation.SyncdOperation.ValueType + @property + def record(self) -> global___SyncdRecord: ... + def __init__( + self, + *, + operation: global___SyncdMutation.SyncdOperation.ValueType | None = ..., + record: global___SyncdRecord | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["operation", b"operation", "record", b"record"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["operation", b"operation", "record", b"record"]) -> None: ... + +global___SyncdMutation = SyncdMutation + +@typing.final +class SyncdVersion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VERSION_FIELD_NUMBER: builtins.int + version: builtins.int + def __init__( + self, + *, + version: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["version", b"version"]) -> None: ... + +global___SyncdVersion = SyncdVersion + +@typing.final +class ExitCode(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CODE_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + code: builtins.int + text: builtins.str + def __init__( + self, + *, + code: builtins.int | None = ..., + text: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["code", b"code", "text", b"text"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["code", b"code", "text", b"text"]) -> None: ... + +global___ExitCode = ExitCode + +@typing.final +class SyncdIndex(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BLOB_FIELD_NUMBER: builtins.int + blob: builtins.bytes + def __init__( + self, + *, + blob: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["blob", b"blob"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["blob", b"blob"]) -> None: ... + +global___SyncdIndex = SyncdIndex + +@typing.final +class SyncdValue(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BLOB_FIELD_NUMBER: builtins.int + blob: builtins.bytes + def __init__( + self, + *, + blob: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["blob", b"blob"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["blob", b"blob"]) -> None: ... + +global___SyncdValue = SyncdValue + +@typing.final +class KeyId(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + ID: builtins.bytes + def __init__( + self, + *, + ID: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID"]) -> None: ... + +global___KeyId = KeyId + +@typing.final +class SyncdRecord(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + INDEX_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + KEYID_FIELD_NUMBER: builtins.int + @property + def index(self) -> global___SyncdIndex: ... + @property + def value(self) -> global___SyncdValue: ... + @property + def keyID(self) -> global___KeyId: ... + def __init__( + self, + *, + index: global___SyncdIndex | None = ..., + value: global___SyncdValue | None = ..., + keyID: global___KeyId | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["index", b"index", "keyID", b"keyID", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["index", b"index", "keyID", b"keyID", "value", b"value"]) -> None: ... + +global___SyncdRecord = SyncdRecord + +@typing.final +class ExternalBlobReference(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MEDIAKEY_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + HANDLE_FIELD_NUMBER: builtins.int + FILESIZEBYTES_FIELD_NUMBER: builtins.int + FILESHA256_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + mediaKey: builtins.bytes + directPath: builtins.str + handle: builtins.str + fileSizeBytes: builtins.int + fileSHA256: builtins.bytes + fileEncSHA256: builtins.bytes + def __init__( + self, + *, + mediaKey: builtins.bytes | None = ..., + directPath: builtins.str | None = ..., + handle: builtins.str | None = ..., + fileSizeBytes: builtins.int | None = ..., + fileSHA256: builtins.bytes | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "fileSizeBytes", b"fileSizeBytes", "handle", b"handle", "mediaKey", b"mediaKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "fileSizeBytes", b"fileSizeBytes", "handle", b"handle", "mediaKey", b"mediaKey"]) -> None: ... + +global___ExternalBlobReference = ExternalBlobReference + +@typing.final +class SyncdSnapshot(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VERSION_FIELD_NUMBER: builtins.int + RECORDS_FIELD_NUMBER: builtins.int + MAC_FIELD_NUMBER: builtins.int + KEYID_FIELD_NUMBER: builtins.int + mac: builtins.bytes + @property + def version(self) -> global___SyncdVersion: ... + @property + def records(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SyncdRecord]: ... + @property + def keyID(self) -> global___KeyId: ... + def __init__( + self, + *, + version: global___SyncdVersion | None = ..., + records: collections.abc.Iterable[global___SyncdRecord] | None = ..., + mac: builtins.bytes | None = ..., + keyID: global___KeyId | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["keyID", b"keyID", "mac", b"mac", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["keyID", b"keyID", "mac", b"mac", "records", b"records", "version", b"version"]) -> None: ... + +global___SyncdSnapshot = SyncdSnapshot + +@typing.final +class SyncdMutations(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MUTATIONS_FIELD_NUMBER: builtins.int + @property + def mutations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SyncdMutation]: ... + def __init__( + self, + *, + mutations: collections.abc.Iterable[global___SyncdMutation] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["mutations", b"mutations"]) -> None: ... + +global___SyncdMutations = SyncdMutations + +@typing.final +class SyncdPatch(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VERSION_FIELD_NUMBER: builtins.int + MUTATIONS_FIELD_NUMBER: builtins.int + EXTERNALMUTATIONS_FIELD_NUMBER: builtins.int + SNAPSHOTMAC_FIELD_NUMBER: builtins.int + PATCHMAC_FIELD_NUMBER: builtins.int + KEYID_FIELD_NUMBER: builtins.int + EXITCODE_FIELD_NUMBER: builtins.int + DEVICEINDEX_FIELD_NUMBER: builtins.int + CLIENTDEBUGDATA_FIELD_NUMBER: builtins.int + snapshotMAC: builtins.bytes + patchMAC: builtins.bytes + deviceIndex: builtins.int + clientDebugData: builtins.bytes + @property + def version(self) -> global___SyncdVersion: ... + @property + def mutations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SyncdMutation]: ... + @property + def externalMutations(self) -> global___ExternalBlobReference: ... + @property + def keyID(self) -> global___KeyId: ... + @property + def exitCode(self) -> global___ExitCode: ... + def __init__( + self, + *, + version: global___SyncdVersion | None = ..., + mutations: collections.abc.Iterable[global___SyncdMutation] | None = ..., + externalMutations: global___ExternalBlobReference | None = ..., + snapshotMAC: builtins.bytes | None = ..., + patchMAC: builtins.bytes | None = ..., + keyID: global___KeyId | None = ..., + exitCode: global___ExitCode | None = ..., + deviceIndex: builtins.int | None = ..., + clientDebugData: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["clientDebugData", b"clientDebugData", "deviceIndex", b"deviceIndex", "exitCode", b"exitCode", "externalMutations", b"externalMutations", "keyID", b"keyID", "patchMAC", b"patchMAC", "snapshotMAC", b"snapshotMAC", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clientDebugData", b"clientDebugData", "deviceIndex", b"deviceIndex", "exitCode", b"exitCode", "externalMutations", b"externalMutations", "keyID", b"keyID", "mutations", b"mutations", "patchMAC", b"patchMAC", "snapshotMAC", b"snapshotMAC", "version", b"version"]) -> None: ... + +global___SyncdPatch = SyncdPatch diff --git a/neonize/proto/waStatusAttributions/WAStatusAttributions_pb2.py b/neonize/proto/waStatusAttributions/WAStatusAttributions_pb2.py new file mode 100644 index 00000000..a7ddc94f --- /dev/null +++ b/neonize/proto/waStatusAttributions/WAStatusAttributions_pb2.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waStatusAttributions/WAStatusAttributions.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waStatusAttributions/WAStatusAttributions.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/waStatusAttributions/WAStatusAttributions.proto\x12\x14WAStatusAttributions\"\x98\x0f\n\x11StatusAttribution\x12N\n\rstatusReshare\x18\x03 \x01(\x0b\x32\x35.WAStatusAttributions.StatusAttribution.StatusReshareH\x00\x12N\n\rexternalShare\x18\x04 \x01(\x0b\x32\x35.WAStatusAttributions.StatusAttribution.ExternalShareH\x00\x12>\n\x05music\x18\x05 \x01(\x0b\x32-.WAStatusAttributions.StatusAttribution.MusicH\x00\x12J\n\x0bgroupStatus\x18\x06 \x01(\x0b\x32\x33.WAStatusAttributions.StatusAttribution.GroupStatusH\x00\x12N\n\rrlAttribution\x18\x07 \x01(\x0b\x32\x35.WAStatusAttributions.StatusAttribution.RLAttributionH\x00\x12\\\n\x14\x61iCreatedAttribution\x18\x08 \x01(\x0b\x32<.WAStatusAttributions.StatusAttribution.AiCreatedAttributionH\x00\x12:\n\x04type\x18\x01 \x01(\x0e\x32,.WAStatusAttributions.StatusAttribution.Type\x12\x11\n\tactionURL\x18\x02 \x01(\t\x1a\x96\x01\n\x14\x41iCreatedAttribution\x12S\n\x06source\x18\x01 \x01(\x0e\x32\x43.WAStatusAttributions.StatusAttribution.AiCreatedAttribution.Source\")\n\x06Source\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x12\n\x0eSTATUS_MIMICRY\x10\x01\x1a\xbe\x01\n\rRLAttribution\x12L\n\x06source\x18\x01 \x01(\x0e\x32<.WAStatusAttributions.StatusAttribution.RLAttribution.Source\"_\n\x06Source\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x18\n\x14RAY_BAN_META_GLASSES\x10\x01\x12\x17\n\x13OAKLEY_META_GLASSES\x10\x02\x12\x15\n\x11HYPERNOVA_GLASSES\x10\x03\x1a\xb7\x02\n\rExternalShare\x12\x11\n\tactionURL\x18\x01 \x01(\t\x12L\n\x06source\x18\x02 \x01(\x0e\x32<.WAStatusAttributions.StatusAttribution.ExternalShare.Source\x12\x10\n\x08\x64uration\x18\x03 \x01(\x05\x12\x19\n\x11\x61\x63tionFallbackURL\x18\x04 \x01(\t\"\x97\x01\n\x06Source\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tINSTAGRAM\x10\x01\x12\x0c\n\x08\x46\x41\x43\x45\x42OOK\x10\x02\x12\r\n\tMESSENGER\x10\x03\x12\x0b\n\x07SPOTIFY\x10\x04\x12\x0b\n\x07YOUTUBE\x10\x05\x12\r\n\tPINTEREST\x10\x06\x12\x0b\n\x07THREADS\x10\x07\x12\x0f\n\x0b\x41PPLE_MUSIC\x10\x08\x12\r\n\tSHARECHAT\x10\t\x1a\xfc\x02\n\rStatusReshare\x12L\n\x06source\x18\x01 \x01(\x0e\x32<.WAStatusAttributions.StatusAttribution.StatusReshare.Source\x12P\n\x08metadata\x18\x02 \x01(\x0b\x32>.WAStatusAttributions.StatusAttribution.StatusReshare.Metadata\x1ag\n\x08Metadata\x12\x10\n\x08\x64uration\x18\x01 \x01(\x05\x12\x12\n\nchannelJID\x18\x02 \x01(\t\x12\x18\n\x10\x63hannelMessageID\x18\x03 \x01(\x05\x12\x1b\n\x13hasMultipleReshares\x18\x04 \x01(\x08\"b\n\x06Source\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x14\n\x10INTERNAL_RESHARE\x10\x01\x12\x13\n\x0fMENTION_RESHARE\x10\x02\x12\x13\n\x0f\x43HANNEL_RESHARE\x10\x03\x12\x0b\n\x07\x46ORWARD\x10\x04\x1a \n\x0bGroupStatus\x12\x11\n\tauthorJID\x18\x01 \x01(\t\x1ay\n\x05Music\x12\x12\n\nauthorName\x18\x01 \x01(\t\x12\x0e\n\x06songID\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x0e\n\x06\x61uthor\x18\x04 \x01(\t\x12\x19\n\x11\x61rtistAttribution\x18\x05 \x01(\t\x12\x12\n\nisExplicit\x18\x06 \x01(\x08\"\x96\x01\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07RESHARE\x10\x01\x12\x12\n\x0e\x45XTERNAL_SHARE\x10\x02\x12\t\n\x05MUSIC\x10\x03\x12\x12\n\x0eSTATUS_MENTION\x10\x04\x12\x10\n\x0cGROUP_STATUS\x10\x05\x12\x12\n\x0eRL_ATTRIBUTION\x10\x06\x12\x0e\n\nAI_CREATED\x10\x07\x12\x0b\n\x07LAYOUTS\x10\x08\x42\x11\n\x0f\x61ttributionDataB0Z.go.mau.fi/whatsmeow/proto/waStatusAttributions') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waStatusAttributions.WAStatusAttributions_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z.go.mau.fi/whatsmeow/proto/waStatusAttributions' + _globals['_STATUSATTRIBUTION']._serialized_start=74 + _globals['_STATUSATTRIBUTION']._serialized_end=2018 + _globals['_STATUSATTRIBUTION_AICREATEDATTRIBUTION']._serialized_start=649 + _globals['_STATUSATTRIBUTION_AICREATEDATTRIBUTION']._serialized_end=799 + _globals['_STATUSATTRIBUTION_AICREATEDATTRIBUTION_SOURCE']._serialized_start=758 + _globals['_STATUSATTRIBUTION_AICREATEDATTRIBUTION_SOURCE']._serialized_end=799 + _globals['_STATUSATTRIBUTION_RLATTRIBUTION']._serialized_start=802 + _globals['_STATUSATTRIBUTION_RLATTRIBUTION']._serialized_end=992 + _globals['_STATUSATTRIBUTION_RLATTRIBUTION_SOURCE']._serialized_start=897 + _globals['_STATUSATTRIBUTION_RLATTRIBUTION_SOURCE']._serialized_end=992 + _globals['_STATUSATTRIBUTION_EXTERNALSHARE']._serialized_start=995 + _globals['_STATUSATTRIBUTION_EXTERNALSHARE']._serialized_end=1306 + _globals['_STATUSATTRIBUTION_EXTERNALSHARE_SOURCE']._serialized_start=1155 + _globals['_STATUSATTRIBUTION_EXTERNALSHARE_SOURCE']._serialized_end=1306 + _globals['_STATUSATTRIBUTION_STATUSRESHARE']._serialized_start=1309 + _globals['_STATUSATTRIBUTION_STATUSRESHARE']._serialized_end=1689 + _globals['_STATUSATTRIBUTION_STATUSRESHARE_METADATA']._serialized_start=1486 + _globals['_STATUSATTRIBUTION_STATUSRESHARE_METADATA']._serialized_end=1589 + _globals['_STATUSATTRIBUTION_STATUSRESHARE_SOURCE']._serialized_start=1591 + _globals['_STATUSATTRIBUTION_STATUSRESHARE_SOURCE']._serialized_end=1689 + _globals['_STATUSATTRIBUTION_GROUPSTATUS']._serialized_start=1691 + _globals['_STATUSATTRIBUTION_GROUPSTATUS']._serialized_end=1723 + _globals['_STATUSATTRIBUTION_MUSIC']._serialized_start=1725 + _globals['_STATUSATTRIBUTION_MUSIC']._serialized_end=1846 + _globals['_STATUSATTRIBUTION_TYPE']._serialized_start=1849 + _globals['_STATUSATTRIBUTION_TYPE']._serialized_end=1999 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waStatusAttributions/WAStatusAttributions_pb2.pyi b/neonize/proto/waStatusAttributions/WAStatusAttributions_pb2.pyi new file mode 100644 index 00000000..05392957 --- /dev/null +++ b/neonize/proto/waStatusAttributions/WAStatusAttributions_pb2.pyi @@ -0,0 +1,302 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class StatusAttribution(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusAttribution._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: StatusAttribution._Type.ValueType # 0 + RESHARE: StatusAttribution._Type.ValueType # 1 + EXTERNAL_SHARE: StatusAttribution._Type.ValueType # 2 + MUSIC: StatusAttribution._Type.ValueType # 3 + STATUS_MENTION: StatusAttribution._Type.ValueType # 4 + GROUP_STATUS: StatusAttribution._Type.ValueType # 5 + RL_ATTRIBUTION: StatusAttribution._Type.ValueType # 6 + AI_CREATED: StatusAttribution._Type.ValueType # 7 + LAYOUTS: StatusAttribution._Type.ValueType # 8 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + UNKNOWN: StatusAttribution.Type.ValueType # 0 + RESHARE: StatusAttribution.Type.ValueType # 1 + EXTERNAL_SHARE: StatusAttribution.Type.ValueType # 2 + MUSIC: StatusAttribution.Type.ValueType # 3 + STATUS_MENTION: StatusAttribution.Type.ValueType # 4 + GROUP_STATUS: StatusAttribution.Type.ValueType # 5 + RL_ATTRIBUTION: StatusAttribution.Type.ValueType # 6 + AI_CREATED: StatusAttribution.Type.ValueType # 7 + LAYOUTS: StatusAttribution.Type.ValueType # 8 + + @typing.final + class AiCreatedAttribution(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Source: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusAttribution.AiCreatedAttribution._Source.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: StatusAttribution.AiCreatedAttribution._Source.ValueType # 0 + STATUS_MIMICRY: StatusAttribution.AiCreatedAttribution._Source.ValueType # 1 + + class Source(_Source, metaclass=_SourceEnumTypeWrapper): ... + UNKNOWN: StatusAttribution.AiCreatedAttribution.Source.ValueType # 0 + STATUS_MIMICRY: StatusAttribution.AiCreatedAttribution.Source.ValueType # 1 + + SOURCE_FIELD_NUMBER: builtins.int + source: global___StatusAttribution.AiCreatedAttribution.Source.ValueType + def __init__( + self, + *, + source: global___StatusAttribution.AiCreatedAttribution.Source.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["source", b"source"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["source", b"source"]) -> None: ... + + @typing.final + class RLAttribution(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Source: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusAttribution.RLAttribution._Source.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: StatusAttribution.RLAttribution._Source.ValueType # 0 + RAY_BAN_META_GLASSES: StatusAttribution.RLAttribution._Source.ValueType # 1 + OAKLEY_META_GLASSES: StatusAttribution.RLAttribution._Source.ValueType # 2 + HYPERNOVA_GLASSES: StatusAttribution.RLAttribution._Source.ValueType # 3 + + class Source(_Source, metaclass=_SourceEnumTypeWrapper): ... + UNKNOWN: StatusAttribution.RLAttribution.Source.ValueType # 0 + RAY_BAN_META_GLASSES: StatusAttribution.RLAttribution.Source.ValueType # 1 + OAKLEY_META_GLASSES: StatusAttribution.RLAttribution.Source.ValueType # 2 + HYPERNOVA_GLASSES: StatusAttribution.RLAttribution.Source.ValueType # 3 + + SOURCE_FIELD_NUMBER: builtins.int + source: global___StatusAttribution.RLAttribution.Source.ValueType + def __init__( + self, + *, + source: global___StatusAttribution.RLAttribution.Source.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["source", b"source"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["source", b"source"]) -> None: ... + + @typing.final + class ExternalShare(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Source: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusAttribution.ExternalShare._Source.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: StatusAttribution.ExternalShare._Source.ValueType # 0 + INSTAGRAM: StatusAttribution.ExternalShare._Source.ValueType # 1 + FACEBOOK: StatusAttribution.ExternalShare._Source.ValueType # 2 + MESSENGER: StatusAttribution.ExternalShare._Source.ValueType # 3 + SPOTIFY: StatusAttribution.ExternalShare._Source.ValueType # 4 + YOUTUBE: StatusAttribution.ExternalShare._Source.ValueType # 5 + PINTEREST: StatusAttribution.ExternalShare._Source.ValueType # 6 + THREADS: StatusAttribution.ExternalShare._Source.ValueType # 7 + APPLE_MUSIC: StatusAttribution.ExternalShare._Source.ValueType # 8 + SHARECHAT: StatusAttribution.ExternalShare._Source.ValueType # 9 + + class Source(_Source, metaclass=_SourceEnumTypeWrapper): ... + UNKNOWN: StatusAttribution.ExternalShare.Source.ValueType # 0 + INSTAGRAM: StatusAttribution.ExternalShare.Source.ValueType # 1 + FACEBOOK: StatusAttribution.ExternalShare.Source.ValueType # 2 + MESSENGER: StatusAttribution.ExternalShare.Source.ValueType # 3 + SPOTIFY: StatusAttribution.ExternalShare.Source.ValueType # 4 + YOUTUBE: StatusAttribution.ExternalShare.Source.ValueType # 5 + PINTEREST: StatusAttribution.ExternalShare.Source.ValueType # 6 + THREADS: StatusAttribution.ExternalShare.Source.ValueType # 7 + APPLE_MUSIC: StatusAttribution.ExternalShare.Source.ValueType # 8 + SHARECHAT: StatusAttribution.ExternalShare.Source.ValueType # 9 + + ACTIONURL_FIELD_NUMBER: builtins.int + SOURCE_FIELD_NUMBER: builtins.int + DURATION_FIELD_NUMBER: builtins.int + ACTIONFALLBACKURL_FIELD_NUMBER: builtins.int + actionURL: builtins.str + source: global___StatusAttribution.ExternalShare.Source.ValueType + duration: builtins.int + actionFallbackURL: builtins.str + def __init__( + self, + *, + actionURL: builtins.str | None = ..., + source: global___StatusAttribution.ExternalShare.Source.ValueType | None = ..., + duration: builtins.int | None = ..., + actionFallbackURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionFallbackURL", b"actionFallbackURL", "actionURL", b"actionURL", "duration", b"duration", "source", b"source"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionFallbackURL", b"actionFallbackURL", "actionURL", b"actionURL", "duration", b"duration", "source", b"source"]) -> None: ... + + @typing.final + class StatusReshare(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Source: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusAttribution.StatusReshare._Source.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: StatusAttribution.StatusReshare._Source.ValueType # 0 + INTERNAL_RESHARE: StatusAttribution.StatusReshare._Source.ValueType # 1 + MENTION_RESHARE: StatusAttribution.StatusReshare._Source.ValueType # 2 + CHANNEL_RESHARE: StatusAttribution.StatusReshare._Source.ValueType # 3 + FORWARD: StatusAttribution.StatusReshare._Source.ValueType # 4 + + class Source(_Source, metaclass=_SourceEnumTypeWrapper): ... + UNKNOWN: StatusAttribution.StatusReshare.Source.ValueType # 0 + INTERNAL_RESHARE: StatusAttribution.StatusReshare.Source.ValueType # 1 + MENTION_RESHARE: StatusAttribution.StatusReshare.Source.ValueType # 2 + CHANNEL_RESHARE: StatusAttribution.StatusReshare.Source.ValueType # 3 + FORWARD: StatusAttribution.StatusReshare.Source.ValueType # 4 + + @typing.final + class Metadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DURATION_FIELD_NUMBER: builtins.int + CHANNELJID_FIELD_NUMBER: builtins.int + CHANNELMESSAGEID_FIELD_NUMBER: builtins.int + HASMULTIPLERESHARES_FIELD_NUMBER: builtins.int + duration: builtins.int + channelJID: builtins.str + channelMessageID: builtins.int + hasMultipleReshares: builtins.bool + def __init__( + self, + *, + duration: builtins.int | None = ..., + channelJID: builtins.str | None = ..., + channelMessageID: builtins.int | None = ..., + hasMultipleReshares: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["channelJID", b"channelJID", "channelMessageID", b"channelMessageID", "duration", b"duration", "hasMultipleReshares", b"hasMultipleReshares"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["channelJID", b"channelJID", "channelMessageID", b"channelMessageID", "duration", b"duration", "hasMultipleReshares", b"hasMultipleReshares"]) -> None: ... + + SOURCE_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + source: global___StatusAttribution.StatusReshare.Source.ValueType + @property + def metadata(self) -> global___StatusAttribution.StatusReshare.Metadata: ... + def __init__( + self, + *, + source: global___StatusAttribution.StatusReshare.Source.ValueType | None = ..., + metadata: global___StatusAttribution.StatusReshare.Metadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata", "source", b"source"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "source", b"source"]) -> None: ... + + @typing.final + class GroupStatus(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AUTHORJID_FIELD_NUMBER: builtins.int + authorJID: builtins.str + def __init__( + self, + *, + authorJID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["authorJID", b"authorJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["authorJID", b"authorJID"]) -> None: ... + + @typing.final + class Music(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AUTHORNAME_FIELD_NUMBER: builtins.int + SONGID_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + AUTHOR_FIELD_NUMBER: builtins.int + ARTISTATTRIBUTION_FIELD_NUMBER: builtins.int + ISEXPLICIT_FIELD_NUMBER: builtins.int + authorName: builtins.str + songID: builtins.str + title: builtins.str + author: builtins.str + artistAttribution: builtins.str + isExplicit: builtins.bool + def __init__( + self, + *, + authorName: builtins.str | None = ..., + songID: builtins.str | None = ..., + title: builtins.str | None = ..., + author: builtins.str | None = ..., + artistAttribution: builtins.str | None = ..., + isExplicit: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["artistAttribution", b"artistAttribution", "author", b"author", "authorName", b"authorName", "isExplicit", b"isExplicit", "songID", b"songID", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["artistAttribution", b"artistAttribution", "author", b"author", "authorName", b"authorName", "isExplicit", b"isExplicit", "songID", b"songID", "title", b"title"]) -> None: ... + + STATUSRESHARE_FIELD_NUMBER: builtins.int + EXTERNALSHARE_FIELD_NUMBER: builtins.int + MUSIC_FIELD_NUMBER: builtins.int + GROUPSTATUS_FIELD_NUMBER: builtins.int + RLATTRIBUTION_FIELD_NUMBER: builtins.int + AICREATEDATTRIBUTION_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + ACTIONURL_FIELD_NUMBER: builtins.int + type: global___StatusAttribution.Type.ValueType + actionURL: builtins.str + @property + def statusReshare(self) -> global___StatusAttribution.StatusReshare: ... + @property + def externalShare(self) -> global___StatusAttribution.ExternalShare: ... + @property + def music(self) -> global___StatusAttribution.Music: ... + @property + def groupStatus(self) -> global___StatusAttribution.GroupStatus: ... + @property + def rlAttribution(self) -> global___StatusAttribution.RLAttribution: ... + @property + def aiCreatedAttribution(self) -> global___StatusAttribution.AiCreatedAttribution: ... + def __init__( + self, + *, + statusReshare: global___StatusAttribution.StatusReshare | None = ..., + externalShare: global___StatusAttribution.ExternalShare | None = ..., + music: global___StatusAttribution.Music | None = ..., + groupStatus: global___StatusAttribution.GroupStatus | None = ..., + rlAttribution: global___StatusAttribution.RLAttribution | None = ..., + aiCreatedAttribution: global___StatusAttribution.AiCreatedAttribution | None = ..., + type: global___StatusAttribution.Type.ValueType | None = ..., + actionURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionURL", b"actionURL", "aiCreatedAttribution", b"aiCreatedAttribution", "attributionData", b"attributionData", "externalShare", b"externalShare", "groupStatus", b"groupStatus", "music", b"music", "rlAttribution", b"rlAttribution", "statusReshare", b"statusReshare", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionURL", b"actionURL", "aiCreatedAttribution", b"aiCreatedAttribution", "attributionData", b"attributionData", "externalShare", b"externalShare", "groupStatus", b"groupStatus", "music", b"music", "rlAttribution", b"rlAttribution", "statusReshare", b"statusReshare", "type", b"type"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["attributionData", b"attributionData"]) -> typing.Literal["statusReshare", "externalShare", "music", "groupStatus", "rlAttribution", "aiCreatedAttribution"] | None: ... + +global___StatusAttribution = StatusAttribution diff --git a/neonize/proto/waStatusAttributions/WAWebProtobufsStatusAttributions_pb2.py b/neonize/proto/waStatusAttributions/WAWebProtobufsStatusAttributions_pb2.py new file mode 100644 index 00000000..d18bf03b --- /dev/null +++ b/neonize/proto/waStatusAttributions/WAWebProtobufsStatusAttributions_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: waStatusAttributions/WAWebProtobufsStatusAttributions.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n;waStatusAttributions/WAWebProtobufsStatusAttributions.proto\x12 WAWebProtobufsStatusAttributions\"\xda\n\n\x11StatusAttribution\x12Z\n\rstatusReshare\x18\x03 \x01(\x0b\x32\x41.WAWebProtobufsStatusAttributions.StatusAttribution.StatusReshareH\x00\x12Z\n\rexternalShare\x18\x04 \x01(\x0b\x32\x41.WAWebProtobufsStatusAttributions.StatusAttribution.ExternalShareH\x00\x12J\n\x05music\x18\x05 \x01(\x0b\x32\x39.WAWebProtobufsStatusAttributions.StatusAttribution.MusicH\x00\x12V\n\x0bgroupStatus\x18\x06 \x01(\x0b\x32?.WAWebProtobufsStatusAttributions.StatusAttribution.GroupStatusH\x00\x12\x46\n\x04type\x18\x01 \x01(\x0e\x32\x38.WAWebProtobufsStatusAttributions.StatusAttribution.Type\x12\x11\n\tactionURL\x18\x02 \x01(\t\x1a\xf9\x01\n\rExternalShare\x12\x11\n\tactionURL\x18\x01 \x01(\t\x12X\n\x06source\x18\x02 \x01(\x0e\x32H.WAWebProtobufsStatusAttributions.StatusAttribution.ExternalShare.Source\x12\x10\n\x08\x64uration\x18\x03 \x01(\x05\x12\x19\n\x11\x61\x63tionFallbackURL\x18\x04 \x01(\t\"N\n\x06Source\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tINSTAGRAM\x10\x01\x12\x0c\n\x08\x46\x41\x43\x45\x42OOK\x10\x02\x12\r\n\tMESSENGER\x10\x03\x12\x0b\n\x07SPOTIFY\x10\x04\x1a\x87\x03\n\rStatusReshare\x12X\n\x06source\x18\x01 \x01(\x0e\x32H.WAWebProtobufsStatusAttributions.StatusAttribution.StatusReshare.Source\x12\\\n\x08metadata\x18\x02 \x01(\x0b\x32J.WAWebProtobufsStatusAttributions.StatusAttribution.StatusReshare.Metadata\x1ag\n\x08Metadata\x12\x10\n\x08\x64uration\x18\x01 \x01(\x05\x12\x12\n\nchannelJID\x18\x02 \x01(\t\x12\x18\n\x10\x63hannelMessageID\x18\x03 \x01(\x05\x12\x1b\n\x13hasMultipleReshares\x18\x04 \x01(\x08\"U\n\x06Source\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x14\n\x10INTERNAL_RESHARE\x10\x01\x12\x13\n\x0fMENTION_RESHARE\x10\x02\x12\x13\n\x0f\x43HANNEL_RESHARE\x10\x03\x1a \n\x0bGroupStatus\x12\x11\n\tauthorJID\x18\x01 \x01(\t\x1ay\n\x05Music\x12\x12\n\nauthorName\x18\x01 \x01(\t\x12\x0e\n\x06songID\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12\x0e\n\x06\x61uthor\x18\x04 \x01(\t\x12\x19\n\x11\x61rtistAttribution\x18\x05 \x01(\t\x12\x12\n\nisExplicit\x18\x06 \x01(\x08\"X\n\x04Type\x12\x0b\n\x07RESHARE\x10\x00\x12\x12\n\x0e\x45XTERNAL_SHARE\x10\x01\x12\t\n\x05MUSIC\x10\x02\x12\x12\n\x0eSTATUS_MENTION\x10\x03\x12\x10\n\x0cGROUP_STATUS\x10\x04\x42\x11\n\x0f\x61ttributionDataB0Z.go.mau.fi/whatsmeow/proto/waStatusAttributions') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waStatusAttributions.WAWebProtobufsStatusAttributions_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z.go.mau.fi/whatsmeow/proto/waStatusAttributions' + _globals['_STATUSATTRIBUTION']._serialized_start=98 + _globals['_STATUSATTRIBUTION']._serialized_end=1468 + _globals['_STATUSATTRIBUTION_EXTERNALSHARE']._serialized_start=559 + _globals['_STATUSATTRIBUTION_EXTERNALSHARE']._serialized_end=808 + _globals['_STATUSATTRIBUTION_EXTERNALSHARE_SOURCE']._serialized_start=730 + _globals['_STATUSATTRIBUTION_EXTERNALSHARE_SOURCE']._serialized_end=808 + _globals['_STATUSATTRIBUTION_STATUSRESHARE']._serialized_start=811 + _globals['_STATUSATTRIBUTION_STATUSRESHARE']._serialized_end=1202 + _globals['_STATUSATTRIBUTION_STATUSRESHARE_METADATA']._serialized_start=1012 + _globals['_STATUSATTRIBUTION_STATUSRESHARE_METADATA']._serialized_end=1115 + _globals['_STATUSATTRIBUTION_STATUSRESHARE_SOURCE']._serialized_start=1117 + _globals['_STATUSATTRIBUTION_STATUSRESHARE_SOURCE']._serialized_end=1202 + _globals['_STATUSATTRIBUTION_GROUPSTATUS']._serialized_start=1204 + _globals['_STATUSATTRIBUTION_GROUPSTATUS']._serialized_end=1236 + _globals['_STATUSATTRIBUTION_MUSIC']._serialized_start=1238 + _globals['_STATUSATTRIBUTION_MUSIC']._serialized_end=1359 + _globals['_STATUSATTRIBUTION_TYPE']._serialized_start=1361 + _globals['_STATUSATTRIBUTION_TYPE']._serialized_end=1449 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waStatusAttributions/WAWebProtobufsStatusAttributions_pb2.pyi b/neonize/proto/waStatusAttributions/WAWebProtobufsStatusAttributions_pb2.pyi new file mode 100644 index 00000000..4912db2a --- /dev/null +++ b/neonize/proto/waStatusAttributions/WAWebProtobufsStatusAttributions_pb2.pyi @@ -0,0 +1,216 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class StatusAttribution(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusAttribution._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + RESHARE: StatusAttribution._Type.ValueType # 0 + EXTERNAL_SHARE: StatusAttribution._Type.ValueType # 1 + MUSIC: StatusAttribution._Type.ValueType # 2 + STATUS_MENTION: StatusAttribution._Type.ValueType # 3 + GROUP_STATUS: StatusAttribution._Type.ValueType # 4 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + RESHARE: StatusAttribution.Type.ValueType # 0 + EXTERNAL_SHARE: StatusAttribution.Type.ValueType # 1 + MUSIC: StatusAttribution.Type.ValueType # 2 + STATUS_MENTION: StatusAttribution.Type.ValueType # 3 + GROUP_STATUS: StatusAttribution.Type.ValueType # 4 + + @typing.final + class ExternalShare(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Source: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusAttribution.ExternalShare._Source.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: StatusAttribution.ExternalShare._Source.ValueType # 0 + INSTAGRAM: StatusAttribution.ExternalShare._Source.ValueType # 1 + FACEBOOK: StatusAttribution.ExternalShare._Source.ValueType # 2 + MESSENGER: StatusAttribution.ExternalShare._Source.ValueType # 3 + SPOTIFY: StatusAttribution.ExternalShare._Source.ValueType # 4 + + class Source(_Source, metaclass=_SourceEnumTypeWrapper): ... + UNKNOWN: StatusAttribution.ExternalShare.Source.ValueType # 0 + INSTAGRAM: StatusAttribution.ExternalShare.Source.ValueType # 1 + FACEBOOK: StatusAttribution.ExternalShare.Source.ValueType # 2 + MESSENGER: StatusAttribution.ExternalShare.Source.ValueType # 3 + SPOTIFY: StatusAttribution.ExternalShare.Source.ValueType # 4 + + ACTIONURL_FIELD_NUMBER: builtins.int + SOURCE_FIELD_NUMBER: builtins.int + DURATION_FIELD_NUMBER: builtins.int + ACTIONFALLBACKURL_FIELD_NUMBER: builtins.int + actionURL: builtins.str + source: global___StatusAttribution.ExternalShare.Source.ValueType + duration: builtins.int + actionFallbackURL: builtins.str + def __init__( + self, + *, + actionURL: builtins.str | None = ..., + source: global___StatusAttribution.ExternalShare.Source.ValueType | None = ..., + duration: builtins.int | None = ..., + actionFallbackURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionFallbackURL", b"actionFallbackURL", "actionURL", b"actionURL", "duration", b"duration", "source", b"source"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionFallbackURL", b"actionFallbackURL", "actionURL", b"actionURL", "duration", b"duration", "source", b"source"]) -> None: ... + + @typing.final + class StatusReshare(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Source: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusAttribution.StatusReshare._Source.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: StatusAttribution.StatusReshare._Source.ValueType # 0 + INTERNAL_RESHARE: StatusAttribution.StatusReshare._Source.ValueType # 1 + MENTION_RESHARE: StatusAttribution.StatusReshare._Source.ValueType # 2 + CHANNEL_RESHARE: StatusAttribution.StatusReshare._Source.ValueType # 3 + + class Source(_Source, metaclass=_SourceEnumTypeWrapper): ... + UNKNOWN: StatusAttribution.StatusReshare.Source.ValueType # 0 + INTERNAL_RESHARE: StatusAttribution.StatusReshare.Source.ValueType # 1 + MENTION_RESHARE: StatusAttribution.StatusReshare.Source.ValueType # 2 + CHANNEL_RESHARE: StatusAttribution.StatusReshare.Source.ValueType # 3 + + @typing.final + class Metadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DURATION_FIELD_NUMBER: builtins.int + CHANNELJID_FIELD_NUMBER: builtins.int + CHANNELMESSAGEID_FIELD_NUMBER: builtins.int + HASMULTIPLERESHARES_FIELD_NUMBER: builtins.int + duration: builtins.int + channelJID: builtins.str + channelMessageID: builtins.int + hasMultipleReshares: builtins.bool + def __init__( + self, + *, + duration: builtins.int | None = ..., + channelJID: builtins.str | None = ..., + channelMessageID: builtins.int | None = ..., + hasMultipleReshares: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["channelJID", b"channelJID", "channelMessageID", b"channelMessageID", "duration", b"duration", "hasMultipleReshares", b"hasMultipleReshares"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["channelJID", b"channelJID", "channelMessageID", b"channelMessageID", "duration", b"duration", "hasMultipleReshares", b"hasMultipleReshares"]) -> None: ... + + SOURCE_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + source: global___StatusAttribution.StatusReshare.Source.ValueType + @property + def metadata(self) -> global___StatusAttribution.StatusReshare.Metadata: ... + def __init__( + self, + *, + source: global___StatusAttribution.StatusReshare.Source.ValueType | None = ..., + metadata: global___StatusAttribution.StatusReshare.Metadata | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["metadata", b"metadata", "source", b"source"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "source", b"source"]) -> None: ... + + @typing.final + class GroupStatus(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AUTHORJID_FIELD_NUMBER: builtins.int + authorJID: builtins.str + def __init__( + self, + *, + authorJID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["authorJID", b"authorJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["authorJID", b"authorJID"]) -> None: ... + + @typing.final + class Music(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + AUTHORNAME_FIELD_NUMBER: builtins.int + SONGID_FIELD_NUMBER: builtins.int + TITLE_FIELD_NUMBER: builtins.int + AUTHOR_FIELD_NUMBER: builtins.int + ARTISTATTRIBUTION_FIELD_NUMBER: builtins.int + ISEXPLICIT_FIELD_NUMBER: builtins.int + authorName: builtins.str + songID: builtins.str + title: builtins.str + author: builtins.str + artistAttribution: builtins.str + isExplicit: builtins.bool + def __init__( + self, + *, + authorName: builtins.str | None = ..., + songID: builtins.str | None = ..., + title: builtins.str | None = ..., + author: builtins.str | None = ..., + artistAttribution: builtins.str | None = ..., + isExplicit: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["artistAttribution", b"artistAttribution", "author", b"author", "authorName", b"authorName", "isExplicit", b"isExplicit", "songID", b"songID", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["artistAttribution", b"artistAttribution", "author", b"author", "authorName", b"authorName", "isExplicit", b"isExplicit", "songID", b"songID", "title", b"title"]) -> None: ... + + STATUSRESHARE_FIELD_NUMBER: builtins.int + EXTERNALSHARE_FIELD_NUMBER: builtins.int + MUSIC_FIELD_NUMBER: builtins.int + GROUPSTATUS_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + ACTIONURL_FIELD_NUMBER: builtins.int + type: global___StatusAttribution.Type.ValueType + actionURL: builtins.str + @property + def statusReshare(self) -> global___StatusAttribution.StatusReshare: ... + @property + def externalShare(self) -> global___StatusAttribution.ExternalShare: ... + @property + def music(self) -> global___StatusAttribution.Music: ... + @property + def groupStatus(self) -> global___StatusAttribution.GroupStatus: ... + def __init__( + self, + *, + statusReshare: global___StatusAttribution.StatusReshare | None = ..., + externalShare: global___StatusAttribution.ExternalShare | None = ..., + music: global___StatusAttribution.Music | None = ..., + groupStatus: global___StatusAttribution.GroupStatus | None = ..., + type: global___StatusAttribution.Type.ValueType | None = ..., + actionURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actionURL", b"actionURL", "attributionData", b"attributionData", "externalShare", b"externalShare", "groupStatus", b"groupStatus", "music", b"music", "statusReshare", b"statusReshare", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actionURL", b"actionURL", "attributionData", b"attributionData", "externalShare", b"externalShare", "groupStatus", b"groupStatus", "music", b"music", "statusReshare", b"statusReshare", "type", b"type"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["attributionData", b"attributionData"]) -> typing.Literal["statusReshare", "externalShare", "music", "groupStatus"] | None: ... + +global___StatusAttribution = StatusAttribution diff --git a/neonize/proto/waSyncAction/WASyncAction_pb2.py b/neonize/proto/waSyncAction/WASyncAction_pb2.py new file mode 100644 index 00000000..8a86f1cc --- /dev/null +++ b/neonize/proto/waSyncAction/WASyncAction_pb2.py @@ -0,0 +1,220 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waSyncAction/WASyncAction.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waSyncAction/WASyncAction.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waChatLockSettings import WAProtobufsChatLockSettings_pb2 as waChatLockSettings_dot_WAProtobufsChatLockSettings__pb2 +from waDeviceCapabilities import WAProtobufsDeviceCapabilities_pb2 as waDeviceCapabilities_dot_WAProtobufsDeviceCapabilities__pb2 +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fwaSyncAction/WASyncAction.proto\x12\x0cWASyncAction\x1a\x34waChatLockSettings/WAProtobufsChatLockSettings.proto\x1a\x38waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto\x1a\x17waCommon/WACommon.proto\"\xfa\x06\n\rCallLogRecord\x12:\n\ncallResult\x18\x01 \x01(\x0e\x32&.WASyncAction.CallLogRecord.CallResult\x12\x11\n\tisDndMode\x18\x02 \x01(\x08\x12@\n\rsilenceReason\x18\x03 \x01(\x0e\x32).WASyncAction.CallLogRecord.SilenceReason\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12\x11\n\tstartTime\x18\x05 \x01(\x03\x12\x12\n\nisIncoming\x18\x06 \x01(\x08\x12\x0f\n\x07isVideo\x18\x07 \x01(\x08\x12\x12\n\nisCallLink\x18\x08 \x01(\x08\x12\x15\n\rcallLinkToken\x18\t \x01(\t\x12\x17\n\x0fscheduledCallID\x18\n \x01(\t\x12\x0e\n\x06\x63\x61llID\x18\x0b \x01(\t\x12\x16\n\x0e\x63\x61llCreatorJID\x18\x0c \x01(\t\x12\x10\n\x08groupJID\x18\r \x01(\t\x12\x41\n\x0cparticipants\x18\x0e \x03(\x0b\x32+.WASyncAction.CallLogRecord.ParticipantInfo\x12\x36\n\x08\x63\x61llType\x18\x0f \x01(\x0e\x32$.WASyncAction.CallLogRecord.CallType\x1a^\n\x0fParticipantInfo\x12\x0f\n\x07userJID\x18\x01 \x01(\t\x12:\n\ncallResult\x18\x02 \x01(\x0e\x32&.WASyncAction.CallLogRecord.CallResult\";\n\x08\x43\x61llType\x12\x0b\n\x07REGULAR\x10\x00\x12\x12\n\x0eSCHEDULED_CALL\x10\x01\x12\x0e\n\nVOICE_CHAT\x10\x02\"F\n\rSilenceReason\x12\x08\n\x04NONE\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\x0b\n\x07PRIVACY\x10\x02\x12\x0f\n\x0bLIGHTWEIGHT\x10\x03\"\xaf\x01\n\nCallResult\x12\r\n\tCONNECTED\x10\x00\x12\x0c\n\x08REJECTED\x10\x01\x12\r\n\tCANCELLED\x10\x02\x12\x15\n\x11\x41\x43\x43\x45PTEDELSEWHERE\x10\x03\x12\n\n\x06MISSED\x10\x04\x12\x0b\n\x07INVALID\x10\x05\x12\x0f\n\x0bUNAVAILABLE\x10\x06\x12\x0c\n\x08UPCOMING\x10\x07\x12\n\n\x06\x46\x41ILED\x10\x08\x12\r\n\tABANDONED\x10\t\x12\x0b\n\x07ONGOING\x10\n\"\xd0\x01\n\x13\x41vatarUpdatedAction\x12\x44\n\teventType\x18\x01 \x01(\x0e\x32\x31.WASyncAction.AvatarUpdatedAction.AvatarEventType\x12\x39\n\x14recentAvatarStickers\x18\x02 \x03(\x0b\x32\x1b.WASyncAction.StickerAction\"8\n\x0f\x41vatarEventType\x12\x0b\n\x07UPDATED\x10\x00\x12\x0b\n\x07\x43REATED\x10\x01\x12\x0b\n\x07\x44\x45LETED\x10\x02\"\xc5\x01\n\x1cMaibaAIFeaturesControlAction\x12X\n\x0f\x61iFeatureStatus\x18\x01 \x01(\x0e\x32?.WASyncAction.MaibaAIFeaturesControlAction.MaibaAIFeatureStatus\"K\n\x14MaibaAIFeatureStatus\x12\x0b\n\x07\x45NABLED\x10\x00\x12\x18\n\x14\x45NABLED_HAS_LEARNING\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"\x95\x01\n\x10PaymentTosAction\x12\x43\n\rpaymentNotice\x18\x01 \x02(\x0e\x32,.WASyncAction.PaymentTosAction.PaymentNotice\x12\x10\n\x08\x61\x63\x63\x65pted\x18\x02 \x02(\x08\"*\n\rPaymentNotice\x12\x19\n\x15\x42R_PAY_PRIVACY_POLICY\x10\x00\"\x88\x02\n!NotificationActivitySettingAction\x12p\n\x1bnotificationActivitySetting\x18\x01 \x01(\x0e\x32K.WASyncAction.NotificationActivitySettingAction.NotificationActivitySetting\"q\n\x1bNotificationActivitySetting\x12\x18\n\x14\x44\x45\x46\x41ULT_ALL_MESSAGES\x10\x00\x12\x10\n\x0c\x41LL_MESSAGES\x10\x01\x12\x0e\n\nHIGHLIGHTS\x10\x02\x12\x16\n\x12\x44\x45\x46\x41ULT_HIGHLIGHTS\x10\x03\"\x8e\x01\n\x1cWaffleAccountLinkStateAction\x12N\n\tlinkState\x18\x02 \x01(\x0e\x32;.WASyncAction.WaffleAccountLinkStateAction.AccountLinkState\"\x1e\n\x10\x41\x63\x63ountLinkState\x12\n\n\x06\x41\x43TIVE\x10\x00\"\xc1\x01\n\x1cMerchantPaymentPartnerAction\x12\x41\n\x06status\x18\x01 \x02(\x0e\x32\x31.WASyncAction.MerchantPaymentPartnerAction.Status\x12\x0f\n\x07\x63ountry\x18\x02 \x02(\t\x12\x13\n\x0bgatewayName\x18\x03 \x01(\t\x12\x14\n\x0c\x63redentialID\x18\x04 \x01(\t\"\"\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08INACTIVE\x10\x01\"y\n\x10GalaxyFlowAction\x12\x41\n\x04type\x18\x01 \x02(\x0e\x32\x33.WASyncAction.GalaxyFlowAction.GalaxyFlowActionType\"\"\n\x14GalaxyFlowActionType\x12\n\n\x06LAUNCH\x10\x01\"\xc5\x01\n\x0eNoteEditAction\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32%.WASyncAction.NoteEditAction.NoteType\x12\x0f\n\x07\x63hatJID\x18\x02 \x01(\t\x12\x11\n\tcreatedAt\x18\x03 \x01(\x03\x12\x0f\n\x07\x64\x65leted\x18\x04 \x01(\x08\x12\x1b\n\x13unstructuredContent\x18\x05 \x01(\t\",\n\x08NoteType\x12\x10\n\x0cUNSTRUCTURED\x10\x01\x12\x0e\n\nSTRUCTURED\x10\x02\"\xb5\x01\n\x13StatusPrivacyAction\x12\x46\n\x04mode\x18\x01 \x01(\x0e\x32\x38.WASyncAction.StatusPrivacyAction.StatusDistributionMode\x12\x0f\n\x07userJID\x18\x02 \x03(\t\"E\n\x16StatusDistributionMode\x12\x0e\n\nALLOW_LIST\x10\x00\x12\r\n\tDENY_LIST\x10\x01\x12\x0c\n\x08\x43ONTACTS\x10\x02\"\x87\x02\n\x16MarketingMessageAction\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12P\n\x04type\x18\x03 \x01(\x0e\x32\x42.WASyncAction.MarketingMessageAction.MarketingMessagePrototypeType\x12\x11\n\tcreatedAt\x18\x04 \x01(\x03\x12\x12\n\nlastSentAt\x18\x05 \x01(\x03\x12\x11\n\tisDeleted\x18\x06 \x01(\x08\x12\x0f\n\x07mediaID\x18\x07 \x01(\t\"1\n\x1dMarketingMessagePrototypeType\x12\x10\n\x0cPERSONALIZED\x10\x00\"\x8f\x01\n\x1bUsernameChatStartModeAction\x12N\n\rchatStartMode\x18\x01 \x01(\x0e\x32\x37.WASyncAction.UsernameChatStartModeAction.ChatStartMode\" \n\rChatStartMode\x12\x07\n\x03LID\x10\x01\x12\x06\n\x02PN\x10\x02\"\xc3\x02\n\x0fLabelEditAction\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63olor\x18\x02 \x01(\x05\x12\x14\n\x0cpredefinedID\x18\x03 \x01(\x05\x12\x0f\n\x07\x64\x65leted\x18\x04 \x01(\x08\x12\x12\n\norderIndex\x18\x05 \x01(\x05\x12\x10\n\x08isActive\x18\x06 \x01(\x08\x12\x34\n\x04type\x18\x07 \x01(\x0e\x32&.WASyncAction.LabelEditAction.ListType\x12\x13\n\x0bisImmutable\x18\x08 \x01(\x08\"{\n\x08ListType\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06UNREAD\x10\x01\x12\n\n\x06GROUPS\x10\x02\x12\r\n\tFAVORITES\x10\x03\x12\x0e\n\nPREDEFINED\x10\x04\x12\n\n\x06\x43USTOM\x10\x05\x12\r\n\tCOMMUNITY\x10\x06\x12\x13\n\x0fSERVER_ASSIGNED\x10\x07\"\xda\x03\n\x0ePatchDebugData\x12\x15\n\rcurrentLthash\x18\x01 \x01(\x0c\x12\x11\n\tnewLthash\x18\x02 \x01(\x0c\x12\x14\n\x0cpatchVersion\x18\x03 \x01(\x0c\x12\x16\n\x0e\x63ollectionName\x18\x04 \x01(\x0c\x12/\n\'firstFourBytesFromAHashOfSnapshotMACKey\x18\x05 \x01(\x0c\x12\x19\n\x11newLthashSubtract\x18\x06 \x01(\x0c\x12\x11\n\tnumberAdd\x18\x07 \x01(\x05\x12\x14\n\x0cnumberRemove\x18\x08 \x01(\x05\x12\x16\n\x0enumberOverride\x18\t \x01(\x05\x12=\n\x0esenderPlatform\x18\n \x01(\x0e\x32%.WASyncAction.PatchDebugData.Platform\x12\x17\n\x0fisSenderPrimary\x18\x0b \x01(\x08\"\x8a\x01\n\x08Platform\x12\x0b\n\x07\x41NDROID\x10\x00\x12\x08\n\x04SMBA\x10\x01\x12\n\n\x06IPHONE\x10\x02\x12\x08\n\x04SMBI\x10\x03\x12\x07\n\x03WEB\x10\x04\x12\x07\n\x03UWP\x10\x05\x12\n\n\x06\x44\x41RWIN\x10\x06\x12\x08\n\x04IPAD\x10\x07\x12\n\n\x06WEAROS\x10\x08\x12\x08\n\x04WASG\x10\t\x12\t\n\x05WEARM\x10\n\x12\x08\n\x04\x43\x41PI\x10\x0b\"2\n\x11RecentEmojiWeight\x12\r\n\x05\x65moji\x18\x01 \x01(\t\x12\x0e\n\x06weight\x18\x02 \x01(\x02\"\x83#\n\x0fSyncActionValue\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12,\n\nstarAction\x18\x02 \x01(\x0b\x32\x18.WASyncAction.StarAction\x12\x32\n\rcontactAction\x18\x03 \x01(\x0b\x32\x1b.WASyncAction.ContactAction\x12,\n\nmuteAction\x18\x04 \x01(\x0b\x32\x18.WASyncAction.MuteAction\x12*\n\tpinAction\x18\x05 \x01(\x0b\x32\x17.WASyncAction.PinAction\x12N\n\x1bsecurityNotificationSetting\x18\x06 \x01(\x0b\x32).WASyncAction.SecurityNotificationSetting\x12\x36\n\x0fpushNameSetting\x18\x07 \x01(\x0b\x32\x1d.WASyncAction.PushNameSetting\x12\x38\n\x10quickReplyAction\x18\x08 \x01(\x0b\x32\x1e.WASyncAction.QuickReplyAction\x12H\n\x18recentEmojiWeightsAction\x18\x0b \x01(\x0b\x32&.WASyncAction.RecentEmojiWeightsAction\x12\x36\n\x0flabelEditAction\x18\x0e \x01(\x0b\x32\x1d.WASyncAction.LabelEditAction\x12\x44\n\x16labelAssociationAction\x18\x0f \x01(\x0b\x32$.WASyncAction.LabelAssociationAction\x12\x32\n\rlocaleSetting\x18\x10 \x01(\x0b\x32\x1b.WASyncAction.LocaleSetting\x12:\n\x11\x61rchiveChatAction\x18\x11 \x01(\x0b\x32\x1f.WASyncAction.ArchiveChatAction\x12H\n\x18\x64\x65leteMessageForMeAction\x18\x12 \x01(\x0b\x32&.WASyncAction.DeleteMessageForMeAction\x12\x32\n\rkeyExpiration\x18\x13 \x01(\x0b\x32\x1b.WASyncAction.KeyExpiration\x12@\n\x14markChatAsReadAction\x18\x14 \x01(\x0b\x32\".WASyncAction.MarkChatAsReadAction\x12\x36\n\x0f\x63learChatAction\x18\x15 \x01(\x0b\x32\x1d.WASyncAction.ClearChatAction\x12\x38\n\x10\x64\x65leteChatAction\x18\x16 \x01(\x0b\x32\x1e.WASyncAction.DeleteChatAction\x12\x42\n\x15unarchiveChatsSetting\x18\x17 \x01(\x0b\x32#.WASyncAction.UnarchiveChatsSetting\x12\x34\n\x0eprimaryFeature\x18\x18 \x01(\x0b\x32\x1c.WASyncAction.PrimaryFeature\x12J\n\x19\x61ndroidUnsupportedActions\x18\x1a \x01(\x0b\x32\'.WASyncAction.AndroidUnsupportedActions\x12.\n\x0b\x61gentAction\x18\x1b \x01(\x0b\x32\x19.WASyncAction.AgentAction\x12<\n\x12subscriptionAction\x18\x1c \x01(\x0b\x32 .WASyncAction.SubscriptionAction\x12@\n\x14userStatusMuteAction\x18\x1d \x01(\x0b\x32\".WASyncAction.UserStatusMuteAction\x12\x38\n\x10timeFormatAction\x18\x1e \x01(\x0b\x32\x1e.WASyncAction.TimeFormatAction\x12*\n\tnuxAction\x18\x1f \x01(\x0b\x32\x17.WASyncAction.NuxAction\x12@\n\x14primaryVersionAction\x18 \x01(\x0b\x32\".WASyncAction.PrimaryVersionAction\x12\x32\n\rstickerAction\x18! \x01(\x0b\x32\x1b.WASyncAction.StickerAction\x12J\n\x19removeRecentStickerAction\x18\" \x01(\x0b\x32\'.WASyncAction.RemoveRecentStickerAction\x12:\n\x0e\x63hatAssignment\x18# \x01(\x0b\x32\".WASyncAction.ChatAssignmentAction\x12R\n\x1a\x63hatAssignmentOpenedStatus\x18$ \x01(\x0b\x32..WASyncAction.ChatAssignmentOpenedStatusAction\x12<\n\x12pnForLidChatAction\x18% \x01(\x0b\x32 .WASyncAction.PnForLidChatAction\x12\x44\n\x16marketingMessageAction\x18& \x01(\x0b\x32$.WASyncAction.MarketingMessageAction\x12V\n\x1fmarketingMessageBroadcastAction\x18\' \x01(\x0b\x32-.WASyncAction.MarketingMessageBroadcastAction\x12\x42\n\x15\x65xternalWebBetaAction\x18( \x01(\x0b\x32#.WASyncAction.ExternalWebBetaAction\x12N\n\x1bprivacySettingRelayAllCalls\x18) \x01(\x0b\x32).WASyncAction.PrivacySettingRelayAllCalls\x12\x32\n\rcallLogAction\x18* \x01(\x0b\x32\x1b.WASyncAction.CallLogAction\x12\x38\n\rstatusPrivacy\x18, \x01(\x0b\x32!.WASyncAction.StatusPrivacyAction\x12\x46\n\x17\x62otWelcomeRequestAction\x18- \x01(\x0b\x32%.WASyncAction.BotWelcomeRequestAction\x12L\n\x17\x64\x65leteIndividualCallLog\x18. \x01(\x0b\x32+.WASyncAction.DeleteIndividualCallLogAction\x12\x42\n\x15labelReorderingAction\x18/ \x01(\x0b\x32#.WASyncAction.LabelReorderingAction\x12:\n\x11paymentInfoAction\x18\x30 \x01(\x0b\x32\x1f.WASyncAction.PaymentInfoAction\x12L\n\x1a\x63ustomPaymentMethodsAction\x18\x31 \x01(\x0b\x32(.WASyncAction.CustomPaymentMethodsAction\x12\x34\n\x0elockChatAction\x18\x32 \x01(\x0b\x32\x1c.WASyncAction.LockChatAction\x12G\n\x10\x63hatLockSettings\x18\x33 \x01(\x0b\x32-.WAProtobufsChatLockSettings.ChatLockSettings\x12H\n\x18wamoUserIdentifierAction\x18\x34 \x01(\x0b\x32&.WASyncAction.WamoUserIdentifierAction\x12\x66\n\'privacySettingDisableLinkPreviewsAction\x18\x35 \x01(\x0b\x32\x35.WASyncAction.PrivacySettingDisableLinkPreviewsAction\x12M\n\x12\x64\x65viceCapabilities\x18\x36 \x01(\x0b\x32\x31.WAProtobufsDeviceCapabilities.DeviceCapabilities\x12\x34\n\x0enoteEditAction\x18\x37 \x01(\x0b\x32\x1c.WASyncAction.NoteEditAction\x12\x36\n\x0f\x66\x61voritesAction\x18\x38 \x01(\x0b\x32\x1d.WASyncAction.FavoritesAction\x12P\n\x1cmerchantPaymentPartnerAction\x18\x39 \x01(\x0b\x32*.WASyncAction.MerchantPaymentPartnerAction\x12P\n\x1cwaffleAccountLinkStateAction\x18: \x01(\x0b\x32*.WASyncAction.WaffleAccountLinkStateAction\x12H\n\x15usernameChatStartMode\x18; \x01(\x0b\x32).WASyncAction.UsernameChatStartModeAction\x12Z\n!notificationActivitySettingAction\x18< \x01(\x0b\x32/.WASyncAction.NotificationActivitySettingAction\x12\x38\n\x10lidContactAction\x18= \x01(\x0b\x32\x1e.WASyncAction.LidContactAction\x12X\n ctwaPerCustomerDataSharingAction\x18> \x01(\x0b\x32..WASyncAction.CtwaPerCustomerDataSharingAction\x12\x38\n\x10paymentTosAction\x18? \x01(\x0b\x32\x1e.WASyncAction.PaymentTosAction\x12\x84\x01\n6privacySettingChannelsPersonalisedRecommendationAction\x18@ \x01(\x0b\x32\x44.WASyncAction.PrivacySettingChannelsPersonalisedRecommendationAction\x12\\\n\"businessBroadcastAssociationAction\x18\x41 \x01(\x0b\x32\x30.WASyncAction.BusinessBroadcastAssociationAction\x12P\n\x1c\x64\x65tectedOutcomesStatusAction\x18\x42 \x01(\x0b\x32*.WASyncAction.DetectedOutcomesStatusAction\x12P\n\x1cmaibaAiFeaturesControlAction\x18\x44 \x01(\x0b\x32*.WASyncAction.MaibaAIFeaturesControlAction\x12N\n\x1b\x62usinessBroadcastListAction\x18\x45 \x01(\x0b\x32).WASyncAction.BusinessBroadcastListAction\x12:\n\x11musicUserIDAction\x18\x46 \x01(\x0b\x32\x1f.WASyncAction.MusicUserIdAction\x12p\n,statusPostOptInNotificationPreferencesAction\x18G \x01(\x0b\x32:.WASyncAction.StatusPostOptInNotificationPreferencesAction\x12>\n\x13\x61vatarUpdatedAction\x18H \x01(\x0b\x32!.WASyncAction.AvatarUpdatedAction\x12\x38\n\x10galaxyFlowAction\x18I \x01(\x0b\x32\x1e.WASyncAction.GalaxyFlowAction\"?\n,StatusPostOptInNotificationPreferencesAction\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\"9\n\x18\x42roadcastListParticipant\x12\x0e\n\x06lidJID\x18\x01 \x02(\t\x12\r\n\x05pnJID\x18\x02 \x01(\t\"~\n\x1b\x42usinessBroadcastListAction\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x08\x12<\n\x0cparticipants\x18\x02 \x03(\x0b\x32&.WASyncAction.BroadcastListParticipant\x12\x10\n\x08listName\x18\x03 \x01(\t\"5\n\"BusinessBroadcastAssociationAction\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x08\"O\n CtwaPerCustomerDataSharingAction\x12+\n#isCtwaPerCustomerDataSharingEnabled\x18\x01 \x01(\x08\"k\n\x10LidContactAction\x12\x10\n\x08\x66ullName\x18\x01 \x01(\t\x12\x11\n\tfirstName\x18\x02 \x01(\t\x12\x10\n\x08username\x18\x03 \x01(\t\x12 \n\x18saveOnPrimaryAddressbook\x18\x04 \x01(\x08\"d\n\x0f\x46\x61voritesAction\x12\x39\n\tfavorites\x18\x01 \x03(\x0b\x32&.WASyncAction.FavoritesAction.Favorite\x1a\x16\n\x08\x46\x61vorite\x12\n\n\x02ID\x18\x01 \x01(\t\"P\n6PrivacySettingChannelsPersonalisedRecommendationAction\x12\x16\n\x0eisUserOptedOut\x18\x01 \x01(\x08\"E\n\'PrivacySettingDisableLinkPreviewsAction\x12\x1a\n\x12isPreviewsDisabled\x18\x01 \x01(\x08\".\n\x18WamoUserIdentifierAction\x12\x12\n\nidentifier\x18\x01 \x01(\t\" \n\x0eLockChatAction\x12\x0e\n\x06locked\x18\x01 \x01(\x08\"]\n\x1a\x43ustomPaymentMethodsAction\x12?\n\x14\x63ustomPaymentMethods\x18\x01 \x03(\x0b\x32!.WASyncAction.CustomPaymentMethod\"\x87\x01\n\x13\x43ustomPaymentMethod\x12\x14\n\x0c\x63redentialID\x18\x01 \x02(\t\x12\x0f\n\x07\x63ountry\x18\x02 \x02(\t\x12\x0c\n\x04type\x18\x03 \x02(\t\x12;\n\x08metadata\x18\x04 \x03(\x0b\x32).WASyncAction.CustomPaymentMethodMetadata\"9\n\x1b\x43ustomPaymentMethodMetadata\x12\x0b\n\x03key\x18\x01 \x02(\t\x12\r\n\x05value\x18\x02 \x02(\t\" \n\x11PaymentInfoAction\x12\x0b\n\x03\x63pi\x18\x01 \x01(\t\"/\n\x15LabelReorderingAction\x12\x16\n\x0esortedLabelIDs\x18\x01 \x03(\x05\"D\n\x1d\x44\x65leteIndividualCallLogAction\x12\x0f\n\x07peerJID\x18\x01 \x01(\t\x12\x12\n\nisIncoming\x18\x02 \x01(\x08\")\n\x17\x42otWelcomeRequestAction\x12\x0e\n\x06isSent\x18\x01 \x01(\x08\"(\n\x11MusicUserIdAction\x12\x13\n\x0bmusicUserID\x18\x01 \x01(\t\"C\n\rCallLogAction\x12\x32\n\rcallLogRecord\x18\x01 \x01(\x0b\x32\x1b.WASyncAction.CallLogRecord\"0\n\x1bPrivacySettingRelayAllCalls\x12\x11\n\tisEnabled\x18\x01 \x01(\x08\"1\n\x1c\x44\x65tectedOutcomesStatusAction\x12\x11\n\tisEnabled\x18\x01 \x01(\x08\"(\n\x15\x45xternalWebBetaAction\x12\x0f\n\x07isOptIn\x18\x01 \x01(\x08\"7\n\x1fMarketingMessageBroadcastAction\x12\x14\n\x0crepliedCount\x18\x01 \x01(\x05\"#\n\x12PnForLidChatAction\x12\r\n\x05pnJID\x18\x01 \x01(\t\"6\n ChatAssignmentOpenedStatusAction\x12\x12\n\nchatOpened\x18\x01 \x01(\x08\"-\n\x14\x43hatAssignmentAction\x12\x15\n\rdeviceAgentID\x18\x01 \x01(\t\"\x86\x02\n\rStickerAction\x12\x0b\n\x03URL\x18\x01 \x01(\t\x12\x15\n\rfileEncSHA256\x18\x02 \x01(\x0c\x12\x10\n\x08mediaKey\x18\x03 \x01(\x0c\x12\x10\n\x08mimetype\x18\x04 \x01(\t\x12\x0e\n\x06height\x18\x05 \x01(\r\x12\r\n\x05width\x18\x06 \x01(\r\x12\x12\n\ndirectPath\x18\x07 \x01(\t\x12\x12\n\nfileLength\x18\x08 \x01(\x04\x12\x12\n\nisFavorite\x18\t \x01(\x08\x12\x14\n\x0c\x64\x65viceIDHint\x18\n \x01(\r\x12\x10\n\x08isLottie\x18\x0b \x01(\x08\x12\x11\n\timageHash\x18\x0c \x01(\t\x12\x17\n\x0fisAvatarSticker\x18\r \x01(\x08\"6\n\x19RemoveRecentStickerAction\x12\x19\n\x11lastStickerSentTS\x18\x01 \x01(\x03\"\'\n\x14PrimaryVersionAction\x12\x0f\n\x07version\x18\x01 \x01(\t\"!\n\tNuxAction\x12\x14\n\x0c\x61\x63knowledged\x18\x01 \x01(\x08\"9\n\x10TimeFormatAction\x12%\n\x1disTwentyFourHourFormatEnabled\x18\x01 \x01(\x08\"%\n\x14UserStatusMuteAction\x12\r\n\x05muted\x18\x01 \x01(\x08\"[\n\x12SubscriptionAction\x12\x15\n\risDeactivated\x18\x01 \x01(\x08\x12\x16\n\x0eisAutoRenewing\x18\x02 \x01(\x08\x12\x16\n\x0e\x65xpirationDate\x18\x03 \x01(\x03\"@\n\x0b\x41gentAction\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x64\x65viceID\x18\x02 \x01(\x05\x12\x11\n\tisDeleted\x18\x03 \x01(\x08\",\n\x19\x41ndroidUnsupportedActions\x12\x0f\n\x07\x61llowed\x18\x01 \x01(\x08\"\x1f\n\x0ePrimaryFeature\x12\r\n\x05\x66lags\x18\x01 \x03(\t\"(\n\rKeyExpiration\x12\x17\n\x0f\x65xpiredKeyEpoch\x18\x01 \x01(\x05\"I\n\x11SyncActionMessage\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"\x8d\x01\n\x16SyncActionMessageRange\x12\x1c\n\x14lastMessageTimestamp\x18\x01 \x01(\x03\x12\"\n\x1alastSystemMessageTimestamp\x18\x02 \x01(\x03\x12\x31\n\x08messages\x18\x03 \x03(\x0b\x32\x1f.WASyncAction.SyncActionMessage\"/\n\x15UnarchiveChatsSetting\x12\x16\n\x0eunarchiveChats\x18\x01 \x01(\x08\"N\n\x10\x44\x65leteChatAction\x12:\n\x0cmessageRange\x18\x01 \x01(\x0b\x32$.WASyncAction.SyncActionMessageRange\"M\n\x0f\x43learChatAction\x12:\n\x0cmessageRange\x18\x01 \x01(\x0b\x32$.WASyncAction.SyncActionMessageRange\"`\n\x14MarkChatAsReadAction\x12\x0c\n\x04read\x18\x01 \x01(\x08\x12:\n\x0cmessageRange\x18\x02 \x01(\x0b\x32$.WASyncAction.SyncActionMessageRange\"I\n\x18\x44\x65leteMessageForMeAction\x12\x13\n\x0b\x64\x65leteMedia\x18\x01 \x01(\x08\x12\x18\n\x10messageTimestamp\x18\x02 \x01(\x03\"a\n\x11\x41rchiveChatAction\x12\x10\n\x08\x61rchived\x18\x01 \x01(\x08\x12:\n\x0cmessageRange\x18\x02 \x01(\x0b\x32$.WASyncAction.SyncActionMessageRange\"L\n\x18RecentEmojiWeightsAction\x12\x30\n\x07weights\x18\x01 \x03(\x0b\x32\x1f.WASyncAction.RecentEmojiWeight\")\n\x16LabelAssociationAction\x12\x0f\n\x07labeled\x18\x01 \x01(\x08\"g\n\x10QuickReplyAction\x12\x10\n\x08shortcut\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x10\n\x08keywords\x18\x03 \x03(\t\x12\r\n\x05\x63ount\x18\x04 \x01(\x05\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\"\x1f\n\rLocaleSetting\x12\x0e\n\x06locale\x18\x01 \x01(\t\"\x1f\n\x0fPushNameSetting\x12\x0c\n\x04name\x18\x01 \x01(\t\"7\n\x1bSecurityNotificationSetting\x12\x18\n\x10showNotification\x18\x01 \x01(\x08\"\x1b\n\tPinAction\x12\x0e\n\x06pinned\x18\x01 \x01(\x08\"H\n\nMuteAction\x12\r\n\x05muted\x18\x01 \x01(\x08\x12\x18\n\x10muteEndTimestamp\x18\x02 \x01(\x03\x12\x11\n\tautoMuted\x18\x03 \x01(\x08\"\x87\x01\n\rContactAction\x12\x10\n\x08\x66ullName\x18\x01 \x01(\t\x12\x11\n\tfirstName\x18\x02 \x01(\t\x12\x0e\n\x06lidJID\x18\x03 \x01(\t\x12 \n\x18saveOnPrimaryAddressbook\x18\x04 \x01(\x08\x12\r\n\x05pnJID\x18\x05 \x01(\t\x12\x10\n\x08username\x18\x06 \x01(\t\"\x1d\n\nStarAction\x12\x0f\n\x07starred\x18\x01 \x01(\x08\"o\n\x0eSyncActionData\x12\r\n\x05index\x18\x01 \x01(\x0c\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.WASyncAction.SyncActionValue\x12\x0f\n\x07padding\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x42(Z&go.mau.fi/whatsmeow/proto/waSyncAction') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waSyncAction.WASyncAction_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z&go.mau.fi/whatsmeow/proto/waSyncAction' + _globals['_CALLLOGRECORD']._serialized_start=187 + _globals['_CALLLOGRECORD']._serialized_end=1077 + _globals['_CALLLOGRECORD_PARTICIPANTINFO']._serialized_start=672 + _globals['_CALLLOGRECORD_PARTICIPANTINFO']._serialized_end=766 + _globals['_CALLLOGRECORD_CALLTYPE']._serialized_start=768 + _globals['_CALLLOGRECORD_CALLTYPE']._serialized_end=827 + _globals['_CALLLOGRECORD_SILENCEREASON']._serialized_start=829 + _globals['_CALLLOGRECORD_SILENCEREASON']._serialized_end=899 + _globals['_CALLLOGRECORD_CALLRESULT']._serialized_start=902 + _globals['_CALLLOGRECORD_CALLRESULT']._serialized_end=1077 + _globals['_AVATARUPDATEDACTION']._serialized_start=1080 + _globals['_AVATARUPDATEDACTION']._serialized_end=1288 + _globals['_AVATARUPDATEDACTION_AVATAREVENTTYPE']._serialized_start=1232 + _globals['_AVATARUPDATEDACTION_AVATAREVENTTYPE']._serialized_end=1288 + _globals['_MAIBAAIFEATURESCONTROLACTION']._serialized_start=1291 + _globals['_MAIBAAIFEATURESCONTROLACTION']._serialized_end=1488 + _globals['_MAIBAAIFEATURESCONTROLACTION_MAIBAAIFEATURESTATUS']._serialized_start=1413 + _globals['_MAIBAAIFEATURESCONTROLACTION_MAIBAAIFEATURESTATUS']._serialized_end=1488 + _globals['_PAYMENTTOSACTION']._serialized_start=1491 + _globals['_PAYMENTTOSACTION']._serialized_end=1640 + _globals['_PAYMENTTOSACTION_PAYMENTNOTICE']._serialized_start=1598 + _globals['_PAYMENTTOSACTION_PAYMENTNOTICE']._serialized_end=1640 + _globals['_NOTIFICATIONACTIVITYSETTINGACTION']._serialized_start=1643 + _globals['_NOTIFICATIONACTIVITYSETTINGACTION']._serialized_end=1907 + _globals['_NOTIFICATIONACTIVITYSETTINGACTION_NOTIFICATIONACTIVITYSETTING']._serialized_start=1794 + _globals['_NOTIFICATIONACTIVITYSETTINGACTION_NOTIFICATIONACTIVITYSETTING']._serialized_end=1907 + _globals['_WAFFLEACCOUNTLINKSTATEACTION']._serialized_start=1910 + _globals['_WAFFLEACCOUNTLINKSTATEACTION']._serialized_end=2052 + _globals['_WAFFLEACCOUNTLINKSTATEACTION_ACCOUNTLINKSTATE']._serialized_start=2022 + _globals['_WAFFLEACCOUNTLINKSTATEACTION_ACCOUNTLINKSTATE']._serialized_end=2052 + _globals['_MERCHANTPAYMENTPARTNERACTION']._serialized_start=2055 + _globals['_MERCHANTPAYMENTPARTNERACTION']._serialized_end=2248 + _globals['_MERCHANTPAYMENTPARTNERACTION_STATUS']._serialized_start=2214 + _globals['_MERCHANTPAYMENTPARTNERACTION_STATUS']._serialized_end=2248 + _globals['_GALAXYFLOWACTION']._serialized_start=2250 + _globals['_GALAXYFLOWACTION']._serialized_end=2371 + _globals['_GALAXYFLOWACTION_GALAXYFLOWACTIONTYPE']._serialized_start=2337 + _globals['_GALAXYFLOWACTION_GALAXYFLOWACTIONTYPE']._serialized_end=2371 + _globals['_NOTEEDITACTION']._serialized_start=2374 + _globals['_NOTEEDITACTION']._serialized_end=2571 + _globals['_NOTEEDITACTION_NOTETYPE']._serialized_start=2527 + _globals['_NOTEEDITACTION_NOTETYPE']._serialized_end=2571 + _globals['_STATUSPRIVACYACTION']._serialized_start=2574 + _globals['_STATUSPRIVACYACTION']._serialized_end=2755 + _globals['_STATUSPRIVACYACTION_STATUSDISTRIBUTIONMODE']._serialized_start=2686 + _globals['_STATUSPRIVACYACTION_STATUSDISTRIBUTIONMODE']._serialized_end=2755 + _globals['_MARKETINGMESSAGEACTION']._serialized_start=2758 + _globals['_MARKETINGMESSAGEACTION']._serialized_end=3021 + _globals['_MARKETINGMESSAGEACTION_MARKETINGMESSAGEPROTOTYPETYPE']._serialized_start=2972 + _globals['_MARKETINGMESSAGEACTION_MARKETINGMESSAGEPROTOTYPETYPE']._serialized_end=3021 + _globals['_USERNAMECHATSTARTMODEACTION']._serialized_start=3024 + _globals['_USERNAMECHATSTARTMODEACTION']._serialized_end=3167 + _globals['_USERNAMECHATSTARTMODEACTION_CHATSTARTMODE']._serialized_start=3135 + _globals['_USERNAMECHATSTARTMODEACTION_CHATSTARTMODE']._serialized_end=3167 + _globals['_LABELEDITACTION']._serialized_start=3170 + _globals['_LABELEDITACTION']._serialized_end=3493 + _globals['_LABELEDITACTION_LISTTYPE']._serialized_start=3370 + _globals['_LABELEDITACTION_LISTTYPE']._serialized_end=3493 + _globals['_PATCHDEBUGDATA']._serialized_start=3496 + _globals['_PATCHDEBUGDATA']._serialized_end=3970 + _globals['_PATCHDEBUGDATA_PLATFORM']._serialized_start=3832 + _globals['_PATCHDEBUGDATA_PLATFORM']._serialized_end=3970 + _globals['_RECENTEMOJIWEIGHT']._serialized_start=3972 + _globals['_RECENTEMOJIWEIGHT']._serialized_end=4022 + _globals['_SYNCACTIONVALUE']._serialized_start=4025 + _globals['_SYNCACTIONVALUE']._serialized_end=8508 + _globals['_STATUSPOSTOPTINNOTIFICATIONPREFERENCESACTION']._serialized_start=8510 + _globals['_STATUSPOSTOPTINNOTIFICATIONPREFERENCESACTION']._serialized_end=8573 + _globals['_BROADCASTLISTPARTICIPANT']._serialized_start=8575 + _globals['_BROADCASTLISTPARTICIPANT']._serialized_end=8632 + _globals['_BUSINESSBROADCASTLISTACTION']._serialized_start=8634 + _globals['_BUSINESSBROADCASTLISTACTION']._serialized_end=8760 + _globals['_BUSINESSBROADCASTASSOCIATIONACTION']._serialized_start=8762 + _globals['_BUSINESSBROADCASTASSOCIATIONACTION']._serialized_end=8815 + _globals['_CTWAPERCUSTOMERDATASHARINGACTION']._serialized_start=8817 + _globals['_CTWAPERCUSTOMERDATASHARINGACTION']._serialized_end=8896 + _globals['_LIDCONTACTACTION']._serialized_start=8898 + _globals['_LIDCONTACTACTION']._serialized_end=9005 + _globals['_FAVORITESACTION']._serialized_start=9007 + _globals['_FAVORITESACTION']._serialized_end=9107 + _globals['_FAVORITESACTION_FAVORITE']._serialized_start=9085 + _globals['_FAVORITESACTION_FAVORITE']._serialized_end=9107 + _globals['_PRIVACYSETTINGCHANNELSPERSONALISEDRECOMMENDATIONACTION']._serialized_start=9109 + _globals['_PRIVACYSETTINGCHANNELSPERSONALISEDRECOMMENDATIONACTION']._serialized_end=9189 + _globals['_PRIVACYSETTINGDISABLELINKPREVIEWSACTION']._serialized_start=9191 + _globals['_PRIVACYSETTINGDISABLELINKPREVIEWSACTION']._serialized_end=9260 + _globals['_WAMOUSERIDENTIFIERACTION']._serialized_start=9262 + _globals['_WAMOUSERIDENTIFIERACTION']._serialized_end=9308 + _globals['_LOCKCHATACTION']._serialized_start=9310 + _globals['_LOCKCHATACTION']._serialized_end=9342 + _globals['_CUSTOMPAYMENTMETHODSACTION']._serialized_start=9344 + _globals['_CUSTOMPAYMENTMETHODSACTION']._serialized_end=9437 + _globals['_CUSTOMPAYMENTMETHOD']._serialized_start=9440 + _globals['_CUSTOMPAYMENTMETHOD']._serialized_end=9575 + _globals['_CUSTOMPAYMENTMETHODMETADATA']._serialized_start=9577 + _globals['_CUSTOMPAYMENTMETHODMETADATA']._serialized_end=9634 + _globals['_PAYMENTINFOACTION']._serialized_start=9636 + _globals['_PAYMENTINFOACTION']._serialized_end=9668 + _globals['_LABELREORDERINGACTION']._serialized_start=9670 + _globals['_LABELREORDERINGACTION']._serialized_end=9717 + _globals['_DELETEINDIVIDUALCALLLOGACTION']._serialized_start=9719 + _globals['_DELETEINDIVIDUALCALLLOGACTION']._serialized_end=9787 + _globals['_BOTWELCOMEREQUESTACTION']._serialized_start=9789 + _globals['_BOTWELCOMEREQUESTACTION']._serialized_end=9830 + _globals['_MUSICUSERIDACTION']._serialized_start=9832 + _globals['_MUSICUSERIDACTION']._serialized_end=9872 + _globals['_CALLLOGACTION']._serialized_start=9874 + _globals['_CALLLOGACTION']._serialized_end=9941 + _globals['_PRIVACYSETTINGRELAYALLCALLS']._serialized_start=9943 + _globals['_PRIVACYSETTINGRELAYALLCALLS']._serialized_end=9991 + _globals['_DETECTEDOUTCOMESSTATUSACTION']._serialized_start=9993 + _globals['_DETECTEDOUTCOMESSTATUSACTION']._serialized_end=10042 + _globals['_EXTERNALWEBBETAACTION']._serialized_start=10044 + _globals['_EXTERNALWEBBETAACTION']._serialized_end=10084 + _globals['_MARKETINGMESSAGEBROADCASTACTION']._serialized_start=10086 + _globals['_MARKETINGMESSAGEBROADCASTACTION']._serialized_end=10141 + _globals['_PNFORLIDCHATACTION']._serialized_start=10143 + _globals['_PNFORLIDCHATACTION']._serialized_end=10178 + _globals['_CHATASSIGNMENTOPENEDSTATUSACTION']._serialized_start=10180 + _globals['_CHATASSIGNMENTOPENEDSTATUSACTION']._serialized_end=10234 + _globals['_CHATASSIGNMENTACTION']._serialized_start=10236 + _globals['_CHATASSIGNMENTACTION']._serialized_end=10281 + _globals['_STICKERACTION']._serialized_start=10284 + _globals['_STICKERACTION']._serialized_end=10546 + _globals['_REMOVERECENTSTICKERACTION']._serialized_start=10548 + _globals['_REMOVERECENTSTICKERACTION']._serialized_end=10602 + _globals['_PRIMARYVERSIONACTION']._serialized_start=10604 + _globals['_PRIMARYVERSIONACTION']._serialized_end=10643 + _globals['_NUXACTION']._serialized_start=10645 + _globals['_NUXACTION']._serialized_end=10678 + _globals['_TIMEFORMATACTION']._serialized_start=10680 + _globals['_TIMEFORMATACTION']._serialized_end=10737 + _globals['_USERSTATUSMUTEACTION']._serialized_start=10739 + _globals['_USERSTATUSMUTEACTION']._serialized_end=10776 + _globals['_SUBSCRIPTIONACTION']._serialized_start=10778 + _globals['_SUBSCRIPTIONACTION']._serialized_end=10869 + _globals['_AGENTACTION']._serialized_start=10871 + _globals['_AGENTACTION']._serialized_end=10935 + _globals['_ANDROIDUNSUPPORTEDACTIONS']._serialized_start=10937 + _globals['_ANDROIDUNSUPPORTEDACTIONS']._serialized_end=10981 + _globals['_PRIMARYFEATURE']._serialized_start=10983 + _globals['_PRIMARYFEATURE']._serialized_end=11014 + _globals['_KEYEXPIRATION']._serialized_start=11016 + _globals['_KEYEXPIRATION']._serialized_end=11056 + _globals['_SYNCACTIONMESSAGE']._serialized_start=11058 + _globals['_SYNCACTIONMESSAGE']._serialized_end=11131 + _globals['_SYNCACTIONMESSAGERANGE']._serialized_start=11134 + _globals['_SYNCACTIONMESSAGERANGE']._serialized_end=11275 + _globals['_UNARCHIVECHATSSETTING']._serialized_start=11277 + _globals['_UNARCHIVECHATSSETTING']._serialized_end=11324 + _globals['_DELETECHATACTION']._serialized_start=11326 + _globals['_DELETECHATACTION']._serialized_end=11404 + _globals['_CLEARCHATACTION']._serialized_start=11406 + _globals['_CLEARCHATACTION']._serialized_end=11483 + _globals['_MARKCHATASREADACTION']._serialized_start=11485 + _globals['_MARKCHATASREADACTION']._serialized_end=11581 + _globals['_DELETEMESSAGEFORMEACTION']._serialized_start=11583 + _globals['_DELETEMESSAGEFORMEACTION']._serialized_end=11656 + _globals['_ARCHIVECHATACTION']._serialized_start=11658 + _globals['_ARCHIVECHATACTION']._serialized_end=11755 + _globals['_RECENTEMOJIWEIGHTSACTION']._serialized_start=11757 + _globals['_RECENTEMOJIWEIGHTSACTION']._serialized_end=11833 + _globals['_LABELASSOCIATIONACTION']._serialized_start=11835 + _globals['_LABELASSOCIATIONACTION']._serialized_end=11876 + _globals['_QUICKREPLYACTION']._serialized_start=11878 + _globals['_QUICKREPLYACTION']._serialized_end=11981 + _globals['_LOCALESETTING']._serialized_start=11983 + _globals['_LOCALESETTING']._serialized_end=12014 + _globals['_PUSHNAMESETTING']._serialized_start=12016 + _globals['_PUSHNAMESETTING']._serialized_end=12047 + _globals['_SECURITYNOTIFICATIONSETTING']._serialized_start=12049 + _globals['_SECURITYNOTIFICATIONSETTING']._serialized_end=12104 + _globals['_PINACTION']._serialized_start=12106 + _globals['_PINACTION']._serialized_end=12133 + _globals['_MUTEACTION']._serialized_start=12135 + _globals['_MUTEACTION']._serialized_end=12207 + _globals['_CONTACTACTION']._serialized_start=12210 + _globals['_CONTACTACTION']._serialized_end=12345 + _globals['_STARACTION']._serialized_start=12347 + _globals['_STARACTION']._serialized_end=12376 + _globals['_SYNCACTIONDATA']._serialized_start=12378 + _globals['_SYNCACTIONDATA']._serialized_end=12489 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waSyncAction/WASyncAction_pb2.pyi b/neonize/proto/waSyncAction/WASyncAction_pb2.pyi new file mode 100644 index 00000000..20d6945d --- /dev/null +++ b/neonize/proto/waSyncAction/WASyncAction_pb2.pyi @@ -0,0 +1,2047 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waChatLockSettings.WAProtobufsChatLockSettings_pb2 +import waCommon.WACommon_pb2 +import waDeviceCapabilities.WAProtobufsDeviceCapabilities_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class CallLogRecord(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _CallType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CallTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogRecord._CallType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + REGULAR: CallLogRecord._CallType.ValueType # 0 + SCHEDULED_CALL: CallLogRecord._CallType.ValueType # 1 + VOICE_CHAT: CallLogRecord._CallType.ValueType # 2 + + class CallType(_CallType, metaclass=_CallTypeEnumTypeWrapper): ... + REGULAR: CallLogRecord.CallType.ValueType # 0 + SCHEDULED_CALL: CallLogRecord.CallType.ValueType # 1 + VOICE_CHAT: CallLogRecord.CallType.ValueType # 2 + + class _SilenceReason: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _SilenceReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogRecord._SilenceReason.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: CallLogRecord._SilenceReason.ValueType # 0 + SCHEDULED: CallLogRecord._SilenceReason.ValueType # 1 + PRIVACY: CallLogRecord._SilenceReason.ValueType # 2 + LIGHTWEIGHT: CallLogRecord._SilenceReason.ValueType # 3 + + class SilenceReason(_SilenceReason, metaclass=_SilenceReasonEnumTypeWrapper): ... + NONE: CallLogRecord.SilenceReason.ValueType # 0 + SCHEDULED: CallLogRecord.SilenceReason.ValueType # 1 + PRIVACY: CallLogRecord.SilenceReason.ValueType # 2 + LIGHTWEIGHT: CallLogRecord.SilenceReason.ValueType # 3 + + class _CallResult: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CallResultEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogRecord._CallResult.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CONNECTED: CallLogRecord._CallResult.ValueType # 0 + REJECTED: CallLogRecord._CallResult.ValueType # 1 + CANCELLED: CallLogRecord._CallResult.ValueType # 2 + ACCEPTEDELSEWHERE: CallLogRecord._CallResult.ValueType # 3 + MISSED: CallLogRecord._CallResult.ValueType # 4 + INVALID: CallLogRecord._CallResult.ValueType # 5 + UNAVAILABLE: CallLogRecord._CallResult.ValueType # 6 + UPCOMING: CallLogRecord._CallResult.ValueType # 7 + FAILED: CallLogRecord._CallResult.ValueType # 8 + ABANDONED: CallLogRecord._CallResult.ValueType # 9 + ONGOING: CallLogRecord._CallResult.ValueType # 10 + + class CallResult(_CallResult, metaclass=_CallResultEnumTypeWrapper): ... + CONNECTED: CallLogRecord.CallResult.ValueType # 0 + REJECTED: CallLogRecord.CallResult.ValueType # 1 + CANCELLED: CallLogRecord.CallResult.ValueType # 2 + ACCEPTEDELSEWHERE: CallLogRecord.CallResult.ValueType # 3 + MISSED: CallLogRecord.CallResult.ValueType # 4 + INVALID: CallLogRecord.CallResult.ValueType # 5 + UNAVAILABLE: CallLogRecord.CallResult.ValueType # 6 + UPCOMING: CallLogRecord.CallResult.ValueType # 7 + FAILED: CallLogRecord.CallResult.ValueType # 8 + ABANDONED: CallLogRecord.CallResult.ValueType # 9 + ONGOING: CallLogRecord.CallResult.ValueType # 10 + + @typing.final + class ParticipantInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + USERJID_FIELD_NUMBER: builtins.int + CALLRESULT_FIELD_NUMBER: builtins.int + userJID: builtins.str + callResult: global___CallLogRecord.CallResult.ValueType + def __init__( + self, + *, + userJID: builtins.str | None = ..., + callResult: global___CallLogRecord.CallResult.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["callResult", b"callResult", "userJID", b"userJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["callResult", b"callResult", "userJID", b"userJID"]) -> None: ... + + CALLRESULT_FIELD_NUMBER: builtins.int + ISDNDMODE_FIELD_NUMBER: builtins.int + SILENCEREASON_FIELD_NUMBER: builtins.int + DURATION_FIELD_NUMBER: builtins.int + STARTTIME_FIELD_NUMBER: builtins.int + ISINCOMING_FIELD_NUMBER: builtins.int + ISVIDEO_FIELD_NUMBER: builtins.int + ISCALLLINK_FIELD_NUMBER: builtins.int + CALLLINKTOKEN_FIELD_NUMBER: builtins.int + SCHEDULEDCALLID_FIELD_NUMBER: builtins.int + CALLID_FIELD_NUMBER: builtins.int + CALLCREATORJID_FIELD_NUMBER: builtins.int + GROUPJID_FIELD_NUMBER: builtins.int + PARTICIPANTS_FIELD_NUMBER: builtins.int + CALLTYPE_FIELD_NUMBER: builtins.int + callResult: global___CallLogRecord.CallResult.ValueType + isDndMode: builtins.bool + silenceReason: global___CallLogRecord.SilenceReason.ValueType + duration: builtins.int + startTime: builtins.int + isIncoming: builtins.bool + isVideo: builtins.bool + isCallLink: builtins.bool + callLinkToken: builtins.str + scheduledCallID: builtins.str + callID: builtins.str + callCreatorJID: builtins.str + groupJID: builtins.str + callType: global___CallLogRecord.CallType.ValueType + @property + def participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CallLogRecord.ParticipantInfo]: ... + def __init__( + self, + *, + callResult: global___CallLogRecord.CallResult.ValueType | None = ..., + isDndMode: builtins.bool | None = ..., + silenceReason: global___CallLogRecord.SilenceReason.ValueType | None = ..., + duration: builtins.int | None = ..., + startTime: builtins.int | None = ..., + isIncoming: builtins.bool | None = ..., + isVideo: builtins.bool | None = ..., + isCallLink: builtins.bool | None = ..., + callLinkToken: builtins.str | None = ..., + scheduledCallID: builtins.str | None = ..., + callID: builtins.str | None = ..., + callCreatorJID: builtins.str | None = ..., + groupJID: builtins.str | None = ..., + participants: collections.abc.Iterable[global___CallLogRecord.ParticipantInfo] | None = ..., + callType: global___CallLogRecord.CallType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["callCreatorJID", b"callCreatorJID", "callID", b"callID", "callLinkToken", b"callLinkToken", "callResult", b"callResult", "callType", b"callType", "duration", b"duration", "groupJID", b"groupJID", "isCallLink", b"isCallLink", "isDndMode", b"isDndMode", "isIncoming", b"isIncoming", "isVideo", b"isVideo", "scheduledCallID", b"scheduledCallID", "silenceReason", b"silenceReason", "startTime", b"startTime"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["callCreatorJID", b"callCreatorJID", "callID", b"callID", "callLinkToken", b"callLinkToken", "callResult", b"callResult", "callType", b"callType", "duration", b"duration", "groupJID", b"groupJID", "isCallLink", b"isCallLink", "isDndMode", b"isDndMode", "isIncoming", b"isIncoming", "isVideo", b"isVideo", "participants", b"participants", "scheduledCallID", b"scheduledCallID", "silenceReason", b"silenceReason", "startTime", b"startTime"]) -> None: ... + +global___CallLogRecord = CallLogRecord + +@typing.final +class AvatarUpdatedAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AvatarEventType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AvatarEventTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AvatarUpdatedAction._AvatarEventType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UPDATED: AvatarUpdatedAction._AvatarEventType.ValueType # 0 + CREATED: AvatarUpdatedAction._AvatarEventType.ValueType # 1 + DELETED: AvatarUpdatedAction._AvatarEventType.ValueType # 2 + + class AvatarEventType(_AvatarEventType, metaclass=_AvatarEventTypeEnumTypeWrapper): ... + UPDATED: AvatarUpdatedAction.AvatarEventType.ValueType # 0 + CREATED: AvatarUpdatedAction.AvatarEventType.ValueType # 1 + DELETED: AvatarUpdatedAction.AvatarEventType.ValueType # 2 + + EVENTTYPE_FIELD_NUMBER: builtins.int + RECENTAVATARSTICKERS_FIELD_NUMBER: builtins.int + eventType: global___AvatarUpdatedAction.AvatarEventType.ValueType + @property + def recentAvatarStickers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StickerAction]: ... + def __init__( + self, + *, + eventType: global___AvatarUpdatedAction.AvatarEventType.ValueType | None = ..., + recentAvatarStickers: collections.abc.Iterable[global___StickerAction] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["eventType", b"eventType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["eventType", b"eventType", "recentAvatarStickers", b"recentAvatarStickers"]) -> None: ... + +global___AvatarUpdatedAction = AvatarUpdatedAction + +@typing.final +class MaibaAIFeaturesControlAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _MaibaAIFeatureStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _MaibaAIFeatureStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MaibaAIFeaturesControlAction._MaibaAIFeatureStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ENABLED: MaibaAIFeaturesControlAction._MaibaAIFeatureStatus.ValueType # 0 + ENABLED_HAS_LEARNING: MaibaAIFeaturesControlAction._MaibaAIFeatureStatus.ValueType # 1 + DISABLED: MaibaAIFeaturesControlAction._MaibaAIFeatureStatus.ValueType # 2 + + class MaibaAIFeatureStatus(_MaibaAIFeatureStatus, metaclass=_MaibaAIFeatureStatusEnumTypeWrapper): ... + ENABLED: MaibaAIFeaturesControlAction.MaibaAIFeatureStatus.ValueType # 0 + ENABLED_HAS_LEARNING: MaibaAIFeaturesControlAction.MaibaAIFeatureStatus.ValueType # 1 + DISABLED: MaibaAIFeaturesControlAction.MaibaAIFeatureStatus.ValueType # 2 + + AIFEATURESTATUS_FIELD_NUMBER: builtins.int + aiFeatureStatus: global___MaibaAIFeaturesControlAction.MaibaAIFeatureStatus.ValueType + def __init__( + self, + *, + aiFeatureStatus: global___MaibaAIFeaturesControlAction.MaibaAIFeatureStatus.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["aiFeatureStatus", b"aiFeatureStatus"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["aiFeatureStatus", b"aiFeatureStatus"]) -> None: ... + +global___MaibaAIFeaturesControlAction = MaibaAIFeaturesControlAction + +@typing.final +class PaymentTosAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _PaymentNotice: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PaymentNoticeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentTosAction._PaymentNotice.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + BR_PAY_PRIVACY_POLICY: PaymentTosAction._PaymentNotice.ValueType # 0 + + class PaymentNotice(_PaymentNotice, metaclass=_PaymentNoticeEnumTypeWrapper): ... + BR_PAY_PRIVACY_POLICY: PaymentTosAction.PaymentNotice.ValueType # 0 + + PAYMENTNOTICE_FIELD_NUMBER: builtins.int + ACCEPTED_FIELD_NUMBER: builtins.int + paymentNotice: global___PaymentTosAction.PaymentNotice.ValueType + accepted: builtins.bool + def __init__( + self, + *, + paymentNotice: global___PaymentTosAction.PaymentNotice.ValueType | None = ..., + accepted: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accepted", b"accepted", "paymentNotice", b"paymentNotice"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accepted", b"accepted", "paymentNotice", b"paymentNotice"]) -> None: ... + +global___PaymentTosAction = PaymentTosAction + +@typing.final +class NotificationActivitySettingAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _NotificationActivitySetting: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _NotificationActivitySettingEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[NotificationActivitySettingAction._NotificationActivitySetting.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DEFAULT_ALL_MESSAGES: NotificationActivitySettingAction._NotificationActivitySetting.ValueType # 0 + ALL_MESSAGES: NotificationActivitySettingAction._NotificationActivitySetting.ValueType # 1 + HIGHLIGHTS: NotificationActivitySettingAction._NotificationActivitySetting.ValueType # 2 + DEFAULT_HIGHLIGHTS: NotificationActivitySettingAction._NotificationActivitySetting.ValueType # 3 + + class NotificationActivitySetting(_NotificationActivitySetting, metaclass=_NotificationActivitySettingEnumTypeWrapper): ... + DEFAULT_ALL_MESSAGES: NotificationActivitySettingAction.NotificationActivitySetting.ValueType # 0 + ALL_MESSAGES: NotificationActivitySettingAction.NotificationActivitySetting.ValueType # 1 + HIGHLIGHTS: NotificationActivitySettingAction.NotificationActivitySetting.ValueType # 2 + DEFAULT_HIGHLIGHTS: NotificationActivitySettingAction.NotificationActivitySetting.ValueType # 3 + + NOTIFICATIONACTIVITYSETTING_FIELD_NUMBER: builtins.int + notificationActivitySetting: global___NotificationActivitySettingAction.NotificationActivitySetting.ValueType + def __init__( + self, + *, + notificationActivitySetting: global___NotificationActivitySettingAction.NotificationActivitySetting.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["notificationActivitySetting", b"notificationActivitySetting"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["notificationActivitySetting", b"notificationActivitySetting"]) -> None: ... + +global___NotificationActivitySettingAction = NotificationActivitySettingAction + +@typing.final +class WaffleAccountLinkStateAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AccountLinkState: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AccountLinkStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WaffleAccountLinkStateAction._AccountLinkState.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ACTIVE: WaffleAccountLinkStateAction._AccountLinkState.ValueType # 0 + + class AccountLinkState(_AccountLinkState, metaclass=_AccountLinkStateEnumTypeWrapper): ... + ACTIVE: WaffleAccountLinkStateAction.AccountLinkState.ValueType # 0 + + LINKSTATE_FIELD_NUMBER: builtins.int + linkState: global___WaffleAccountLinkStateAction.AccountLinkState.ValueType + def __init__( + self, + *, + linkState: global___WaffleAccountLinkStateAction.AccountLinkState.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["linkState", b"linkState"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["linkState", b"linkState"]) -> None: ... + +global___WaffleAccountLinkStateAction = WaffleAccountLinkStateAction + +@typing.final +class MerchantPaymentPartnerAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Status: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MerchantPaymentPartnerAction._Status.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ACTIVE: MerchantPaymentPartnerAction._Status.ValueType # 0 + INACTIVE: MerchantPaymentPartnerAction._Status.ValueType # 1 + + class Status(_Status, metaclass=_StatusEnumTypeWrapper): ... + ACTIVE: MerchantPaymentPartnerAction.Status.ValueType # 0 + INACTIVE: MerchantPaymentPartnerAction.Status.ValueType # 1 + + STATUS_FIELD_NUMBER: builtins.int + COUNTRY_FIELD_NUMBER: builtins.int + GATEWAYNAME_FIELD_NUMBER: builtins.int + CREDENTIALID_FIELD_NUMBER: builtins.int + status: global___MerchantPaymentPartnerAction.Status.ValueType + country: builtins.str + gatewayName: builtins.str + credentialID: builtins.str + def __init__( + self, + *, + status: global___MerchantPaymentPartnerAction.Status.ValueType | None = ..., + country: builtins.str | None = ..., + gatewayName: builtins.str | None = ..., + credentialID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["country", b"country", "credentialID", b"credentialID", "gatewayName", b"gatewayName", "status", b"status"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["country", b"country", "credentialID", b"credentialID", "gatewayName", b"gatewayName", "status", b"status"]) -> None: ... + +global___MerchantPaymentPartnerAction = MerchantPaymentPartnerAction + +@typing.final +class GalaxyFlowAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _GalaxyFlowActionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _GalaxyFlowActionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GalaxyFlowAction._GalaxyFlowActionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + LAUNCH: GalaxyFlowAction._GalaxyFlowActionType.ValueType # 1 + + class GalaxyFlowActionType(_GalaxyFlowActionType, metaclass=_GalaxyFlowActionTypeEnumTypeWrapper): ... + LAUNCH: GalaxyFlowAction.GalaxyFlowActionType.ValueType # 1 + + TYPE_FIELD_NUMBER: builtins.int + type: global___GalaxyFlowAction.GalaxyFlowActionType.ValueType + def __init__( + self, + *, + type: global___GalaxyFlowAction.GalaxyFlowActionType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ... + +global___GalaxyFlowAction = GalaxyFlowAction + +@typing.final +class NoteEditAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _NoteType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _NoteTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[NoteEditAction._NoteType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNSTRUCTURED: NoteEditAction._NoteType.ValueType # 1 + STRUCTURED: NoteEditAction._NoteType.ValueType # 2 + + class NoteType(_NoteType, metaclass=_NoteTypeEnumTypeWrapper): ... + UNSTRUCTURED: NoteEditAction.NoteType.ValueType # 1 + STRUCTURED: NoteEditAction.NoteType.ValueType # 2 + + TYPE_FIELD_NUMBER: builtins.int + CHATJID_FIELD_NUMBER: builtins.int + CREATEDAT_FIELD_NUMBER: builtins.int + DELETED_FIELD_NUMBER: builtins.int + UNSTRUCTUREDCONTENT_FIELD_NUMBER: builtins.int + type: global___NoteEditAction.NoteType.ValueType + chatJID: builtins.str + createdAt: builtins.int + deleted: builtins.bool + unstructuredContent: builtins.str + def __init__( + self, + *, + type: global___NoteEditAction.NoteType.ValueType | None = ..., + chatJID: builtins.str | None = ..., + createdAt: builtins.int | None = ..., + deleted: builtins.bool | None = ..., + unstructuredContent: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["chatJID", b"chatJID", "createdAt", b"createdAt", "deleted", b"deleted", "type", b"type", "unstructuredContent", b"unstructuredContent"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chatJID", b"chatJID", "createdAt", b"createdAt", "deleted", b"deleted", "type", b"type", "unstructuredContent", b"unstructuredContent"]) -> None: ... + +global___NoteEditAction = NoteEditAction + +@typing.final +class StatusPrivacyAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _StatusDistributionMode: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusDistributionModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusPrivacyAction._StatusDistributionMode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ALLOW_LIST: StatusPrivacyAction._StatusDistributionMode.ValueType # 0 + DENY_LIST: StatusPrivacyAction._StatusDistributionMode.ValueType # 1 + CONTACTS: StatusPrivacyAction._StatusDistributionMode.ValueType # 2 + + class StatusDistributionMode(_StatusDistributionMode, metaclass=_StatusDistributionModeEnumTypeWrapper): ... + ALLOW_LIST: StatusPrivacyAction.StatusDistributionMode.ValueType # 0 + DENY_LIST: StatusPrivacyAction.StatusDistributionMode.ValueType # 1 + CONTACTS: StatusPrivacyAction.StatusDistributionMode.ValueType # 2 + + MODE_FIELD_NUMBER: builtins.int + USERJID_FIELD_NUMBER: builtins.int + mode: global___StatusPrivacyAction.StatusDistributionMode.ValueType + @property + def userJID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + mode: global___StatusPrivacyAction.StatusDistributionMode.ValueType | None = ..., + userJID: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["mode", b"mode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["mode", b"mode", "userJID", b"userJID"]) -> None: ... + +global___StatusPrivacyAction = StatusPrivacyAction + +@typing.final +class MarketingMessageAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _MarketingMessagePrototypeType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _MarketingMessagePrototypeTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MarketingMessageAction._MarketingMessagePrototypeType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PERSONALIZED: MarketingMessageAction._MarketingMessagePrototypeType.ValueType # 0 + + class MarketingMessagePrototypeType(_MarketingMessagePrototypeType, metaclass=_MarketingMessagePrototypeTypeEnumTypeWrapper): ... + PERSONALIZED: MarketingMessageAction.MarketingMessagePrototypeType.ValueType # 0 + + NAME_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + CREATEDAT_FIELD_NUMBER: builtins.int + LASTSENTAT_FIELD_NUMBER: builtins.int + ISDELETED_FIELD_NUMBER: builtins.int + MEDIAID_FIELD_NUMBER: builtins.int + name: builtins.str + message: builtins.str + type: global___MarketingMessageAction.MarketingMessagePrototypeType.ValueType + createdAt: builtins.int + lastSentAt: builtins.int + isDeleted: builtins.bool + mediaID: builtins.str + def __init__( + self, + *, + name: builtins.str | None = ..., + message: builtins.str | None = ..., + type: global___MarketingMessageAction.MarketingMessagePrototypeType.ValueType | None = ..., + createdAt: builtins.int | None = ..., + lastSentAt: builtins.int | None = ..., + isDeleted: builtins.bool | None = ..., + mediaID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["createdAt", b"createdAt", "isDeleted", b"isDeleted", "lastSentAt", b"lastSentAt", "mediaID", b"mediaID", "message", b"message", "name", b"name", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["createdAt", b"createdAt", "isDeleted", b"isDeleted", "lastSentAt", b"lastSentAt", "mediaID", b"mediaID", "message", b"message", "name", b"name", "type", b"type"]) -> None: ... + +global___MarketingMessageAction = MarketingMessageAction + +@typing.final +class UsernameChatStartModeAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ChatStartMode: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ChatStartModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[UsernameChatStartModeAction._ChatStartMode.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + LID: UsernameChatStartModeAction._ChatStartMode.ValueType # 1 + PN: UsernameChatStartModeAction._ChatStartMode.ValueType # 2 + + class ChatStartMode(_ChatStartMode, metaclass=_ChatStartModeEnumTypeWrapper): ... + LID: UsernameChatStartModeAction.ChatStartMode.ValueType # 1 + PN: UsernameChatStartModeAction.ChatStartMode.ValueType # 2 + + CHATSTARTMODE_FIELD_NUMBER: builtins.int + chatStartMode: global___UsernameChatStartModeAction.ChatStartMode.ValueType + def __init__( + self, + *, + chatStartMode: global___UsernameChatStartModeAction.ChatStartMode.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["chatStartMode", b"chatStartMode"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chatStartMode", b"chatStartMode"]) -> None: ... + +global___UsernameChatStartModeAction = UsernameChatStartModeAction + +@typing.final +class LabelEditAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ListType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ListTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[LabelEditAction._ListType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: LabelEditAction._ListType.ValueType # 0 + UNREAD: LabelEditAction._ListType.ValueType # 1 + GROUPS: LabelEditAction._ListType.ValueType # 2 + FAVORITES: LabelEditAction._ListType.ValueType # 3 + PREDEFINED: LabelEditAction._ListType.ValueType # 4 + CUSTOM: LabelEditAction._ListType.ValueType # 5 + COMMUNITY: LabelEditAction._ListType.ValueType # 6 + SERVER_ASSIGNED: LabelEditAction._ListType.ValueType # 7 + + class ListType(_ListType, metaclass=_ListTypeEnumTypeWrapper): ... + NONE: LabelEditAction.ListType.ValueType # 0 + UNREAD: LabelEditAction.ListType.ValueType # 1 + GROUPS: LabelEditAction.ListType.ValueType # 2 + FAVORITES: LabelEditAction.ListType.ValueType # 3 + PREDEFINED: LabelEditAction.ListType.ValueType # 4 + CUSTOM: LabelEditAction.ListType.ValueType # 5 + COMMUNITY: LabelEditAction.ListType.ValueType # 6 + SERVER_ASSIGNED: LabelEditAction.ListType.ValueType # 7 + + NAME_FIELD_NUMBER: builtins.int + COLOR_FIELD_NUMBER: builtins.int + PREDEFINEDID_FIELD_NUMBER: builtins.int + DELETED_FIELD_NUMBER: builtins.int + ORDERINDEX_FIELD_NUMBER: builtins.int + ISACTIVE_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + ISIMMUTABLE_FIELD_NUMBER: builtins.int + name: builtins.str + color: builtins.int + predefinedID: builtins.int + deleted: builtins.bool + orderIndex: builtins.int + isActive: builtins.bool + type: global___LabelEditAction.ListType.ValueType + isImmutable: builtins.bool + def __init__( + self, + *, + name: builtins.str | None = ..., + color: builtins.int | None = ..., + predefinedID: builtins.int | None = ..., + deleted: builtins.bool | None = ..., + orderIndex: builtins.int | None = ..., + isActive: builtins.bool | None = ..., + type: global___LabelEditAction.ListType.ValueType | None = ..., + isImmutable: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["color", b"color", "deleted", b"deleted", "isActive", b"isActive", "isImmutable", b"isImmutable", "name", b"name", "orderIndex", b"orderIndex", "predefinedID", b"predefinedID", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["color", b"color", "deleted", b"deleted", "isActive", b"isActive", "isImmutable", b"isImmutable", "name", b"name", "orderIndex", b"orderIndex", "predefinedID", b"predefinedID", "type", b"type"]) -> None: ... + +global___LabelEditAction = LabelEditAction + +@typing.final +class PatchDebugData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Platform: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PlatformEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PatchDebugData._Platform.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ANDROID: PatchDebugData._Platform.ValueType # 0 + SMBA: PatchDebugData._Platform.ValueType # 1 + IPHONE: PatchDebugData._Platform.ValueType # 2 + SMBI: PatchDebugData._Platform.ValueType # 3 + WEB: PatchDebugData._Platform.ValueType # 4 + UWP: PatchDebugData._Platform.ValueType # 5 + DARWIN: PatchDebugData._Platform.ValueType # 6 + IPAD: PatchDebugData._Platform.ValueType # 7 + WEAROS: PatchDebugData._Platform.ValueType # 8 + WASG: PatchDebugData._Platform.ValueType # 9 + WEARM: PatchDebugData._Platform.ValueType # 10 + CAPI: PatchDebugData._Platform.ValueType # 11 + + class Platform(_Platform, metaclass=_PlatformEnumTypeWrapper): ... + ANDROID: PatchDebugData.Platform.ValueType # 0 + SMBA: PatchDebugData.Platform.ValueType # 1 + IPHONE: PatchDebugData.Platform.ValueType # 2 + SMBI: PatchDebugData.Platform.ValueType # 3 + WEB: PatchDebugData.Platform.ValueType # 4 + UWP: PatchDebugData.Platform.ValueType # 5 + DARWIN: PatchDebugData.Platform.ValueType # 6 + IPAD: PatchDebugData.Platform.ValueType # 7 + WEAROS: PatchDebugData.Platform.ValueType # 8 + WASG: PatchDebugData.Platform.ValueType # 9 + WEARM: PatchDebugData.Platform.ValueType # 10 + CAPI: PatchDebugData.Platform.ValueType # 11 + + CURRENTLTHASH_FIELD_NUMBER: builtins.int + NEWLTHASH_FIELD_NUMBER: builtins.int + PATCHVERSION_FIELD_NUMBER: builtins.int + COLLECTIONNAME_FIELD_NUMBER: builtins.int + FIRSTFOURBYTESFROMAHASHOFSNAPSHOTMACKEY_FIELD_NUMBER: builtins.int + NEWLTHASHSUBTRACT_FIELD_NUMBER: builtins.int + NUMBERADD_FIELD_NUMBER: builtins.int + NUMBERREMOVE_FIELD_NUMBER: builtins.int + NUMBEROVERRIDE_FIELD_NUMBER: builtins.int + SENDERPLATFORM_FIELD_NUMBER: builtins.int + ISSENDERPRIMARY_FIELD_NUMBER: builtins.int + currentLthash: builtins.bytes + newLthash: builtins.bytes + patchVersion: builtins.bytes + collectionName: builtins.bytes + firstFourBytesFromAHashOfSnapshotMACKey: builtins.bytes + newLthashSubtract: builtins.bytes + numberAdd: builtins.int + numberRemove: builtins.int + numberOverride: builtins.int + senderPlatform: global___PatchDebugData.Platform.ValueType + isSenderPrimary: builtins.bool + def __init__( + self, + *, + currentLthash: builtins.bytes | None = ..., + newLthash: builtins.bytes | None = ..., + patchVersion: builtins.bytes | None = ..., + collectionName: builtins.bytes | None = ..., + firstFourBytesFromAHashOfSnapshotMACKey: builtins.bytes | None = ..., + newLthashSubtract: builtins.bytes | None = ..., + numberAdd: builtins.int | None = ..., + numberRemove: builtins.int | None = ..., + numberOverride: builtins.int | None = ..., + senderPlatform: global___PatchDebugData.Platform.ValueType | None = ..., + isSenderPrimary: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["collectionName", b"collectionName", "currentLthash", b"currentLthash", "firstFourBytesFromAHashOfSnapshotMACKey", b"firstFourBytesFromAHashOfSnapshotMACKey", "isSenderPrimary", b"isSenderPrimary", "newLthash", b"newLthash", "newLthashSubtract", b"newLthashSubtract", "numberAdd", b"numberAdd", "numberOverride", b"numberOverride", "numberRemove", b"numberRemove", "patchVersion", b"patchVersion", "senderPlatform", b"senderPlatform"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["collectionName", b"collectionName", "currentLthash", b"currentLthash", "firstFourBytesFromAHashOfSnapshotMACKey", b"firstFourBytesFromAHashOfSnapshotMACKey", "isSenderPrimary", b"isSenderPrimary", "newLthash", b"newLthash", "newLthashSubtract", b"newLthashSubtract", "numberAdd", b"numberAdd", "numberOverride", b"numberOverride", "numberRemove", b"numberRemove", "patchVersion", b"patchVersion", "senderPlatform", b"senderPlatform"]) -> None: ... + +global___PatchDebugData = PatchDebugData + +@typing.final +class RecentEmojiWeight(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EMOJI_FIELD_NUMBER: builtins.int + WEIGHT_FIELD_NUMBER: builtins.int + emoji: builtins.str + weight: builtins.float + def __init__( + self, + *, + emoji: builtins.str | None = ..., + weight: builtins.float | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["emoji", b"emoji", "weight", b"weight"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["emoji", b"emoji", "weight", b"weight"]) -> None: ... + +global___RecentEmojiWeight = RecentEmojiWeight + +@typing.final +class SyncActionValue(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMP_FIELD_NUMBER: builtins.int + STARACTION_FIELD_NUMBER: builtins.int + CONTACTACTION_FIELD_NUMBER: builtins.int + MUTEACTION_FIELD_NUMBER: builtins.int + PINACTION_FIELD_NUMBER: builtins.int + SECURITYNOTIFICATIONSETTING_FIELD_NUMBER: builtins.int + PUSHNAMESETTING_FIELD_NUMBER: builtins.int + QUICKREPLYACTION_FIELD_NUMBER: builtins.int + RECENTEMOJIWEIGHTSACTION_FIELD_NUMBER: builtins.int + LABELEDITACTION_FIELD_NUMBER: builtins.int + LABELASSOCIATIONACTION_FIELD_NUMBER: builtins.int + LOCALESETTING_FIELD_NUMBER: builtins.int + ARCHIVECHATACTION_FIELD_NUMBER: builtins.int + DELETEMESSAGEFORMEACTION_FIELD_NUMBER: builtins.int + KEYEXPIRATION_FIELD_NUMBER: builtins.int + MARKCHATASREADACTION_FIELD_NUMBER: builtins.int + CLEARCHATACTION_FIELD_NUMBER: builtins.int + DELETECHATACTION_FIELD_NUMBER: builtins.int + UNARCHIVECHATSSETTING_FIELD_NUMBER: builtins.int + PRIMARYFEATURE_FIELD_NUMBER: builtins.int + ANDROIDUNSUPPORTEDACTIONS_FIELD_NUMBER: builtins.int + AGENTACTION_FIELD_NUMBER: builtins.int + SUBSCRIPTIONACTION_FIELD_NUMBER: builtins.int + USERSTATUSMUTEACTION_FIELD_NUMBER: builtins.int + TIMEFORMATACTION_FIELD_NUMBER: builtins.int + NUXACTION_FIELD_NUMBER: builtins.int + PRIMARYVERSIONACTION_FIELD_NUMBER: builtins.int + STICKERACTION_FIELD_NUMBER: builtins.int + REMOVERECENTSTICKERACTION_FIELD_NUMBER: builtins.int + CHATASSIGNMENT_FIELD_NUMBER: builtins.int + CHATASSIGNMENTOPENEDSTATUS_FIELD_NUMBER: builtins.int + PNFORLIDCHATACTION_FIELD_NUMBER: builtins.int + MARKETINGMESSAGEACTION_FIELD_NUMBER: builtins.int + MARKETINGMESSAGEBROADCASTACTION_FIELD_NUMBER: builtins.int + EXTERNALWEBBETAACTION_FIELD_NUMBER: builtins.int + PRIVACYSETTINGRELAYALLCALLS_FIELD_NUMBER: builtins.int + CALLLOGACTION_FIELD_NUMBER: builtins.int + STATUSPRIVACY_FIELD_NUMBER: builtins.int + BOTWELCOMEREQUESTACTION_FIELD_NUMBER: builtins.int + DELETEINDIVIDUALCALLLOG_FIELD_NUMBER: builtins.int + LABELREORDERINGACTION_FIELD_NUMBER: builtins.int + PAYMENTINFOACTION_FIELD_NUMBER: builtins.int + CUSTOMPAYMENTMETHODSACTION_FIELD_NUMBER: builtins.int + LOCKCHATACTION_FIELD_NUMBER: builtins.int + CHATLOCKSETTINGS_FIELD_NUMBER: builtins.int + WAMOUSERIDENTIFIERACTION_FIELD_NUMBER: builtins.int + PRIVACYSETTINGDISABLELINKPREVIEWSACTION_FIELD_NUMBER: builtins.int + DEVICECAPABILITIES_FIELD_NUMBER: builtins.int + NOTEEDITACTION_FIELD_NUMBER: builtins.int + FAVORITESACTION_FIELD_NUMBER: builtins.int + MERCHANTPAYMENTPARTNERACTION_FIELD_NUMBER: builtins.int + WAFFLEACCOUNTLINKSTATEACTION_FIELD_NUMBER: builtins.int + USERNAMECHATSTARTMODE_FIELD_NUMBER: builtins.int + NOTIFICATIONACTIVITYSETTINGACTION_FIELD_NUMBER: builtins.int + LIDCONTACTACTION_FIELD_NUMBER: builtins.int + CTWAPERCUSTOMERDATASHARINGACTION_FIELD_NUMBER: builtins.int + PAYMENTTOSACTION_FIELD_NUMBER: builtins.int + PRIVACYSETTINGCHANNELSPERSONALISEDRECOMMENDATIONACTION_FIELD_NUMBER: builtins.int + BUSINESSBROADCASTASSOCIATIONACTION_FIELD_NUMBER: builtins.int + DETECTEDOUTCOMESSTATUSACTION_FIELD_NUMBER: builtins.int + MAIBAAIFEATURESCONTROLACTION_FIELD_NUMBER: builtins.int + BUSINESSBROADCASTLISTACTION_FIELD_NUMBER: builtins.int + MUSICUSERIDACTION_FIELD_NUMBER: builtins.int + STATUSPOSTOPTINNOTIFICATIONPREFERENCESACTION_FIELD_NUMBER: builtins.int + AVATARUPDATEDACTION_FIELD_NUMBER: builtins.int + GALAXYFLOWACTION_FIELD_NUMBER: builtins.int + timestamp: builtins.int + @property + def starAction(self) -> global___StarAction: ... + @property + def contactAction(self) -> global___ContactAction: ... + @property + def muteAction(self) -> global___MuteAction: ... + @property + def pinAction(self) -> global___PinAction: ... + @property + def securityNotificationSetting(self) -> global___SecurityNotificationSetting: ... + @property + def pushNameSetting(self) -> global___PushNameSetting: ... + @property + def quickReplyAction(self) -> global___QuickReplyAction: ... + @property + def recentEmojiWeightsAction(self) -> global___RecentEmojiWeightsAction: ... + @property + def labelEditAction(self) -> global___LabelEditAction: ... + @property + def labelAssociationAction(self) -> global___LabelAssociationAction: ... + @property + def localeSetting(self) -> global___LocaleSetting: ... + @property + def archiveChatAction(self) -> global___ArchiveChatAction: ... + @property + def deleteMessageForMeAction(self) -> global___DeleteMessageForMeAction: ... + @property + def keyExpiration(self) -> global___KeyExpiration: ... + @property + def markChatAsReadAction(self) -> global___MarkChatAsReadAction: ... + @property + def clearChatAction(self) -> global___ClearChatAction: ... + @property + def deleteChatAction(self) -> global___DeleteChatAction: ... + @property + def unarchiveChatsSetting(self) -> global___UnarchiveChatsSetting: ... + @property + def primaryFeature(self) -> global___PrimaryFeature: ... + @property + def androidUnsupportedActions(self) -> global___AndroidUnsupportedActions: ... + @property + def agentAction(self) -> global___AgentAction: ... + @property + def subscriptionAction(self) -> global___SubscriptionAction: ... + @property + def userStatusMuteAction(self) -> global___UserStatusMuteAction: ... + @property + def timeFormatAction(self) -> global___TimeFormatAction: ... + @property + def nuxAction(self) -> global___NuxAction: ... + @property + def primaryVersionAction(self) -> global___PrimaryVersionAction: ... + @property + def stickerAction(self) -> global___StickerAction: ... + @property + def removeRecentStickerAction(self) -> global___RemoveRecentStickerAction: ... + @property + def chatAssignment(self) -> global___ChatAssignmentAction: ... + @property + def chatAssignmentOpenedStatus(self) -> global___ChatAssignmentOpenedStatusAction: ... + @property + def pnForLidChatAction(self) -> global___PnForLidChatAction: ... + @property + def marketingMessageAction(self) -> global___MarketingMessageAction: ... + @property + def marketingMessageBroadcastAction(self) -> global___MarketingMessageBroadcastAction: ... + @property + def externalWebBetaAction(self) -> global___ExternalWebBetaAction: ... + @property + def privacySettingRelayAllCalls(self) -> global___PrivacySettingRelayAllCalls: ... + @property + def callLogAction(self) -> global___CallLogAction: ... + @property + def statusPrivacy(self) -> global___StatusPrivacyAction: ... + @property + def botWelcomeRequestAction(self) -> global___BotWelcomeRequestAction: ... + @property + def deleteIndividualCallLog(self) -> global___DeleteIndividualCallLogAction: ... + @property + def labelReorderingAction(self) -> global___LabelReorderingAction: ... + @property + def paymentInfoAction(self) -> global___PaymentInfoAction: ... + @property + def customPaymentMethodsAction(self) -> global___CustomPaymentMethodsAction: ... + @property + def lockChatAction(self) -> global___LockChatAction: ... + @property + def chatLockSettings(self) -> waChatLockSettings.WAProtobufsChatLockSettings_pb2.ChatLockSettings: ... + @property + def wamoUserIdentifierAction(self) -> global___WamoUserIdentifierAction: ... + @property + def privacySettingDisableLinkPreviewsAction(self) -> global___PrivacySettingDisableLinkPreviewsAction: ... + @property + def deviceCapabilities(self) -> waDeviceCapabilities.WAProtobufsDeviceCapabilities_pb2.DeviceCapabilities: ... + @property + def noteEditAction(self) -> global___NoteEditAction: ... + @property + def favoritesAction(self) -> global___FavoritesAction: ... + @property + def merchantPaymentPartnerAction(self) -> global___MerchantPaymentPartnerAction: ... + @property + def waffleAccountLinkStateAction(self) -> global___WaffleAccountLinkStateAction: ... + @property + def usernameChatStartMode(self) -> global___UsernameChatStartModeAction: ... + @property + def notificationActivitySettingAction(self) -> global___NotificationActivitySettingAction: ... + @property + def lidContactAction(self) -> global___LidContactAction: ... + @property + def ctwaPerCustomerDataSharingAction(self) -> global___CtwaPerCustomerDataSharingAction: ... + @property + def paymentTosAction(self) -> global___PaymentTosAction: ... + @property + def privacySettingChannelsPersonalisedRecommendationAction(self) -> global___PrivacySettingChannelsPersonalisedRecommendationAction: ... + @property + def businessBroadcastAssociationAction(self) -> global___BusinessBroadcastAssociationAction: ... + @property + def detectedOutcomesStatusAction(self) -> global___DetectedOutcomesStatusAction: ... + @property + def maibaAiFeaturesControlAction(self) -> global___MaibaAIFeaturesControlAction: ... + @property + def businessBroadcastListAction(self) -> global___BusinessBroadcastListAction: ... + @property + def musicUserIDAction(self) -> global___MusicUserIdAction: ... + @property + def statusPostOptInNotificationPreferencesAction(self) -> global___StatusPostOptInNotificationPreferencesAction: ... + @property + def avatarUpdatedAction(self) -> global___AvatarUpdatedAction: ... + @property + def galaxyFlowAction(self) -> global___GalaxyFlowAction: ... + def __init__( + self, + *, + timestamp: builtins.int | None = ..., + starAction: global___StarAction | None = ..., + contactAction: global___ContactAction | None = ..., + muteAction: global___MuteAction | None = ..., + pinAction: global___PinAction | None = ..., + securityNotificationSetting: global___SecurityNotificationSetting | None = ..., + pushNameSetting: global___PushNameSetting | None = ..., + quickReplyAction: global___QuickReplyAction | None = ..., + recentEmojiWeightsAction: global___RecentEmojiWeightsAction | None = ..., + labelEditAction: global___LabelEditAction | None = ..., + labelAssociationAction: global___LabelAssociationAction | None = ..., + localeSetting: global___LocaleSetting | None = ..., + archiveChatAction: global___ArchiveChatAction | None = ..., + deleteMessageForMeAction: global___DeleteMessageForMeAction | None = ..., + keyExpiration: global___KeyExpiration | None = ..., + markChatAsReadAction: global___MarkChatAsReadAction | None = ..., + clearChatAction: global___ClearChatAction | None = ..., + deleteChatAction: global___DeleteChatAction | None = ..., + unarchiveChatsSetting: global___UnarchiveChatsSetting | None = ..., + primaryFeature: global___PrimaryFeature | None = ..., + androidUnsupportedActions: global___AndroidUnsupportedActions | None = ..., + agentAction: global___AgentAction | None = ..., + subscriptionAction: global___SubscriptionAction | None = ..., + userStatusMuteAction: global___UserStatusMuteAction | None = ..., + timeFormatAction: global___TimeFormatAction | None = ..., + nuxAction: global___NuxAction | None = ..., + primaryVersionAction: global___PrimaryVersionAction | None = ..., + stickerAction: global___StickerAction | None = ..., + removeRecentStickerAction: global___RemoveRecentStickerAction | None = ..., + chatAssignment: global___ChatAssignmentAction | None = ..., + chatAssignmentOpenedStatus: global___ChatAssignmentOpenedStatusAction | None = ..., + pnForLidChatAction: global___PnForLidChatAction | None = ..., + marketingMessageAction: global___MarketingMessageAction | None = ..., + marketingMessageBroadcastAction: global___MarketingMessageBroadcastAction | None = ..., + externalWebBetaAction: global___ExternalWebBetaAction | None = ..., + privacySettingRelayAllCalls: global___PrivacySettingRelayAllCalls | None = ..., + callLogAction: global___CallLogAction | None = ..., + statusPrivacy: global___StatusPrivacyAction | None = ..., + botWelcomeRequestAction: global___BotWelcomeRequestAction | None = ..., + deleteIndividualCallLog: global___DeleteIndividualCallLogAction | None = ..., + labelReorderingAction: global___LabelReorderingAction | None = ..., + paymentInfoAction: global___PaymentInfoAction | None = ..., + customPaymentMethodsAction: global___CustomPaymentMethodsAction | None = ..., + lockChatAction: global___LockChatAction | None = ..., + chatLockSettings: waChatLockSettings.WAProtobufsChatLockSettings_pb2.ChatLockSettings | None = ..., + wamoUserIdentifierAction: global___WamoUserIdentifierAction | None = ..., + privacySettingDisableLinkPreviewsAction: global___PrivacySettingDisableLinkPreviewsAction | None = ..., + deviceCapabilities: waDeviceCapabilities.WAProtobufsDeviceCapabilities_pb2.DeviceCapabilities | None = ..., + noteEditAction: global___NoteEditAction | None = ..., + favoritesAction: global___FavoritesAction | None = ..., + merchantPaymentPartnerAction: global___MerchantPaymentPartnerAction | None = ..., + waffleAccountLinkStateAction: global___WaffleAccountLinkStateAction | None = ..., + usernameChatStartMode: global___UsernameChatStartModeAction | None = ..., + notificationActivitySettingAction: global___NotificationActivitySettingAction | None = ..., + lidContactAction: global___LidContactAction | None = ..., + ctwaPerCustomerDataSharingAction: global___CtwaPerCustomerDataSharingAction | None = ..., + paymentTosAction: global___PaymentTosAction | None = ..., + privacySettingChannelsPersonalisedRecommendationAction: global___PrivacySettingChannelsPersonalisedRecommendationAction | None = ..., + businessBroadcastAssociationAction: global___BusinessBroadcastAssociationAction | None = ..., + detectedOutcomesStatusAction: global___DetectedOutcomesStatusAction | None = ..., + maibaAiFeaturesControlAction: global___MaibaAIFeaturesControlAction | None = ..., + businessBroadcastListAction: global___BusinessBroadcastListAction | None = ..., + musicUserIDAction: global___MusicUserIdAction | None = ..., + statusPostOptInNotificationPreferencesAction: global___StatusPostOptInNotificationPreferencesAction | None = ..., + avatarUpdatedAction: global___AvatarUpdatedAction | None = ..., + galaxyFlowAction: global___GalaxyFlowAction | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["agentAction", b"agentAction", "androidUnsupportedActions", b"androidUnsupportedActions", "archiveChatAction", b"archiveChatAction", "avatarUpdatedAction", b"avatarUpdatedAction", "botWelcomeRequestAction", b"botWelcomeRequestAction", "businessBroadcastAssociationAction", b"businessBroadcastAssociationAction", "businessBroadcastListAction", b"businessBroadcastListAction", "callLogAction", b"callLogAction", "chatAssignment", b"chatAssignment", "chatAssignmentOpenedStatus", b"chatAssignmentOpenedStatus", "chatLockSettings", b"chatLockSettings", "clearChatAction", b"clearChatAction", "contactAction", b"contactAction", "ctwaPerCustomerDataSharingAction", b"ctwaPerCustomerDataSharingAction", "customPaymentMethodsAction", b"customPaymentMethodsAction", "deleteChatAction", b"deleteChatAction", "deleteIndividualCallLog", b"deleteIndividualCallLog", "deleteMessageForMeAction", b"deleteMessageForMeAction", "detectedOutcomesStatusAction", b"detectedOutcomesStatusAction", "deviceCapabilities", b"deviceCapabilities", "externalWebBetaAction", b"externalWebBetaAction", "favoritesAction", b"favoritesAction", "galaxyFlowAction", b"galaxyFlowAction", "keyExpiration", b"keyExpiration", "labelAssociationAction", b"labelAssociationAction", "labelEditAction", b"labelEditAction", "labelReorderingAction", b"labelReorderingAction", "lidContactAction", b"lidContactAction", "localeSetting", b"localeSetting", "lockChatAction", b"lockChatAction", "maibaAiFeaturesControlAction", b"maibaAiFeaturesControlAction", "markChatAsReadAction", b"markChatAsReadAction", "marketingMessageAction", b"marketingMessageAction", "marketingMessageBroadcastAction", b"marketingMessageBroadcastAction", "merchantPaymentPartnerAction", b"merchantPaymentPartnerAction", "musicUserIDAction", b"musicUserIDAction", "muteAction", b"muteAction", "noteEditAction", b"noteEditAction", "notificationActivitySettingAction", b"notificationActivitySettingAction", "nuxAction", b"nuxAction", "paymentInfoAction", b"paymentInfoAction", "paymentTosAction", b"paymentTosAction", "pinAction", b"pinAction", "pnForLidChatAction", b"pnForLidChatAction", "primaryFeature", b"primaryFeature", "primaryVersionAction", b"primaryVersionAction", "privacySettingChannelsPersonalisedRecommendationAction", b"privacySettingChannelsPersonalisedRecommendationAction", "privacySettingDisableLinkPreviewsAction", b"privacySettingDisableLinkPreviewsAction", "privacySettingRelayAllCalls", b"privacySettingRelayAllCalls", "pushNameSetting", b"pushNameSetting", "quickReplyAction", b"quickReplyAction", "recentEmojiWeightsAction", b"recentEmojiWeightsAction", "removeRecentStickerAction", b"removeRecentStickerAction", "securityNotificationSetting", b"securityNotificationSetting", "starAction", b"starAction", "statusPostOptInNotificationPreferencesAction", b"statusPostOptInNotificationPreferencesAction", "statusPrivacy", b"statusPrivacy", "stickerAction", b"stickerAction", "subscriptionAction", b"subscriptionAction", "timeFormatAction", b"timeFormatAction", "timestamp", b"timestamp", "unarchiveChatsSetting", b"unarchiveChatsSetting", "userStatusMuteAction", b"userStatusMuteAction", "usernameChatStartMode", b"usernameChatStartMode", "waffleAccountLinkStateAction", b"waffleAccountLinkStateAction", "wamoUserIdentifierAction", b"wamoUserIdentifierAction"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["agentAction", b"agentAction", "androidUnsupportedActions", b"androidUnsupportedActions", "archiveChatAction", b"archiveChatAction", "avatarUpdatedAction", b"avatarUpdatedAction", "botWelcomeRequestAction", b"botWelcomeRequestAction", "businessBroadcastAssociationAction", b"businessBroadcastAssociationAction", "businessBroadcastListAction", b"businessBroadcastListAction", "callLogAction", b"callLogAction", "chatAssignment", b"chatAssignment", "chatAssignmentOpenedStatus", b"chatAssignmentOpenedStatus", "chatLockSettings", b"chatLockSettings", "clearChatAction", b"clearChatAction", "contactAction", b"contactAction", "ctwaPerCustomerDataSharingAction", b"ctwaPerCustomerDataSharingAction", "customPaymentMethodsAction", b"customPaymentMethodsAction", "deleteChatAction", b"deleteChatAction", "deleteIndividualCallLog", b"deleteIndividualCallLog", "deleteMessageForMeAction", b"deleteMessageForMeAction", "detectedOutcomesStatusAction", b"detectedOutcomesStatusAction", "deviceCapabilities", b"deviceCapabilities", "externalWebBetaAction", b"externalWebBetaAction", "favoritesAction", b"favoritesAction", "galaxyFlowAction", b"galaxyFlowAction", "keyExpiration", b"keyExpiration", "labelAssociationAction", b"labelAssociationAction", "labelEditAction", b"labelEditAction", "labelReorderingAction", b"labelReorderingAction", "lidContactAction", b"lidContactAction", "localeSetting", b"localeSetting", "lockChatAction", b"lockChatAction", "maibaAiFeaturesControlAction", b"maibaAiFeaturesControlAction", "markChatAsReadAction", b"markChatAsReadAction", "marketingMessageAction", b"marketingMessageAction", "marketingMessageBroadcastAction", b"marketingMessageBroadcastAction", "merchantPaymentPartnerAction", b"merchantPaymentPartnerAction", "musicUserIDAction", b"musicUserIDAction", "muteAction", b"muteAction", "noteEditAction", b"noteEditAction", "notificationActivitySettingAction", b"notificationActivitySettingAction", "nuxAction", b"nuxAction", "paymentInfoAction", b"paymentInfoAction", "paymentTosAction", b"paymentTosAction", "pinAction", b"pinAction", "pnForLidChatAction", b"pnForLidChatAction", "primaryFeature", b"primaryFeature", "primaryVersionAction", b"primaryVersionAction", "privacySettingChannelsPersonalisedRecommendationAction", b"privacySettingChannelsPersonalisedRecommendationAction", "privacySettingDisableLinkPreviewsAction", b"privacySettingDisableLinkPreviewsAction", "privacySettingRelayAllCalls", b"privacySettingRelayAllCalls", "pushNameSetting", b"pushNameSetting", "quickReplyAction", b"quickReplyAction", "recentEmojiWeightsAction", b"recentEmojiWeightsAction", "removeRecentStickerAction", b"removeRecentStickerAction", "securityNotificationSetting", b"securityNotificationSetting", "starAction", b"starAction", "statusPostOptInNotificationPreferencesAction", b"statusPostOptInNotificationPreferencesAction", "statusPrivacy", b"statusPrivacy", "stickerAction", b"stickerAction", "subscriptionAction", b"subscriptionAction", "timeFormatAction", b"timeFormatAction", "timestamp", b"timestamp", "unarchiveChatsSetting", b"unarchiveChatsSetting", "userStatusMuteAction", b"userStatusMuteAction", "usernameChatStartMode", b"usernameChatStartMode", "waffleAccountLinkStateAction", b"waffleAccountLinkStateAction", "wamoUserIdentifierAction", b"wamoUserIdentifierAction"]) -> None: ... + +global___SyncActionValue = SyncActionValue + +@typing.final +class StatusPostOptInNotificationPreferencesAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ENABLED_FIELD_NUMBER: builtins.int + enabled: builtins.bool + def __init__( + self, + *, + enabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["enabled", b"enabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["enabled", b"enabled"]) -> None: ... + +global___StatusPostOptInNotificationPreferencesAction = StatusPostOptInNotificationPreferencesAction + +@typing.final +class BroadcastListParticipant(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LIDJID_FIELD_NUMBER: builtins.int + PNJID_FIELD_NUMBER: builtins.int + lidJID: builtins.str + pnJID: builtins.str + def __init__( + self, + *, + lidJID: builtins.str | None = ..., + pnJID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["lidJID", b"lidJID", "pnJID", b"pnJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["lidJID", b"lidJID", "pnJID", b"pnJID"]) -> None: ... + +global___BroadcastListParticipant = BroadcastListParticipant + +@typing.final +class BusinessBroadcastListAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DELETED_FIELD_NUMBER: builtins.int + PARTICIPANTS_FIELD_NUMBER: builtins.int + LISTNAME_FIELD_NUMBER: builtins.int + deleted: builtins.bool + listName: builtins.str + @property + def participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BroadcastListParticipant]: ... + def __init__( + self, + *, + deleted: builtins.bool | None = ..., + participants: collections.abc.Iterable[global___BroadcastListParticipant] | None = ..., + listName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deleted", b"deleted", "listName", b"listName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deleted", b"deleted", "listName", b"listName", "participants", b"participants"]) -> None: ... + +global___BusinessBroadcastListAction = BusinessBroadcastListAction + +@typing.final +class BusinessBroadcastAssociationAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DELETED_FIELD_NUMBER: builtins.int + deleted: builtins.bool + def __init__( + self, + *, + deleted: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deleted", b"deleted"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deleted", b"deleted"]) -> None: ... + +global___BusinessBroadcastAssociationAction = BusinessBroadcastAssociationAction + +@typing.final +class CtwaPerCustomerDataSharingAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISCTWAPERCUSTOMERDATASHARINGENABLED_FIELD_NUMBER: builtins.int + isCtwaPerCustomerDataSharingEnabled: builtins.bool + def __init__( + self, + *, + isCtwaPerCustomerDataSharingEnabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isCtwaPerCustomerDataSharingEnabled", b"isCtwaPerCustomerDataSharingEnabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isCtwaPerCustomerDataSharingEnabled", b"isCtwaPerCustomerDataSharingEnabled"]) -> None: ... + +global___CtwaPerCustomerDataSharingAction = CtwaPerCustomerDataSharingAction + +@typing.final +class LidContactAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FULLNAME_FIELD_NUMBER: builtins.int + FIRSTNAME_FIELD_NUMBER: builtins.int + USERNAME_FIELD_NUMBER: builtins.int + SAVEONPRIMARYADDRESSBOOK_FIELD_NUMBER: builtins.int + fullName: builtins.str + firstName: builtins.str + username: builtins.str + saveOnPrimaryAddressbook: builtins.bool + def __init__( + self, + *, + fullName: builtins.str | None = ..., + firstName: builtins.str | None = ..., + username: builtins.str | None = ..., + saveOnPrimaryAddressbook: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["firstName", b"firstName", "fullName", b"fullName", "saveOnPrimaryAddressbook", b"saveOnPrimaryAddressbook", "username", b"username"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["firstName", b"firstName", "fullName", b"fullName", "saveOnPrimaryAddressbook", b"saveOnPrimaryAddressbook", "username", b"username"]) -> None: ... + +global___LidContactAction = LidContactAction + +@typing.final +class FavoritesAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Favorite(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + ID: builtins.str + def __init__( + self, + *, + ID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID"]) -> None: ... + + FAVORITES_FIELD_NUMBER: builtins.int + @property + def favorites(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FavoritesAction.Favorite]: ... + def __init__( + self, + *, + favorites: collections.abc.Iterable[global___FavoritesAction.Favorite] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["favorites", b"favorites"]) -> None: ... + +global___FavoritesAction = FavoritesAction + +@typing.final +class PrivacySettingChannelsPersonalisedRecommendationAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISUSEROPTEDOUT_FIELD_NUMBER: builtins.int + isUserOptedOut: builtins.bool + def __init__( + self, + *, + isUserOptedOut: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isUserOptedOut", b"isUserOptedOut"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isUserOptedOut", b"isUserOptedOut"]) -> None: ... + +global___PrivacySettingChannelsPersonalisedRecommendationAction = PrivacySettingChannelsPersonalisedRecommendationAction + +@typing.final +class PrivacySettingDisableLinkPreviewsAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISPREVIEWSDISABLED_FIELD_NUMBER: builtins.int + isPreviewsDisabled: builtins.bool + def __init__( + self, + *, + isPreviewsDisabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isPreviewsDisabled", b"isPreviewsDisabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isPreviewsDisabled", b"isPreviewsDisabled"]) -> None: ... + +global___PrivacySettingDisableLinkPreviewsAction = PrivacySettingDisableLinkPreviewsAction + +@typing.final +class WamoUserIdentifierAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + IDENTIFIER_FIELD_NUMBER: builtins.int + identifier: builtins.str + def __init__( + self, + *, + identifier: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["identifier", b"identifier"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["identifier", b"identifier"]) -> None: ... + +global___WamoUserIdentifierAction = WamoUserIdentifierAction + +@typing.final +class LockChatAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCKED_FIELD_NUMBER: builtins.int + locked: builtins.bool + def __init__( + self, + *, + locked: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["locked", b"locked"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["locked", b"locked"]) -> None: ... + +global___LockChatAction = LockChatAction + +@typing.final +class CustomPaymentMethodsAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CUSTOMPAYMENTMETHODS_FIELD_NUMBER: builtins.int + @property + def customPaymentMethods(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CustomPaymentMethod]: ... + def __init__( + self, + *, + customPaymentMethods: collections.abc.Iterable[global___CustomPaymentMethod] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["customPaymentMethods", b"customPaymentMethods"]) -> None: ... + +global___CustomPaymentMethodsAction = CustomPaymentMethodsAction + +@typing.final +class CustomPaymentMethod(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CREDENTIALID_FIELD_NUMBER: builtins.int + COUNTRY_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + METADATA_FIELD_NUMBER: builtins.int + credentialID: builtins.str + country: builtins.str + type: builtins.str + @property + def metadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CustomPaymentMethodMetadata]: ... + def __init__( + self, + *, + credentialID: builtins.str | None = ..., + country: builtins.str | None = ..., + type: builtins.str | None = ..., + metadata: collections.abc.Iterable[global___CustomPaymentMethodMetadata] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["country", b"country", "credentialID", b"credentialID", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["country", b"country", "credentialID", b"credentialID", "metadata", b"metadata", "type", b"type"]) -> None: ... + +global___CustomPaymentMethod = CustomPaymentMethod + +@typing.final +class CustomPaymentMethodMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + value: builtins.str + def __init__( + self, + *, + key: builtins.str | None = ..., + value: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + +global___CustomPaymentMethodMetadata = CustomPaymentMethodMetadata + +@typing.final +class PaymentInfoAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CPI_FIELD_NUMBER: builtins.int + cpi: builtins.str + def __init__( + self, + *, + cpi: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["cpi", b"cpi"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["cpi", b"cpi"]) -> None: ... + +global___PaymentInfoAction = PaymentInfoAction + +@typing.final +class LabelReorderingAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SORTEDLABELIDS_FIELD_NUMBER: builtins.int + @property + def sortedLabelIDs(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + def __init__( + self, + *, + sortedLabelIDs: collections.abc.Iterable[builtins.int] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["sortedLabelIDs", b"sortedLabelIDs"]) -> None: ... + +global___LabelReorderingAction = LabelReorderingAction + +@typing.final +class DeleteIndividualCallLogAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PEERJID_FIELD_NUMBER: builtins.int + ISINCOMING_FIELD_NUMBER: builtins.int + peerJID: builtins.str + isIncoming: builtins.bool + def __init__( + self, + *, + peerJID: builtins.str | None = ..., + isIncoming: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isIncoming", b"isIncoming", "peerJID", b"peerJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isIncoming", b"isIncoming", "peerJID", b"peerJID"]) -> None: ... + +global___DeleteIndividualCallLogAction = DeleteIndividualCallLogAction + +@typing.final +class BotWelcomeRequestAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISSENT_FIELD_NUMBER: builtins.int + isSent: builtins.bool + def __init__( + self, + *, + isSent: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isSent", b"isSent"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isSent", b"isSent"]) -> None: ... + +global___BotWelcomeRequestAction = BotWelcomeRequestAction + +@typing.final +class MusicUserIdAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MUSICUSERID_FIELD_NUMBER: builtins.int + musicUserID: builtins.str + def __init__( + self, + *, + musicUserID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["musicUserID", b"musicUserID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["musicUserID", b"musicUserID"]) -> None: ... + +global___MusicUserIdAction = MusicUserIdAction + +@typing.final +class CallLogAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CALLLOGRECORD_FIELD_NUMBER: builtins.int + @property + def callLogRecord(self) -> global___CallLogRecord: ... + def __init__( + self, + *, + callLogRecord: global___CallLogRecord | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["callLogRecord", b"callLogRecord"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["callLogRecord", b"callLogRecord"]) -> None: ... + +global___CallLogAction = CallLogAction + +@typing.final +class PrivacySettingRelayAllCalls(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISENABLED_FIELD_NUMBER: builtins.int + isEnabled: builtins.bool + def __init__( + self, + *, + isEnabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isEnabled", b"isEnabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isEnabled", b"isEnabled"]) -> None: ... + +global___PrivacySettingRelayAllCalls = PrivacySettingRelayAllCalls + +@typing.final +class DetectedOutcomesStatusAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISENABLED_FIELD_NUMBER: builtins.int + isEnabled: builtins.bool + def __init__( + self, + *, + isEnabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isEnabled", b"isEnabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isEnabled", b"isEnabled"]) -> None: ... + +global___DetectedOutcomesStatusAction = DetectedOutcomesStatusAction + +@typing.final +class ExternalWebBetaAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISOPTIN_FIELD_NUMBER: builtins.int + isOptIn: builtins.bool + def __init__( + self, + *, + isOptIn: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isOptIn", b"isOptIn"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isOptIn", b"isOptIn"]) -> None: ... + +global___ExternalWebBetaAction = ExternalWebBetaAction + +@typing.final +class MarketingMessageBroadcastAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REPLIEDCOUNT_FIELD_NUMBER: builtins.int + repliedCount: builtins.int + def __init__( + self, + *, + repliedCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["repliedCount", b"repliedCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["repliedCount", b"repliedCount"]) -> None: ... + +global___MarketingMessageBroadcastAction = MarketingMessageBroadcastAction + +@typing.final +class PnForLidChatAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PNJID_FIELD_NUMBER: builtins.int + pnJID: builtins.str + def __init__( + self, + *, + pnJID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["pnJID", b"pnJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["pnJID", b"pnJID"]) -> None: ... + +global___PnForLidChatAction = PnForLidChatAction + +@typing.final +class ChatAssignmentOpenedStatusAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CHATOPENED_FIELD_NUMBER: builtins.int + chatOpened: builtins.bool + def __init__( + self, + *, + chatOpened: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["chatOpened", b"chatOpened"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chatOpened", b"chatOpened"]) -> None: ... + +global___ChatAssignmentOpenedStatusAction = ChatAssignmentOpenedStatusAction + +@typing.final +class ChatAssignmentAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DEVICEAGENTID_FIELD_NUMBER: builtins.int + deviceAgentID: builtins.str + def __init__( + self, + *, + deviceAgentID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deviceAgentID", b"deviceAgentID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deviceAgentID", b"deviceAgentID"]) -> None: ... + +global___ChatAssignmentAction = ChatAssignmentAction + +@typing.final +class StickerAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + URL_FIELD_NUMBER: builtins.int + FILEENCSHA256_FIELD_NUMBER: builtins.int + MEDIAKEY_FIELD_NUMBER: builtins.int + MIMETYPE_FIELD_NUMBER: builtins.int + HEIGHT_FIELD_NUMBER: builtins.int + WIDTH_FIELD_NUMBER: builtins.int + DIRECTPATH_FIELD_NUMBER: builtins.int + FILELENGTH_FIELD_NUMBER: builtins.int + ISFAVORITE_FIELD_NUMBER: builtins.int + DEVICEIDHINT_FIELD_NUMBER: builtins.int + ISLOTTIE_FIELD_NUMBER: builtins.int + IMAGEHASH_FIELD_NUMBER: builtins.int + ISAVATARSTICKER_FIELD_NUMBER: builtins.int + URL: builtins.str + fileEncSHA256: builtins.bytes + mediaKey: builtins.bytes + mimetype: builtins.str + height: builtins.int + width: builtins.int + directPath: builtins.str + fileLength: builtins.int + isFavorite: builtins.bool + deviceIDHint: builtins.int + isLottie: builtins.bool + imageHash: builtins.str + isAvatarSticker: builtins.bool + def __init__( + self, + *, + URL: builtins.str | None = ..., + fileEncSHA256: builtins.bytes | None = ..., + mediaKey: builtins.bytes | None = ..., + mimetype: builtins.str | None = ..., + height: builtins.int | None = ..., + width: builtins.int | None = ..., + directPath: builtins.str | None = ..., + fileLength: builtins.int | None = ..., + isFavorite: builtins.bool | None = ..., + deviceIDHint: builtins.int | None = ..., + isLottie: builtins.bool | None = ..., + imageHash: builtins.str | None = ..., + isAvatarSticker: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["URL", b"URL", "deviceIDHint", b"deviceIDHint", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "height", b"height", "imageHash", b"imageHash", "isAvatarSticker", b"isAvatarSticker", "isFavorite", b"isFavorite", "isLottie", b"isLottie", "mediaKey", b"mediaKey", "mimetype", b"mimetype", "width", b"width"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["URL", b"URL", "deviceIDHint", b"deviceIDHint", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "height", b"height", "imageHash", b"imageHash", "isAvatarSticker", b"isAvatarSticker", "isFavorite", b"isFavorite", "isLottie", b"isLottie", "mediaKey", b"mediaKey", "mimetype", b"mimetype", "width", b"width"]) -> None: ... + +global___StickerAction = StickerAction + +@typing.final +class RemoveRecentStickerAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LASTSTICKERSENTTS_FIELD_NUMBER: builtins.int + lastStickerSentTS: builtins.int + def __init__( + self, + *, + lastStickerSentTS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["lastStickerSentTS", b"lastStickerSentTS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["lastStickerSentTS", b"lastStickerSentTS"]) -> None: ... + +global___RemoveRecentStickerAction = RemoveRecentStickerAction + +@typing.final +class PrimaryVersionAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VERSION_FIELD_NUMBER: builtins.int + version: builtins.str + def __init__( + self, + *, + version: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["version", b"version"]) -> None: ... + +global___PrimaryVersionAction = PrimaryVersionAction + +@typing.final +class NuxAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ACKNOWLEDGED_FIELD_NUMBER: builtins.int + acknowledged: builtins.bool + def __init__( + self, + *, + acknowledged: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["acknowledged", b"acknowledged"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["acknowledged", b"acknowledged"]) -> None: ... + +global___NuxAction = NuxAction + +@typing.final +class TimeFormatAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISTWENTYFOURHOURFORMATENABLED_FIELD_NUMBER: builtins.int + isTwentyFourHourFormatEnabled: builtins.bool + def __init__( + self, + *, + isTwentyFourHourFormatEnabled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isTwentyFourHourFormatEnabled", b"isTwentyFourHourFormatEnabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isTwentyFourHourFormatEnabled", b"isTwentyFourHourFormatEnabled"]) -> None: ... + +global___TimeFormatAction = TimeFormatAction + +@typing.final +class UserStatusMuteAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MUTED_FIELD_NUMBER: builtins.int + muted: builtins.bool + def __init__( + self, + *, + muted: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["muted", b"muted"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["muted", b"muted"]) -> None: ... + +global___UserStatusMuteAction = UserStatusMuteAction + +@typing.final +class SubscriptionAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISDEACTIVATED_FIELD_NUMBER: builtins.int + ISAUTORENEWING_FIELD_NUMBER: builtins.int + EXPIRATIONDATE_FIELD_NUMBER: builtins.int + isDeactivated: builtins.bool + isAutoRenewing: builtins.bool + expirationDate: builtins.int + def __init__( + self, + *, + isDeactivated: builtins.bool | None = ..., + isAutoRenewing: builtins.bool | None = ..., + expirationDate: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["expirationDate", b"expirationDate", "isAutoRenewing", b"isAutoRenewing", "isDeactivated", b"isDeactivated"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["expirationDate", b"expirationDate", "isAutoRenewing", b"isAutoRenewing", "isDeactivated", b"isDeactivated"]) -> None: ... + +global___SubscriptionAction = SubscriptionAction + +@typing.final +class AgentAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + DEVICEID_FIELD_NUMBER: builtins.int + ISDELETED_FIELD_NUMBER: builtins.int + name: builtins.str + deviceID: builtins.int + isDeleted: builtins.bool + def __init__( + self, + *, + name: builtins.str | None = ..., + deviceID: builtins.int | None = ..., + isDeleted: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deviceID", b"deviceID", "isDeleted", b"isDeleted", "name", b"name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deviceID", b"deviceID", "isDeleted", b"isDeleted", "name", b"name"]) -> None: ... + +global___AgentAction = AgentAction + +@typing.final +class AndroidUnsupportedActions(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ALLOWED_FIELD_NUMBER: builtins.int + allowed: builtins.bool + def __init__( + self, + *, + allowed: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["allowed", b"allowed"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["allowed", b"allowed"]) -> None: ... + +global___AndroidUnsupportedActions = AndroidUnsupportedActions + +@typing.final +class PrimaryFeature(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FLAGS_FIELD_NUMBER: builtins.int + @property + def flags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + flags: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["flags", b"flags"]) -> None: ... + +global___PrimaryFeature = PrimaryFeature + +@typing.final +class KeyExpiration(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EXPIREDKEYEPOCH_FIELD_NUMBER: builtins.int + expiredKeyEpoch: builtins.int + def __init__( + self, + *, + expiredKeyEpoch: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["expiredKeyEpoch", b"expiredKeyEpoch"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["expiredKeyEpoch", b"expiredKeyEpoch"]) -> None: ... + +global___KeyExpiration = KeyExpiration + +@typing.final +class SyncActionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + timestamp: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + timestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "timestamp", b"timestamp"]) -> None: ... + +global___SyncActionMessage = SyncActionMessage + +@typing.final +class SyncActionMessageRange(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LASTMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int + LASTSYSTEMMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int + MESSAGES_FIELD_NUMBER: builtins.int + lastMessageTimestamp: builtins.int + lastSystemMessageTimestamp: builtins.int + @property + def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SyncActionMessage]: ... + def __init__( + self, + *, + lastMessageTimestamp: builtins.int | None = ..., + lastSystemMessageTimestamp: builtins.int | None = ..., + messages: collections.abc.Iterable[global___SyncActionMessage] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["lastMessageTimestamp", b"lastMessageTimestamp", "lastSystemMessageTimestamp", b"lastSystemMessageTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["lastMessageTimestamp", b"lastMessageTimestamp", "lastSystemMessageTimestamp", b"lastSystemMessageTimestamp", "messages", b"messages"]) -> None: ... + +global___SyncActionMessageRange = SyncActionMessageRange + +@typing.final +class UnarchiveChatsSetting(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + UNARCHIVECHATS_FIELD_NUMBER: builtins.int + unarchiveChats: builtins.bool + def __init__( + self, + *, + unarchiveChats: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["unarchiveChats", b"unarchiveChats"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["unarchiveChats", b"unarchiveChats"]) -> None: ... + +global___UnarchiveChatsSetting = UnarchiveChatsSetting + +@typing.final +class DeleteChatAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGERANGE_FIELD_NUMBER: builtins.int + @property + def messageRange(self) -> global___SyncActionMessageRange: ... + def __init__( + self, + *, + messageRange: global___SyncActionMessageRange | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageRange", b"messageRange"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageRange", b"messageRange"]) -> None: ... + +global___DeleteChatAction = DeleteChatAction + +@typing.final +class ClearChatAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGERANGE_FIELD_NUMBER: builtins.int + @property + def messageRange(self) -> global___SyncActionMessageRange: ... + def __init__( + self, + *, + messageRange: global___SyncActionMessageRange | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageRange", b"messageRange"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageRange", b"messageRange"]) -> None: ... + +global___ClearChatAction = ClearChatAction + +@typing.final +class MarkChatAsReadAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + READ_FIELD_NUMBER: builtins.int + MESSAGERANGE_FIELD_NUMBER: builtins.int + read: builtins.bool + @property + def messageRange(self) -> global___SyncActionMessageRange: ... + def __init__( + self, + *, + read: builtins.bool | None = ..., + messageRange: global___SyncActionMessageRange | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageRange", b"messageRange", "read", b"read"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageRange", b"messageRange", "read", b"read"]) -> None: ... + +global___MarkChatAsReadAction = MarkChatAsReadAction + +@typing.final +class DeleteMessageForMeAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DELETEMEDIA_FIELD_NUMBER: builtins.int + MESSAGETIMESTAMP_FIELD_NUMBER: builtins.int + deleteMedia: builtins.bool + messageTimestamp: builtins.int + def __init__( + self, + *, + deleteMedia: builtins.bool | None = ..., + messageTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deleteMedia", b"deleteMedia", "messageTimestamp", b"messageTimestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deleteMedia", b"deleteMedia", "messageTimestamp", b"messageTimestamp"]) -> None: ... + +global___DeleteMessageForMeAction = DeleteMessageForMeAction + +@typing.final +class ArchiveChatAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ARCHIVED_FIELD_NUMBER: builtins.int + MESSAGERANGE_FIELD_NUMBER: builtins.int + archived: builtins.bool + @property + def messageRange(self) -> global___SyncActionMessageRange: ... + def __init__( + self, + *, + archived: builtins.bool | None = ..., + messageRange: global___SyncActionMessageRange | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["archived", b"archived", "messageRange", b"messageRange"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["archived", b"archived", "messageRange", b"messageRange"]) -> None: ... + +global___ArchiveChatAction = ArchiveChatAction + +@typing.final +class RecentEmojiWeightsAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + WEIGHTS_FIELD_NUMBER: builtins.int + @property + def weights(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RecentEmojiWeight]: ... + def __init__( + self, + *, + weights: collections.abc.Iterable[global___RecentEmojiWeight] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["weights", b"weights"]) -> None: ... + +global___RecentEmojiWeightsAction = RecentEmojiWeightsAction + +@typing.final +class LabelAssociationAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LABELED_FIELD_NUMBER: builtins.int + labeled: builtins.bool + def __init__( + self, + *, + labeled: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["labeled", b"labeled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["labeled", b"labeled"]) -> None: ... + +global___LabelAssociationAction = LabelAssociationAction + +@typing.final +class QuickReplyAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SHORTCUT_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + KEYWORDS_FIELD_NUMBER: builtins.int + COUNT_FIELD_NUMBER: builtins.int + DELETED_FIELD_NUMBER: builtins.int + shortcut: builtins.str + message: builtins.str + count: builtins.int + deleted: builtins.bool + @property + def keywords(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + shortcut: builtins.str | None = ..., + message: builtins.str | None = ..., + keywords: collections.abc.Iterable[builtins.str] | None = ..., + count: builtins.int | None = ..., + deleted: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["count", b"count", "deleted", b"deleted", "message", b"message", "shortcut", b"shortcut"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["count", b"count", "deleted", b"deleted", "keywords", b"keywords", "message", b"message", "shortcut", b"shortcut"]) -> None: ... + +global___QuickReplyAction = QuickReplyAction + +@typing.final +class LocaleSetting(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCALE_FIELD_NUMBER: builtins.int + locale: builtins.str + def __init__( + self, + *, + locale: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["locale", b"locale"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["locale", b"locale"]) -> None: ... + +global___LocaleSetting = LocaleSetting + +@typing.final +class PushNameSetting(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_FIELD_NUMBER: builtins.int + name: builtins.str + def __init__( + self, + *, + name: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["name", b"name"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["name", b"name"]) -> None: ... + +global___PushNameSetting = PushNameSetting + +@typing.final +class SecurityNotificationSetting(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SHOWNOTIFICATION_FIELD_NUMBER: builtins.int + showNotification: builtins.bool + def __init__( + self, + *, + showNotification: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["showNotification", b"showNotification"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["showNotification", b"showNotification"]) -> None: ... + +global___SecurityNotificationSetting = SecurityNotificationSetting + +@typing.final +class PinAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PINNED_FIELD_NUMBER: builtins.int + pinned: builtins.bool + def __init__( + self, + *, + pinned: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["pinned", b"pinned"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["pinned", b"pinned"]) -> None: ... + +global___PinAction = PinAction + +@typing.final +class MuteAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MUTED_FIELD_NUMBER: builtins.int + MUTEENDTIMESTAMP_FIELD_NUMBER: builtins.int + AUTOMUTED_FIELD_NUMBER: builtins.int + muted: builtins.bool + muteEndTimestamp: builtins.int + autoMuted: builtins.bool + def __init__( + self, + *, + muted: builtins.bool | None = ..., + muteEndTimestamp: builtins.int | None = ..., + autoMuted: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["autoMuted", b"autoMuted", "muteEndTimestamp", b"muteEndTimestamp", "muted", b"muted"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["autoMuted", b"autoMuted", "muteEndTimestamp", b"muteEndTimestamp", "muted", b"muted"]) -> None: ... + +global___MuteAction = MuteAction + +@typing.final +class ContactAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FULLNAME_FIELD_NUMBER: builtins.int + FIRSTNAME_FIELD_NUMBER: builtins.int + LIDJID_FIELD_NUMBER: builtins.int + SAVEONPRIMARYADDRESSBOOK_FIELD_NUMBER: builtins.int + PNJID_FIELD_NUMBER: builtins.int + USERNAME_FIELD_NUMBER: builtins.int + fullName: builtins.str + firstName: builtins.str + lidJID: builtins.str + saveOnPrimaryAddressbook: builtins.bool + pnJID: builtins.str + username: builtins.str + def __init__( + self, + *, + fullName: builtins.str | None = ..., + firstName: builtins.str | None = ..., + lidJID: builtins.str | None = ..., + saveOnPrimaryAddressbook: builtins.bool | None = ..., + pnJID: builtins.str | None = ..., + username: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["firstName", b"firstName", "fullName", b"fullName", "lidJID", b"lidJID", "pnJID", b"pnJID", "saveOnPrimaryAddressbook", b"saveOnPrimaryAddressbook", "username", b"username"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["firstName", b"firstName", "fullName", b"fullName", "lidJID", b"lidJID", "pnJID", b"pnJID", "saveOnPrimaryAddressbook", b"saveOnPrimaryAddressbook", "username", b"username"]) -> None: ... + +global___ContactAction = ContactAction + +@typing.final +class StarAction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STARRED_FIELD_NUMBER: builtins.int + starred: builtins.bool + def __init__( + self, + *, + starred: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["starred", b"starred"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["starred", b"starred"]) -> None: ... + +global___StarAction = StarAction + +@typing.final +class SyncActionData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + INDEX_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + PADDING_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + index: builtins.bytes + padding: builtins.bytes + version: builtins.int + @property + def value(self) -> global___SyncActionValue: ... + def __init__( + self, + *, + index: builtins.bytes | None = ..., + value: global___SyncActionValue | None = ..., + padding: builtins.bytes | None = ..., + version: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["index", b"index", "padding", b"padding", "value", b"value", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["index", b"index", "padding", b"padding", "value", b"value", "version", b"version"]) -> None: ... + +global___SyncActionData = SyncActionData diff --git a/neonize/proto/waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery_pb2.py b/neonize/proto/waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery_pb2.py new file mode 100644 index 00000000..30fba381 --- /dev/null +++ b/neonize/proto/waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery_pb2.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waSyncAction import WASyncAction_pb2 as waSyncAction_dot_WASyncAction__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nAwaSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery.proto\x12#WAWebProtobufsSyncdSnapshotRecovery\x1a\x1fwaSyncAction/WASyncAction.proto\"\xe1\x01\n\x15SyncdSnapshotRecovery\x12\x42\n\x07version\x18\x01 \x01(\x0b\x32\x31.WAWebProtobufsSyncdSnapshotRecovery.SyncdVersion\x12\x16\n\x0e\x63ollectionName\x18\x02 \x01(\t\x12R\n\x0fmutationRecords\x18\x03 \x03(\x0b\x32\x39.WAWebProtobufsSyncdSnapshotRecovery.SyncdPlainTextRecord\x12\x18\n\x10\x63ollectionLthash\x18\x04 \x01(\x0c\"_\n\x14SyncdPlainTextRecord\x12+\n\x05value\x18\x01 \x01(\x0b\x32\x1c.WASyncAction.SyncActionData\x12\r\n\x05keyID\x18\x02 \x01(\x0c\x12\x0b\n\x03mac\x18\x03 \x01(\x0c\"\x1f\n\x0cSyncdVersion\x12\x0f\n\x07version\x18\x01 \x01(\x04\x42\x33Z1go.mau.fi/whatsmeow/proto/waSyncdSnapshotRecovery') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waSyncdSnapshotRecovery.WAWebProtobufsSyncdSnapshotRecovery_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z1go.mau.fi/whatsmeow/proto/waSyncdSnapshotRecovery' + _globals['_SYNCDSNAPSHOTRECOVERY']._serialized_start=140 + _globals['_SYNCDSNAPSHOTRECOVERY']._serialized_end=365 + _globals['_SYNCDPLAINTEXTRECORD']._serialized_start=367 + _globals['_SYNCDPLAINTEXTRECORD']._serialized_end=462 + _globals['_SYNCDVERSION']._serialized_start=464 + _globals['_SYNCDVERSION']._serialized_end=495 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery_pb2.pyi b/neonize/proto/waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery_pb2.pyi new file mode 100644 index 00000000..02289239 --- /dev/null +++ b/neonize/proto/waSyncdSnapshotRecovery/WAWebProtobufsSyncdSnapshotRecovery_pb2.pyi @@ -0,0 +1,80 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import typing +import waSyncAction.WASyncAction_pb2 + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class SyncdSnapshotRecovery(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VERSION_FIELD_NUMBER: builtins.int + COLLECTIONNAME_FIELD_NUMBER: builtins.int + MUTATIONRECORDS_FIELD_NUMBER: builtins.int + COLLECTIONLTHASH_FIELD_NUMBER: builtins.int + collectionName: builtins.str + collectionLthash: builtins.bytes + @property + def version(self) -> global___SyncdVersion: ... + @property + def mutationRecords(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SyncdPlainTextRecord]: ... + def __init__( + self, + *, + version: global___SyncdVersion | None = ..., + collectionName: builtins.str | None = ..., + mutationRecords: collections.abc.Iterable[global___SyncdPlainTextRecord] | None = ..., + collectionLthash: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["collectionLthash", b"collectionLthash", "collectionName", b"collectionName", "version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["collectionLthash", b"collectionLthash", "collectionName", b"collectionName", "mutationRecords", b"mutationRecords", "version", b"version"]) -> None: ... + +global___SyncdSnapshotRecovery = SyncdSnapshotRecovery + +@typing.final +class SyncdPlainTextRecord(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VALUE_FIELD_NUMBER: builtins.int + KEYID_FIELD_NUMBER: builtins.int + MAC_FIELD_NUMBER: builtins.int + keyID: builtins.bytes + mac: builtins.bytes + @property + def value(self) -> waSyncAction.WASyncAction_pb2.SyncActionData: ... + def __init__( + self, + *, + value: waSyncAction.WASyncAction_pb2.SyncActionData | None = ..., + keyID: builtins.bytes | None = ..., + mac: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["keyID", b"keyID", "mac", b"mac", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["keyID", b"keyID", "mac", b"mac", "value", b"value"]) -> None: ... + +global___SyncdPlainTextRecord = SyncdPlainTextRecord + +@typing.final +class SyncdVersion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VERSION_FIELD_NUMBER: builtins.int + version: builtins.int + def __init__( + self, + *, + version: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["version", b"version"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["version", b"version"]) -> None: ... + +global___SyncdVersion = SyncdVersion diff --git a/neonize/proto/waUserPassword/WAProtobufsUserPassword_pb2.py b/neonize/proto/waUserPassword/WAProtobufsUserPassword_pb2.py new file mode 100644 index 00000000..931000a2 --- /dev/null +++ b/neonize/proto/waUserPassword/WAProtobufsUserPassword_pb2.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waUserPassword/WAProtobufsUserPassword.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waUserPassword/WAProtobufsUserPassword.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,waUserPassword/WAProtobufsUserPassword.proto\x12\x17WAProtobufsUserPassword\"\x9b\x04\n\x0cUserPassword\x12@\n\x08\x65ncoding\x18\x01 \x01(\x0e\x32..WAProtobufsUserPassword.UserPassword.Encoding\x12\x46\n\x0btransformer\x18\x02 \x01(\x0e\x32\x31.WAProtobufsUserPassword.UserPassword.Transformer\x12L\n\x0etransformerArg\x18\x03 \x03(\x0b\x32\x34.WAProtobufsUserPassword.UserPassword.TransformerArg\x12\x17\n\x0ftransformedData\x18\x04 \x01(\x0c\x1a\xa9\x01\n\x0eTransformerArg\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.WAProtobufsUserPassword.UserPassword.TransformerArg.Value\x1a?\n\x05Value\x12\x10\n\x06\x61sBlob\x18\x01 \x01(\x0cH\x00\x12\x1b\n\x11\x61sUnsignedInteger\x18\x02 \x01(\rH\x00\x42\x07\n\x05value\"G\n\x0bTransformer\x12\x08\n\x04NONE\x10\x00\x12\x16\n\x12PBKDF2_HMAC_SHA512\x10\x01\x12\x16\n\x12PBKDF2_HMAC_SHA384\x10\x02\"%\n\x08\x45ncoding\x12\x08\n\x04UTF8\x10\x00\x12\x0f\n\x0bUTF8_BROKEN\x10\x01\x42*Z(go.mau.fi/whatsmeow/proto/waUserPassword') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waUserPassword.WAProtobufsUserPassword_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z(go.mau.fi/whatsmeow/proto/waUserPassword' + _globals['_USERPASSWORD']._serialized_start=74 + _globals['_USERPASSWORD']._serialized_end=613 + _globals['_USERPASSWORD_TRANSFORMERARG']._serialized_start=332 + _globals['_USERPASSWORD_TRANSFORMERARG']._serialized_end=501 + _globals['_USERPASSWORD_TRANSFORMERARG_VALUE']._serialized_start=438 + _globals['_USERPASSWORD_TRANSFORMERARG_VALUE']._serialized_end=501 + _globals['_USERPASSWORD_TRANSFORMER']._serialized_start=503 + _globals['_USERPASSWORD_TRANSFORMER']._serialized_end=574 + _globals['_USERPASSWORD_ENCODING']._serialized_start=576 + _globals['_USERPASSWORD_ENCODING']._serialized_end=613 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waUserPassword/WAProtobufsUserPassword_pb2.pyi b/neonize/proto/waUserPassword/WAProtobufsUserPassword_pb2.pyi new file mode 100644 index 00000000..b5299335 --- /dev/null +++ b/neonize/proto/waUserPassword/WAProtobufsUserPassword_pb2.pyi @@ -0,0 +1,110 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class UserPassword(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Transformer: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TransformerEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[UserPassword._Transformer.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NONE: UserPassword._Transformer.ValueType # 0 + PBKDF2_HMAC_SHA512: UserPassword._Transformer.ValueType # 1 + PBKDF2_HMAC_SHA384: UserPassword._Transformer.ValueType # 2 + + class Transformer(_Transformer, metaclass=_TransformerEnumTypeWrapper): ... + NONE: UserPassword.Transformer.ValueType # 0 + PBKDF2_HMAC_SHA512: UserPassword.Transformer.ValueType # 1 + PBKDF2_HMAC_SHA384: UserPassword.Transformer.ValueType # 2 + + class _Encoding: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _EncodingEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[UserPassword._Encoding.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UTF8: UserPassword._Encoding.ValueType # 0 + UTF8_BROKEN: UserPassword._Encoding.ValueType # 1 + + class Encoding(_Encoding, metaclass=_EncodingEnumTypeWrapper): ... + UTF8: UserPassword.Encoding.ValueType # 0 + UTF8_BROKEN: UserPassword.Encoding.ValueType # 1 + + @typing.final + class TransformerArg(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Value(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ASBLOB_FIELD_NUMBER: builtins.int + ASUNSIGNEDINTEGER_FIELD_NUMBER: builtins.int + asBlob: builtins.bytes + asUnsignedInteger: builtins.int + def __init__( + self, + *, + asBlob: builtins.bytes | None = ..., + asUnsignedInteger: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["asBlob", b"asBlob", "asUnsignedInteger", b"asUnsignedInteger", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["asBlob", b"asBlob", "asUnsignedInteger", b"asUnsignedInteger", "value", b"value"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["asBlob", "asUnsignedInteger"] | None: ... + + KEY_FIELD_NUMBER: builtins.int + VALUE_FIELD_NUMBER: builtins.int + key: builtins.str + @property + def value(self) -> global___UserPassword.TransformerArg.Value: ... + def __init__( + self, + *, + key: builtins.str | None = ..., + value: global___UserPassword.TransformerArg.Value | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ... + + ENCODING_FIELD_NUMBER: builtins.int + TRANSFORMER_FIELD_NUMBER: builtins.int + TRANSFORMERARG_FIELD_NUMBER: builtins.int + TRANSFORMEDDATA_FIELD_NUMBER: builtins.int + encoding: global___UserPassword.Encoding.ValueType + transformer: global___UserPassword.Transformer.ValueType + transformedData: builtins.bytes + @property + def transformerArg(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserPassword.TransformerArg]: ... + def __init__( + self, + *, + encoding: global___UserPassword.Encoding.ValueType | None = ..., + transformer: global___UserPassword.Transformer.ValueType | None = ..., + transformerArg: collections.abc.Iterable[global___UserPassword.TransformerArg] | None = ..., + transformedData: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["encoding", b"encoding", "transformedData", b"transformedData", "transformer", b"transformer"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["encoding", b"encoding", "transformedData", b"transformedData", "transformer", b"transformer", "transformerArg", b"transformerArg"]) -> None: ... + +global___UserPassword = UserPassword diff --git a/neonize/proto/waVnameCert/WAWebProtobufsVnameCert_pb2.py b/neonize/proto/waVnameCert/WAWebProtobufsVnameCert_pb2.py new file mode 100644 index 00000000..470f40cc --- /dev/null +++ b/neonize/proto/waVnameCert/WAWebProtobufsVnameCert_pb2.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waVnameCert/WAWebProtobufsVnameCert.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waVnameCert/WAWebProtobufsVnameCert.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)waVnameCert/WAWebProtobufsVnameCert.proto\x12\x17WAWebProtobufsVnameCert\"\xd0\x02\n\x12\x42izAccountLinkInfo\x12\x1b\n\x13whatsappBizAcctFbid\x18\x01 \x01(\x04\x12\x1a\n\x12whatsappAcctNumber\x18\x02 \x01(\t\x12\x11\n\tissueTime\x18\x03 \x01(\x04\x12P\n\x0bhostStorage\x18\x04 \x01(\x0e\x32;.WAWebProtobufsVnameCert.BizAccountLinkInfo.HostStorageType\x12L\n\x0b\x61\x63\x63ountType\x18\x05 \x01(\x0e\x32\x37.WAWebProtobufsVnameCert.BizAccountLinkInfo.AccountType\"\x1d\n\x0b\x41\x63\x63ountType\x12\x0e\n\nENTERPRISE\x10\x00\"/\n\x0fHostStorageType\x12\x0e\n\nON_PREMISE\x10\x00\x12\x0c\n\x08\x46\x41\x43\x45\x42OOK\x10\x01\"\xa2\x04\n\x0f\x42izIdentityInfo\x12K\n\x06vlevel\x18\x01 \x01(\x0e\x32;.WAWebProtobufsVnameCert.BizIdentityInfo.VerifiedLevelValue\x12\x43\n\tvnameCert\x18\x02 \x01(\x0b\x32\x30.WAWebProtobufsVnameCert.VerifiedNameCertificate\x12\x0e\n\x06signed\x18\x03 \x01(\x08\x12\x0f\n\x07revoked\x18\x04 \x01(\x08\x12M\n\x0bhostStorage\x18\x05 \x01(\x0e\x32\x38.WAWebProtobufsVnameCert.BizIdentityInfo.HostStorageType\x12O\n\x0c\x61\x63tualActors\x18\x06 \x01(\x0e\x32\x39.WAWebProtobufsVnameCert.BizIdentityInfo.ActualActorsType\x12\x15\n\rprivacyModeTS\x18\x07 \x01(\x04\x12\x17\n\x0f\x66\x65\x61tureControls\x18\x08 \x01(\x04\"%\n\x10\x41\x63tualActorsType\x12\x08\n\x04SELF\x10\x00\x12\x07\n\x03\x42SP\x10\x01\"/\n\x0fHostStorageType\x12\x0e\n\nON_PREMISE\x10\x00\x12\x0c\n\x08\x46\x41\x43\x45\x42OOK\x10\x01\"4\n\x12VerifiedLevelValue\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03LOW\x10\x01\x12\x08\n\x04HIGH\x10\x02\"=\n\rLocalizedName\x12\n\n\x02lg\x18\x01 \x01(\t\x12\n\n\x02lc\x18\x02 \x01(\t\x12\x14\n\x0cverifiedName\x18\x03 \x01(\t\"\xeb\x01\n\x17VerifiedNameCertificate\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x12\x17\n\x0fserverSignature\x18\x03 \x01(\x0c\x1a\x92\x01\n\x07\x44\x65tails\x12\x0e\n\x06serial\x18\x01 \x01(\x04\x12\x0e\n\x06issuer\x18\x02 \x01(\t\x12\x14\n\x0cverifiedName\x18\x04 \x01(\t\x12>\n\x0elocalizedNames\x18\x08 \x03(\x0b\x32&.WAWebProtobufsVnameCert.LocalizedName\x12\x11\n\tissueTime\x18\n \x01(\x04\"q\n\x11\x42izAccountPayload\x12\x43\n\tvnameCert\x18\x01 \x01(\x0b\x32\x30.WAWebProtobufsVnameCert.VerifiedNameCertificate\x12\x17\n\x0f\x62izAcctLinkInfo\x18\x02 \x01(\x0c\x42\'Z%go.mau.fi/whatsmeow/proto/waVnameCert') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waVnameCert.WAWebProtobufsVnameCert_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z%go.mau.fi/whatsmeow/proto/waVnameCert' + _globals['_BIZACCOUNTLINKINFO']._serialized_start=71 + _globals['_BIZACCOUNTLINKINFO']._serialized_end=407 + _globals['_BIZACCOUNTLINKINFO_ACCOUNTTYPE']._serialized_start=329 + _globals['_BIZACCOUNTLINKINFO_ACCOUNTTYPE']._serialized_end=358 + _globals['_BIZACCOUNTLINKINFO_HOSTSTORAGETYPE']._serialized_start=360 + _globals['_BIZACCOUNTLINKINFO_HOSTSTORAGETYPE']._serialized_end=407 + _globals['_BIZIDENTITYINFO']._serialized_start=410 + _globals['_BIZIDENTITYINFO']._serialized_end=956 + _globals['_BIZIDENTITYINFO_ACTUALACTORSTYPE']._serialized_start=816 + _globals['_BIZIDENTITYINFO_ACTUALACTORSTYPE']._serialized_end=853 + _globals['_BIZIDENTITYINFO_HOSTSTORAGETYPE']._serialized_start=360 + _globals['_BIZIDENTITYINFO_HOSTSTORAGETYPE']._serialized_end=407 + _globals['_BIZIDENTITYINFO_VERIFIEDLEVELVALUE']._serialized_start=904 + _globals['_BIZIDENTITYINFO_VERIFIEDLEVELVALUE']._serialized_end=956 + _globals['_LOCALIZEDNAME']._serialized_start=958 + _globals['_LOCALIZEDNAME']._serialized_end=1019 + _globals['_VERIFIEDNAMECERTIFICATE']._serialized_start=1022 + _globals['_VERIFIEDNAMECERTIFICATE']._serialized_end=1257 + _globals['_VERIFIEDNAMECERTIFICATE_DETAILS']._serialized_start=1111 + _globals['_VERIFIEDNAMECERTIFICATE_DETAILS']._serialized_end=1257 + _globals['_BIZACCOUNTPAYLOAD']._serialized_start=1259 + _globals['_BIZACCOUNTPAYLOAD']._serialized_end=1372 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waVnameCert/WAWebProtobufsVnameCert_pb2.pyi b/neonize/proto/waVnameCert/WAWebProtobufsVnameCert_pb2.pyi new file mode 100644 index 00000000..aa2d20dd --- /dev/null +++ b/neonize/proto/waVnameCert/WAWebProtobufsVnameCert_pb2.pyi @@ -0,0 +1,242 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class BizAccountLinkInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _AccountType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AccountTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BizAccountLinkInfo._AccountType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ENTERPRISE: BizAccountLinkInfo._AccountType.ValueType # 0 + + class AccountType(_AccountType, metaclass=_AccountTypeEnumTypeWrapper): ... + ENTERPRISE: BizAccountLinkInfo.AccountType.ValueType # 0 + + class _HostStorageType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _HostStorageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BizAccountLinkInfo._HostStorageType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ON_PREMISE: BizAccountLinkInfo._HostStorageType.ValueType # 0 + FACEBOOK: BizAccountLinkInfo._HostStorageType.ValueType # 1 + + class HostStorageType(_HostStorageType, metaclass=_HostStorageTypeEnumTypeWrapper): ... + ON_PREMISE: BizAccountLinkInfo.HostStorageType.ValueType # 0 + FACEBOOK: BizAccountLinkInfo.HostStorageType.ValueType # 1 + + WHATSAPPBIZACCTFBID_FIELD_NUMBER: builtins.int + WHATSAPPACCTNUMBER_FIELD_NUMBER: builtins.int + ISSUETIME_FIELD_NUMBER: builtins.int + HOSTSTORAGE_FIELD_NUMBER: builtins.int + ACCOUNTTYPE_FIELD_NUMBER: builtins.int + whatsappBizAcctFbid: builtins.int + whatsappAcctNumber: builtins.str + issueTime: builtins.int + hostStorage: global___BizAccountLinkInfo.HostStorageType.ValueType + accountType: global___BizAccountLinkInfo.AccountType.ValueType + def __init__( + self, + *, + whatsappBizAcctFbid: builtins.int | None = ..., + whatsappAcctNumber: builtins.str | None = ..., + issueTime: builtins.int | None = ..., + hostStorage: global___BizAccountLinkInfo.HostStorageType.ValueType | None = ..., + accountType: global___BizAccountLinkInfo.AccountType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accountType", b"accountType", "hostStorage", b"hostStorage", "issueTime", b"issueTime", "whatsappAcctNumber", b"whatsappAcctNumber", "whatsappBizAcctFbid", b"whatsappBizAcctFbid"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accountType", b"accountType", "hostStorage", b"hostStorage", "issueTime", b"issueTime", "whatsappAcctNumber", b"whatsappAcctNumber", "whatsappBizAcctFbid", b"whatsappBizAcctFbid"]) -> None: ... + +global___BizAccountLinkInfo = BizAccountLinkInfo + +@typing.final +class BizIdentityInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ActualActorsType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ActualActorsTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BizIdentityInfo._ActualActorsType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SELF: BizIdentityInfo._ActualActorsType.ValueType # 0 + BSP: BizIdentityInfo._ActualActorsType.ValueType # 1 + + class ActualActorsType(_ActualActorsType, metaclass=_ActualActorsTypeEnumTypeWrapper): ... + SELF: BizIdentityInfo.ActualActorsType.ValueType # 0 + BSP: BizIdentityInfo.ActualActorsType.ValueType # 1 + + class _HostStorageType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _HostStorageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BizIdentityInfo._HostStorageType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ON_PREMISE: BizIdentityInfo._HostStorageType.ValueType # 0 + FACEBOOK: BizIdentityInfo._HostStorageType.ValueType # 1 + + class HostStorageType(_HostStorageType, metaclass=_HostStorageTypeEnumTypeWrapper): ... + ON_PREMISE: BizIdentityInfo.HostStorageType.ValueType # 0 + FACEBOOK: BizIdentityInfo.HostStorageType.ValueType # 1 + + class _VerifiedLevelValue: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _VerifiedLevelValueEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BizIdentityInfo._VerifiedLevelValue.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: BizIdentityInfo._VerifiedLevelValue.ValueType # 0 + LOW: BizIdentityInfo._VerifiedLevelValue.ValueType # 1 + HIGH: BizIdentityInfo._VerifiedLevelValue.ValueType # 2 + + class VerifiedLevelValue(_VerifiedLevelValue, metaclass=_VerifiedLevelValueEnumTypeWrapper): ... + UNKNOWN: BizIdentityInfo.VerifiedLevelValue.ValueType # 0 + LOW: BizIdentityInfo.VerifiedLevelValue.ValueType # 1 + HIGH: BizIdentityInfo.VerifiedLevelValue.ValueType # 2 + + VLEVEL_FIELD_NUMBER: builtins.int + VNAMECERT_FIELD_NUMBER: builtins.int + SIGNED_FIELD_NUMBER: builtins.int + REVOKED_FIELD_NUMBER: builtins.int + HOSTSTORAGE_FIELD_NUMBER: builtins.int + ACTUALACTORS_FIELD_NUMBER: builtins.int + PRIVACYMODETS_FIELD_NUMBER: builtins.int + FEATURECONTROLS_FIELD_NUMBER: builtins.int + vlevel: global___BizIdentityInfo.VerifiedLevelValue.ValueType + signed: builtins.bool + revoked: builtins.bool + hostStorage: global___BizIdentityInfo.HostStorageType.ValueType + actualActors: global___BizIdentityInfo.ActualActorsType.ValueType + privacyModeTS: builtins.int + featureControls: builtins.int + @property + def vnameCert(self) -> global___VerifiedNameCertificate: ... + def __init__( + self, + *, + vlevel: global___BizIdentityInfo.VerifiedLevelValue.ValueType | None = ..., + vnameCert: global___VerifiedNameCertificate | None = ..., + signed: builtins.bool | None = ..., + revoked: builtins.bool | None = ..., + hostStorage: global___BizIdentityInfo.HostStorageType.ValueType | None = ..., + actualActors: global___BizIdentityInfo.ActualActorsType.ValueType | None = ..., + privacyModeTS: builtins.int | None = ..., + featureControls: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["actualActors", b"actualActors", "featureControls", b"featureControls", "hostStorage", b"hostStorage", "privacyModeTS", b"privacyModeTS", "revoked", b"revoked", "signed", b"signed", "vlevel", b"vlevel", "vnameCert", b"vnameCert"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["actualActors", b"actualActors", "featureControls", b"featureControls", "hostStorage", b"hostStorage", "privacyModeTS", b"privacyModeTS", "revoked", b"revoked", "signed", b"signed", "vlevel", b"vlevel", "vnameCert", b"vnameCert"]) -> None: ... + +global___BizIdentityInfo = BizIdentityInfo + +@typing.final +class LocalizedName(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LG_FIELD_NUMBER: builtins.int + LC_FIELD_NUMBER: builtins.int + VERIFIEDNAME_FIELD_NUMBER: builtins.int + lg: builtins.str + lc: builtins.str + verifiedName: builtins.str + def __init__( + self, + *, + lg: builtins.str | None = ..., + lc: builtins.str | None = ..., + verifiedName: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["lc", b"lc", "lg", b"lg", "verifiedName", b"verifiedName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["lc", b"lc", "lg", b"lg", "verifiedName", b"verifiedName"]) -> None: ... + +global___LocalizedName = LocalizedName + +@typing.final +class VerifiedNameCertificate(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class Details(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SERIAL_FIELD_NUMBER: builtins.int + ISSUER_FIELD_NUMBER: builtins.int + VERIFIEDNAME_FIELD_NUMBER: builtins.int + LOCALIZEDNAMES_FIELD_NUMBER: builtins.int + ISSUETIME_FIELD_NUMBER: builtins.int + serial: builtins.int + issuer: builtins.str + verifiedName: builtins.str + issueTime: builtins.int + @property + def localizedNames(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LocalizedName]: ... + def __init__( + self, + *, + serial: builtins.int | None = ..., + issuer: builtins.str | None = ..., + verifiedName: builtins.str | None = ..., + localizedNames: collections.abc.Iterable[global___LocalizedName] | None = ..., + issueTime: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["issueTime", b"issueTime", "issuer", b"issuer", "serial", b"serial", "verifiedName", b"verifiedName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["issueTime", b"issueTime", "issuer", b"issuer", "localizedNames", b"localizedNames", "serial", b"serial", "verifiedName", b"verifiedName"]) -> None: ... + + DETAILS_FIELD_NUMBER: builtins.int + SIGNATURE_FIELD_NUMBER: builtins.int + SERVERSIGNATURE_FIELD_NUMBER: builtins.int + details: builtins.bytes + signature: builtins.bytes + serverSignature: builtins.bytes + def __init__( + self, + *, + details: builtins.bytes | None = ..., + signature: builtins.bytes | None = ..., + serverSignature: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["details", b"details", "serverSignature", b"serverSignature", "signature", b"signature"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["details", b"details", "serverSignature", b"serverSignature", "signature", b"signature"]) -> None: ... + +global___VerifiedNameCertificate = VerifiedNameCertificate + +@typing.final +class BizAccountPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + VNAMECERT_FIELD_NUMBER: builtins.int + BIZACCTLINKINFO_FIELD_NUMBER: builtins.int + bizAcctLinkInfo: builtins.bytes + @property + def vnameCert(self) -> global___VerifiedNameCertificate: ... + def __init__( + self, + *, + vnameCert: global___VerifiedNameCertificate | None = ..., + bizAcctLinkInfo: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["bizAcctLinkInfo", b"bizAcctLinkInfo", "vnameCert", b"vnameCert"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["bizAcctLinkInfo", b"bizAcctLinkInfo", "vnameCert", b"vnameCert"]) -> None: ... + +global___BizAccountPayload = BizAccountPayload diff --git a/neonize/proto/waWa6/WAWebProtobufsWa6_pb2.py b/neonize/proto/waWa6/WAWebProtobufsWa6_pb2.py new file mode 100644 index 00000000..77f5c399 --- /dev/null +++ b/neonize/proto/waWa6/WAWebProtobufsWa6_pb2.py @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waWa6/WAWebProtobufsWa6.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waWa6/WAWebProtobufsWa6.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dwaWa6/WAWebProtobufsWa6.proto\x12\x11WAWebProtobufsWa6\"\x9f\"\n\rClientPayload\x12\x10\n\x08username\x18\x01 \x01(\x04\x12\x0f\n\x07passive\x18\x03 \x01(\x08\x12=\n\tuserAgent\x18\x05 \x01(\x0b\x32*.WAWebProtobufsWa6.ClientPayload.UserAgent\x12\x39\n\x07webInfo\x18\x06 \x01(\x0b\x32(.WAWebProtobufsWa6.ClientPayload.WebInfo\x12\x10\n\x08pushName\x18\x07 \x01(\t\x12\x11\n\tsessionID\x18\t \x01(\x0f\x12\x14\n\x0cshortConnect\x18\n \x01(\x08\x12\x41\n\x0b\x63onnectType\x18\x0c \x01(\x0e\x32,.WAWebProtobufsWa6.ClientPayload.ConnectType\x12\x45\n\rconnectReason\x18\r \x01(\x0e\x32..WAWebProtobufsWa6.ClientPayload.ConnectReason\x12\x0e\n\x06shards\x18\x0e \x03(\x05\x12=\n\tdnsSource\x18\x0f \x01(\x0b\x32*.WAWebProtobufsWa6.ClientPayload.DNSSource\x12\x1b\n\x13\x63onnectAttemptCount\x18\x10 \x01(\r\x12\x0e\n\x06\x64\x65vice\x18\x12 \x01(\r\x12Y\n\x11\x64\x65vicePairingData\x18\x13 \x01(\x0b\x32>.WAWebProtobufsWa6.ClientPayload.DevicePairingRegistrationData\x12\x39\n\x07product\x18\x14 \x01(\x0e\x32(.WAWebProtobufsWa6.ClientPayload.Product\x12\r\n\x05\x66\x62\x43\x61t\x18\x15 \x01(\x0c\x12\x13\n\x0b\x66\x62UserAgent\x18\x16 \x01(\x0c\x12\n\n\x02oc\x18\x17 \x01(\x08\x12\n\n\x02lc\x18\x18 \x01(\x05\x12I\n\x0fiosAppExtension\x18\x1e \x01(\x0e\x32\x30.WAWebProtobufsWa6.ClientPayload.IOSAppExtension\x12\x0f\n\x07\x66\x62\x41ppID\x18\x1f \x01(\x04\x12\x12\n\nfbDeviceID\x18 \x01(\x0c\x12\x0c\n\x04pull\x18! \x01(\x08\x12\x14\n\x0cpaddingBytes\x18\" \x01(\x0c\x12\x11\n\tyearClass\x18$ \x01(\x05\x12\x10\n\x08memClass\x18% \x01(\x05\x12\x41\n\x0binteropData\x18& \x01(\x0b\x32,.WAWebProtobufsWa6.ClientPayload.InteropData\x12S\n\x14trafficAnonymization\x18( \x01(\x0e\x32\x35.WAWebProtobufsWa6.ClientPayload.TrafficAnonymization\x12\x15\n\rlidDbMigrated\x18) \x01(\x08\x12\x41\n\x0b\x61\x63\x63ountType\x18* \x01(\x0e\x32,.WAWebProtobufsWa6.ClientPayload.AccountType\x12\x1e\n\x16\x63onnectionSequenceInfo\x18+ \x01(\x0f\x12\x0f\n\x07paaLink\x18, \x01(\x08\x12\x14\n\x0cpreacksCount\x18- \x01(\x05\x12\x1b\n\x13processingQueueSize\x18. \x01(\x05\x1a\xd4\x01\n\tDNSSource\x12Q\n\tdnsMethod\x18\x0f \x01(\x0e\x32>.WAWebProtobufsWa6.ClientPayload.DNSSource.DNSResolutionMethod\x12\x11\n\tappCached\x18\x10 \x01(\x08\"a\n\x13\x44NSResolutionMethod\x12\n\n\x06SYSTEM\x10\x00\x12\n\n\x06GOOGLE\x10\x01\x12\r\n\tHARDCODED\x10\x02\x12\x0c\n\x08OVERRIDE\x10\x03\x12\x0c\n\x08\x46\x41LLBACK\x10\x04\x12\x07\n\x03MNS\x10\x05\x1a\xee\x04\n\x07WebInfo\x12\x10\n\x08refToken\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12I\n\x0bwebdPayload\x18\x03 \x01(\x0b\x32\x34.WAWebProtobufsWa6.ClientPayload.WebInfo.WebdPayload\x12O\n\x0ewebSubPlatform\x18\x04 \x01(\x0e\x32\x37.WAWebProtobufsWa6.ClientPayload.WebInfo.WebSubPlatform\x1a\xbb\x02\n\x0bWebdPayload\x12\x1c\n\x14usesParticipantInKey\x18\x01 \x01(\x08\x12\x1f\n\x17supportsStarredMessages\x18\x02 \x01(\x08\x12 \n\x18supportsDocumentMessages\x18\x03 \x01(\x08\x12\x1b\n\x13supportsURLMessages\x18\x04 \x01(\x08\x12\x1a\n\x12supportsMediaRetry\x18\x05 \x01(\x08\x12\x18\n\x10supportsE2EImage\x18\x06 \x01(\x08\x12\x18\n\x10supportsE2EVideo\x18\x07 \x01(\x08\x12\x18\n\x10supportsE2EAudio\x18\x08 \x01(\x08\x12\x1b\n\x13supportsE2EDocument\x18\t \x01(\x08\x12\x15\n\rdocumentTypes\x18\n \x01(\t\x12\x10\n\x08\x66\x65\x61tures\x18\x0b \x01(\x0c\"f\n\x0eWebSubPlatform\x12\x0f\n\x0bWEB_BROWSER\x10\x00\x12\r\n\tAPP_STORE\x10\x01\x12\r\n\tWIN_STORE\x10\x02\x12\n\n\x06\x44\x41RWIN\x10\x03\x12\t\n\x05WIN32\x10\x04\x12\x0e\n\nWIN_HYBRID\x10\x05\x1a\xc7\n\n\tUserAgent\x12\x45\n\x08platform\x18\x01 \x01(\x0e\x32\x33.WAWebProtobufsWa6.ClientPayload.UserAgent.Platform\x12I\n\nappVersion\x18\x02 \x01(\x0b\x32\x35.WAWebProtobufsWa6.ClientPayload.UserAgent.AppVersion\x12\x0b\n\x03mcc\x18\x03 \x01(\t\x12\x0b\n\x03mnc\x18\x04 \x01(\t\x12\x11\n\tosVersion\x18\x05 \x01(\t\x12\x14\n\x0cmanufacturer\x18\x06 \x01(\t\x12\x0e\n\x06\x64\x65vice\x18\x07 \x01(\t\x12\x15\n\rosBuildNumber\x18\x08 \x01(\t\x12\x0f\n\x07phoneID\x18\t \x01(\t\x12Q\n\x0ereleaseChannel\x18\n \x01(\x0e\x32\x39.WAWebProtobufsWa6.ClientPayload.UserAgent.ReleaseChannel\x12\x1d\n\x15localeLanguageIso6391\x18\x0b \x01(\t\x12#\n\x1blocaleCountryIso31661Alpha2\x18\x0c \x01(\t\x12\x13\n\x0b\x64\x65viceBoard\x18\r \x01(\t\x12\x13\n\x0b\x64\x65viceExpID\x18\x0e \x01(\t\x12I\n\ndeviceType\x18\x0f \x01(\x0e\x32\x35.WAWebProtobufsWa6.ClientPayload.UserAgent.DeviceType\x12\x17\n\x0f\x64\x65viceModelType\x18\x10 \x01(\t\x1ag\n\nAppVersion\x12\x0f\n\x07primary\x18\x01 \x01(\r\x12\x11\n\tsecondary\x18\x02 \x01(\r\x12\x10\n\x08tertiary\x18\x03 \x01(\r\x12\x12\n\nquaternary\x18\x04 \x01(\r\x12\x0f\n\x07quinary\x18\x05 \x01(\r\"F\n\nDeviceType\x12\t\n\x05PHONE\x10\x00\x12\n\n\x06TABLET\x10\x01\x12\x0b\n\x07\x44\x45SKTOP\x10\x02\x12\x0c\n\x08WEARABLE\x10\x03\x12\x06\n\x02VR\x10\x04\"=\n\x0eReleaseChannel\x12\x0b\n\x07RELEASE\x10\x00\x12\x08\n\x04\x42\x45TA\x10\x01\x12\t\n\x05\x41LPHA\x10\x02\x12\t\n\x05\x44\x45\x42UG\x10\x03\"\x97\x04\n\x08Platform\x12\x0b\n\x07\x41NDROID\x10\x00\x12\x07\n\x03IOS\x10\x01\x12\x11\n\rWINDOWS_PHONE\x10\x02\x12\x0e\n\nBLACKBERRY\x10\x03\x12\x0f\n\x0b\x42LACKBERRYX\x10\x04\x12\x07\n\x03S40\x10\x05\x12\x07\n\x03S60\x10\x06\x12\x11\n\rPYTHON_CLIENT\x10\x07\x12\t\n\x05TIZEN\x10\x08\x12\x0e\n\nENTERPRISE\x10\t\x12\x0f\n\x0bSMB_ANDROID\x10\n\x12\t\n\x05KAIOS\x10\x0b\x12\x0b\n\x07SMB_IOS\x10\x0c\x12\x0b\n\x07WINDOWS\x10\r\x12\x07\n\x03WEB\x10\x0e\x12\n\n\x06PORTAL\x10\x0f\x12\x11\n\rGREEN_ANDROID\x10\x10\x12\x10\n\x0cGREEN_IPHONE\x10\x11\x12\x10\n\x0c\x42LUE_ANDROID\x10\x12\x12\x0f\n\x0b\x42LUE_IPHONE\x10\x13\x12\x12\n\x0e\x46\x42LITE_ANDROID\x10\x14\x12\x11\n\rMLITE_ANDROID\x10\x15\x12\x12\n\x0eIGLITE_ANDROID\x10\x16\x12\x08\n\x04PAGE\x10\x17\x12\t\n\x05MACOS\x10\x18\x12\x0e\n\nOCULUS_MSG\x10\x19\x12\x0f\n\x0bOCULUS_CALL\x10\x1a\x12\t\n\x05MILAN\x10\x1b\x12\x08\n\x04\x43\x41PI\x10\x1c\x12\n\n\x06WEAROS\x10\x1d\x12\x0c\n\x08\x41RDEVICE\x10\x1e\x12\x0c\n\x08VRDEVICE\x10\x1f\x12\x0c\n\x08\x42LUE_WEB\x10 \x12\x08\n\x04IPAD\x10!\x12\x08\n\x04TEST\x10\"\x12\x11\n\rSMART_GLASSES\x10#\x12\x0b\n\x07\x42LUE_VR\x10$\x1aK\n\x0bInteropData\x12\x11\n\taccountID\x18\x01 \x01(\x04\x12\r\n\x05token\x18\x02 \x01(\x0c\x12\x1a\n\x12\x65nableReadReceipts\x18\x03 \x01(\x08\x1a\xae\x01\n\x1d\x44\x65vicePairingRegistrationData\x12\x0e\n\x06\x65Regid\x18\x01 \x01(\x0c\x12\x10\n\x08\x65Keytype\x18\x02 \x01(\x0c\x12\x0e\n\x06\x65Ident\x18\x03 \x01(\x0c\x12\x0f\n\x07\x65SkeyID\x18\x04 \x01(\x0c\x12\x10\n\x08\x65SkeyVal\x18\x05 \x01(\x0c\x12\x10\n\x08\x65SkeySig\x18\x06 \x01(\x0c\x12\x11\n\tbuildHash\x18\x07 \x01(\x0c\x12\x13\n\x0b\x64\x65viceProps\x18\x08 \x01(\x0c\"-\n\x14TrafficAnonymization\x12\x07\n\x03OFF\x10\x00\x12\x0c\n\x08STANDARD\x10\x01\"%\n\x0b\x41\x63\x63ountType\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05GUEST\x10\x01\"W\n\x07Product\x12\x0c\n\x08WHATSAPP\x10\x00\x12\r\n\tMESSENGER\x10\x01\x12\x0b\n\x07INTEROP\x10\x02\x12\x10\n\x0cINTEROP_MSGR\x10\x03\x12\x10\n\x0cWHATSAPP_LID\x10\x04\"\xb0\x02\n\x0b\x43onnectType\x12\x14\n\x10\x43\x45LLULAR_UNKNOWN\x10\x00\x12\x10\n\x0cWIFI_UNKNOWN\x10\x01\x12\x11\n\rCELLULAR_EDGE\x10\x64\x12\x11\n\rCELLULAR_IDEN\x10\x65\x12\x11\n\rCELLULAR_UMTS\x10\x66\x12\x11\n\rCELLULAR_EVDO\x10g\x12\x11\n\rCELLULAR_GPRS\x10h\x12\x12\n\x0e\x43\x45LLULAR_HSDPA\x10i\x12\x12\n\x0e\x43\x45LLULAR_HSUPA\x10j\x12\x11\n\rCELLULAR_HSPA\x10k\x12\x11\n\rCELLULAR_CDMA\x10l\x12\x12\n\x0e\x43\x45LLULAR_1XRTT\x10m\x12\x12\n\x0e\x43\x45LLULAR_EHRPD\x10n\x12\x10\n\x0c\x43\x45LLULAR_LTE\x10o\x12\x12\n\x0e\x43\x45LLULAR_HSPAP\x10p\"\x86\x01\n\rConnectReason\x12\x08\n\x04PUSH\x10\x00\x12\x12\n\x0eUSER_ACTIVATED\x10\x01\x12\r\n\tSCHEDULED\x10\x02\x12\x13\n\x0f\x45RROR_RECONNECT\x10\x03\x12\x12\n\x0eNETWORK_SWITCH\x10\x04\x12\x12\n\x0ePING_RECONNECT\x10\x05\x12\x0b\n\x07UNKNOWN\x10\x06\"T\n\x0fIOSAppExtension\x12\x13\n\x0fSHARE_EXTENSION\x10\x00\x12\x15\n\x11SERVICE_EXTENSION\x10\x01\x12\x15\n\x11INTENTS_EXTENSION\x10\x02\"\x82\x04\n\x10HandshakeMessage\x12\x44\n\x0b\x63lientHello\x18\x02 \x01(\x0b\x32/.WAWebProtobufsWa6.HandshakeMessage.ClientHello\x12\x44\n\x0bserverHello\x18\x03 \x01(\x0b\x32/.WAWebProtobufsWa6.HandshakeMessage.ServerHello\x12\x46\n\x0c\x63lientFinish\x18\x04 \x01(\x0b\x32\x30.WAWebProtobufsWa6.HandshakeMessage.ClientFinish\x1aK\n\x0c\x43lientFinish\x12\x0e\n\x06static\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x1a\n\x12\x65xtendedCiphertext\x18\x03 \x01(\x0c\x1aY\n\x0bServerHello\x12\x11\n\tephemeral\x18\x01 \x01(\x0c\x12\x0e\n\x06static\x18\x02 \x01(\x0c\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x12\x16\n\x0e\x65xtendedStatic\x18\x04 \x01(\x0c\x1ar\n\x0b\x43lientHello\x12\x11\n\tephemeral\x18\x01 \x01(\x0c\x12\x0e\n\x06static\x18\x02 \x01(\x0c\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x12\x13\n\x0buseExtended\x18\x04 \x01(\x08\x12\x1a\n\x12\x65xtendedCiphertext\x18\x05 \x01(\x0c\x42!Z\x1fgo.mau.fi/whatsmeow/proto/waWa6') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waWa6.WAWebProtobufsWa6_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\037go.mau.fi/whatsmeow/proto/waWa6' + _globals['_CLIENTPAYLOAD']._serialized_start=53 + _globals['_CLIENTPAYLOAD']._serialized_end=4436 + _globals['_CLIENTPAYLOAD_DNSSOURCE']._serialized_start=1286 + _globals['_CLIENTPAYLOAD_DNSSOURCE']._serialized_end=1498 + _globals['_CLIENTPAYLOAD_DNSSOURCE_DNSRESOLUTIONMETHOD']._serialized_start=1401 + _globals['_CLIENTPAYLOAD_DNSSOURCE_DNSRESOLUTIONMETHOD']._serialized_end=1498 + _globals['_CLIENTPAYLOAD_WEBINFO']._serialized_start=1501 + _globals['_CLIENTPAYLOAD_WEBINFO']._serialized_end=2123 + _globals['_CLIENTPAYLOAD_WEBINFO_WEBDPAYLOAD']._serialized_start=1704 + _globals['_CLIENTPAYLOAD_WEBINFO_WEBDPAYLOAD']._serialized_end=2019 + _globals['_CLIENTPAYLOAD_WEBINFO_WEBSUBPLATFORM']._serialized_start=2021 + _globals['_CLIENTPAYLOAD_WEBINFO_WEBSUBPLATFORM']._serialized_end=2123 + _globals['_CLIENTPAYLOAD_USERAGENT']._serialized_start=2126 + _globals['_CLIENTPAYLOAD_USERAGENT']._serialized_end=3477 + _globals['_CLIENTPAYLOAD_USERAGENT_APPVERSION']._serialized_start=2701 + _globals['_CLIENTPAYLOAD_USERAGENT_APPVERSION']._serialized_end=2804 + _globals['_CLIENTPAYLOAD_USERAGENT_DEVICETYPE']._serialized_start=2806 + _globals['_CLIENTPAYLOAD_USERAGENT_DEVICETYPE']._serialized_end=2876 + _globals['_CLIENTPAYLOAD_USERAGENT_RELEASECHANNEL']._serialized_start=2878 + _globals['_CLIENTPAYLOAD_USERAGENT_RELEASECHANNEL']._serialized_end=2939 + _globals['_CLIENTPAYLOAD_USERAGENT_PLATFORM']._serialized_start=2942 + _globals['_CLIENTPAYLOAD_USERAGENT_PLATFORM']._serialized_end=3477 + _globals['_CLIENTPAYLOAD_INTEROPDATA']._serialized_start=3479 + _globals['_CLIENTPAYLOAD_INTEROPDATA']._serialized_end=3554 + _globals['_CLIENTPAYLOAD_DEVICEPAIRINGREGISTRATIONDATA']._serialized_start=3557 + _globals['_CLIENTPAYLOAD_DEVICEPAIRINGREGISTRATIONDATA']._serialized_end=3731 + _globals['_CLIENTPAYLOAD_TRAFFICANONYMIZATION']._serialized_start=3733 + _globals['_CLIENTPAYLOAD_TRAFFICANONYMIZATION']._serialized_end=3778 + _globals['_CLIENTPAYLOAD_ACCOUNTTYPE']._serialized_start=3780 + _globals['_CLIENTPAYLOAD_ACCOUNTTYPE']._serialized_end=3817 + _globals['_CLIENTPAYLOAD_PRODUCT']._serialized_start=3819 + _globals['_CLIENTPAYLOAD_PRODUCT']._serialized_end=3906 + _globals['_CLIENTPAYLOAD_CONNECTTYPE']._serialized_start=3909 + _globals['_CLIENTPAYLOAD_CONNECTTYPE']._serialized_end=4213 + _globals['_CLIENTPAYLOAD_CONNECTREASON']._serialized_start=4216 + _globals['_CLIENTPAYLOAD_CONNECTREASON']._serialized_end=4350 + _globals['_CLIENTPAYLOAD_IOSAPPEXTENSION']._serialized_start=4352 + _globals['_CLIENTPAYLOAD_IOSAPPEXTENSION']._serialized_end=4436 + _globals['_HANDSHAKEMESSAGE']._serialized_start=4439 + _globals['_HANDSHAKEMESSAGE']._serialized_end=4953 + _globals['_HANDSHAKEMESSAGE_CLIENTFINISH']._serialized_start=4671 + _globals['_HANDSHAKEMESSAGE_CLIENTFINISH']._serialized_end=4746 + _globals['_HANDSHAKEMESSAGE_SERVERHELLO']._serialized_start=4748 + _globals['_HANDSHAKEMESSAGE_SERVERHELLO']._serialized_end=4837 + _globals['_HANDSHAKEMESSAGE_CLIENTHELLO']._serialized_start=4839 + _globals['_HANDSHAKEMESSAGE_CLIENTHELLO']._serialized_end=4953 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waWa6/WAWebProtobufsWa6_pb2.pyi b/neonize/proto/waWa6/WAWebProtobufsWa6_pb2.pyi new file mode 100644 index 00000000..9bfcccaf --- /dev/null +++ b/neonize/proto/waWa6/WAWebProtobufsWa6_pb2.pyi @@ -0,0 +1,744 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class ClientPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _TrafficAnonymization: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TrafficAnonymizationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload._TrafficAnonymization.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + OFF: ClientPayload._TrafficAnonymization.ValueType # 0 + STANDARD: ClientPayload._TrafficAnonymization.ValueType # 1 + + class TrafficAnonymization(_TrafficAnonymization, metaclass=_TrafficAnonymizationEnumTypeWrapper): ... + OFF: ClientPayload.TrafficAnonymization.ValueType # 0 + STANDARD: ClientPayload.TrafficAnonymization.ValueType # 1 + + class _AccountType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _AccountTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload._AccountType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + DEFAULT: ClientPayload._AccountType.ValueType # 0 + GUEST: ClientPayload._AccountType.ValueType # 1 + + class AccountType(_AccountType, metaclass=_AccountTypeEnumTypeWrapper): ... + DEFAULT: ClientPayload.AccountType.ValueType # 0 + GUEST: ClientPayload.AccountType.ValueType # 1 + + class _Product: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ProductEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload._Product.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + WHATSAPP: ClientPayload._Product.ValueType # 0 + MESSENGER: ClientPayload._Product.ValueType # 1 + INTEROP: ClientPayload._Product.ValueType # 2 + INTEROP_MSGR: ClientPayload._Product.ValueType # 3 + WHATSAPP_LID: ClientPayload._Product.ValueType # 4 + + class Product(_Product, metaclass=_ProductEnumTypeWrapper): ... + WHATSAPP: ClientPayload.Product.ValueType # 0 + MESSENGER: ClientPayload.Product.ValueType # 1 + INTEROP: ClientPayload.Product.ValueType # 2 + INTEROP_MSGR: ClientPayload.Product.ValueType # 3 + WHATSAPP_LID: ClientPayload.Product.ValueType # 4 + + class _ConnectType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ConnectTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload._ConnectType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + CELLULAR_UNKNOWN: ClientPayload._ConnectType.ValueType # 0 + WIFI_UNKNOWN: ClientPayload._ConnectType.ValueType # 1 + CELLULAR_EDGE: ClientPayload._ConnectType.ValueType # 100 + CELLULAR_IDEN: ClientPayload._ConnectType.ValueType # 101 + CELLULAR_UMTS: ClientPayload._ConnectType.ValueType # 102 + CELLULAR_EVDO: ClientPayload._ConnectType.ValueType # 103 + CELLULAR_GPRS: ClientPayload._ConnectType.ValueType # 104 + CELLULAR_HSDPA: ClientPayload._ConnectType.ValueType # 105 + CELLULAR_HSUPA: ClientPayload._ConnectType.ValueType # 106 + CELLULAR_HSPA: ClientPayload._ConnectType.ValueType # 107 + CELLULAR_CDMA: ClientPayload._ConnectType.ValueType # 108 + CELLULAR_1XRTT: ClientPayload._ConnectType.ValueType # 109 + CELLULAR_EHRPD: ClientPayload._ConnectType.ValueType # 110 + CELLULAR_LTE: ClientPayload._ConnectType.ValueType # 111 + CELLULAR_HSPAP: ClientPayload._ConnectType.ValueType # 112 + + class ConnectType(_ConnectType, metaclass=_ConnectTypeEnumTypeWrapper): ... + CELLULAR_UNKNOWN: ClientPayload.ConnectType.ValueType # 0 + WIFI_UNKNOWN: ClientPayload.ConnectType.ValueType # 1 + CELLULAR_EDGE: ClientPayload.ConnectType.ValueType # 100 + CELLULAR_IDEN: ClientPayload.ConnectType.ValueType # 101 + CELLULAR_UMTS: ClientPayload.ConnectType.ValueType # 102 + CELLULAR_EVDO: ClientPayload.ConnectType.ValueType # 103 + CELLULAR_GPRS: ClientPayload.ConnectType.ValueType # 104 + CELLULAR_HSDPA: ClientPayload.ConnectType.ValueType # 105 + CELLULAR_HSUPA: ClientPayload.ConnectType.ValueType # 106 + CELLULAR_HSPA: ClientPayload.ConnectType.ValueType # 107 + CELLULAR_CDMA: ClientPayload.ConnectType.ValueType # 108 + CELLULAR_1XRTT: ClientPayload.ConnectType.ValueType # 109 + CELLULAR_EHRPD: ClientPayload.ConnectType.ValueType # 110 + CELLULAR_LTE: ClientPayload.ConnectType.ValueType # 111 + CELLULAR_HSPAP: ClientPayload.ConnectType.ValueType # 112 + + class _ConnectReason: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ConnectReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload._ConnectReason.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PUSH: ClientPayload._ConnectReason.ValueType # 0 + USER_ACTIVATED: ClientPayload._ConnectReason.ValueType # 1 + SCHEDULED: ClientPayload._ConnectReason.ValueType # 2 + ERROR_RECONNECT: ClientPayload._ConnectReason.ValueType # 3 + NETWORK_SWITCH: ClientPayload._ConnectReason.ValueType # 4 + PING_RECONNECT: ClientPayload._ConnectReason.ValueType # 5 + UNKNOWN: ClientPayload._ConnectReason.ValueType # 6 + + class ConnectReason(_ConnectReason, metaclass=_ConnectReasonEnumTypeWrapper): ... + PUSH: ClientPayload.ConnectReason.ValueType # 0 + USER_ACTIVATED: ClientPayload.ConnectReason.ValueType # 1 + SCHEDULED: ClientPayload.ConnectReason.ValueType # 2 + ERROR_RECONNECT: ClientPayload.ConnectReason.ValueType # 3 + NETWORK_SWITCH: ClientPayload.ConnectReason.ValueType # 4 + PING_RECONNECT: ClientPayload.ConnectReason.ValueType # 5 + UNKNOWN: ClientPayload.ConnectReason.ValueType # 6 + + class _IOSAppExtension: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _IOSAppExtensionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload._IOSAppExtension.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SHARE_EXTENSION: ClientPayload._IOSAppExtension.ValueType # 0 + SERVICE_EXTENSION: ClientPayload._IOSAppExtension.ValueType # 1 + INTENTS_EXTENSION: ClientPayload._IOSAppExtension.ValueType # 2 + + class IOSAppExtension(_IOSAppExtension, metaclass=_IOSAppExtensionEnumTypeWrapper): ... + SHARE_EXTENSION: ClientPayload.IOSAppExtension.ValueType # 0 + SERVICE_EXTENSION: ClientPayload.IOSAppExtension.ValueType # 1 + INTENTS_EXTENSION: ClientPayload.IOSAppExtension.ValueType # 2 + + @typing.final + class DNSSource(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _DNSResolutionMethod: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _DNSResolutionMethodEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload.DNSSource._DNSResolutionMethod.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SYSTEM: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 0 + GOOGLE: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 1 + HARDCODED: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 2 + OVERRIDE: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 3 + FALLBACK: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 4 + MNS: ClientPayload.DNSSource._DNSResolutionMethod.ValueType # 5 + + class DNSResolutionMethod(_DNSResolutionMethod, metaclass=_DNSResolutionMethodEnumTypeWrapper): ... + SYSTEM: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 0 + GOOGLE: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 1 + HARDCODED: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 2 + OVERRIDE: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 3 + FALLBACK: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 4 + MNS: ClientPayload.DNSSource.DNSResolutionMethod.ValueType # 5 + + DNSMETHOD_FIELD_NUMBER: builtins.int + APPCACHED_FIELD_NUMBER: builtins.int + dnsMethod: global___ClientPayload.DNSSource.DNSResolutionMethod.ValueType + appCached: builtins.bool + def __init__( + self, + *, + dnsMethod: global___ClientPayload.DNSSource.DNSResolutionMethod.ValueType | None = ..., + appCached: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["appCached", b"appCached", "dnsMethod", b"dnsMethod"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["appCached", b"appCached", "dnsMethod", b"dnsMethod"]) -> None: ... + + @typing.final + class WebInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _WebSubPlatform: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _WebSubPlatformEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload.WebInfo._WebSubPlatform.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + WEB_BROWSER: ClientPayload.WebInfo._WebSubPlatform.ValueType # 0 + APP_STORE: ClientPayload.WebInfo._WebSubPlatform.ValueType # 1 + WIN_STORE: ClientPayload.WebInfo._WebSubPlatform.ValueType # 2 + DARWIN: ClientPayload.WebInfo._WebSubPlatform.ValueType # 3 + WIN32: ClientPayload.WebInfo._WebSubPlatform.ValueType # 4 + WIN_HYBRID: ClientPayload.WebInfo._WebSubPlatform.ValueType # 5 + + class WebSubPlatform(_WebSubPlatform, metaclass=_WebSubPlatformEnumTypeWrapper): ... + WEB_BROWSER: ClientPayload.WebInfo.WebSubPlatform.ValueType # 0 + APP_STORE: ClientPayload.WebInfo.WebSubPlatform.ValueType # 1 + WIN_STORE: ClientPayload.WebInfo.WebSubPlatform.ValueType # 2 + DARWIN: ClientPayload.WebInfo.WebSubPlatform.ValueType # 3 + WIN32: ClientPayload.WebInfo.WebSubPlatform.ValueType # 4 + WIN_HYBRID: ClientPayload.WebInfo.WebSubPlatform.ValueType # 5 + + @typing.final + class WebdPayload(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + USESPARTICIPANTINKEY_FIELD_NUMBER: builtins.int + SUPPORTSSTARREDMESSAGES_FIELD_NUMBER: builtins.int + SUPPORTSDOCUMENTMESSAGES_FIELD_NUMBER: builtins.int + SUPPORTSURLMESSAGES_FIELD_NUMBER: builtins.int + SUPPORTSMEDIARETRY_FIELD_NUMBER: builtins.int + SUPPORTSE2EIMAGE_FIELD_NUMBER: builtins.int + SUPPORTSE2EVIDEO_FIELD_NUMBER: builtins.int + SUPPORTSE2EAUDIO_FIELD_NUMBER: builtins.int + SUPPORTSE2EDOCUMENT_FIELD_NUMBER: builtins.int + DOCUMENTTYPES_FIELD_NUMBER: builtins.int + FEATURES_FIELD_NUMBER: builtins.int + usesParticipantInKey: builtins.bool + supportsStarredMessages: builtins.bool + supportsDocumentMessages: builtins.bool + supportsURLMessages: builtins.bool + supportsMediaRetry: builtins.bool + supportsE2EImage: builtins.bool + supportsE2EVideo: builtins.bool + supportsE2EAudio: builtins.bool + supportsE2EDocument: builtins.bool + documentTypes: builtins.str + features: builtins.bytes + def __init__( + self, + *, + usesParticipantInKey: builtins.bool | None = ..., + supportsStarredMessages: builtins.bool | None = ..., + supportsDocumentMessages: builtins.bool | None = ..., + supportsURLMessages: builtins.bool | None = ..., + supportsMediaRetry: builtins.bool | None = ..., + supportsE2EImage: builtins.bool | None = ..., + supportsE2EVideo: builtins.bool | None = ..., + supportsE2EAudio: builtins.bool | None = ..., + supportsE2EDocument: builtins.bool | None = ..., + documentTypes: builtins.str | None = ..., + features: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["documentTypes", b"documentTypes", "features", b"features", "supportsDocumentMessages", b"supportsDocumentMessages", "supportsE2EAudio", b"supportsE2EAudio", "supportsE2EDocument", b"supportsE2EDocument", "supportsE2EImage", b"supportsE2EImage", "supportsE2EVideo", b"supportsE2EVideo", "supportsMediaRetry", b"supportsMediaRetry", "supportsStarredMessages", b"supportsStarredMessages", "supportsURLMessages", b"supportsURLMessages", "usesParticipantInKey", b"usesParticipantInKey"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["documentTypes", b"documentTypes", "features", b"features", "supportsDocumentMessages", b"supportsDocumentMessages", "supportsE2EAudio", b"supportsE2EAudio", "supportsE2EDocument", b"supportsE2EDocument", "supportsE2EImage", b"supportsE2EImage", "supportsE2EVideo", b"supportsE2EVideo", "supportsMediaRetry", b"supportsMediaRetry", "supportsStarredMessages", b"supportsStarredMessages", "supportsURLMessages", b"supportsURLMessages", "usesParticipantInKey", b"usesParticipantInKey"]) -> None: ... + + REFTOKEN_FIELD_NUMBER: builtins.int + VERSION_FIELD_NUMBER: builtins.int + WEBDPAYLOAD_FIELD_NUMBER: builtins.int + WEBSUBPLATFORM_FIELD_NUMBER: builtins.int + refToken: builtins.str + version: builtins.str + webSubPlatform: global___ClientPayload.WebInfo.WebSubPlatform.ValueType + @property + def webdPayload(self) -> global___ClientPayload.WebInfo.WebdPayload: ... + def __init__( + self, + *, + refToken: builtins.str | None = ..., + version: builtins.str | None = ..., + webdPayload: global___ClientPayload.WebInfo.WebdPayload | None = ..., + webSubPlatform: global___ClientPayload.WebInfo.WebSubPlatform.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["refToken", b"refToken", "version", b"version", "webSubPlatform", b"webSubPlatform", "webdPayload", b"webdPayload"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["refToken", b"refToken", "version", b"version", "webSubPlatform", b"webSubPlatform", "webdPayload", b"webdPayload"]) -> None: ... + + @typing.final + class UserAgent(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _DeviceType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _DeviceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload.UserAgent._DeviceType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + PHONE: ClientPayload.UserAgent._DeviceType.ValueType # 0 + TABLET: ClientPayload.UserAgent._DeviceType.ValueType # 1 + DESKTOP: ClientPayload.UserAgent._DeviceType.ValueType # 2 + WEARABLE: ClientPayload.UserAgent._DeviceType.ValueType # 3 + VR: ClientPayload.UserAgent._DeviceType.ValueType # 4 + + class DeviceType(_DeviceType, metaclass=_DeviceTypeEnumTypeWrapper): ... + PHONE: ClientPayload.UserAgent.DeviceType.ValueType # 0 + TABLET: ClientPayload.UserAgent.DeviceType.ValueType # 1 + DESKTOP: ClientPayload.UserAgent.DeviceType.ValueType # 2 + WEARABLE: ClientPayload.UserAgent.DeviceType.ValueType # 3 + VR: ClientPayload.UserAgent.DeviceType.ValueType # 4 + + class _ReleaseChannel: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ReleaseChannelEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload.UserAgent._ReleaseChannel.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + RELEASE: ClientPayload.UserAgent._ReleaseChannel.ValueType # 0 + BETA: ClientPayload.UserAgent._ReleaseChannel.ValueType # 1 + ALPHA: ClientPayload.UserAgent._ReleaseChannel.ValueType # 2 + DEBUG: ClientPayload.UserAgent._ReleaseChannel.ValueType # 3 + + class ReleaseChannel(_ReleaseChannel, metaclass=_ReleaseChannelEnumTypeWrapper): ... + RELEASE: ClientPayload.UserAgent.ReleaseChannel.ValueType # 0 + BETA: ClientPayload.UserAgent.ReleaseChannel.ValueType # 1 + ALPHA: ClientPayload.UserAgent.ReleaseChannel.ValueType # 2 + DEBUG: ClientPayload.UserAgent.ReleaseChannel.ValueType # 3 + + class _Platform: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _PlatformEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ClientPayload.UserAgent._Platform.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ANDROID: ClientPayload.UserAgent._Platform.ValueType # 0 + IOS: ClientPayload.UserAgent._Platform.ValueType # 1 + WINDOWS_PHONE: ClientPayload.UserAgent._Platform.ValueType # 2 + BLACKBERRY: ClientPayload.UserAgent._Platform.ValueType # 3 + BLACKBERRYX: ClientPayload.UserAgent._Platform.ValueType # 4 + S40: ClientPayload.UserAgent._Platform.ValueType # 5 + S60: ClientPayload.UserAgent._Platform.ValueType # 6 + PYTHON_CLIENT: ClientPayload.UserAgent._Platform.ValueType # 7 + TIZEN: ClientPayload.UserAgent._Platform.ValueType # 8 + ENTERPRISE: ClientPayload.UserAgent._Platform.ValueType # 9 + SMB_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 10 + KAIOS: ClientPayload.UserAgent._Platform.ValueType # 11 + SMB_IOS: ClientPayload.UserAgent._Platform.ValueType # 12 + WINDOWS: ClientPayload.UserAgent._Platform.ValueType # 13 + WEB: ClientPayload.UserAgent._Platform.ValueType # 14 + PORTAL: ClientPayload.UserAgent._Platform.ValueType # 15 + GREEN_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 16 + GREEN_IPHONE: ClientPayload.UserAgent._Platform.ValueType # 17 + BLUE_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 18 + BLUE_IPHONE: ClientPayload.UserAgent._Platform.ValueType # 19 + FBLITE_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 20 + MLITE_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 21 + IGLITE_ANDROID: ClientPayload.UserAgent._Platform.ValueType # 22 + PAGE: ClientPayload.UserAgent._Platform.ValueType # 23 + MACOS: ClientPayload.UserAgent._Platform.ValueType # 24 + OCULUS_MSG: ClientPayload.UserAgent._Platform.ValueType # 25 + OCULUS_CALL: ClientPayload.UserAgent._Platform.ValueType # 26 + MILAN: ClientPayload.UserAgent._Platform.ValueType # 27 + CAPI: ClientPayload.UserAgent._Platform.ValueType # 28 + WEAROS: ClientPayload.UserAgent._Platform.ValueType # 29 + ARDEVICE: ClientPayload.UserAgent._Platform.ValueType # 30 + VRDEVICE: ClientPayload.UserAgent._Platform.ValueType # 31 + BLUE_WEB: ClientPayload.UserAgent._Platform.ValueType # 32 + IPAD: ClientPayload.UserAgent._Platform.ValueType # 33 + TEST: ClientPayload.UserAgent._Platform.ValueType # 34 + SMART_GLASSES: ClientPayload.UserAgent._Platform.ValueType # 35 + BLUE_VR: ClientPayload.UserAgent._Platform.ValueType # 36 + + class Platform(_Platform, metaclass=_PlatformEnumTypeWrapper): ... + ANDROID: ClientPayload.UserAgent.Platform.ValueType # 0 + IOS: ClientPayload.UserAgent.Platform.ValueType # 1 + WINDOWS_PHONE: ClientPayload.UserAgent.Platform.ValueType # 2 + BLACKBERRY: ClientPayload.UserAgent.Platform.ValueType # 3 + BLACKBERRYX: ClientPayload.UserAgent.Platform.ValueType # 4 + S40: ClientPayload.UserAgent.Platform.ValueType # 5 + S60: ClientPayload.UserAgent.Platform.ValueType # 6 + PYTHON_CLIENT: ClientPayload.UserAgent.Platform.ValueType # 7 + TIZEN: ClientPayload.UserAgent.Platform.ValueType # 8 + ENTERPRISE: ClientPayload.UserAgent.Platform.ValueType # 9 + SMB_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 10 + KAIOS: ClientPayload.UserAgent.Platform.ValueType # 11 + SMB_IOS: ClientPayload.UserAgent.Platform.ValueType # 12 + WINDOWS: ClientPayload.UserAgent.Platform.ValueType # 13 + WEB: ClientPayload.UserAgent.Platform.ValueType # 14 + PORTAL: ClientPayload.UserAgent.Platform.ValueType # 15 + GREEN_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 16 + GREEN_IPHONE: ClientPayload.UserAgent.Platform.ValueType # 17 + BLUE_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 18 + BLUE_IPHONE: ClientPayload.UserAgent.Platform.ValueType # 19 + FBLITE_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 20 + MLITE_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 21 + IGLITE_ANDROID: ClientPayload.UserAgent.Platform.ValueType # 22 + PAGE: ClientPayload.UserAgent.Platform.ValueType # 23 + MACOS: ClientPayload.UserAgent.Platform.ValueType # 24 + OCULUS_MSG: ClientPayload.UserAgent.Platform.ValueType # 25 + OCULUS_CALL: ClientPayload.UserAgent.Platform.ValueType # 26 + MILAN: ClientPayload.UserAgent.Platform.ValueType # 27 + CAPI: ClientPayload.UserAgent.Platform.ValueType # 28 + WEAROS: ClientPayload.UserAgent.Platform.ValueType # 29 + ARDEVICE: ClientPayload.UserAgent.Platform.ValueType # 30 + VRDEVICE: ClientPayload.UserAgent.Platform.ValueType # 31 + BLUE_WEB: ClientPayload.UserAgent.Platform.ValueType # 32 + IPAD: ClientPayload.UserAgent.Platform.ValueType # 33 + TEST: ClientPayload.UserAgent.Platform.ValueType # 34 + SMART_GLASSES: ClientPayload.UserAgent.Platform.ValueType # 35 + BLUE_VR: ClientPayload.UserAgent.Platform.ValueType # 36 + + @typing.final + class AppVersion(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PRIMARY_FIELD_NUMBER: builtins.int + SECONDARY_FIELD_NUMBER: builtins.int + TERTIARY_FIELD_NUMBER: builtins.int + QUATERNARY_FIELD_NUMBER: builtins.int + QUINARY_FIELD_NUMBER: builtins.int + primary: builtins.int + secondary: builtins.int + tertiary: builtins.int + quaternary: builtins.int + quinary: builtins.int + def __init__( + self, + *, + primary: builtins.int | None = ..., + secondary: builtins.int | None = ..., + tertiary: builtins.int | None = ..., + quaternary: builtins.int | None = ..., + quinary: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["primary", b"primary", "quaternary", b"quaternary", "quinary", b"quinary", "secondary", b"secondary", "tertiary", b"tertiary"]) -> None: ... + + PLATFORM_FIELD_NUMBER: builtins.int + APPVERSION_FIELD_NUMBER: builtins.int + MCC_FIELD_NUMBER: builtins.int + MNC_FIELD_NUMBER: builtins.int + OSVERSION_FIELD_NUMBER: builtins.int + MANUFACTURER_FIELD_NUMBER: builtins.int + DEVICE_FIELD_NUMBER: builtins.int + OSBUILDNUMBER_FIELD_NUMBER: builtins.int + PHONEID_FIELD_NUMBER: builtins.int + RELEASECHANNEL_FIELD_NUMBER: builtins.int + LOCALELANGUAGEISO6391_FIELD_NUMBER: builtins.int + LOCALECOUNTRYISO31661ALPHA2_FIELD_NUMBER: builtins.int + DEVICEBOARD_FIELD_NUMBER: builtins.int + DEVICEEXPID_FIELD_NUMBER: builtins.int + DEVICETYPE_FIELD_NUMBER: builtins.int + DEVICEMODELTYPE_FIELD_NUMBER: builtins.int + platform: global___ClientPayload.UserAgent.Platform.ValueType + mcc: builtins.str + mnc: builtins.str + osVersion: builtins.str + manufacturer: builtins.str + device: builtins.str + osBuildNumber: builtins.str + phoneID: builtins.str + releaseChannel: global___ClientPayload.UserAgent.ReleaseChannel.ValueType + localeLanguageIso6391: builtins.str + localeCountryIso31661Alpha2: builtins.str + deviceBoard: builtins.str + deviceExpID: builtins.str + deviceType: global___ClientPayload.UserAgent.DeviceType.ValueType + deviceModelType: builtins.str + @property + def appVersion(self) -> global___ClientPayload.UserAgent.AppVersion: ... + def __init__( + self, + *, + platform: global___ClientPayload.UserAgent.Platform.ValueType | None = ..., + appVersion: global___ClientPayload.UserAgent.AppVersion | None = ..., + mcc: builtins.str | None = ..., + mnc: builtins.str | None = ..., + osVersion: builtins.str | None = ..., + manufacturer: builtins.str | None = ..., + device: builtins.str | None = ..., + osBuildNumber: builtins.str | None = ..., + phoneID: builtins.str | None = ..., + releaseChannel: global___ClientPayload.UserAgent.ReleaseChannel.ValueType | None = ..., + localeLanguageIso6391: builtins.str | None = ..., + localeCountryIso31661Alpha2: builtins.str | None = ..., + deviceBoard: builtins.str | None = ..., + deviceExpID: builtins.str | None = ..., + deviceType: global___ClientPayload.UserAgent.DeviceType.ValueType | None = ..., + deviceModelType: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["appVersion", b"appVersion", "device", b"device", "deviceBoard", b"deviceBoard", "deviceExpID", b"deviceExpID", "deviceModelType", b"deviceModelType", "deviceType", b"deviceType", "localeCountryIso31661Alpha2", b"localeCountryIso31661Alpha2", "localeLanguageIso6391", b"localeLanguageIso6391", "manufacturer", b"manufacturer", "mcc", b"mcc", "mnc", b"mnc", "osBuildNumber", b"osBuildNumber", "osVersion", b"osVersion", "phoneID", b"phoneID", "platform", b"platform", "releaseChannel", b"releaseChannel"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["appVersion", b"appVersion", "device", b"device", "deviceBoard", b"deviceBoard", "deviceExpID", b"deviceExpID", "deviceModelType", b"deviceModelType", "deviceType", b"deviceType", "localeCountryIso31661Alpha2", b"localeCountryIso31661Alpha2", "localeLanguageIso6391", b"localeLanguageIso6391", "manufacturer", b"manufacturer", "mcc", b"mcc", "mnc", b"mnc", "osBuildNumber", b"osBuildNumber", "osVersion", b"osVersion", "phoneID", b"phoneID", "platform", b"platform", "releaseChannel", b"releaseChannel"]) -> None: ... + + @typing.final + class InteropData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ACCOUNTID_FIELD_NUMBER: builtins.int + TOKEN_FIELD_NUMBER: builtins.int + ENABLEREADRECEIPTS_FIELD_NUMBER: builtins.int + accountID: builtins.int + token: builtins.bytes + enableReadReceipts: builtins.bool + def __init__( + self, + *, + accountID: builtins.int | None = ..., + token: builtins.bytes | None = ..., + enableReadReceipts: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accountID", b"accountID", "enableReadReceipts", b"enableReadReceipts", "token", b"token"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accountID", b"accountID", "enableReadReceipts", b"enableReadReceipts", "token", b"token"]) -> None: ... + + @typing.final + class DevicePairingRegistrationData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EREGID_FIELD_NUMBER: builtins.int + EKEYTYPE_FIELD_NUMBER: builtins.int + EIDENT_FIELD_NUMBER: builtins.int + ESKEYID_FIELD_NUMBER: builtins.int + ESKEYVAL_FIELD_NUMBER: builtins.int + ESKEYSIG_FIELD_NUMBER: builtins.int + BUILDHASH_FIELD_NUMBER: builtins.int + DEVICEPROPS_FIELD_NUMBER: builtins.int + eRegid: builtins.bytes + eKeytype: builtins.bytes + eIdent: builtins.bytes + eSkeyID: builtins.bytes + eSkeyVal: builtins.bytes + eSkeySig: builtins.bytes + buildHash: builtins.bytes + deviceProps: builtins.bytes + def __init__( + self, + *, + eRegid: builtins.bytes | None = ..., + eKeytype: builtins.bytes | None = ..., + eIdent: builtins.bytes | None = ..., + eSkeyID: builtins.bytes | None = ..., + eSkeyVal: builtins.bytes | None = ..., + eSkeySig: builtins.bytes | None = ..., + buildHash: builtins.bytes | None = ..., + deviceProps: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["buildHash", b"buildHash", "deviceProps", b"deviceProps", "eIdent", b"eIdent", "eKeytype", b"eKeytype", "eRegid", b"eRegid", "eSkeyID", b"eSkeyID", "eSkeySig", b"eSkeySig", "eSkeyVal", b"eSkeyVal"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["buildHash", b"buildHash", "deviceProps", b"deviceProps", "eIdent", b"eIdent", "eKeytype", b"eKeytype", "eRegid", b"eRegid", "eSkeyID", b"eSkeyID", "eSkeySig", b"eSkeySig", "eSkeyVal", b"eSkeyVal"]) -> None: ... + + USERNAME_FIELD_NUMBER: builtins.int + PASSIVE_FIELD_NUMBER: builtins.int + USERAGENT_FIELD_NUMBER: builtins.int + WEBINFO_FIELD_NUMBER: builtins.int + PUSHNAME_FIELD_NUMBER: builtins.int + SESSIONID_FIELD_NUMBER: builtins.int + SHORTCONNECT_FIELD_NUMBER: builtins.int + CONNECTTYPE_FIELD_NUMBER: builtins.int + CONNECTREASON_FIELD_NUMBER: builtins.int + SHARDS_FIELD_NUMBER: builtins.int + DNSSOURCE_FIELD_NUMBER: builtins.int + CONNECTATTEMPTCOUNT_FIELD_NUMBER: builtins.int + DEVICE_FIELD_NUMBER: builtins.int + DEVICEPAIRINGDATA_FIELD_NUMBER: builtins.int + PRODUCT_FIELD_NUMBER: builtins.int + FBCAT_FIELD_NUMBER: builtins.int + FBUSERAGENT_FIELD_NUMBER: builtins.int + OC_FIELD_NUMBER: builtins.int + LC_FIELD_NUMBER: builtins.int + IOSAPPEXTENSION_FIELD_NUMBER: builtins.int + FBAPPID_FIELD_NUMBER: builtins.int + FBDEVICEID_FIELD_NUMBER: builtins.int + PULL_FIELD_NUMBER: builtins.int + PADDINGBYTES_FIELD_NUMBER: builtins.int + YEARCLASS_FIELD_NUMBER: builtins.int + MEMCLASS_FIELD_NUMBER: builtins.int + INTEROPDATA_FIELD_NUMBER: builtins.int + TRAFFICANONYMIZATION_FIELD_NUMBER: builtins.int + LIDDBMIGRATED_FIELD_NUMBER: builtins.int + ACCOUNTTYPE_FIELD_NUMBER: builtins.int + CONNECTIONSEQUENCEINFO_FIELD_NUMBER: builtins.int + PAALINK_FIELD_NUMBER: builtins.int + PREACKSCOUNT_FIELD_NUMBER: builtins.int + PROCESSINGQUEUESIZE_FIELD_NUMBER: builtins.int + username: builtins.int + passive: builtins.bool + pushName: builtins.str + sessionID: builtins.int + shortConnect: builtins.bool + connectType: global___ClientPayload.ConnectType.ValueType + connectReason: global___ClientPayload.ConnectReason.ValueType + connectAttemptCount: builtins.int + device: builtins.int + product: global___ClientPayload.Product.ValueType + fbCat: builtins.bytes + fbUserAgent: builtins.bytes + oc: builtins.bool + lc: builtins.int + iosAppExtension: global___ClientPayload.IOSAppExtension.ValueType + fbAppID: builtins.int + fbDeviceID: builtins.bytes + pull: builtins.bool + paddingBytes: builtins.bytes + yearClass: builtins.int + memClass: builtins.int + trafficAnonymization: global___ClientPayload.TrafficAnonymization.ValueType + lidDbMigrated: builtins.bool + accountType: global___ClientPayload.AccountType.ValueType + connectionSequenceInfo: builtins.int + paaLink: builtins.bool + preacksCount: builtins.int + processingQueueSize: builtins.int + @property + def userAgent(self) -> global___ClientPayload.UserAgent: ... + @property + def webInfo(self) -> global___ClientPayload.WebInfo: ... + @property + def shards(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ... + @property + def dnsSource(self) -> global___ClientPayload.DNSSource: ... + @property + def devicePairingData(self) -> global___ClientPayload.DevicePairingRegistrationData: ... + @property + def interopData(self) -> global___ClientPayload.InteropData: ... + def __init__( + self, + *, + username: builtins.int | None = ..., + passive: builtins.bool | None = ..., + userAgent: global___ClientPayload.UserAgent | None = ..., + webInfo: global___ClientPayload.WebInfo | None = ..., + pushName: builtins.str | None = ..., + sessionID: builtins.int | None = ..., + shortConnect: builtins.bool | None = ..., + connectType: global___ClientPayload.ConnectType.ValueType | None = ..., + connectReason: global___ClientPayload.ConnectReason.ValueType | None = ..., + shards: collections.abc.Iterable[builtins.int] | None = ..., + dnsSource: global___ClientPayload.DNSSource | None = ..., + connectAttemptCount: builtins.int | None = ..., + device: builtins.int | None = ..., + devicePairingData: global___ClientPayload.DevicePairingRegistrationData | None = ..., + product: global___ClientPayload.Product.ValueType | None = ..., + fbCat: builtins.bytes | None = ..., + fbUserAgent: builtins.bytes | None = ..., + oc: builtins.bool | None = ..., + lc: builtins.int | None = ..., + iosAppExtension: global___ClientPayload.IOSAppExtension.ValueType | None = ..., + fbAppID: builtins.int | None = ..., + fbDeviceID: builtins.bytes | None = ..., + pull: builtins.bool | None = ..., + paddingBytes: builtins.bytes | None = ..., + yearClass: builtins.int | None = ..., + memClass: builtins.int | None = ..., + interopData: global___ClientPayload.InteropData | None = ..., + trafficAnonymization: global___ClientPayload.TrafficAnonymization.ValueType | None = ..., + lidDbMigrated: builtins.bool | None = ..., + accountType: global___ClientPayload.AccountType.ValueType | None = ..., + connectionSequenceInfo: builtins.int | None = ..., + paaLink: builtins.bool | None = ..., + preacksCount: builtins.int | None = ..., + processingQueueSize: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["accountType", b"accountType", "connectAttemptCount", b"connectAttemptCount", "connectReason", b"connectReason", "connectType", b"connectType", "connectionSequenceInfo", b"connectionSequenceInfo", "device", b"device", "devicePairingData", b"devicePairingData", "dnsSource", b"dnsSource", "fbAppID", b"fbAppID", "fbCat", b"fbCat", "fbDeviceID", b"fbDeviceID", "fbUserAgent", b"fbUserAgent", "interopData", b"interopData", "iosAppExtension", b"iosAppExtension", "lc", b"lc", "lidDbMigrated", b"lidDbMigrated", "memClass", b"memClass", "oc", b"oc", "paaLink", b"paaLink", "paddingBytes", b"paddingBytes", "passive", b"passive", "preacksCount", b"preacksCount", "processingQueueSize", b"processingQueueSize", "product", b"product", "pull", b"pull", "pushName", b"pushName", "sessionID", b"sessionID", "shortConnect", b"shortConnect", "trafficAnonymization", b"trafficAnonymization", "userAgent", b"userAgent", "username", b"username", "webInfo", b"webInfo", "yearClass", b"yearClass"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["accountType", b"accountType", "connectAttemptCount", b"connectAttemptCount", "connectReason", b"connectReason", "connectType", b"connectType", "connectionSequenceInfo", b"connectionSequenceInfo", "device", b"device", "devicePairingData", b"devicePairingData", "dnsSource", b"dnsSource", "fbAppID", b"fbAppID", "fbCat", b"fbCat", "fbDeviceID", b"fbDeviceID", "fbUserAgent", b"fbUserAgent", "interopData", b"interopData", "iosAppExtension", b"iosAppExtension", "lc", b"lc", "lidDbMigrated", b"lidDbMigrated", "memClass", b"memClass", "oc", b"oc", "paaLink", b"paaLink", "paddingBytes", b"paddingBytes", "passive", b"passive", "preacksCount", b"preacksCount", "processingQueueSize", b"processingQueueSize", "product", b"product", "pull", b"pull", "pushName", b"pushName", "sessionID", b"sessionID", "shards", b"shards", "shortConnect", b"shortConnect", "trafficAnonymization", b"trafficAnonymization", "userAgent", b"userAgent", "username", b"username", "webInfo", b"webInfo", "yearClass", b"yearClass"]) -> None: ... + +global___ClientPayload = ClientPayload + +@typing.final +class HandshakeMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class ClientFinish(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + STATIC_FIELD_NUMBER: builtins.int + PAYLOAD_FIELD_NUMBER: builtins.int + EXTENDEDCIPHERTEXT_FIELD_NUMBER: builtins.int + static: builtins.bytes + payload: builtins.bytes + extendedCiphertext: builtins.bytes + def __init__( + self, + *, + static: builtins.bytes | None = ..., + payload: builtins.bytes | None = ..., + extendedCiphertext: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["extendedCiphertext", b"extendedCiphertext", "payload", b"payload", "static", b"static"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["extendedCiphertext", b"extendedCiphertext", "payload", b"payload", "static", b"static"]) -> None: ... + + @typing.final + class ServerHello(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EPHEMERAL_FIELD_NUMBER: builtins.int + STATIC_FIELD_NUMBER: builtins.int + PAYLOAD_FIELD_NUMBER: builtins.int + EXTENDEDSTATIC_FIELD_NUMBER: builtins.int + ephemeral: builtins.bytes + static: builtins.bytes + payload: builtins.bytes + extendedStatic: builtins.bytes + def __init__( + self, + *, + ephemeral: builtins.bytes | None = ..., + static: builtins.bytes | None = ..., + payload: builtins.bytes | None = ..., + extendedStatic: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ephemeral", b"ephemeral", "extendedStatic", b"extendedStatic", "payload", b"payload", "static", b"static"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ephemeral", b"ephemeral", "extendedStatic", b"extendedStatic", "payload", b"payload", "static", b"static"]) -> None: ... + + @typing.final + class ClientHello(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EPHEMERAL_FIELD_NUMBER: builtins.int + STATIC_FIELD_NUMBER: builtins.int + PAYLOAD_FIELD_NUMBER: builtins.int + USEEXTENDED_FIELD_NUMBER: builtins.int + EXTENDEDCIPHERTEXT_FIELD_NUMBER: builtins.int + ephemeral: builtins.bytes + static: builtins.bytes + payload: builtins.bytes + useExtended: builtins.bool + extendedCiphertext: builtins.bytes + def __init__( + self, + *, + ephemeral: builtins.bytes | None = ..., + static: builtins.bytes | None = ..., + payload: builtins.bytes | None = ..., + useExtended: builtins.bool | None = ..., + extendedCiphertext: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ephemeral", b"ephemeral", "extendedCiphertext", b"extendedCiphertext", "payload", b"payload", "static", b"static", "useExtended", b"useExtended"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ephemeral", b"ephemeral", "extendedCiphertext", b"extendedCiphertext", "payload", b"payload", "static", b"static", "useExtended", b"useExtended"]) -> None: ... + + CLIENTHELLO_FIELD_NUMBER: builtins.int + SERVERHELLO_FIELD_NUMBER: builtins.int + CLIENTFINISH_FIELD_NUMBER: builtins.int + @property + def clientHello(self) -> global___HandshakeMessage.ClientHello: ... + @property + def serverHello(self) -> global___HandshakeMessage.ServerHello: ... + @property + def clientFinish(self) -> global___HandshakeMessage.ClientFinish: ... + def __init__( + self, + *, + clientHello: global___HandshakeMessage.ClientHello | None = ..., + serverHello: global___HandshakeMessage.ServerHello | None = ..., + clientFinish: global___HandshakeMessage.ClientFinish | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["clientFinish", b"clientFinish", "clientHello", b"clientHello", "serverHello", b"serverHello"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clientFinish", b"clientFinish", "clientHello", b"clientHello", "serverHello", b"serverHello"]) -> None: ... + +global___HandshakeMessage = HandshakeMessage diff --git a/neonize/proto/waWeb/WAWebProtobufsWeb_pb2.py b/neonize/proto/waWeb/WAWebProtobufsWeb_pb2.py new file mode 100644 index 00000000..d679ac0b --- /dev/null +++ b/neonize/proto/waWeb/WAWebProtobufsWeb_pb2.py @@ -0,0 +1,113 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waWeb/WAWebProtobufsWeb.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waWeb/WAWebProtobufsWeb.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from waE2E import WAWebProtobufsE2E_pb2 as waE2E_dot_WAWebProtobufsE2E__pb2 +from waCommon import WACommon_pb2 as waCommon_dot_WACommon__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dwaWeb/WAWebProtobufsWeb.proto\x12\x11WAWebProtobufsWeb\x1a\x1dwaE2E/WAWebProtobufsE2E.proto\x1a\x17waCommon/WACommon.proto\"\xf5Q\n\x0eWebMessageInfo\x12!\n\x03key\x18\x01 \x02(\x0b\x32\x14.WACommon.MessageKey\x12+\n\x07message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x18\n\x10messageTimestamp\x18\x03 \x01(\x04\x12\x38\n\x06status\x18\x04 \x01(\x0e\x32(.WAWebProtobufsWeb.WebMessageInfo.Status\x12\x13\n\x0bparticipant\x18\x05 \x01(\t\x12\x1b\n\x13messageC2STimestamp\x18\x06 \x01(\x04\x12\x0e\n\x06ignore\x18\x10 \x01(\x08\x12\x0f\n\x07starred\x18\x11 \x01(\x08\x12\x11\n\tbroadcast\x18\x12 \x01(\x08\x12\x10\n\x08pushName\x18\x13 \x01(\t\x12\x1d\n\x15mediaCiphertextSHA256\x18\x14 \x01(\x0c\x12\x11\n\tmulticast\x18\x15 \x01(\x08\x12\x0f\n\x07urlText\x18\x16 \x01(\x08\x12\x11\n\turlNumber\x18\x17 \x01(\x08\x12\x43\n\x0fmessageStubType\x18\x18 \x01(\x0e\x32*.WAWebProtobufsWeb.WebMessageInfo.StubType\x12\x12\n\nclearMedia\x18\x19 \x01(\x08\x12\x1d\n\x15messageStubParameters\x18\x1a \x03(\t\x12\x10\n\x08\x64uration\x18\x1b \x01(\r\x12\x0e\n\x06labels\x18\x1c \x03(\t\x12\x33\n\x0bpaymentInfo\x18\x1d \x01(\x0b\x32\x1e.WAWebProtobufsWeb.PaymentInfo\x12\x41\n\x11\x66inalLiveLocation\x18\x1e \x01(\x0b\x32&.WAWebProtobufsE2E.LiveLocationMessage\x12\x39\n\x11quotedPaymentInfo\x18\x1f \x01(\x0b\x32\x1e.WAWebProtobufsWeb.PaymentInfo\x12\x1f\n\x17\x65phemeralStartTimestamp\x18 \x01(\x04\x12\x19\n\x11\x65phemeralDuration\x18! \x01(\r\x12\x18\n\x10\x65phemeralOffToOn\x18\" \x01(\x08\x12\x1a\n\x12\x65phemeralOutOfSync\x18# \x01(\x08\x12L\n\x10\x62izPrivacyStatus\x18$ \x01(\x0e\x32\x32.WAWebProtobufsWeb.WebMessageInfo.BizPrivacyStatus\x12\x17\n\x0fverifiedBizName\x18% \x01(\t\x12/\n\tmediaData\x18& \x01(\x0b\x32\x1c.WAWebProtobufsWeb.MediaData\x12\x33\n\x0bphotoChange\x18\' \x01(\x0b\x32\x1e.WAWebProtobufsWeb.PhotoChange\x12\x33\n\x0buserReceipt\x18( \x03(\x0b\x32\x1e.WAWebProtobufsWeb.UserReceipt\x12.\n\treactions\x18) \x03(\x0b\x32\x1b.WAWebProtobufsWeb.Reaction\x12\x37\n\x11quotedStickerData\x18* \x01(\x0b\x32\x1c.WAWebProtobufsWeb.MediaData\x12\x17\n\x0f\x66utureproofData\x18+ \x01(\x0c\x12/\n\tstatusPsa\x18, \x01(\x0b\x32\x1c.WAWebProtobufsWeb.StatusPSA\x12\x32\n\x0bpollUpdates\x18- \x03(\x0b\x32\x1d.WAWebProtobufsWeb.PollUpdate\x12I\n\x16pollAdditionalMetadata\x18. \x01(\x0b\x32).WAWebProtobufsWeb.PollAdditionalMetadata\x12\x0f\n\x07\x61gentID\x18/ \x01(\t\x12\x1b\n\x13statusAlreadyViewed\x18\x30 \x01(\x08\x12\x15\n\rmessageSecret\x18\x31 \x01(\x0c\x12\x31\n\nkeepInChat\x18\x32 \x01(\x0b\x32\x1d.WAWebProtobufsWeb.KeepInChat\x12\'\n\x1foriginalSelfAuthorUserJIDString\x18\x33 \x01(\t\x12\x1e\n\x16revokeMessageTimestamp\x18\x34 \x01(\x04\x12/\n\tpinInChat\x18\x36 \x01(\x0b\x32\x1c.WAWebProtobufsWeb.PinInChat\x12\x41\n\x12premiumMessageInfo\x18\x37 \x01(\x0b\x32%.WAWebProtobufsWeb.PremiumMessageInfo\x12\x19\n\x11is1PBizBotMessage\x18\x38 \x01(\x08\x12\x1d\n\x15isGroupHistoryMessage\x18\x39 \x01(\x08\x12\x1c\n\x14\x62otMessageInvokerJID\x18: \x01(\t\x12;\n\x0f\x63ommentMetadata\x18; \x01(\x0b\x32\".WAWebProtobufsWeb.CommentMetadata\x12\x38\n\x0e\x65ventResponses\x18= \x03(\x0b\x32 .WAWebProtobufsWeb.EventResponse\x12\x41\n\x12reportingTokenInfo\x18> \x01(\x0b\x32%.WAWebProtobufsWeb.ReportingTokenInfo\x12\x1a\n\x12newsletterServerID\x18? \x01(\x04\x12K\n\x17\x65ventAdditionalMetadata\x18@ \x01(\x0b\x32*.WAWebProtobufsWeb.EventAdditionalMetadata\x12\x1b\n\x13isMentionedInStatus\x18\x41 \x01(\x08\x12\x16\n\x0estatusMentions\x18\x42 \x03(\t\x12-\n\x0ftargetMessageID\x18\x43 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x36\n\rmessageAddOns\x18\x44 \x03(\x0b\x32\x1f.WAWebProtobufsWeb.MessageAddOn\x12I\n\x18statusMentionMessageInfo\x18\x45 \x01(\x0b\x32\'.WAWebProtobufsWeb.StatusMentionMessage\x12\x1a\n\x12isSupportAiMessage\x18\x46 \x01(\x08\x12\x1c\n\x14statusMentionSources\x18G \x03(\t\x12\x37\n\x12supportAiCitations\x18H \x03(\x0b\x32\x1b.WAWebProtobufsWeb.Citation\x12\x13\n\x0b\x62otTargetID\x18I \x01(\t\x12_\n!groupHistoryIndividualMessageInfo\x18J \x01(\x0b\x32\x34.WAWebProtobufsWeb.GroupHistoryIndividualMessageInfo\x12I\n\x16groupHistoryBundleInfo\x18K \x01(\x0b\x32).WAWebProtobufsWeb.GroupHistoryBundleInfo\x12\x65\n$interactiveMessageAdditionalMetadata\x18L \x01(\x0b\x32\x37.WAWebProtobufsWeb.InteractiveMessageAdditionalMetadata\x12\x41\n\x12quarantinedMessage\x18M \x01(\x0b\x32%.WAWebProtobufsWeb.QuarantinedMessage\"=\n\x10\x42izPrivacyStatus\x12\x08\n\x04\x45\x32\x45\x45\x10\x00\x12\x06\n\x02\x46\x42\x10\x02\x12\x07\n\x03\x42SP\x10\x01\x12\x0e\n\nBSP_AND_FB\x10\x03\"\xef:\n\x08StubType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06REVOKE\x10\x01\x12\x0e\n\nCIPHERTEXT\x10\x02\x12\x0f\n\x0b\x46UTUREPROOF\x10\x03\x12\x1b\n\x17NON_VERIFIED_TRANSITION\x10\x04\x12\x19\n\x15UNVERIFIED_TRANSITION\x10\x05\x12\x17\n\x13VERIFIED_TRANSITION\x10\x06\x12\x18\n\x14VERIFIED_LOW_UNKNOWN\x10\x07\x12\x11\n\rVERIFIED_HIGH\x10\x08\x12\x1c\n\x18VERIFIED_INITIAL_UNKNOWN\x10\t\x12\x18\n\x14VERIFIED_INITIAL_LOW\x10\n\x12\x19\n\x15VERIFIED_INITIAL_HIGH\x10\x0b\x12#\n\x1fVERIFIED_TRANSITION_ANY_TO_NONE\x10\x0c\x12#\n\x1fVERIFIED_TRANSITION_ANY_TO_HIGH\x10\r\x12#\n\x1fVERIFIED_TRANSITION_HIGH_TO_LOW\x10\x0e\x12\'\n#VERIFIED_TRANSITION_HIGH_TO_UNKNOWN\x10\x0f\x12&\n\"VERIFIED_TRANSITION_UNKNOWN_TO_LOW\x10\x10\x12&\n\"VERIFIED_TRANSITION_LOW_TO_UNKNOWN\x10\x11\x12#\n\x1fVERIFIED_TRANSITION_NONE_TO_LOW\x10\x12\x12\'\n#VERIFIED_TRANSITION_NONE_TO_UNKNOWN\x10\x13\x12\x10\n\x0cGROUP_CREATE\x10\x14\x12\x18\n\x14GROUP_CHANGE_SUBJECT\x10\x15\x12\x15\n\x11GROUP_CHANGE_ICON\x10\x16\x12\x1c\n\x18GROUP_CHANGE_INVITE_LINK\x10\x17\x12\x1c\n\x18GROUP_CHANGE_DESCRIPTION\x10\x18\x12\x19\n\x15GROUP_CHANGE_RESTRICT\x10\x19\x12\x19\n\x15GROUP_CHANGE_ANNOUNCE\x10\x1a\x12\x19\n\x15GROUP_PARTICIPANT_ADD\x10\x1b\x12\x1c\n\x18GROUP_PARTICIPANT_REMOVE\x10\x1c\x12\x1d\n\x19GROUP_PARTICIPANT_PROMOTE\x10\x1d\x12\x1c\n\x18GROUP_PARTICIPANT_DEMOTE\x10\x1e\x12\x1c\n\x18GROUP_PARTICIPANT_INVITE\x10\x1f\x12\x1b\n\x17GROUP_PARTICIPANT_LEAVE\x10 \x12#\n\x1fGROUP_PARTICIPANT_CHANGE_NUMBER\x10!\x12\x14\n\x10\x42ROADCAST_CREATE\x10\"\x12\x11\n\rBROADCAST_ADD\x10#\x12\x14\n\x10\x42ROADCAST_REMOVE\x10$\x12\x18\n\x14GENERIC_NOTIFICATION\x10%\x12\x18\n\x14\x45\x32\x45_IDENTITY_CHANGED\x10&\x12\x11\n\rE2E_ENCRYPTED\x10\'\x12\x15\n\x11\x43\x41LL_MISSED_VOICE\x10(\x12\x15\n\x11\x43\x41LL_MISSED_VIDEO\x10)\x12\x1c\n\x18INDIVIDUAL_CHANGE_NUMBER\x10*\x12\x10\n\x0cGROUP_DELETE\x10+\x12&\n\"GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE\x10,\x12\x1b\n\x17\x43\x41LL_MISSED_GROUP_VOICE\x10-\x12\x1b\n\x17\x43\x41LL_MISSED_GROUP_VIDEO\x10.\x12\x16\n\x12PAYMENT_CIPHERTEXT\x10/\x12\x17\n\x13PAYMENT_FUTUREPROOF\x10\x30\x12,\n(PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED\x10\x31\x12.\n*PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED\x10\x32\x12\x33\n/PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED\x10\x33\x12\x35\n1PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP\x10\x34\x12<\n8PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP\x10\x35\x12)\n%PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER\x10\x36\x12(\n$PAYMENT_ACTION_SEND_PAYMENT_REMINDER\x10\x37\x12*\n&PAYMENT_ACTION_SEND_PAYMENT_INVITATION\x10\x38\x12#\n\x1fPAYMENT_ACTION_REQUEST_DECLINED\x10\x39\x12\"\n\x1ePAYMENT_ACTION_REQUEST_EXPIRED\x10:\x12$\n PAYMENT_ACTION_REQUEST_CANCELLED\x10;\x12)\n%BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM\x10<\x12)\n%BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP\x10=\x12\x11\n\rBIZ_INTRO_TOP\x10>\x12\x14\n\x10\x42IZ_INTRO_BOTTOM\x10?\x12\x13\n\x0f\x42IZ_NAME_CHANGE\x10@\x12\x1c\n\x18\x42IZ_MOVE_TO_CONSUMER_APP\x10\x41\x12\x1e\n\x1a\x42IZ_TWO_TIER_MIGRATION_TOP\x10\x42\x12!\n\x1d\x42IZ_TWO_TIER_MIGRATION_BOTTOM\x10\x43\x12\r\n\tOVERSIZED\x10\x44\x12(\n$GROUP_CHANGE_NO_FREQUENTLY_FORWARDED\x10\x45\x12\x1c\n\x18GROUP_V4_ADD_INVITE_SENT\x10\x46\x12&\n\"GROUP_PARTICIPANT_ADD_REQUEST_JOIN\x10G\x12\x1c\n\x18\x43HANGE_EPHEMERAL_SETTING\x10H\x12\x16\n\x12\x45\x32\x45_DEVICE_CHANGED\x10I\x12\x0f\n\x0bVIEWED_ONCE\x10J\x12\x15\n\x11\x45\x32\x45_ENCRYPTED_NOW\x10K\x12\"\n\x1e\x42LUE_MSG_BSP_FB_TO_BSP_PREMISE\x10L\x12\x1e\n\x1a\x42LUE_MSG_BSP_FB_TO_SELF_FB\x10M\x12#\n\x1f\x42LUE_MSG_BSP_FB_TO_SELF_PREMISE\x10N\x12\x1e\n\x1a\x42LUE_MSG_BSP_FB_UNVERIFIED\x10O\x12\x37\n3BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED\x10P\x12\x1c\n\x18\x42LUE_MSG_BSP_FB_VERIFIED\x10Q\x12\x37\n3BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED\x10R\x12(\n$BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE\x10S\x12#\n\x1f\x42LUE_MSG_BSP_PREMISE_UNVERIFIED\x10T\x12<\n8BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED\x10U\x12!\n\x1d\x42LUE_MSG_BSP_PREMISE_VERIFIED\x10V\x12<\n8BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED\x10W\x12*\n&BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED\x10X\x12/\n+BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED\x10Y\x12+\n\'BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED\x10Z\x12\x30\n,BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED\x10[\x12#\n\x1f\x42LUE_MSG_SELF_FB_TO_BSP_PREMISE\x10\\\x12$\n BLUE_MSG_SELF_FB_TO_SELF_PREMISE\x10]\x12\x1f\n\x1b\x42LUE_MSG_SELF_FB_UNVERIFIED\x10^\x12\x38\n4BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED\x10_\x12\x1d\n\x19\x42LUE_MSG_SELF_FB_VERIFIED\x10`\x12\x38\n4BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED\x10\x61\x12(\n$BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE\x10\x62\x12$\n BLUE_MSG_SELF_PREMISE_UNVERIFIED\x10\x63\x12\"\n\x1e\x42LUE_MSG_SELF_PREMISE_VERIFIED\x10\x64\x12\x16\n\x12\x42LUE_MSG_TO_BSP_FB\x10\x65\x12\x18\n\x14\x42LUE_MSG_TO_CONSUMER\x10\x66\x12\x17\n\x13\x42LUE_MSG_TO_SELF_FB\x10g\x12*\n&BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED\x10h\x12/\n+BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED\x10i\x12+\n\'BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED\x10j\x12#\n\x1f\x42LUE_MSG_UNVERIFIED_TO_VERIFIED\x10k\x12*\n&BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED\x10l\x12/\n+BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED\x10m\x12+\n\'BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED\x10n\x12#\n\x1f\x42LUE_MSG_VERIFIED_TO_UNVERIFIED\x10o\x12\x36\n2BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED\x10p\x12\x32\n.BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED\x10q\x12\x36\n2BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED\x10r\x12\x32\n.BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED\x10s\x12\x37\n3BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED\x10t\x12\x37\n3BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED\x10u\x12\x1c\n\x18\x45\x32\x45_IDENTITY_UNAVAILABLE\x10v\x12\x12\n\x0eGROUP_CREATING\x10w\x12\x17\n\x13GROUP_CREATE_FAILED\x10x\x12\x11\n\rGROUP_BOUNCED\x10y\x12\x11\n\rBLOCK_CONTACT\x10z\x12!\n\x1d\x45PHEMERAL_SETTING_NOT_APPLIED\x10{\x12\x0f\n\x0bSYNC_FAILED\x10|\x12\x0b\n\x07SYNCING\x10}\x12\x1c\n\x18\x42IZ_PRIVACY_MODE_INIT_FB\x10~\x12\x1d\n\x19\x42IZ_PRIVACY_MODE_INIT_BSP\x10\x7f\x12\x1b\n\x16\x42IZ_PRIVACY_MODE_TO_FB\x10\x80\x01\x12\x1c\n\x17\x42IZ_PRIVACY_MODE_TO_BSP\x10\x81\x01\x12\x16\n\x11\x44ISAPPEARING_MODE\x10\x82\x01\x12\x1c\n\x17\x45\x32\x45_DEVICE_FETCH_FAILED\x10\x83\x01\x12\x11\n\x0c\x41\x44MIN_REVOKE\x10\x84\x01\x12$\n\x1fGROUP_INVITE_LINK_GROWTH_LOCKED\x10\x85\x01\x12 \n\x1b\x43OMMUNITY_LINK_PARENT_GROUP\x10\x86\x01\x12!\n\x1c\x43OMMUNITY_LINK_SIBLING_GROUP\x10\x87\x01\x12\x1d\n\x18\x43OMMUNITY_LINK_SUB_GROUP\x10\x88\x01\x12\"\n\x1d\x43OMMUNITY_UNLINK_PARENT_GROUP\x10\x89\x01\x12#\n\x1e\x43OMMUNITY_UNLINK_SIBLING_GROUP\x10\x8a\x01\x12\x1f\n\x1a\x43OMMUNITY_UNLINK_SUB_GROUP\x10\x8b\x01\x12\x1d\n\x18GROUP_PARTICIPANT_ACCEPT\x10\x8c\x01\x12(\n#GROUP_PARTICIPANT_LINKED_GROUP_JOIN\x10\x8d\x01\x12\x15\n\x10\x43OMMUNITY_CREATE\x10\x8e\x01\x12\x1b\n\x16\x45PHEMERAL_KEEP_IN_CHAT\x10\x8f\x01\x12+\n&GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST\x10\x90\x01\x12(\n#GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE\x10\x91\x01\x12\"\n\x1dINTEGRITY_UNLINK_PARENT_GROUP\x10\x92\x01\x12\"\n\x1d\x43OMMUNITY_PARTICIPANT_PROMOTE\x10\x93\x01\x12!\n\x1c\x43OMMUNITY_PARTICIPANT_DEMOTE\x10\x94\x01\x12#\n\x1e\x43OMMUNITY_PARENT_GROUP_DELETED\x10\x95\x01\x12\x34\n/COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL\x10\x96\x01\x12\x34\n/GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP\x10\x97\x01\x12\x1a\n\x15MASKED_THREAD_CREATED\x10\x98\x01\x12\x1b\n\x16MASKED_THREAD_UNMASKED\x10\x99\x01\x12\x18\n\x13\x42IZ_CHAT_ASSIGNMENT\x10\x9a\x01\x12\r\n\x08\x43HAT_PSA\x10\x9b\x01\x12\x1f\n\x1a\x43HAT_POLL_CREATION_MESSAGE\x10\x9c\x01\x12\x1e\n\x19\x43\x41G_MASKED_THREAD_CREATED\x10\x9d\x01\x12+\n&COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED\x10\x9e\x01\x12\x18\n\x13\x43\x41G_INVITE_AUTO_ADD\x10\x9f\x01\x12!\n\x1c\x42IZ_CHAT_ASSIGNMENT_UNASSIGN\x10\xa0\x01\x12\x1b\n\x16\x43\x41G_INVITE_AUTO_JOINED\x10\xa1\x01\x12!\n\x1cSCHEDULED_CALL_START_MESSAGE\x10\xa2\x01\x12\x1a\n\x15\x43OMMUNITY_INVITE_RICH\x10\xa3\x01\x12#\n\x1e\x43OMMUNITY_INVITE_AUTO_ADD_RICH\x10\xa4\x01\x12\x1a\n\x15SUB_GROUP_INVITE_RICH\x10\xa5\x01\x12#\n\x1eSUB_GROUP_PARTICIPANT_ADD_RICH\x10\xa6\x01\x12%\n COMMUNITY_LINK_PARENT_GROUP_RICH\x10\xa7\x01\x12#\n\x1e\x43OMMUNITY_PARTICIPANT_ADD_RICH\x10\xa8\x01\x12\"\n\x1dSILENCED_UNKNOWN_CALLER_AUDIO\x10\xa9\x01\x12\"\n\x1dSILENCED_UNKNOWN_CALLER_VIDEO\x10\xaa\x01\x12\x1a\n\x15GROUP_MEMBER_ADD_MODE\x10\xab\x01\x12\x39\n4GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD\x10\xac\x01\x12!\n\x1c\x43OMMUNITY_CHANGE_DESCRIPTION\x10\xad\x01\x12\x12\n\rSENDER_INVITE\x10\xae\x01\x12\x14\n\x0fRECEIVER_INVITE\x10\xaf\x01\x12(\n#COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS\x10\xb0\x01\x12\x1b\n\x16PINNED_MESSAGE_IN_CHAT\x10\xb1\x01\x12!\n\x1cPAYMENT_INVITE_SETUP_INVITER\x10\xb2\x01\x12.\n)PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY\x10\xb3\x01\x12\x32\n-PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE\x10\xb4\x01\x12\x1c\n\x17LINKED_GROUP_CALL_START\x10\xb5\x01\x12#\n\x1eREPORT_TO_ADMIN_ENABLED_STATUS\x10\xb6\x01\x12\x1a\n\x15\x45MPTY_SUBGROUP_CREATE\x10\xb7\x01\x12\x1a\n\x15SCHEDULED_CALL_CANCEL\x10\xb8\x01\x12+\n&SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH\x10\xb9\x01\x12(\n#GROUP_CHANGE_RECENT_HISTORY_SHARING\x10\xba\x01\x12$\n\x1fPAID_MESSAGE_SERVER_CAMPAIGN_ID\x10\xbb\x01\x12\x18\n\x13GENERAL_CHAT_CREATE\x10\xbc\x01\x12\x15\n\x10GENERAL_CHAT_ADD\x10\xbd\x01\x12#\n\x1eGENERAL_CHAT_AUTO_ADD_DISABLED\x10\xbe\x01\x12 \n\x1bSUGGESTED_SUBGROUP_ANNOUNCE\x10\xbf\x01\x12!\n\x1c\x42IZ_BOT_1P_MESSAGING_ENABLED\x10\xc0\x01\x12\x14\n\x0f\x43HANGE_USERNAME\x10\xc1\x01\x12\x1f\n\x1a\x42IZ_COEX_PRIVACY_INIT_SELF\x10\xc2\x01\x12%\n BIZ_COEX_PRIVACY_TRANSITION_SELF\x10\xc3\x01\x12\x19\n\x14SUPPORT_AI_EDUCATION\x10\xc4\x01\x12!\n\x1c\x42IZ_BOT_3P_MESSAGING_ENABLED\x10\xc5\x01\x12\x1b\n\x16REMINDER_SETUP_MESSAGE\x10\xc6\x01\x12\x1a\n\x15REMINDER_SENT_MESSAGE\x10\xc7\x01\x12\x1c\n\x17REMINDER_CANCEL_MESSAGE\x10\xc8\x01\x12\x1a\n\x15\x42IZ_COEX_PRIVACY_INIT\x10\xc9\x01\x12 \n\x1b\x42IZ_COEX_PRIVACY_TRANSITION\x10\xca\x01\x12\x16\n\x11GROUP_DEACTIVATED\x10\xcb\x01\x12\'\n\"COMMUNITY_DEACTIVATE_SIBLING_GROUP\x10\xcc\x01\x12\x12\n\rEVENT_UPDATED\x10\xcd\x01\x12\x13\n\x0e\x45VENT_CANCELED\x10\xce\x01\x12\x1c\n\x17\x43OMMUNITY_OWNER_UPDATED\x10\xcf\x01\x12*\n%COMMUNITY_SUB_GROUP_VISIBILITY_HIDDEN\x10\xd0\x01\x12$\n\x1f\x43\x41PI_GROUP_NE2EE_SYSTEM_MESSAGE\x10\xd1\x01\x12\x13\n\x0eSTATUS_MENTION\x10\xd2\x01\x12!\n\x1cUSER_CONTROLS_SYSTEM_MESSAGE\x10\xd3\x01\x12\x1b\n\x16SUPPORT_SYSTEM_MESSAGE\x10\xd4\x01\x12\x0f\n\nCHANGE_LID\x10\xd5\x01\x12\x31\n,BIZ_CUSTOMER_3PD_DATA_SHARING_OPT_IN_MESSAGE\x10\xd6\x01\x12\x32\n-BIZ_CUSTOMER_3PD_DATA_SHARING_OPT_OUT_MESSAGE\x10\xd7\x01\x12\x19\n\x14\x43HANGE_LIMIT_SHARING\x10\xd8\x01\x12\x1b\n\x16GROUP_MEMBER_LINK_MODE\x10\xd9\x01\x12\x32\n-BIZ_AUTOMATICALLY_LABELED_CHAT_SYSTEM_MESSAGE\x10\xda\x01\x12\x30\n+PHONE_NUMBER_HIDING_CHAT_DEPRECATED_MESSAGE\x10\xdb\x01\x12\x18\n\x13QUARANTINED_MESSAGE\x10\xdc\x01\"X\n\x06Status\x12\t\n\x05\x45RROR\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0e\n\nSERVER_ACK\x10\x02\x12\x10\n\x0c\x44\x45LIVERY_ACK\x10\x03\x12\x08\n\x04READ\x10\x04\x12\n\n\x06PLAYED\x10\x05\"\x94\x0b\n\x0bPaymentInfo\x12\x43\n\x12\x63urrencyDeprecated\x18\x01 \x01(\x0e\x32\'.WAWebProtobufsWeb.PaymentInfo.Currency\x12\x12\n\namount1000\x18\x02 \x01(\x04\x12\x13\n\x0breceiverJID\x18\x03 \x01(\t\x12\x35\n\x06status\x18\x04 \x01(\x0e\x32%.WAWebProtobufsWeb.PaymentInfo.Status\x12\x1c\n\x14transactionTimestamp\x18\x05 \x01(\x04\x12/\n\x11requestMessageKey\x18\x06 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x17\n\x0f\x65xpiryTimestamp\x18\x07 \x01(\x04\x12\x15\n\rfutureproofed\x18\x08 \x01(\x08\x12\x10\n\x08\x63urrency\x18\t \x01(\t\x12;\n\ttxnStatus\x18\n \x01(\x0e\x32(.WAWebProtobufsWeb.PaymentInfo.TxnStatus\x12\x19\n\x11useNoviFiatFormat\x18\x0b \x01(\x08\x12/\n\rprimaryAmount\x18\x0c \x01(\x0b\x32\x18.WAWebProtobufsE2E.Money\x12\x30\n\x0e\x65xchangeAmount\x18\r \x01(\x0b\x32\x18.WAWebProtobufsE2E.Money\"\x99\x05\n\tTxnStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rPENDING_SETUP\x10\x01\x12\x1a\n\x16PENDING_RECEIVER_SETUP\x10\x02\x12\x08\n\x04INIT\x10\x03\x12\x0b\n\x07SUCCESS\x10\x04\x12\r\n\tCOMPLETED\x10\x05\x12\n\n\x06\x46\x41ILED\x10\x06\x12\x0f\n\x0b\x46\x41ILED_RISK\x10\x07\x12\x15\n\x11\x46\x41ILED_PROCESSING\x10\x08\x12\x1e\n\x1a\x46\x41ILED_RECEIVER_PROCESSING\x10\t\x12\r\n\tFAILED_DA\x10\n\x12\x13\n\x0f\x46\x41ILED_DA_FINAL\x10\x0b\x12\x10\n\x0cREFUNDED_TXN\x10\x0c\x12\x11\n\rREFUND_FAILED\x10\r\x12\x1c\n\x18REFUND_FAILED_PROCESSING\x10\x0e\x12\x14\n\x10REFUND_FAILED_DA\x10\x0f\x12\x0f\n\x0b\x45XPIRED_TXN\x10\x10\x12\x11\n\rAUTH_CANCELED\x10\x11\x12!\n\x1d\x41UTH_CANCEL_FAILED_PROCESSING\x10\x12\x12\x16\n\x12\x41UTH_CANCEL_FAILED\x10\x13\x12\x10\n\x0c\x43OLLECT_INIT\x10\x14\x12\x13\n\x0f\x43OLLECT_SUCCESS\x10\x15\x12\x12\n\x0e\x43OLLECT_FAILED\x10\x16\x12\x17\n\x13\x43OLLECT_FAILED_RISK\x10\x17\x12\x14\n\x10\x43OLLECT_REJECTED\x10\x18\x12\x13\n\x0f\x43OLLECT_EXPIRED\x10\x19\x12\x14\n\x10\x43OLLECT_CANCELED\x10\x1a\x12\x16\n\x12\x43OLLECT_CANCELLING\x10\x1b\x12\r\n\tIN_REVIEW\x10\x1c\x12\x14\n\x10REVERSAL_SUCCESS\x10\x1d\x12\x14\n\x10REVERSAL_PENDING\x10\x1e\x12\x12\n\x0eREFUND_PENDING\x10\x1f\"\xcc\x01\n\x06Status\x12\x12\n\x0eUNKNOWN_STATUS\x10\x00\x12\x0e\n\nPROCESSING\x10\x01\x12\x08\n\x04SENT\x10\x02\x12\x12\n\x0eNEED_TO_ACCEPT\x10\x03\x12\x0c\n\x08\x43OMPLETE\x10\x04\x12\x16\n\x12\x43OULD_NOT_COMPLETE\x10\x05\x12\x0c\n\x08REFUNDED\x10\x06\x12\x0b\n\x07\x45XPIRED\x10\x07\x12\x0c\n\x08REJECTED\x10\x08\x12\r\n\tCANCELLED\x10\t\x12\x15\n\x11WAITING_FOR_PAYER\x10\n\x12\x0b\n\x07WAITING\x10\x0b\")\n\x08\x43urrency\x12\x14\n\x10UNKNOWN_CURRENCY\x10\x00\x12\x07\n\x03INR\x10\x01\"\xf7\x16\n\x0bWebFeatures\x12:\n\rlabelsDisplay\x18\x01 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x43\n\x16voipIndividualOutgoing\x18\x02 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x35\n\x08groupsV3\x18\x03 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12;\n\x0egroupsV3Create\x18\x04 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12;\n\x0e\x63hangeNumberV2\x18\x05 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x43\n\x16queryStatusV3Thumbnail\x18\x06 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12:\n\rliveLocations\x18\x07 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x37\n\nqueryVname\x18\x08 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x43\n\x16voipIndividualIncoming\x18\t \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12>\n\x11quickRepliesQuery\x18\n \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x35\n\x08payments\x18\x0b \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12=\n\x10stickerPackQuery\x18\x0c \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12?\n\x12liveLocationsFinal\x18\r \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x37\n\nlabelsEdit\x18\x0e \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x38\n\x0bmediaUpload\x18\x0f \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12H\n\x1bmediaUploadRichQuickReplies\x18\x12 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x34\n\x07vnameV2\x18\x13 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12=\n\x10videoPlaybackURL\x18\x14 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12:\n\rstatusRanking\x18\x15 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12@\n\x13voipIndividualVideo\x18\x16 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12?\n\x12thirdPartyStickers\x18\x17 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12G\n\x1a\x66requentlyForwardedSetting\x18\x18 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x43\n\x16groupsV4JoinPermission\x18\x19 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12;\n\x0erecentStickers\x18\x1a \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x34\n\x07\x63\x61talog\x18\x1b \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12<\n\x0fstarredStickers\x18\x1c \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12:\n\rvoipGroupCall\x18\x1d \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12<\n\x0ftemplateMessage\x18\x1e \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12I\n\x1ctemplateMessageInteractivity\x18\x1f \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12>\n\x11\x65phemeralMessages\x18 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12@\n\x13\x65\x32\x45NotificationSync\x18! \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12=\n\x10recentStickersV2\x18\" \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12=\n\x10recentStickersV3\x18$ \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x37\n\nuserNotice\x18% \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x34\n\x07support\x18\' \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12<\n\x0fgroupUiiCleanup\x18( \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12H\n\x1bgroupDogfoodingInternalOnly\x18) \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x39\n\x0csettingsSync\x18* \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x36\n\tarchiveV2\x18+ \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12G\n\x1a\x65phemeralAllowGroupMembers\x18, \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x41\n\x14\x65phemeral24HDuration\x18- \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12;\n\x0emdForceUpgrade\x18. \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12=\n\x10\x64isappearingMode\x18/ \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x45\n\x18\x65xternalMdOptInAvailable\x18\x30 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\x12\x45\n\x18noDeleteMessageTimeLimit\x18\x31 \x01(\x0e\x32#.WAWebProtobufsWeb.WebFeatures.Flag\"K\n\x04\x46lag\x12\x0f\n\x0bNOT_STARTED\x10\x00\x12\x11\n\rFORCE_UPGRADE\x10\x01\x12\x0f\n\x0b\x44\x45VELOPMENT\x10\x02\x12\x0e\n\nPRODUCTION\x10\x03\"\xa0\x02\n\tPinInChat\x12/\n\x04type\x18\x01 \x01(\x0e\x32!.WAWebProtobufsWeb.PinInChat.Type\x12!\n\x03key\x18\x02 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x19\n\x11senderTimestampMS\x18\x03 \x01(\x03\x12\x19\n\x11serverTimestampMS\x18\x04 \x01(\x03\x12K\n\x17messageAddOnContextInfo\x18\x05 \x01(\x0b\x32*.WAWebProtobufsWeb.MessageAddOnContextInfo\"<\n\x04Type\x12\x10\n\x0cUNKNOWN_TYPE\x10\x00\x12\x0f\n\x0bPIN_FOR_ALL\x10\x01\x12\x11\n\rUNPIN_FOR_ALL\x10\x02\"\x91\x04\n\x0cMessageAddOn\x12J\n\x10messageAddOnType\x18\x01 \x01(\x0e\x32\x30.WAWebProtobufsWeb.MessageAddOn.MessageAddOnType\x12\x30\n\x0cmessageAddOn\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x19\n\x11senderTimestampMS\x18\x03 \x01(\x03\x12\x19\n\x11serverTimestampMS\x18\x04 \x01(\x03\x12\x38\n\x06status\x18\x05 \x01(\x0e\x32(.WAWebProtobufsWeb.WebMessageInfo.Status\x12\x44\n\x10\x61\x64\x64OnContextInfo\x18\x06 \x01(\x0b\x32*.WAWebProtobufsWeb.MessageAddOnContextInfo\x12-\n\x0fmessageAddOnKey\x18\x07 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x37\n\rlegacyMessage\x18\x08 \x01(\x0b\x32 .WAWebProtobufsWeb.LegacyMessage\"e\n\x10MessageAddOnType\x12\r\n\tUNDEFINED\x10\x00\x12\x0c\n\x08REACTION\x10\x01\x12\x12\n\x0e\x45VENT_RESPONSE\x10\x02\x12\x0f\n\x0bPOLL_UPDATE\x10\x03\x12\x0f\n\x0bPIN_IN_CHAT\x10\x04\"\x93\x02\n\x16GroupHistoryBundleInfo\x12O\n\x1e\x64\x65precatedMessageHistoryBundle\x18\x01 \x01(\x0b\x32\'.WAWebProtobufsE2E.MessageHistoryBundle\x12L\n\x0cprocessState\x18\x02 \x01(\x0e\x32\x36.WAWebProtobufsWeb.GroupHistoryBundleInfo.ProcessState\"Z\n\x0cProcessState\x12\x10\n\x0cNOT_INJECTED\x10\x00\x12\x0c\n\x08INJECTED\x10\x01\x12\x14\n\x10INJECTED_PARTIAL\x10\x02\x12\x14\n\x10INJECTION_FAILED\x10\x03\"U\n\x0f\x43ommentMetadata\x12.\n\x10\x63ommentParentKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x12\n\nreplyCount\x18\x02 \x01(\r\"\x95\x01\n\x14WebNotificationsInfo\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x13\n\x0bunreadChats\x18\x03 \x01(\r\x12\x1a\n\x12notifyMessageCount\x18\x04 \x01(\r\x12\x39\n\x0enotifyMessages\x18\x05 \x03(\x0b\x32!.WAWebProtobufsWeb.WebMessageInfo\"\x98\x01\n\x17NotificationMessageInfo\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12+\n\x07message\x18\x02 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\x12\x18\n\x10messageTimestamp\x18\x03 \x01(\x04\x12\x13\n\x0bparticipant\x18\x04 \x01(\t\"*\n\x12ReportingTokenInfo\x12\x14\n\x0creportingTag\x18\x01 \x01(\x0c\"\x1e\n\tMediaData\x12\x11\n\tlocalPath\x18\x01 \x01(\t\"E\n\x0bPhotoChange\x12\x10\n\x08oldPhoto\x18\x01 \x01(\x0c\x12\x10\n\x08newPhoto\x18\x02 \x01(\x0c\x12\x12\n\nnewPhotoID\x18\x03 \x01(\r\"D\n\tStatusPSA\x12\x12\n\ncampaignID\x18, \x02(\x04\x12#\n\x1b\x63\x61mpaignExpirationTimestamp\x18- \x01(\x04\"\x9e\x01\n\x0bUserReceipt\x12\x0f\n\x07userJID\x18\x01 \x02(\t\x12\x18\n\x10receiptTimestamp\x18\x02 \x01(\x03\x12\x15\n\rreadTimestamp\x18\x03 \x01(\x03\x12\x17\n\x0fplayedTimestamp\x18\x04 \x01(\x03\x12\x18\n\x10pendingDeviceJID\x18\x05 \x03(\t\x12\x1a\n\x12\x64\x65liveredDeviceJID\x18\x06 \x03(\t\"{\n\x08Reaction\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x13\n\x0bgroupingKey\x18\x03 \x01(\t\x12\x19\n\x11senderTimestampMS\x18\x04 \x01(\x03\x12\x0e\n\x06unread\x18\x05 \x01(\x08\"\xb8\x01\n\nPollUpdate\x12\x32\n\x14pollUpdateMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x30\n\x04vote\x18\x02 \x01(\x0b\x32\".WAWebProtobufsE2E.PollVoteMessage\x12\x19\n\x11senderTimestampMS\x18\x03 \x01(\x03\x12\x19\n\x11serverTimestampMS\x18\x04 \x01(\x03\x12\x0e\n\x06unread\x18\x05 \x01(\x08\"1\n\x16PollAdditionalMetadata\x12\x17\n\x0fpollInvalidated\x18\x01 \x01(\x08\"E\n$InteractiveMessageAdditionalMetadata\x12\x1d\n\x15isGalaxyFlowCompleted\x18\x01 \x01(\x08\"*\n\x17\x45ventAdditionalMetadata\x12\x0f\n\x07isStale\x18\x01 \x01(\x08\"\xc0\x01\n\nKeepInChat\x12-\n\x08keepType\x18\x01 \x01(\x0e\x32\x1b.WAWebProtobufsE2E.KeepType\x12\x17\n\x0fserverTimestamp\x18\x02 \x01(\x03\x12!\n\x03key\x18\x03 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x11\n\tdeviceJID\x18\x04 \x01(\t\x12\x19\n\x11\x63lientTimestampMS\x18\x05 \x01(\x03\x12\x19\n\x11serverTimestampMS\x18\x06 \x01(\x03\"\x9b\x01\n\x17MessageAddOnContextInfo\x12\"\n\x1amessageAddOnDurationInSecs\x18\x01 \x01(\r\x12\\\n\x16messageAddOnExpiryType\x18\x02 \x01(\x0e\x32<.WAWebProtobufsE2E.MessageContextInfo.MessageAddonExpiryType\".\n\x12PremiumMessageInfo\x12\x18\n\x10serverCampaignID\x18\x01 \x01(\t\"\xb2\x01\n\rEventResponse\x12\x35\n\x17\x65ventResponseMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12\x13\n\x0btimestampMS\x18\x02 \x01(\x03\x12\x45\n\x14\x65ventResponseMessage\x18\x03 \x01(\x0b\x32\'.WAWebProtobufsE2E.EventResponseMessage\x12\x0e\n\x06unread\x18\x04 \x01(\x08\"\x8c\x01\n\rLegacyMessage\x12\x45\n\x14\x65ventResponseMessage\x18\x01 \x01(\x0b\x32\'.WAWebProtobufsE2E.EventResponseMessage\x12\x34\n\x08pollVote\x18\x02 \x01(\x0b\x32\".WAWebProtobufsE2E.PollVoteMessage\"H\n\x14StatusMentionMessage\x12\x30\n\x0cquotedStatus\x18\x01 \x01(\x0b\x32\x1a.WAWebProtobufsE2E.Message\"L\n\x08\x43itation\x12\r\n\x05title\x18\x01 \x02(\t\x12\x10\n\x08subtitle\x18\x02 \x02(\t\x12\r\n\x05\x63msID\x18\x03 \x02(\t\x12\x10\n\x08imageURL\x18\x04 \x02(\t\"y\n!GroupHistoryIndividualMessageInfo\x12.\n\x10\x62undleMessageKey\x18\x01 \x01(\x0b\x32\x14.WACommon.MessageKey\x12$\n\x1c\x65\x64itedAfterReceivedAsHistory\x18\x02 \x01(\x08\"A\n\x12QuarantinedMessage\x12\x14\n\x0coriginalData\x18\x01 \x01(\x0c\x12\x15\n\rextractedText\x18\x02 \x01(\tB!Z\x1fgo.mau.fi/whatsmeow/proto/waWeb') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waWeb.WAWebProtobufsWeb_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z\037go.mau.fi/whatsmeow/proto/waWeb' + _globals['_WEBMESSAGEINFO']._serialized_start=109 + _globals['_WEBMESSAGEINFO']._serialized_end=10594 + _globals['_WEBMESSAGEINFO_BIZPRIVACYSTATUS']._serialized_start=2905 + _globals['_WEBMESSAGEINFO_BIZPRIVACYSTATUS']._serialized_end=2966 + _globals['_WEBMESSAGEINFO_STUBTYPE']._serialized_start=2969 + _globals['_WEBMESSAGEINFO_STUBTYPE']._serialized_end=10504 + _globals['_WEBMESSAGEINFO_STATUS']._serialized_start=10506 + _globals['_WEBMESSAGEINFO_STATUS']._serialized_end=10594 + _globals['_PAYMENTINFO']._serialized_start=10597 + _globals['_PAYMENTINFO']._serialized_end=12025 + _globals['_PAYMENTINFO_TXNSTATUS']._serialized_start=11110 + _globals['_PAYMENTINFO_TXNSTATUS']._serialized_end=11775 + _globals['_PAYMENTINFO_STATUS']._serialized_start=11778 + _globals['_PAYMENTINFO_STATUS']._serialized_end=11982 + _globals['_PAYMENTINFO_CURRENCY']._serialized_start=11984 + _globals['_PAYMENTINFO_CURRENCY']._serialized_end=12025 + _globals['_WEBFEATURES']._serialized_start=12028 + _globals['_WEBFEATURES']._serialized_end=14963 + _globals['_WEBFEATURES_FLAG']._serialized_start=14888 + _globals['_WEBFEATURES_FLAG']._serialized_end=14963 + _globals['_PININCHAT']._serialized_start=14966 + _globals['_PININCHAT']._serialized_end=15254 + _globals['_PININCHAT_TYPE']._serialized_start=15194 + _globals['_PININCHAT_TYPE']._serialized_end=15254 + _globals['_MESSAGEADDON']._serialized_start=15257 + _globals['_MESSAGEADDON']._serialized_end=15786 + _globals['_MESSAGEADDON_MESSAGEADDONTYPE']._serialized_start=15685 + _globals['_MESSAGEADDON_MESSAGEADDONTYPE']._serialized_end=15786 + _globals['_GROUPHISTORYBUNDLEINFO']._serialized_start=15789 + _globals['_GROUPHISTORYBUNDLEINFO']._serialized_end=16064 + _globals['_GROUPHISTORYBUNDLEINFO_PROCESSSTATE']._serialized_start=15974 + _globals['_GROUPHISTORYBUNDLEINFO_PROCESSSTATE']._serialized_end=16064 + _globals['_COMMENTMETADATA']._serialized_start=16066 + _globals['_COMMENTMETADATA']._serialized_end=16151 + _globals['_WEBNOTIFICATIONSINFO']._serialized_start=16154 + _globals['_WEBNOTIFICATIONSINFO']._serialized_end=16303 + _globals['_NOTIFICATIONMESSAGEINFO']._serialized_start=16306 + _globals['_NOTIFICATIONMESSAGEINFO']._serialized_end=16458 + _globals['_REPORTINGTOKENINFO']._serialized_start=16460 + _globals['_REPORTINGTOKENINFO']._serialized_end=16502 + _globals['_MEDIADATA']._serialized_start=16504 + _globals['_MEDIADATA']._serialized_end=16534 + _globals['_PHOTOCHANGE']._serialized_start=16536 + _globals['_PHOTOCHANGE']._serialized_end=16605 + _globals['_STATUSPSA']._serialized_start=16607 + _globals['_STATUSPSA']._serialized_end=16675 + _globals['_USERRECEIPT']._serialized_start=16678 + _globals['_USERRECEIPT']._serialized_end=16836 + _globals['_REACTION']._serialized_start=16838 + _globals['_REACTION']._serialized_end=16961 + _globals['_POLLUPDATE']._serialized_start=16964 + _globals['_POLLUPDATE']._serialized_end=17148 + _globals['_POLLADDITIONALMETADATA']._serialized_start=17150 + _globals['_POLLADDITIONALMETADATA']._serialized_end=17199 + _globals['_INTERACTIVEMESSAGEADDITIONALMETADATA']._serialized_start=17201 + _globals['_INTERACTIVEMESSAGEADDITIONALMETADATA']._serialized_end=17270 + _globals['_EVENTADDITIONALMETADATA']._serialized_start=17272 + _globals['_EVENTADDITIONALMETADATA']._serialized_end=17314 + _globals['_KEEPINCHAT']._serialized_start=17317 + _globals['_KEEPINCHAT']._serialized_end=17509 + _globals['_MESSAGEADDONCONTEXTINFO']._serialized_start=17512 + _globals['_MESSAGEADDONCONTEXTINFO']._serialized_end=17667 + _globals['_PREMIUMMESSAGEINFO']._serialized_start=17669 + _globals['_PREMIUMMESSAGEINFO']._serialized_end=17715 + _globals['_EVENTRESPONSE']._serialized_start=17718 + _globals['_EVENTRESPONSE']._serialized_end=17896 + _globals['_LEGACYMESSAGE']._serialized_start=17899 + _globals['_LEGACYMESSAGE']._serialized_end=18039 + _globals['_STATUSMENTIONMESSAGE']._serialized_start=18041 + _globals['_STATUSMENTIONMESSAGE']._serialized_end=18113 + _globals['_CITATION']._serialized_start=18115 + _globals['_CITATION']._serialized_end=18191 + _globals['_GROUPHISTORYINDIVIDUALMESSAGEINFO']._serialized_start=18193 + _globals['_GROUPHISTORYINDIVIDUALMESSAGEINFO']._serialized_end=18314 + _globals['_QUARANTINEDMESSAGE']._serialized_start=18316 + _globals['_QUARANTINEDMESSAGE']._serialized_end=18381 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waWeb/WAWebProtobufsWeb_pb2.pyi b/neonize/proto/waWeb/WAWebProtobufsWeb_pb2.pyi new file mode 100644 index 00000000..3cd18f82 --- /dev/null +++ b/neonize/proto/waWeb/WAWebProtobufsWeb_pb2.pyi @@ -0,0 +1,1717 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing +import waCommon.WACommon_pb2 +import waE2E.WAWebProtobufsE2E_pb2 + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class WebMessageInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _BizPrivacyStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _BizPrivacyStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WebMessageInfo._BizPrivacyStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + E2EE: WebMessageInfo._BizPrivacyStatus.ValueType # 0 + FB: WebMessageInfo._BizPrivacyStatus.ValueType # 2 + BSP: WebMessageInfo._BizPrivacyStatus.ValueType # 1 + BSP_AND_FB: WebMessageInfo._BizPrivacyStatus.ValueType # 3 + + class BizPrivacyStatus(_BizPrivacyStatus, metaclass=_BizPrivacyStatusEnumTypeWrapper): ... + E2EE: WebMessageInfo.BizPrivacyStatus.ValueType # 0 + FB: WebMessageInfo.BizPrivacyStatus.ValueType # 2 + BSP: WebMessageInfo.BizPrivacyStatus.ValueType # 1 + BSP_AND_FB: WebMessageInfo.BizPrivacyStatus.ValueType # 3 + + class _StubType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StubTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WebMessageInfo._StubType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: WebMessageInfo._StubType.ValueType # 0 + REVOKE: WebMessageInfo._StubType.ValueType # 1 + CIPHERTEXT: WebMessageInfo._StubType.ValueType # 2 + FUTUREPROOF: WebMessageInfo._StubType.ValueType # 3 + NON_VERIFIED_TRANSITION: WebMessageInfo._StubType.ValueType # 4 + UNVERIFIED_TRANSITION: WebMessageInfo._StubType.ValueType # 5 + VERIFIED_TRANSITION: WebMessageInfo._StubType.ValueType # 6 + VERIFIED_LOW_UNKNOWN: WebMessageInfo._StubType.ValueType # 7 + VERIFIED_HIGH: WebMessageInfo._StubType.ValueType # 8 + VERIFIED_INITIAL_UNKNOWN: WebMessageInfo._StubType.ValueType # 9 + VERIFIED_INITIAL_LOW: WebMessageInfo._StubType.ValueType # 10 + VERIFIED_INITIAL_HIGH: WebMessageInfo._StubType.ValueType # 11 + VERIFIED_TRANSITION_ANY_TO_NONE: WebMessageInfo._StubType.ValueType # 12 + VERIFIED_TRANSITION_ANY_TO_HIGH: WebMessageInfo._StubType.ValueType # 13 + VERIFIED_TRANSITION_HIGH_TO_LOW: WebMessageInfo._StubType.ValueType # 14 + VERIFIED_TRANSITION_HIGH_TO_UNKNOWN: WebMessageInfo._StubType.ValueType # 15 + VERIFIED_TRANSITION_UNKNOWN_TO_LOW: WebMessageInfo._StubType.ValueType # 16 + VERIFIED_TRANSITION_LOW_TO_UNKNOWN: WebMessageInfo._StubType.ValueType # 17 + VERIFIED_TRANSITION_NONE_TO_LOW: WebMessageInfo._StubType.ValueType # 18 + VERIFIED_TRANSITION_NONE_TO_UNKNOWN: WebMessageInfo._StubType.ValueType # 19 + GROUP_CREATE: WebMessageInfo._StubType.ValueType # 20 + GROUP_CHANGE_SUBJECT: WebMessageInfo._StubType.ValueType # 21 + GROUP_CHANGE_ICON: WebMessageInfo._StubType.ValueType # 22 + GROUP_CHANGE_INVITE_LINK: WebMessageInfo._StubType.ValueType # 23 + GROUP_CHANGE_DESCRIPTION: WebMessageInfo._StubType.ValueType # 24 + GROUP_CHANGE_RESTRICT: WebMessageInfo._StubType.ValueType # 25 + GROUP_CHANGE_ANNOUNCE: WebMessageInfo._StubType.ValueType # 26 + GROUP_PARTICIPANT_ADD: WebMessageInfo._StubType.ValueType # 27 + GROUP_PARTICIPANT_REMOVE: WebMessageInfo._StubType.ValueType # 28 + GROUP_PARTICIPANT_PROMOTE: WebMessageInfo._StubType.ValueType # 29 + GROUP_PARTICIPANT_DEMOTE: WebMessageInfo._StubType.ValueType # 30 + GROUP_PARTICIPANT_INVITE: WebMessageInfo._StubType.ValueType # 31 + GROUP_PARTICIPANT_LEAVE: WebMessageInfo._StubType.ValueType # 32 + GROUP_PARTICIPANT_CHANGE_NUMBER: WebMessageInfo._StubType.ValueType # 33 + BROADCAST_CREATE: WebMessageInfo._StubType.ValueType # 34 + BROADCAST_ADD: WebMessageInfo._StubType.ValueType # 35 + BROADCAST_REMOVE: WebMessageInfo._StubType.ValueType # 36 + GENERIC_NOTIFICATION: WebMessageInfo._StubType.ValueType # 37 + E2E_IDENTITY_CHANGED: WebMessageInfo._StubType.ValueType # 38 + E2E_ENCRYPTED: WebMessageInfo._StubType.ValueType # 39 + CALL_MISSED_VOICE: WebMessageInfo._StubType.ValueType # 40 + CALL_MISSED_VIDEO: WebMessageInfo._StubType.ValueType # 41 + INDIVIDUAL_CHANGE_NUMBER: WebMessageInfo._StubType.ValueType # 42 + GROUP_DELETE: WebMessageInfo._StubType.ValueType # 43 + GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE: WebMessageInfo._StubType.ValueType # 44 + CALL_MISSED_GROUP_VOICE: WebMessageInfo._StubType.ValueType # 45 + CALL_MISSED_GROUP_VIDEO: WebMessageInfo._StubType.ValueType # 46 + PAYMENT_CIPHERTEXT: WebMessageInfo._StubType.ValueType # 47 + PAYMENT_FUTUREPROOF: WebMessageInfo._StubType.ValueType # 48 + PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED: WebMessageInfo._StubType.ValueType # 49 + PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED: WebMessageInfo._StubType.ValueType # 50 + PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED: WebMessageInfo._StubType.ValueType # 51 + PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP: WebMessageInfo._StubType.ValueType # 52 + PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP: WebMessageInfo._StubType.ValueType # 53 + PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER: WebMessageInfo._StubType.ValueType # 54 + PAYMENT_ACTION_SEND_PAYMENT_REMINDER: WebMessageInfo._StubType.ValueType # 55 + PAYMENT_ACTION_SEND_PAYMENT_INVITATION: WebMessageInfo._StubType.ValueType # 56 + PAYMENT_ACTION_REQUEST_DECLINED: WebMessageInfo._StubType.ValueType # 57 + PAYMENT_ACTION_REQUEST_EXPIRED: WebMessageInfo._StubType.ValueType # 58 + PAYMENT_ACTION_REQUEST_CANCELLED: WebMessageInfo._StubType.ValueType # 59 + BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM: WebMessageInfo._StubType.ValueType # 60 + BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP: WebMessageInfo._StubType.ValueType # 61 + BIZ_INTRO_TOP: WebMessageInfo._StubType.ValueType # 62 + BIZ_INTRO_BOTTOM: WebMessageInfo._StubType.ValueType # 63 + BIZ_NAME_CHANGE: WebMessageInfo._StubType.ValueType # 64 + BIZ_MOVE_TO_CONSUMER_APP: WebMessageInfo._StubType.ValueType # 65 + BIZ_TWO_TIER_MIGRATION_TOP: WebMessageInfo._StubType.ValueType # 66 + BIZ_TWO_TIER_MIGRATION_BOTTOM: WebMessageInfo._StubType.ValueType # 67 + OVERSIZED: WebMessageInfo._StubType.ValueType # 68 + GROUP_CHANGE_NO_FREQUENTLY_FORWARDED: WebMessageInfo._StubType.ValueType # 69 + GROUP_V4_ADD_INVITE_SENT: WebMessageInfo._StubType.ValueType # 70 + GROUP_PARTICIPANT_ADD_REQUEST_JOIN: WebMessageInfo._StubType.ValueType # 71 + CHANGE_EPHEMERAL_SETTING: WebMessageInfo._StubType.ValueType # 72 + E2E_DEVICE_CHANGED: WebMessageInfo._StubType.ValueType # 73 + VIEWED_ONCE: WebMessageInfo._StubType.ValueType # 74 + E2E_ENCRYPTED_NOW: WebMessageInfo._StubType.ValueType # 75 + BLUE_MSG_BSP_FB_TO_BSP_PREMISE: WebMessageInfo._StubType.ValueType # 76 + BLUE_MSG_BSP_FB_TO_SELF_FB: WebMessageInfo._StubType.ValueType # 77 + BLUE_MSG_BSP_FB_TO_SELF_PREMISE: WebMessageInfo._StubType.ValueType # 78 + BLUE_MSG_BSP_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 79 + BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 80 + BLUE_MSG_BSP_FB_VERIFIED: WebMessageInfo._StubType.ValueType # 81 + BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 82 + BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE: WebMessageInfo._StubType.ValueType # 83 + BLUE_MSG_BSP_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 84 + BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 85 + BLUE_MSG_BSP_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 86 + BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 87 + BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 88 + BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 89 + BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 90 + BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 91 + BLUE_MSG_SELF_FB_TO_BSP_PREMISE: WebMessageInfo._StubType.ValueType # 92 + BLUE_MSG_SELF_FB_TO_SELF_PREMISE: WebMessageInfo._StubType.ValueType # 93 + BLUE_MSG_SELF_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 94 + BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 95 + BLUE_MSG_SELF_FB_VERIFIED: WebMessageInfo._StubType.ValueType # 96 + BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 97 + BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE: WebMessageInfo._StubType.ValueType # 98 + BLUE_MSG_SELF_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 99 + BLUE_MSG_SELF_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 100 + BLUE_MSG_TO_BSP_FB: WebMessageInfo._StubType.ValueType # 101 + BLUE_MSG_TO_CONSUMER: WebMessageInfo._StubType.ValueType # 102 + BLUE_MSG_TO_SELF_FB: WebMessageInfo._StubType.ValueType # 103 + BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED: WebMessageInfo._StubType.ValueType # 104 + BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 105 + BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED: WebMessageInfo._StubType.ValueType # 106 + BLUE_MSG_UNVERIFIED_TO_VERIFIED: WebMessageInfo._StubType.ValueType # 107 + BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 108 + BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 109 + BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 110 + BLUE_MSG_VERIFIED_TO_UNVERIFIED: WebMessageInfo._StubType.ValueType # 111 + BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 112 + BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED: WebMessageInfo._StubType.ValueType # 113 + BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 114 + BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED: WebMessageInfo._StubType.ValueType # 115 + BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo._StubType.ValueType # 116 + BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo._StubType.ValueType # 117 + E2E_IDENTITY_UNAVAILABLE: WebMessageInfo._StubType.ValueType # 118 + GROUP_CREATING: WebMessageInfo._StubType.ValueType # 119 + GROUP_CREATE_FAILED: WebMessageInfo._StubType.ValueType # 120 + GROUP_BOUNCED: WebMessageInfo._StubType.ValueType # 121 + BLOCK_CONTACT: WebMessageInfo._StubType.ValueType # 122 + EPHEMERAL_SETTING_NOT_APPLIED: WebMessageInfo._StubType.ValueType # 123 + SYNC_FAILED: WebMessageInfo._StubType.ValueType # 124 + SYNCING: WebMessageInfo._StubType.ValueType # 125 + BIZ_PRIVACY_MODE_INIT_FB: WebMessageInfo._StubType.ValueType # 126 + BIZ_PRIVACY_MODE_INIT_BSP: WebMessageInfo._StubType.ValueType # 127 + BIZ_PRIVACY_MODE_TO_FB: WebMessageInfo._StubType.ValueType # 128 + BIZ_PRIVACY_MODE_TO_BSP: WebMessageInfo._StubType.ValueType # 129 + DISAPPEARING_MODE: WebMessageInfo._StubType.ValueType # 130 + E2E_DEVICE_FETCH_FAILED: WebMessageInfo._StubType.ValueType # 131 + ADMIN_REVOKE: WebMessageInfo._StubType.ValueType # 132 + GROUP_INVITE_LINK_GROWTH_LOCKED: WebMessageInfo._StubType.ValueType # 133 + COMMUNITY_LINK_PARENT_GROUP: WebMessageInfo._StubType.ValueType # 134 + COMMUNITY_LINK_SIBLING_GROUP: WebMessageInfo._StubType.ValueType # 135 + COMMUNITY_LINK_SUB_GROUP: WebMessageInfo._StubType.ValueType # 136 + COMMUNITY_UNLINK_PARENT_GROUP: WebMessageInfo._StubType.ValueType # 137 + COMMUNITY_UNLINK_SIBLING_GROUP: WebMessageInfo._StubType.ValueType # 138 + COMMUNITY_UNLINK_SUB_GROUP: WebMessageInfo._StubType.ValueType # 139 + GROUP_PARTICIPANT_ACCEPT: WebMessageInfo._StubType.ValueType # 140 + GROUP_PARTICIPANT_LINKED_GROUP_JOIN: WebMessageInfo._StubType.ValueType # 141 + COMMUNITY_CREATE: WebMessageInfo._StubType.ValueType # 142 + EPHEMERAL_KEEP_IN_CHAT: WebMessageInfo._StubType.ValueType # 143 + GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST: WebMessageInfo._StubType.ValueType # 144 + GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE: WebMessageInfo._StubType.ValueType # 145 + INTEGRITY_UNLINK_PARENT_GROUP: WebMessageInfo._StubType.ValueType # 146 + COMMUNITY_PARTICIPANT_PROMOTE: WebMessageInfo._StubType.ValueType # 147 + COMMUNITY_PARTICIPANT_DEMOTE: WebMessageInfo._StubType.ValueType # 148 + COMMUNITY_PARENT_GROUP_DELETED: WebMessageInfo._StubType.ValueType # 149 + COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL: WebMessageInfo._StubType.ValueType # 150 + GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP: WebMessageInfo._StubType.ValueType # 151 + MASKED_THREAD_CREATED: WebMessageInfo._StubType.ValueType # 152 + MASKED_THREAD_UNMASKED: WebMessageInfo._StubType.ValueType # 153 + BIZ_CHAT_ASSIGNMENT: WebMessageInfo._StubType.ValueType # 154 + CHAT_PSA: WebMessageInfo._StubType.ValueType # 155 + CHAT_POLL_CREATION_MESSAGE: WebMessageInfo._StubType.ValueType # 156 + CAG_MASKED_THREAD_CREATED: WebMessageInfo._StubType.ValueType # 157 + COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED: WebMessageInfo._StubType.ValueType # 158 + CAG_INVITE_AUTO_ADD: WebMessageInfo._StubType.ValueType # 159 + BIZ_CHAT_ASSIGNMENT_UNASSIGN: WebMessageInfo._StubType.ValueType # 160 + CAG_INVITE_AUTO_JOINED: WebMessageInfo._StubType.ValueType # 161 + SCHEDULED_CALL_START_MESSAGE: WebMessageInfo._StubType.ValueType # 162 + COMMUNITY_INVITE_RICH: WebMessageInfo._StubType.ValueType # 163 + COMMUNITY_INVITE_AUTO_ADD_RICH: WebMessageInfo._StubType.ValueType # 164 + SUB_GROUP_INVITE_RICH: WebMessageInfo._StubType.ValueType # 165 + SUB_GROUP_PARTICIPANT_ADD_RICH: WebMessageInfo._StubType.ValueType # 166 + COMMUNITY_LINK_PARENT_GROUP_RICH: WebMessageInfo._StubType.ValueType # 167 + COMMUNITY_PARTICIPANT_ADD_RICH: WebMessageInfo._StubType.ValueType # 168 + SILENCED_UNKNOWN_CALLER_AUDIO: WebMessageInfo._StubType.ValueType # 169 + SILENCED_UNKNOWN_CALLER_VIDEO: WebMessageInfo._StubType.ValueType # 170 + GROUP_MEMBER_ADD_MODE: WebMessageInfo._StubType.ValueType # 171 + GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD: WebMessageInfo._StubType.ValueType # 172 + COMMUNITY_CHANGE_DESCRIPTION: WebMessageInfo._StubType.ValueType # 173 + SENDER_INVITE: WebMessageInfo._StubType.ValueType # 174 + RECEIVER_INVITE: WebMessageInfo._StubType.ValueType # 175 + COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS: WebMessageInfo._StubType.ValueType # 176 + PINNED_MESSAGE_IN_CHAT: WebMessageInfo._StubType.ValueType # 177 + PAYMENT_INVITE_SETUP_INVITER: WebMessageInfo._StubType.ValueType # 178 + PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY: WebMessageInfo._StubType.ValueType # 179 + PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE: WebMessageInfo._StubType.ValueType # 180 + LINKED_GROUP_CALL_START: WebMessageInfo._StubType.ValueType # 181 + REPORT_TO_ADMIN_ENABLED_STATUS: WebMessageInfo._StubType.ValueType # 182 + EMPTY_SUBGROUP_CREATE: WebMessageInfo._StubType.ValueType # 183 + SCHEDULED_CALL_CANCEL: WebMessageInfo._StubType.ValueType # 184 + SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH: WebMessageInfo._StubType.ValueType # 185 + GROUP_CHANGE_RECENT_HISTORY_SHARING: WebMessageInfo._StubType.ValueType # 186 + PAID_MESSAGE_SERVER_CAMPAIGN_ID: WebMessageInfo._StubType.ValueType # 187 + GENERAL_CHAT_CREATE: WebMessageInfo._StubType.ValueType # 188 + GENERAL_CHAT_ADD: WebMessageInfo._StubType.ValueType # 189 + GENERAL_CHAT_AUTO_ADD_DISABLED: WebMessageInfo._StubType.ValueType # 190 + SUGGESTED_SUBGROUP_ANNOUNCE: WebMessageInfo._StubType.ValueType # 191 + BIZ_BOT_1P_MESSAGING_ENABLED: WebMessageInfo._StubType.ValueType # 192 + CHANGE_USERNAME: WebMessageInfo._StubType.ValueType # 193 + BIZ_COEX_PRIVACY_INIT_SELF: WebMessageInfo._StubType.ValueType # 194 + BIZ_COEX_PRIVACY_TRANSITION_SELF: WebMessageInfo._StubType.ValueType # 195 + SUPPORT_AI_EDUCATION: WebMessageInfo._StubType.ValueType # 196 + BIZ_BOT_3P_MESSAGING_ENABLED: WebMessageInfo._StubType.ValueType # 197 + REMINDER_SETUP_MESSAGE: WebMessageInfo._StubType.ValueType # 198 + REMINDER_SENT_MESSAGE: WebMessageInfo._StubType.ValueType # 199 + REMINDER_CANCEL_MESSAGE: WebMessageInfo._StubType.ValueType # 200 + BIZ_COEX_PRIVACY_INIT: WebMessageInfo._StubType.ValueType # 201 + BIZ_COEX_PRIVACY_TRANSITION: WebMessageInfo._StubType.ValueType # 202 + GROUP_DEACTIVATED: WebMessageInfo._StubType.ValueType # 203 + COMMUNITY_DEACTIVATE_SIBLING_GROUP: WebMessageInfo._StubType.ValueType # 204 + EVENT_UPDATED: WebMessageInfo._StubType.ValueType # 205 + EVENT_CANCELED: WebMessageInfo._StubType.ValueType # 206 + COMMUNITY_OWNER_UPDATED: WebMessageInfo._StubType.ValueType # 207 + COMMUNITY_SUB_GROUP_VISIBILITY_HIDDEN: WebMessageInfo._StubType.ValueType # 208 + CAPI_GROUP_NE2EE_SYSTEM_MESSAGE: WebMessageInfo._StubType.ValueType # 209 + STATUS_MENTION: WebMessageInfo._StubType.ValueType # 210 + USER_CONTROLS_SYSTEM_MESSAGE: WebMessageInfo._StubType.ValueType # 211 + SUPPORT_SYSTEM_MESSAGE: WebMessageInfo._StubType.ValueType # 212 + CHANGE_LID: WebMessageInfo._StubType.ValueType # 213 + BIZ_CUSTOMER_3PD_DATA_SHARING_OPT_IN_MESSAGE: WebMessageInfo._StubType.ValueType # 214 + BIZ_CUSTOMER_3PD_DATA_SHARING_OPT_OUT_MESSAGE: WebMessageInfo._StubType.ValueType # 215 + CHANGE_LIMIT_SHARING: WebMessageInfo._StubType.ValueType # 216 + GROUP_MEMBER_LINK_MODE: WebMessageInfo._StubType.ValueType # 217 + BIZ_AUTOMATICALLY_LABELED_CHAT_SYSTEM_MESSAGE: WebMessageInfo._StubType.ValueType # 218 + PHONE_NUMBER_HIDING_CHAT_DEPRECATED_MESSAGE: WebMessageInfo._StubType.ValueType # 219 + QUARANTINED_MESSAGE: WebMessageInfo._StubType.ValueType # 220 + + class StubType(_StubType, metaclass=_StubTypeEnumTypeWrapper): ... + UNKNOWN: WebMessageInfo.StubType.ValueType # 0 + REVOKE: WebMessageInfo.StubType.ValueType # 1 + CIPHERTEXT: WebMessageInfo.StubType.ValueType # 2 + FUTUREPROOF: WebMessageInfo.StubType.ValueType # 3 + NON_VERIFIED_TRANSITION: WebMessageInfo.StubType.ValueType # 4 + UNVERIFIED_TRANSITION: WebMessageInfo.StubType.ValueType # 5 + VERIFIED_TRANSITION: WebMessageInfo.StubType.ValueType # 6 + VERIFIED_LOW_UNKNOWN: WebMessageInfo.StubType.ValueType # 7 + VERIFIED_HIGH: WebMessageInfo.StubType.ValueType # 8 + VERIFIED_INITIAL_UNKNOWN: WebMessageInfo.StubType.ValueType # 9 + VERIFIED_INITIAL_LOW: WebMessageInfo.StubType.ValueType # 10 + VERIFIED_INITIAL_HIGH: WebMessageInfo.StubType.ValueType # 11 + VERIFIED_TRANSITION_ANY_TO_NONE: WebMessageInfo.StubType.ValueType # 12 + VERIFIED_TRANSITION_ANY_TO_HIGH: WebMessageInfo.StubType.ValueType # 13 + VERIFIED_TRANSITION_HIGH_TO_LOW: WebMessageInfo.StubType.ValueType # 14 + VERIFIED_TRANSITION_HIGH_TO_UNKNOWN: WebMessageInfo.StubType.ValueType # 15 + VERIFIED_TRANSITION_UNKNOWN_TO_LOW: WebMessageInfo.StubType.ValueType # 16 + VERIFIED_TRANSITION_LOW_TO_UNKNOWN: WebMessageInfo.StubType.ValueType # 17 + VERIFIED_TRANSITION_NONE_TO_LOW: WebMessageInfo.StubType.ValueType # 18 + VERIFIED_TRANSITION_NONE_TO_UNKNOWN: WebMessageInfo.StubType.ValueType # 19 + GROUP_CREATE: WebMessageInfo.StubType.ValueType # 20 + GROUP_CHANGE_SUBJECT: WebMessageInfo.StubType.ValueType # 21 + GROUP_CHANGE_ICON: WebMessageInfo.StubType.ValueType # 22 + GROUP_CHANGE_INVITE_LINK: WebMessageInfo.StubType.ValueType # 23 + GROUP_CHANGE_DESCRIPTION: WebMessageInfo.StubType.ValueType # 24 + GROUP_CHANGE_RESTRICT: WebMessageInfo.StubType.ValueType # 25 + GROUP_CHANGE_ANNOUNCE: WebMessageInfo.StubType.ValueType # 26 + GROUP_PARTICIPANT_ADD: WebMessageInfo.StubType.ValueType # 27 + GROUP_PARTICIPANT_REMOVE: WebMessageInfo.StubType.ValueType # 28 + GROUP_PARTICIPANT_PROMOTE: WebMessageInfo.StubType.ValueType # 29 + GROUP_PARTICIPANT_DEMOTE: WebMessageInfo.StubType.ValueType # 30 + GROUP_PARTICIPANT_INVITE: WebMessageInfo.StubType.ValueType # 31 + GROUP_PARTICIPANT_LEAVE: WebMessageInfo.StubType.ValueType # 32 + GROUP_PARTICIPANT_CHANGE_NUMBER: WebMessageInfo.StubType.ValueType # 33 + BROADCAST_CREATE: WebMessageInfo.StubType.ValueType # 34 + BROADCAST_ADD: WebMessageInfo.StubType.ValueType # 35 + BROADCAST_REMOVE: WebMessageInfo.StubType.ValueType # 36 + GENERIC_NOTIFICATION: WebMessageInfo.StubType.ValueType # 37 + E2E_IDENTITY_CHANGED: WebMessageInfo.StubType.ValueType # 38 + E2E_ENCRYPTED: WebMessageInfo.StubType.ValueType # 39 + CALL_MISSED_VOICE: WebMessageInfo.StubType.ValueType # 40 + CALL_MISSED_VIDEO: WebMessageInfo.StubType.ValueType # 41 + INDIVIDUAL_CHANGE_NUMBER: WebMessageInfo.StubType.ValueType # 42 + GROUP_DELETE: WebMessageInfo.StubType.ValueType # 43 + GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE: WebMessageInfo.StubType.ValueType # 44 + CALL_MISSED_GROUP_VOICE: WebMessageInfo.StubType.ValueType # 45 + CALL_MISSED_GROUP_VIDEO: WebMessageInfo.StubType.ValueType # 46 + PAYMENT_CIPHERTEXT: WebMessageInfo.StubType.ValueType # 47 + PAYMENT_FUTUREPROOF: WebMessageInfo.StubType.ValueType # 48 + PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED: WebMessageInfo.StubType.ValueType # 49 + PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED: WebMessageInfo.StubType.ValueType # 50 + PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED: WebMessageInfo.StubType.ValueType # 51 + PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP: WebMessageInfo.StubType.ValueType # 52 + PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP: WebMessageInfo.StubType.ValueType # 53 + PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER: WebMessageInfo.StubType.ValueType # 54 + PAYMENT_ACTION_SEND_PAYMENT_REMINDER: WebMessageInfo.StubType.ValueType # 55 + PAYMENT_ACTION_SEND_PAYMENT_INVITATION: WebMessageInfo.StubType.ValueType # 56 + PAYMENT_ACTION_REQUEST_DECLINED: WebMessageInfo.StubType.ValueType # 57 + PAYMENT_ACTION_REQUEST_EXPIRED: WebMessageInfo.StubType.ValueType # 58 + PAYMENT_ACTION_REQUEST_CANCELLED: WebMessageInfo.StubType.ValueType # 59 + BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM: WebMessageInfo.StubType.ValueType # 60 + BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP: WebMessageInfo.StubType.ValueType # 61 + BIZ_INTRO_TOP: WebMessageInfo.StubType.ValueType # 62 + BIZ_INTRO_BOTTOM: WebMessageInfo.StubType.ValueType # 63 + BIZ_NAME_CHANGE: WebMessageInfo.StubType.ValueType # 64 + BIZ_MOVE_TO_CONSUMER_APP: WebMessageInfo.StubType.ValueType # 65 + BIZ_TWO_TIER_MIGRATION_TOP: WebMessageInfo.StubType.ValueType # 66 + BIZ_TWO_TIER_MIGRATION_BOTTOM: WebMessageInfo.StubType.ValueType # 67 + OVERSIZED: WebMessageInfo.StubType.ValueType # 68 + GROUP_CHANGE_NO_FREQUENTLY_FORWARDED: WebMessageInfo.StubType.ValueType # 69 + GROUP_V4_ADD_INVITE_SENT: WebMessageInfo.StubType.ValueType # 70 + GROUP_PARTICIPANT_ADD_REQUEST_JOIN: WebMessageInfo.StubType.ValueType # 71 + CHANGE_EPHEMERAL_SETTING: WebMessageInfo.StubType.ValueType # 72 + E2E_DEVICE_CHANGED: WebMessageInfo.StubType.ValueType # 73 + VIEWED_ONCE: WebMessageInfo.StubType.ValueType # 74 + E2E_ENCRYPTED_NOW: WebMessageInfo.StubType.ValueType # 75 + BLUE_MSG_BSP_FB_TO_BSP_PREMISE: WebMessageInfo.StubType.ValueType # 76 + BLUE_MSG_BSP_FB_TO_SELF_FB: WebMessageInfo.StubType.ValueType # 77 + BLUE_MSG_BSP_FB_TO_SELF_PREMISE: WebMessageInfo.StubType.ValueType # 78 + BLUE_MSG_BSP_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 79 + BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 80 + BLUE_MSG_BSP_FB_VERIFIED: WebMessageInfo.StubType.ValueType # 81 + BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 82 + BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE: WebMessageInfo.StubType.ValueType # 83 + BLUE_MSG_BSP_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 84 + BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 85 + BLUE_MSG_BSP_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 86 + BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 87 + BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 88 + BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 89 + BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 90 + BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 91 + BLUE_MSG_SELF_FB_TO_BSP_PREMISE: WebMessageInfo.StubType.ValueType # 92 + BLUE_MSG_SELF_FB_TO_SELF_PREMISE: WebMessageInfo.StubType.ValueType # 93 + BLUE_MSG_SELF_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 94 + BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 95 + BLUE_MSG_SELF_FB_VERIFIED: WebMessageInfo.StubType.ValueType # 96 + BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 97 + BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE: WebMessageInfo.StubType.ValueType # 98 + BLUE_MSG_SELF_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 99 + BLUE_MSG_SELF_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 100 + BLUE_MSG_TO_BSP_FB: WebMessageInfo.StubType.ValueType # 101 + BLUE_MSG_TO_CONSUMER: WebMessageInfo.StubType.ValueType # 102 + BLUE_MSG_TO_SELF_FB: WebMessageInfo.StubType.ValueType # 103 + BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED: WebMessageInfo.StubType.ValueType # 104 + BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 105 + BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED: WebMessageInfo.StubType.ValueType # 106 + BLUE_MSG_UNVERIFIED_TO_VERIFIED: WebMessageInfo.StubType.ValueType # 107 + BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 108 + BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 109 + BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 110 + BLUE_MSG_VERIFIED_TO_UNVERIFIED: WebMessageInfo.StubType.ValueType # 111 + BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 112 + BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED: WebMessageInfo.StubType.ValueType # 113 + BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 114 + BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED: WebMessageInfo.StubType.ValueType # 115 + BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED: WebMessageInfo.StubType.ValueType # 116 + BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED: WebMessageInfo.StubType.ValueType # 117 + E2E_IDENTITY_UNAVAILABLE: WebMessageInfo.StubType.ValueType # 118 + GROUP_CREATING: WebMessageInfo.StubType.ValueType # 119 + GROUP_CREATE_FAILED: WebMessageInfo.StubType.ValueType # 120 + GROUP_BOUNCED: WebMessageInfo.StubType.ValueType # 121 + BLOCK_CONTACT: WebMessageInfo.StubType.ValueType # 122 + EPHEMERAL_SETTING_NOT_APPLIED: WebMessageInfo.StubType.ValueType # 123 + SYNC_FAILED: WebMessageInfo.StubType.ValueType # 124 + SYNCING: WebMessageInfo.StubType.ValueType # 125 + BIZ_PRIVACY_MODE_INIT_FB: WebMessageInfo.StubType.ValueType # 126 + BIZ_PRIVACY_MODE_INIT_BSP: WebMessageInfo.StubType.ValueType # 127 + BIZ_PRIVACY_MODE_TO_FB: WebMessageInfo.StubType.ValueType # 128 + BIZ_PRIVACY_MODE_TO_BSP: WebMessageInfo.StubType.ValueType # 129 + DISAPPEARING_MODE: WebMessageInfo.StubType.ValueType # 130 + E2E_DEVICE_FETCH_FAILED: WebMessageInfo.StubType.ValueType # 131 + ADMIN_REVOKE: WebMessageInfo.StubType.ValueType # 132 + GROUP_INVITE_LINK_GROWTH_LOCKED: WebMessageInfo.StubType.ValueType # 133 + COMMUNITY_LINK_PARENT_GROUP: WebMessageInfo.StubType.ValueType # 134 + COMMUNITY_LINK_SIBLING_GROUP: WebMessageInfo.StubType.ValueType # 135 + COMMUNITY_LINK_SUB_GROUP: WebMessageInfo.StubType.ValueType # 136 + COMMUNITY_UNLINK_PARENT_GROUP: WebMessageInfo.StubType.ValueType # 137 + COMMUNITY_UNLINK_SIBLING_GROUP: WebMessageInfo.StubType.ValueType # 138 + COMMUNITY_UNLINK_SUB_GROUP: WebMessageInfo.StubType.ValueType # 139 + GROUP_PARTICIPANT_ACCEPT: WebMessageInfo.StubType.ValueType # 140 + GROUP_PARTICIPANT_LINKED_GROUP_JOIN: WebMessageInfo.StubType.ValueType # 141 + COMMUNITY_CREATE: WebMessageInfo.StubType.ValueType # 142 + EPHEMERAL_KEEP_IN_CHAT: WebMessageInfo.StubType.ValueType # 143 + GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST: WebMessageInfo.StubType.ValueType # 144 + GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE: WebMessageInfo.StubType.ValueType # 145 + INTEGRITY_UNLINK_PARENT_GROUP: WebMessageInfo.StubType.ValueType # 146 + COMMUNITY_PARTICIPANT_PROMOTE: WebMessageInfo.StubType.ValueType # 147 + COMMUNITY_PARTICIPANT_DEMOTE: WebMessageInfo.StubType.ValueType # 148 + COMMUNITY_PARENT_GROUP_DELETED: WebMessageInfo.StubType.ValueType # 149 + COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL: WebMessageInfo.StubType.ValueType # 150 + GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP: WebMessageInfo.StubType.ValueType # 151 + MASKED_THREAD_CREATED: WebMessageInfo.StubType.ValueType # 152 + MASKED_THREAD_UNMASKED: WebMessageInfo.StubType.ValueType # 153 + BIZ_CHAT_ASSIGNMENT: WebMessageInfo.StubType.ValueType # 154 + CHAT_PSA: WebMessageInfo.StubType.ValueType # 155 + CHAT_POLL_CREATION_MESSAGE: WebMessageInfo.StubType.ValueType # 156 + CAG_MASKED_THREAD_CREATED: WebMessageInfo.StubType.ValueType # 157 + COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED: WebMessageInfo.StubType.ValueType # 158 + CAG_INVITE_AUTO_ADD: WebMessageInfo.StubType.ValueType # 159 + BIZ_CHAT_ASSIGNMENT_UNASSIGN: WebMessageInfo.StubType.ValueType # 160 + CAG_INVITE_AUTO_JOINED: WebMessageInfo.StubType.ValueType # 161 + SCHEDULED_CALL_START_MESSAGE: WebMessageInfo.StubType.ValueType # 162 + COMMUNITY_INVITE_RICH: WebMessageInfo.StubType.ValueType # 163 + COMMUNITY_INVITE_AUTO_ADD_RICH: WebMessageInfo.StubType.ValueType # 164 + SUB_GROUP_INVITE_RICH: WebMessageInfo.StubType.ValueType # 165 + SUB_GROUP_PARTICIPANT_ADD_RICH: WebMessageInfo.StubType.ValueType # 166 + COMMUNITY_LINK_PARENT_GROUP_RICH: WebMessageInfo.StubType.ValueType # 167 + COMMUNITY_PARTICIPANT_ADD_RICH: WebMessageInfo.StubType.ValueType # 168 + SILENCED_UNKNOWN_CALLER_AUDIO: WebMessageInfo.StubType.ValueType # 169 + SILENCED_UNKNOWN_CALLER_VIDEO: WebMessageInfo.StubType.ValueType # 170 + GROUP_MEMBER_ADD_MODE: WebMessageInfo.StubType.ValueType # 171 + GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD: WebMessageInfo.StubType.ValueType # 172 + COMMUNITY_CHANGE_DESCRIPTION: WebMessageInfo.StubType.ValueType # 173 + SENDER_INVITE: WebMessageInfo.StubType.ValueType # 174 + RECEIVER_INVITE: WebMessageInfo.StubType.ValueType # 175 + COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS: WebMessageInfo.StubType.ValueType # 176 + PINNED_MESSAGE_IN_CHAT: WebMessageInfo.StubType.ValueType # 177 + PAYMENT_INVITE_SETUP_INVITER: WebMessageInfo.StubType.ValueType # 178 + PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY: WebMessageInfo.StubType.ValueType # 179 + PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE: WebMessageInfo.StubType.ValueType # 180 + LINKED_GROUP_CALL_START: WebMessageInfo.StubType.ValueType # 181 + REPORT_TO_ADMIN_ENABLED_STATUS: WebMessageInfo.StubType.ValueType # 182 + EMPTY_SUBGROUP_CREATE: WebMessageInfo.StubType.ValueType # 183 + SCHEDULED_CALL_CANCEL: WebMessageInfo.StubType.ValueType # 184 + SUBGROUP_ADMIN_TRIGGERED_AUTO_ADD_RICH: WebMessageInfo.StubType.ValueType # 185 + GROUP_CHANGE_RECENT_HISTORY_SHARING: WebMessageInfo.StubType.ValueType # 186 + PAID_MESSAGE_SERVER_CAMPAIGN_ID: WebMessageInfo.StubType.ValueType # 187 + GENERAL_CHAT_CREATE: WebMessageInfo.StubType.ValueType # 188 + GENERAL_CHAT_ADD: WebMessageInfo.StubType.ValueType # 189 + GENERAL_CHAT_AUTO_ADD_DISABLED: WebMessageInfo.StubType.ValueType # 190 + SUGGESTED_SUBGROUP_ANNOUNCE: WebMessageInfo.StubType.ValueType # 191 + BIZ_BOT_1P_MESSAGING_ENABLED: WebMessageInfo.StubType.ValueType # 192 + CHANGE_USERNAME: WebMessageInfo.StubType.ValueType # 193 + BIZ_COEX_PRIVACY_INIT_SELF: WebMessageInfo.StubType.ValueType # 194 + BIZ_COEX_PRIVACY_TRANSITION_SELF: WebMessageInfo.StubType.ValueType # 195 + SUPPORT_AI_EDUCATION: WebMessageInfo.StubType.ValueType # 196 + BIZ_BOT_3P_MESSAGING_ENABLED: WebMessageInfo.StubType.ValueType # 197 + REMINDER_SETUP_MESSAGE: WebMessageInfo.StubType.ValueType # 198 + REMINDER_SENT_MESSAGE: WebMessageInfo.StubType.ValueType # 199 + REMINDER_CANCEL_MESSAGE: WebMessageInfo.StubType.ValueType # 200 + BIZ_COEX_PRIVACY_INIT: WebMessageInfo.StubType.ValueType # 201 + BIZ_COEX_PRIVACY_TRANSITION: WebMessageInfo.StubType.ValueType # 202 + GROUP_DEACTIVATED: WebMessageInfo.StubType.ValueType # 203 + COMMUNITY_DEACTIVATE_SIBLING_GROUP: WebMessageInfo.StubType.ValueType # 204 + EVENT_UPDATED: WebMessageInfo.StubType.ValueType # 205 + EVENT_CANCELED: WebMessageInfo.StubType.ValueType # 206 + COMMUNITY_OWNER_UPDATED: WebMessageInfo.StubType.ValueType # 207 + COMMUNITY_SUB_GROUP_VISIBILITY_HIDDEN: WebMessageInfo.StubType.ValueType # 208 + CAPI_GROUP_NE2EE_SYSTEM_MESSAGE: WebMessageInfo.StubType.ValueType # 209 + STATUS_MENTION: WebMessageInfo.StubType.ValueType # 210 + USER_CONTROLS_SYSTEM_MESSAGE: WebMessageInfo.StubType.ValueType # 211 + SUPPORT_SYSTEM_MESSAGE: WebMessageInfo.StubType.ValueType # 212 + CHANGE_LID: WebMessageInfo.StubType.ValueType # 213 + BIZ_CUSTOMER_3PD_DATA_SHARING_OPT_IN_MESSAGE: WebMessageInfo.StubType.ValueType # 214 + BIZ_CUSTOMER_3PD_DATA_SHARING_OPT_OUT_MESSAGE: WebMessageInfo.StubType.ValueType # 215 + CHANGE_LIMIT_SHARING: WebMessageInfo.StubType.ValueType # 216 + GROUP_MEMBER_LINK_MODE: WebMessageInfo.StubType.ValueType # 217 + BIZ_AUTOMATICALLY_LABELED_CHAT_SYSTEM_MESSAGE: WebMessageInfo.StubType.ValueType # 218 + PHONE_NUMBER_HIDING_CHAT_DEPRECATED_MESSAGE: WebMessageInfo.StubType.ValueType # 219 + QUARANTINED_MESSAGE: WebMessageInfo.StubType.ValueType # 220 + + class _Status: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WebMessageInfo._Status.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ERROR: WebMessageInfo._Status.ValueType # 0 + PENDING: WebMessageInfo._Status.ValueType # 1 + SERVER_ACK: WebMessageInfo._Status.ValueType # 2 + DELIVERY_ACK: WebMessageInfo._Status.ValueType # 3 + READ: WebMessageInfo._Status.ValueType # 4 + PLAYED: WebMessageInfo._Status.ValueType # 5 + + class Status(_Status, metaclass=_StatusEnumTypeWrapper): ... + ERROR: WebMessageInfo.Status.ValueType # 0 + PENDING: WebMessageInfo.Status.ValueType # 1 + SERVER_ACK: WebMessageInfo.Status.ValueType # 2 + DELIVERY_ACK: WebMessageInfo.Status.ValueType # 3 + READ: WebMessageInfo.Status.ValueType # 4 + PLAYED: WebMessageInfo.Status.ValueType # 5 + + KEY_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + MESSAGETIMESTAMP_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + PARTICIPANT_FIELD_NUMBER: builtins.int + MESSAGEC2STIMESTAMP_FIELD_NUMBER: builtins.int + IGNORE_FIELD_NUMBER: builtins.int + STARRED_FIELD_NUMBER: builtins.int + BROADCAST_FIELD_NUMBER: builtins.int + PUSHNAME_FIELD_NUMBER: builtins.int + MEDIACIPHERTEXTSHA256_FIELD_NUMBER: builtins.int + MULTICAST_FIELD_NUMBER: builtins.int + URLTEXT_FIELD_NUMBER: builtins.int + URLNUMBER_FIELD_NUMBER: builtins.int + MESSAGESTUBTYPE_FIELD_NUMBER: builtins.int + CLEARMEDIA_FIELD_NUMBER: builtins.int + MESSAGESTUBPARAMETERS_FIELD_NUMBER: builtins.int + DURATION_FIELD_NUMBER: builtins.int + LABELS_FIELD_NUMBER: builtins.int + PAYMENTINFO_FIELD_NUMBER: builtins.int + FINALLIVELOCATION_FIELD_NUMBER: builtins.int + QUOTEDPAYMENTINFO_FIELD_NUMBER: builtins.int + EPHEMERALSTARTTIMESTAMP_FIELD_NUMBER: builtins.int + EPHEMERALDURATION_FIELD_NUMBER: builtins.int + EPHEMERALOFFTOON_FIELD_NUMBER: builtins.int + EPHEMERALOUTOFSYNC_FIELD_NUMBER: builtins.int + BIZPRIVACYSTATUS_FIELD_NUMBER: builtins.int + VERIFIEDBIZNAME_FIELD_NUMBER: builtins.int + MEDIADATA_FIELD_NUMBER: builtins.int + PHOTOCHANGE_FIELD_NUMBER: builtins.int + USERRECEIPT_FIELD_NUMBER: builtins.int + REACTIONS_FIELD_NUMBER: builtins.int + QUOTEDSTICKERDATA_FIELD_NUMBER: builtins.int + FUTUREPROOFDATA_FIELD_NUMBER: builtins.int + STATUSPSA_FIELD_NUMBER: builtins.int + POLLUPDATES_FIELD_NUMBER: builtins.int + POLLADDITIONALMETADATA_FIELD_NUMBER: builtins.int + AGENTID_FIELD_NUMBER: builtins.int + STATUSALREADYVIEWED_FIELD_NUMBER: builtins.int + MESSAGESECRET_FIELD_NUMBER: builtins.int + KEEPINCHAT_FIELD_NUMBER: builtins.int + ORIGINALSELFAUTHORUSERJIDSTRING_FIELD_NUMBER: builtins.int + REVOKEMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int + PININCHAT_FIELD_NUMBER: builtins.int + PREMIUMMESSAGEINFO_FIELD_NUMBER: builtins.int + IS1PBIZBOTMESSAGE_FIELD_NUMBER: builtins.int + ISGROUPHISTORYMESSAGE_FIELD_NUMBER: builtins.int + BOTMESSAGEINVOKERJID_FIELD_NUMBER: builtins.int + COMMENTMETADATA_FIELD_NUMBER: builtins.int + EVENTRESPONSES_FIELD_NUMBER: builtins.int + REPORTINGTOKENINFO_FIELD_NUMBER: builtins.int + NEWSLETTERSERVERID_FIELD_NUMBER: builtins.int + EVENTADDITIONALMETADATA_FIELD_NUMBER: builtins.int + ISMENTIONEDINSTATUS_FIELD_NUMBER: builtins.int + STATUSMENTIONS_FIELD_NUMBER: builtins.int + TARGETMESSAGEID_FIELD_NUMBER: builtins.int + MESSAGEADDONS_FIELD_NUMBER: builtins.int + STATUSMENTIONMESSAGEINFO_FIELD_NUMBER: builtins.int + ISSUPPORTAIMESSAGE_FIELD_NUMBER: builtins.int + STATUSMENTIONSOURCES_FIELD_NUMBER: builtins.int + SUPPORTAICITATIONS_FIELD_NUMBER: builtins.int + BOTTARGETID_FIELD_NUMBER: builtins.int + GROUPHISTORYINDIVIDUALMESSAGEINFO_FIELD_NUMBER: builtins.int + GROUPHISTORYBUNDLEINFO_FIELD_NUMBER: builtins.int + INTERACTIVEMESSAGEADDITIONALMETADATA_FIELD_NUMBER: builtins.int + QUARANTINEDMESSAGE_FIELD_NUMBER: builtins.int + messageTimestamp: builtins.int + status: global___WebMessageInfo.Status.ValueType + participant: builtins.str + messageC2STimestamp: builtins.int + ignore: builtins.bool + starred: builtins.bool + broadcast: builtins.bool + pushName: builtins.str + mediaCiphertextSHA256: builtins.bytes + multicast: builtins.bool + urlText: builtins.bool + urlNumber: builtins.bool + messageStubType: global___WebMessageInfo.StubType.ValueType + clearMedia: builtins.bool + duration: builtins.int + ephemeralStartTimestamp: builtins.int + ephemeralDuration: builtins.int + ephemeralOffToOn: builtins.bool + ephemeralOutOfSync: builtins.bool + bizPrivacyStatus: global___WebMessageInfo.BizPrivacyStatus.ValueType + verifiedBizName: builtins.str + futureproofData: builtins.bytes + agentID: builtins.str + statusAlreadyViewed: builtins.bool + messageSecret: builtins.bytes + originalSelfAuthorUserJIDString: builtins.str + revokeMessageTimestamp: builtins.int + is1PBizBotMessage: builtins.bool + isGroupHistoryMessage: builtins.bool + botMessageInvokerJID: builtins.str + newsletterServerID: builtins.int + isMentionedInStatus: builtins.bool + isSupportAiMessage: builtins.bool + botTargetID: builtins.str + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def message(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... + @property + def messageStubParameters(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def labels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def paymentInfo(self) -> global___PaymentInfo: ... + @property + def finalLiveLocation(self) -> waE2E.WAWebProtobufsE2E_pb2.LiveLocationMessage: ... + @property + def quotedPaymentInfo(self) -> global___PaymentInfo: ... + @property + def mediaData(self) -> global___MediaData: ... + @property + def photoChange(self) -> global___PhotoChange: ... + @property + def userReceipt(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserReceipt]: ... + @property + def reactions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Reaction]: ... + @property + def quotedStickerData(self) -> global___MediaData: ... + @property + def statusPsa(self) -> global___StatusPSA: ... + @property + def pollUpdates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PollUpdate]: ... + @property + def pollAdditionalMetadata(self) -> global___PollAdditionalMetadata: ... + @property + def keepInChat(self) -> global___KeepInChat: ... + @property + def pinInChat(self) -> global___PinInChat: ... + @property + def premiumMessageInfo(self) -> global___PremiumMessageInfo: ... + @property + def commentMetadata(self) -> global___CommentMetadata: ... + @property + def eventResponses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EventResponse]: ... + @property + def reportingTokenInfo(self) -> global___ReportingTokenInfo: ... + @property + def eventAdditionalMetadata(self) -> global___EventAdditionalMetadata: ... + @property + def statusMentions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def targetMessageID(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def messageAddOns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MessageAddOn]: ... + @property + def statusMentionMessageInfo(self) -> global___StatusMentionMessage: ... + @property + def statusMentionSources(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def supportAiCitations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Citation]: ... + @property + def groupHistoryIndividualMessageInfo(self) -> global___GroupHistoryIndividualMessageInfo: ... + @property + def groupHistoryBundleInfo(self) -> global___GroupHistoryBundleInfo: ... + @property + def interactiveMessageAdditionalMetadata(self) -> global___InteractiveMessageAdditionalMetadata: ... + @property + def quarantinedMessage(self) -> global___QuarantinedMessage: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + message: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., + messageTimestamp: builtins.int | None = ..., + status: global___WebMessageInfo.Status.ValueType | None = ..., + participant: builtins.str | None = ..., + messageC2STimestamp: builtins.int | None = ..., + ignore: builtins.bool | None = ..., + starred: builtins.bool | None = ..., + broadcast: builtins.bool | None = ..., + pushName: builtins.str | None = ..., + mediaCiphertextSHA256: builtins.bytes | None = ..., + multicast: builtins.bool | None = ..., + urlText: builtins.bool | None = ..., + urlNumber: builtins.bool | None = ..., + messageStubType: global___WebMessageInfo.StubType.ValueType | None = ..., + clearMedia: builtins.bool | None = ..., + messageStubParameters: collections.abc.Iterable[builtins.str] | None = ..., + duration: builtins.int | None = ..., + labels: collections.abc.Iterable[builtins.str] | None = ..., + paymentInfo: global___PaymentInfo | None = ..., + finalLiveLocation: waE2E.WAWebProtobufsE2E_pb2.LiveLocationMessage | None = ..., + quotedPaymentInfo: global___PaymentInfo | None = ..., + ephemeralStartTimestamp: builtins.int | None = ..., + ephemeralDuration: builtins.int | None = ..., + ephemeralOffToOn: builtins.bool | None = ..., + ephemeralOutOfSync: builtins.bool | None = ..., + bizPrivacyStatus: global___WebMessageInfo.BizPrivacyStatus.ValueType | None = ..., + verifiedBizName: builtins.str | None = ..., + mediaData: global___MediaData | None = ..., + photoChange: global___PhotoChange | None = ..., + userReceipt: collections.abc.Iterable[global___UserReceipt] | None = ..., + reactions: collections.abc.Iterable[global___Reaction] | None = ..., + quotedStickerData: global___MediaData | None = ..., + futureproofData: builtins.bytes | None = ..., + statusPsa: global___StatusPSA | None = ..., + pollUpdates: collections.abc.Iterable[global___PollUpdate] | None = ..., + pollAdditionalMetadata: global___PollAdditionalMetadata | None = ..., + agentID: builtins.str | None = ..., + statusAlreadyViewed: builtins.bool | None = ..., + messageSecret: builtins.bytes | None = ..., + keepInChat: global___KeepInChat | None = ..., + originalSelfAuthorUserJIDString: builtins.str | None = ..., + revokeMessageTimestamp: builtins.int | None = ..., + pinInChat: global___PinInChat | None = ..., + premiumMessageInfo: global___PremiumMessageInfo | None = ..., + is1PBizBotMessage: builtins.bool | None = ..., + isGroupHistoryMessage: builtins.bool | None = ..., + botMessageInvokerJID: builtins.str | None = ..., + commentMetadata: global___CommentMetadata | None = ..., + eventResponses: collections.abc.Iterable[global___EventResponse] | None = ..., + reportingTokenInfo: global___ReportingTokenInfo | None = ..., + newsletterServerID: builtins.int | None = ..., + eventAdditionalMetadata: global___EventAdditionalMetadata | None = ..., + isMentionedInStatus: builtins.bool | None = ..., + statusMentions: collections.abc.Iterable[builtins.str] | None = ..., + targetMessageID: waCommon.WACommon_pb2.MessageKey | None = ..., + messageAddOns: collections.abc.Iterable[global___MessageAddOn] | None = ..., + statusMentionMessageInfo: global___StatusMentionMessage | None = ..., + isSupportAiMessage: builtins.bool | None = ..., + statusMentionSources: collections.abc.Iterable[builtins.str] | None = ..., + supportAiCitations: collections.abc.Iterable[global___Citation] | None = ..., + botTargetID: builtins.str | None = ..., + groupHistoryIndividualMessageInfo: global___GroupHistoryIndividualMessageInfo | None = ..., + groupHistoryBundleInfo: global___GroupHistoryBundleInfo | None = ..., + interactiveMessageAdditionalMetadata: global___InteractiveMessageAdditionalMetadata | None = ..., + quarantinedMessage: global___QuarantinedMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["agentID", b"agentID", "bizPrivacyStatus", b"bizPrivacyStatus", "botMessageInvokerJID", b"botMessageInvokerJID", "botTargetID", b"botTargetID", "broadcast", b"broadcast", "clearMedia", b"clearMedia", "commentMetadata", b"commentMetadata", "duration", b"duration", "ephemeralDuration", b"ephemeralDuration", "ephemeralOffToOn", b"ephemeralOffToOn", "ephemeralOutOfSync", b"ephemeralOutOfSync", "ephemeralStartTimestamp", b"ephemeralStartTimestamp", "eventAdditionalMetadata", b"eventAdditionalMetadata", "finalLiveLocation", b"finalLiveLocation", "futureproofData", b"futureproofData", "groupHistoryBundleInfo", b"groupHistoryBundleInfo", "groupHistoryIndividualMessageInfo", b"groupHistoryIndividualMessageInfo", "ignore", b"ignore", "interactiveMessageAdditionalMetadata", b"interactiveMessageAdditionalMetadata", "is1PBizBotMessage", b"is1PBizBotMessage", "isGroupHistoryMessage", b"isGroupHistoryMessage", "isMentionedInStatus", b"isMentionedInStatus", "isSupportAiMessage", b"isSupportAiMessage", "keepInChat", b"keepInChat", "key", b"key", "mediaCiphertextSHA256", b"mediaCiphertextSHA256", "mediaData", b"mediaData", "message", b"message", "messageC2STimestamp", b"messageC2STimestamp", "messageSecret", b"messageSecret", "messageStubType", b"messageStubType", "messageTimestamp", b"messageTimestamp", "multicast", b"multicast", "newsletterServerID", b"newsletterServerID", "originalSelfAuthorUserJIDString", b"originalSelfAuthorUserJIDString", "participant", b"participant", "paymentInfo", b"paymentInfo", "photoChange", b"photoChange", "pinInChat", b"pinInChat", "pollAdditionalMetadata", b"pollAdditionalMetadata", "premiumMessageInfo", b"premiumMessageInfo", "pushName", b"pushName", "quarantinedMessage", b"quarantinedMessage", "quotedPaymentInfo", b"quotedPaymentInfo", "quotedStickerData", b"quotedStickerData", "reportingTokenInfo", b"reportingTokenInfo", "revokeMessageTimestamp", b"revokeMessageTimestamp", "starred", b"starred", "status", b"status", "statusAlreadyViewed", b"statusAlreadyViewed", "statusMentionMessageInfo", b"statusMentionMessageInfo", "statusPsa", b"statusPsa", "targetMessageID", b"targetMessageID", "urlNumber", b"urlNumber", "urlText", b"urlText", "verifiedBizName", b"verifiedBizName"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["agentID", b"agentID", "bizPrivacyStatus", b"bizPrivacyStatus", "botMessageInvokerJID", b"botMessageInvokerJID", "botTargetID", b"botTargetID", "broadcast", b"broadcast", "clearMedia", b"clearMedia", "commentMetadata", b"commentMetadata", "duration", b"duration", "ephemeralDuration", b"ephemeralDuration", "ephemeralOffToOn", b"ephemeralOffToOn", "ephemeralOutOfSync", b"ephemeralOutOfSync", "ephemeralStartTimestamp", b"ephemeralStartTimestamp", "eventAdditionalMetadata", b"eventAdditionalMetadata", "eventResponses", b"eventResponses", "finalLiveLocation", b"finalLiveLocation", "futureproofData", b"futureproofData", "groupHistoryBundleInfo", b"groupHistoryBundleInfo", "groupHistoryIndividualMessageInfo", b"groupHistoryIndividualMessageInfo", "ignore", b"ignore", "interactiveMessageAdditionalMetadata", b"interactiveMessageAdditionalMetadata", "is1PBizBotMessage", b"is1PBizBotMessage", "isGroupHistoryMessage", b"isGroupHistoryMessage", "isMentionedInStatus", b"isMentionedInStatus", "isSupportAiMessage", b"isSupportAiMessage", "keepInChat", b"keepInChat", "key", b"key", "labels", b"labels", "mediaCiphertextSHA256", b"mediaCiphertextSHA256", "mediaData", b"mediaData", "message", b"message", "messageAddOns", b"messageAddOns", "messageC2STimestamp", b"messageC2STimestamp", "messageSecret", b"messageSecret", "messageStubParameters", b"messageStubParameters", "messageStubType", b"messageStubType", "messageTimestamp", b"messageTimestamp", "multicast", b"multicast", "newsletterServerID", b"newsletterServerID", "originalSelfAuthorUserJIDString", b"originalSelfAuthorUserJIDString", "participant", b"participant", "paymentInfo", b"paymentInfo", "photoChange", b"photoChange", "pinInChat", b"pinInChat", "pollAdditionalMetadata", b"pollAdditionalMetadata", "pollUpdates", b"pollUpdates", "premiumMessageInfo", b"premiumMessageInfo", "pushName", b"pushName", "quarantinedMessage", b"quarantinedMessage", "quotedPaymentInfo", b"quotedPaymentInfo", "quotedStickerData", b"quotedStickerData", "reactions", b"reactions", "reportingTokenInfo", b"reportingTokenInfo", "revokeMessageTimestamp", b"revokeMessageTimestamp", "starred", b"starred", "status", b"status", "statusAlreadyViewed", b"statusAlreadyViewed", "statusMentionMessageInfo", b"statusMentionMessageInfo", "statusMentionSources", b"statusMentionSources", "statusMentions", b"statusMentions", "statusPsa", b"statusPsa", "supportAiCitations", b"supportAiCitations", "targetMessageID", b"targetMessageID", "urlNumber", b"urlNumber", "urlText", b"urlText", "userReceipt", b"userReceipt", "verifiedBizName", b"verifiedBizName"]) -> None: ... + +global___WebMessageInfo = WebMessageInfo + +@typing.final +class PaymentInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _TxnStatus: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TxnStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentInfo._TxnStatus.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN: PaymentInfo._TxnStatus.ValueType # 0 + PENDING_SETUP: PaymentInfo._TxnStatus.ValueType # 1 + PENDING_RECEIVER_SETUP: PaymentInfo._TxnStatus.ValueType # 2 + INIT: PaymentInfo._TxnStatus.ValueType # 3 + SUCCESS: PaymentInfo._TxnStatus.ValueType # 4 + COMPLETED: PaymentInfo._TxnStatus.ValueType # 5 + FAILED: PaymentInfo._TxnStatus.ValueType # 6 + FAILED_RISK: PaymentInfo._TxnStatus.ValueType # 7 + FAILED_PROCESSING: PaymentInfo._TxnStatus.ValueType # 8 + FAILED_RECEIVER_PROCESSING: PaymentInfo._TxnStatus.ValueType # 9 + FAILED_DA: PaymentInfo._TxnStatus.ValueType # 10 + FAILED_DA_FINAL: PaymentInfo._TxnStatus.ValueType # 11 + REFUNDED_TXN: PaymentInfo._TxnStatus.ValueType # 12 + REFUND_FAILED: PaymentInfo._TxnStatus.ValueType # 13 + REFUND_FAILED_PROCESSING: PaymentInfo._TxnStatus.ValueType # 14 + REFUND_FAILED_DA: PaymentInfo._TxnStatus.ValueType # 15 + EXPIRED_TXN: PaymentInfo._TxnStatus.ValueType # 16 + AUTH_CANCELED: PaymentInfo._TxnStatus.ValueType # 17 + AUTH_CANCEL_FAILED_PROCESSING: PaymentInfo._TxnStatus.ValueType # 18 + AUTH_CANCEL_FAILED: PaymentInfo._TxnStatus.ValueType # 19 + COLLECT_INIT: PaymentInfo._TxnStatus.ValueType # 20 + COLLECT_SUCCESS: PaymentInfo._TxnStatus.ValueType # 21 + COLLECT_FAILED: PaymentInfo._TxnStatus.ValueType # 22 + COLLECT_FAILED_RISK: PaymentInfo._TxnStatus.ValueType # 23 + COLLECT_REJECTED: PaymentInfo._TxnStatus.ValueType # 24 + COLLECT_EXPIRED: PaymentInfo._TxnStatus.ValueType # 25 + COLLECT_CANCELED: PaymentInfo._TxnStatus.ValueType # 26 + COLLECT_CANCELLING: PaymentInfo._TxnStatus.ValueType # 27 + IN_REVIEW: PaymentInfo._TxnStatus.ValueType # 28 + REVERSAL_SUCCESS: PaymentInfo._TxnStatus.ValueType # 29 + REVERSAL_PENDING: PaymentInfo._TxnStatus.ValueType # 30 + REFUND_PENDING: PaymentInfo._TxnStatus.ValueType # 31 + + class TxnStatus(_TxnStatus, metaclass=_TxnStatusEnumTypeWrapper): ... + UNKNOWN: PaymentInfo.TxnStatus.ValueType # 0 + PENDING_SETUP: PaymentInfo.TxnStatus.ValueType # 1 + PENDING_RECEIVER_SETUP: PaymentInfo.TxnStatus.ValueType # 2 + INIT: PaymentInfo.TxnStatus.ValueType # 3 + SUCCESS: PaymentInfo.TxnStatus.ValueType # 4 + COMPLETED: PaymentInfo.TxnStatus.ValueType # 5 + FAILED: PaymentInfo.TxnStatus.ValueType # 6 + FAILED_RISK: PaymentInfo.TxnStatus.ValueType # 7 + FAILED_PROCESSING: PaymentInfo.TxnStatus.ValueType # 8 + FAILED_RECEIVER_PROCESSING: PaymentInfo.TxnStatus.ValueType # 9 + FAILED_DA: PaymentInfo.TxnStatus.ValueType # 10 + FAILED_DA_FINAL: PaymentInfo.TxnStatus.ValueType # 11 + REFUNDED_TXN: PaymentInfo.TxnStatus.ValueType # 12 + REFUND_FAILED: PaymentInfo.TxnStatus.ValueType # 13 + REFUND_FAILED_PROCESSING: PaymentInfo.TxnStatus.ValueType # 14 + REFUND_FAILED_DA: PaymentInfo.TxnStatus.ValueType # 15 + EXPIRED_TXN: PaymentInfo.TxnStatus.ValueType # 16 + AUTH_CANCELED: PaymentInfo.TxnStatus.ValueType # 17 + AUTH_CANCEL_FAILED_PROCESSING: PaymentInfo.TxnStatus.ValueType # 18 + AUTH_CANCEL_FAILED: PaymentInfo.TxnStatus.ValueType # 19 + COLLECT_INIT: PaymentInfo.TxnStatus.ValueType # 20 + COLLECT_SUCCESS: PaymentInfo.TxnStatus.ValueType # 21 + COLLECT_FAILED: PaymentInfo.TxnStatus.ValueType # 22 + COLLECT_FAILED_RISK: PaymentInfo.TxnStatus.ValueType # 23 + COLLECT_REJECTED: PaymentInfo.TxnStatus.ValueType # 24 + COLLECT_EXPIRED: PaymentInfo.TxnStatus.ValueType # 25 + COLLECT_CANCELED: PaymentInfo.TxnStatus.ValueType # 26 + COLLECT_CANCELLING: PaymentInfo.TxnStatus.ValueType # 27 + IN_REVIEW: PaymentInfo.TxnStatus.ValueType # 28 + REVERSAL_SUCCESS: PaymentInfo.TxnStatus.ValueType # 29 + REVERSAL_PENDING: PaymentInfo.TxnStatus.ValueType # 30 + REFUND_PENDING: PaymentInfo.TxnStatus.ValueType # 31 + + class _Status: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _StatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentInfo._Status.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_STATUS: PaymentInfo._Status.ValueType # 0 + PROCESSING: PaymentInfo._Status.ValueType # 1 + SENT: PaymentInfo._Status.ValueType # 2 + NEED_TO_ACCEPT: PaymentInfo._Status.ValueType # 3 + COMPLETE: PaymentInfo._Status.ValueType # 4 + COULD_NOT_COMPLETE: PaymentInfo._Status.ValueType # 5 + REFUNDED: PaymentInfo._Status.ValueType # 6 + EXPIRED: PaymentInfo._Status.ValueType # 7 + REJECTED: PaymentInfo._Status.ValueType # 8 + CANCELLED: PaymentInfo._Status.ValueType # 9 + WAITING_FOR_PAYER: PaymentInfo._Status.ValueType # 10 + WAITING: PaymentInfo._Status.ValueType # 11 + + class Status(_Status, metaclass=_StatusEnumTypeWrapper): ... + UNKNOWN_STATUS: PaymentInfo.Status.ValueType # 0 + PROCESSING: PaymentInfo.Status.ValueType # 1 + SENT: PaymentInfo.Status.ValueType # 2 + NEED_TO_ACCEPT: PaymentInfo.Status.ValueType # 3 + COMPLETE: PaymentInfo.Status.ValueType # 4 + COULD_NOT_COMPLETE: PaymentInfo.Status.ValueType # 5 + REFUNDED: PaymentInfo.Status.ValueType # 6 + EXPIRED: PaymentInfo.Status.ValueType # 7 + REJECTED: PaymentInfo.Status.ValueType # 8 + CANCELLED: PaymentInfo.Status.ValueType # 9 + WAITING_FOR_PAYER: PaymentInfo.Status.ValueType # 10 + WAITING: PaymentInfo.Status.ValueType # 11 + + class _Currency: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _CurrencyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentInfo._Currency.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_CURRENCY: PaymentInfo._Currency.ValueType # 0 + INR: PaymentInfo._Currency.ValueType # 1 + + class Currency(_Currency, metaclass=_CurrencyEnumTypeWrapper): ... + UNKNOWN_CURRENCY: PaymentInfo.Currency.ValueType # 0 + INR: PaymentInfo.Currency.ValueType # 1 + + CURRENCYDEPRECATED_FIELD_NUMBER: builtins.int + AMOUNT1000_FIELD_NUMBER: builtins.int + RECEIVERJID_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + TRANSACTIONTIMESTAMP_FIELD_NUMBER: builtins.int + REQUESTMESSAGEKEY_FIELD_NUMBER: builtins.int + EXPIRYTIMESTAMP_FIELD_NUMBER: builtins.int + FUTUREPROOFED_FIELD_NUMBER: builtins.int + CURRENCY_FIELD_NUMBER: builtins.int + TXNSTATUS_FIELD_NUMBER: builtins.int + USENOVIFIATFORMAT_FIELD_NUMBER: builtins.int + PRIMARYAMOUNT_FIELD_NUMBER: builtins.int + EXCHANGEAMOUNT_FIELD_NUMBER: builtins.int + currencyDeprecated: global___PaymentInfo.Currency.ValueType + amount1000: builtins.int + receiverJID: builtins.str + status: global___PaymentInfo.Status.ValueType + transactionTimestamp: builtins.int + expiryTimestamp: builtins.int + futureproofed: builtins.bool + currency: builtins.str + txnStatus: global___PaymentInfo.TxnStatus.ValueType + useNoviFiatFormat: builtins.bool + @property + def requestMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def primaryAmount(self) -> waE2E.WAWebProtobufsE2E_pb2.Money: ... + @property + def exchangeAmount(self) -> waE2E.WAWebProtobufsE2E_pb2.Money: ... + def __init__( + self, + *, + currencyDeprecated: global___PaymentInfo.Currency.ValueType | None = ..., + amount1000: builtins.int | None = ..., + receiverJID: builtins.str | None = ..., + status: global___PaymentInfo.Status.ValueType | None = ..., + transactionTimestamp: builtins.int | None = ..., + requestMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + expiryTimestamp: builtins.int | None = ..., + futureproofed: builtins.bool | None = ..., + currency: builtins.str | None = ..., + txnStatus: global___PaymentInfo.TxnStatus.ValueType | None = ..., + useNoviFiatFormat: builtins.bool | None = ..., + primaryAmount: waE2E.WAWebProtobufsE2E_pb2.Money | None = ..., + exchangeAmount: waE2E.WAWebProtobufsE2E_pb2.Money | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["amount1000", b"amount1000", "currency", b"currency", "currencyDeprecated", b"currencyDeprecated", "exchangeAmount", b"exchangeAmount", "expiryTimestamp", b"expiryTimestamp", "futureproofed", b"futureproofed", "primaryAmount", b"primaryAmount", "receiverJID", b"receiverJID", "requestMessageKey", b"requestMessageKey", "status", b"status", "transactionTimestamp", b"transactionTimestamp", "txnStatus", b"txnStatus", "useNoviFiatFormat", b"useNoviFiatFormat"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["amount1000", b"amount1000", "currency", b"currency", "currencyDeprecated", b"currencyDeprecated", "exchangeAmount", b"exchangeAmount", "expiryTimestamp", b"expiryTimestamp", "futureproofed", b"futureproofed", "primaryAmount", b"primaryAmount", "receiverJID", b"receiverJID", "requestMessageKey", b"requestMessageKey", "status", b"status", "transactionTimestamp", b"transactionTimestamp", "txnStatus", b"txnStatus", "useNoviFiatFormat", b"useNoviFiatFormat"]) -> None: ... + +global___PaymentInfo = PaymentInfo + +@typing.final +class WebFeatures(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Flag: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _FlagEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WebFeatures._Flag.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NOT_STARTED: WebFeatures._Flag.ValueType # 0 + FORCE_UPGRADE: WebFeatures._Flag.ValueType # 1 + DEVELOPMENT: WebFeatures._Flag.ValueType # 2 + PRODUCTION: WebFeatures._Flag.ValueType # 3 + + class Flag(_Flag, metaclass=_FlagEnumTypeWrapper): ... + NOT_STARTED: WebFeatures.Flag.ValueType # 0 + FORCE_UPGRADE: WebFeatures.Flag.ValueType # 1 + DEVELOPMENT: WebFeatures.Flag.ValueType # 2 + PRODUCTION: WebFeatures.Flag.ValueType # 3 + + LABELSDISPLAY_FIELD_NUMBER: builtins.int + VOIPINDIVIDUALOUTGOING_FIELD_NUMBER: builtins.int + GROUPSV3_FIELD_NUMBER: builtins.int + GROUPSV3CREATE_FIELD_NUMBER: builtins.int + CHANGENUMBERV2_FIELD_NUMBER: builtins.int + QUERYSTATUSV3THUMBNAIL_FIELD_NUMBER: builtins.int + LIVELOCATIONS_FIELD_NUMBER: builtins.int + QUERYVNAME_FIELD_NUMBER: builtins.int + VOIPINDIVIDUALINCOMING_FIELD_NUMBER: builtins.int + QUICKREPLIESQUERY_FIELD_NUMBER: builtins.int + PAYMENTS_FIELD_NUMBER: builtins.int + STICKERPACKQUERY_FIELD_NUMBER: builtins.int + LIVELOCATIONSFINAL_FIELD_NUMBER: builtins.int + LABELSEDIT_FIELD_NUMBER: builtins.int + MEDIAUPLOAD_FIELD_NUMBER: builtins.int + MEDIAUPLOADRICHQUICKREPLIES_FIELD_NUMBER: builtins.int + VNAMEV2_FIELD_NUMBER: builtins.int + VIDEOPLAYBACKURL_FIELD_NUMBER: builtins.int + STATUSRANKING_FIELD_NUMBER: builtins.int + VOIPINDIVIDUALVIDEO_FIELD_NUMBER: builtins.int + THIRDPARTYSTICKERS_FIELD_NUMBER: builtins.int + FREQUENTLYFORWARDEDSETTING_FIELD_NUMBER: builtins.int + GROUPSV4JOINPERMISSION_FIELD_NUMBER: builtins.int + RECENTSTICKERS_FIELD_NUMBER: builtins.int + CATALOG_FIELD_NUMBER: builtins.int + STARREDSTICKERS_FIELD_NUMBER: builtins.int + VOIPGROUPCALL_FIELD_NUMBER: builtins.int + TEMPLATEMESSAGE_FIELD_NUMBER: builtins.int + TEMPLATEMESSAGEINTERACTIVITY_FIELD_NUMBER: builtins.int + EPHEMERALMESSAGES_FIELD_NUMBER: builtins.int + E2ENOTIFICATIONSYNC_FIELD_NUMBER: builtins.int + RECENTSTICKERSV2_FIELD_NUMBER: builtins.int + RECENTSTICKERSV3_FIELD_NUMBER: builtins.int + USERNOTICE_FIELD_NUMBER: builtins.int + SUPPORT_FIELD_NUMBER: builtins.int + GROUPUIICLEANUP_FIELD_NUMBER: builtins.int + GROUPDOGFOODINGINTERNALONLY_FIELD_NUMBER: builtins.int + SETTINGSSYNC_FIELD_NUMBER: builtins.int + ARCHIVEV2_FIELD_NUMBER: builtins.int + EPHEMERALALLOWGROUPMEMBERS_FIELD_NUMBER: builtins.int + EPHEMERAL24HDURATION_FIELD_NUMBER: builtins.int + MDFORCEUPGRADE_FIELD_NUMBER: builtins.int + DISAPPEARINGMODE_FIELD_NUMBER: builtins.int + EXTERNALMDOPTINAVAILABLE_FIELD_NUMBER: builtins.int + NODELETEMESSAGETIMELIMIT_FIELD_NUMBER: builtins.int + labelsDisplay: global___WebFeatures.Flag.ValueType + voipIndividualOutgoing: global___WebFeatures.Flag.ValueType + groupsV3: global___WebFeatures.Flag.ValueType + groupsV3Create: global___WebFeatures.Flag.ValueType + changeNumberV2: global___WebFeatures.Flag.ValueType + queryStatusV3Thumbnail: global___WebFeatures.Flag.ValueType + liveLocations: global___WebFeatures.Flag.ValueType + queryVname: global___WebFeatures.Flag.ValueType + voipIndividualIncoming: global___WebFeatures.Flag.ValueType + quickRepliesQuery: global___WebFeatures.Flag.ValueType + payments: global___WebFeatures.Flag.ValueType + stickerPackQuery: global___WebFeatures.Flag.ValueType + liveLocationsFinal: global___WebFeatures.Flag.ValueType + labelsEdit: global___WebFeatures.Flag.ValueType + mediaUpload: global___WebFeatures.Flag.ValueType + mediaUploadRichQuickReplies: global___WebFeatures.Flag.ValueType + vnameV2: global___WebFeatures.Flag.ValueType + videoPlaybackURL: global___WebFeatures.Flag.ValueType + statusRanking: global___WebFeatures.Flag.ValueType + voipIndividualVideo: global___WebFeatures.Flag.ValueType + thirdPartyStickers: global___WebFeatures.Flag.ValueType + frequentlyForwardedSetting: global___WebFeatures.Flag.ValueType + groupsV4JoinPermission: global___WebFeatures.Flag.ValueType + recentStickers: global___WebFeatures.Flag.ValueType + catalog: global___WebFeatures.Flag.ValueType + starredStickers: global___WebFeatures.Flag.ValueType + voipGroupCall: global___WebFeatures.Flag.ValueType + templateMessage: global___WebFeatures.Flag.ValueType + templateMessageInteractivity: global___WebFeatures.Flag.ValueType + ephemeralMessages: global___WebFeatures.Flag.ValueType + e2ENotificationSync: global___WebFeatures.Flag.ValueType + recentStickersV2: global___WebFeatures.Flag.ValueType + recentStickersV3: global___WebFeatures.Flag.ValueType + userNotice: global___WebFeatures.Flag.ValueType + support: global___WebFeatures.Flag.ValueType + groupUiiCleanup: global___WebFeatures.Flag.ValueType + groupDogfoodingInternalOnly: global___WebFeatures.Flag.ValueType + settingsSync: global___WebFeatures.Flag.ValueType + archiveV2: global___WebFeatures.Flag.ValueType + ephemeralAllowGroupMembers: global___WebFeatures.Flag.ValueType + ephemeral24HDuration: global___WebFeatures.Flag.ValueType + mdForceUpgrade: global___WebFeatures.Flag.ValueType + disappearingMode: global___WebFeatures.Flag.ValueType + externalMdOptInAvailable: global___WebFeatures.Flag.ValueType + noDeleteMessageTimeLimit: global___WebFeatures.Flag.ValueType + def __init__( + self, + *, + labelsDisplay: global___WebFeatures.Flag.ValueType | None = ..., + voipIndividualOutgoing: global___WebFeatures.Flag.ValueType | None = ..., + groupsV3: global___WebFeatures.Flag.ValueType | None = ..., + groupsV3Create: global___WebFeatures.Flag.ValueType | None = ..., + changeNumberV2: global___WebFeatures.Flag.ValueType | None = ..., + queryStatusV3Thumbnail: global___WebFeatures.Flag.ValueType | None = ..., + liveLocations: global___WebFeatures.Flag.ValueType | None = ..., + queryVname: global___WebFeatures.Flag.ValueType | None = ..., + voipIndividualIncoming: global___WebFeatures.Flag.ValueType | None = ..., + quickRepliesQuery: global___WebFeatures.Flag.ValueType | None = ..., + payments: global___WebFeatures.Flag.ValueType | None = ..., + stickerPackQuery: global___WebFeatures.Flag.ValueType | None = ..., + liveLocationsFinal: global___WebFeatures.Flag.ValueType | None = ..., + labelsEdit: global___WebFeatures.Flag.ValueType | None = ..., + mediaUpload: global___WebFeatures.Flag.ValueType | None = ..., + mediaUploadRichQuickReplies: global___WebFeatures.Flag.ValueType | None = ..., + vnameV2: global___WebFeatures.Flag.ValueType | None = ..., + videoPlaybackURL: global___WebFeatures.Flag.ValueType | None = ..., + statusRanking: global___WebFeatures.Flag.ValueType | None = ..., + voipIndividualVideo: global___WebFeatures.Flag.ValueType | None = ..., + thirdPartyStickers: global___WebFeatures.Flag.ValueType | None = ..., + frequentlyForwardedSetting: global___WebFeatures.Flag.ValueType | None = ..., + groupsV4JoinPermission: global___WebFeatures.Flag.ValueType | None = ..., + recentStickers: global___WebFeatures.Flag.ValueType | None = ..., + catalog: global___WebFeatures.Flag.ValueType | None = ..., + starredStickers: global___WebFeatures.Flag.ValueType | None = ..., + voipGroupCall: global___WebFeatures.Flag.ValueType | None = ..., + templateMessage: global___WebFeatures.Flag.ValueType | None = ..., + templateMessageInteractivity: global___WebFeatures.Flag.ValueType | None = ..., + ephemeralMessages: global___WebFeatures.Flag.ValueType | None = ..., + e2ENotificationSync: global___WebFeatures.Flag.ValueType | None = ..., + recentStickersV2: global___WebFeatures.Flag.ValueType | None = ..., + recentStickersV3: global___WebFeatures.Flag.ValueType | None = ..., + userNotice: global___WebFeatures.Flag.ValueType | None = ..., + support: global___WebFeatures.Flag.ValueType | None = ..., + groupUiiCleanup: global___WebFeatures.Flag.ValueType | None = ..., + groupDogfoodingInternalOnly: global___WebFeatures.Flag.ValueType | None = ..., + settingsSync: global___WebFeatures.Flag.ValueType | None = ..., + archiveV2: global___WebFeatures.Flag.ValueType | None = ..., + ephemeralAllowGroupMembers: global___WebFeatures.Flag.ValueType | None = ..., + ephemeral24HDuration: global___WebFeatures.Flag.ValueType | None = ..., + mdForceUpgrade: global___WebFeatures.Flag.ValueType | None = ..., + disappearingMode: global___WebFeatures.Flag.ValueType | None = ..., + externalMdOptInAvailable: global___WebFeatures.Flag.ValueType | None = ..., + noDeleteMessageTimeLimit: global___WebFeatures.Flag.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["archiveV2", b"archiveV2", "catalog", b"catalog", "changeNumberV2", b"changeNumberV2", "disappearingMode", b"disappearingMode", "e2ENotificationSync", b"e2ENotificationSync", "ephemeral24HDuration", b"ephemeral24HDuration", "ephemeralAllowGroupMembers", b"ephemeralAllowGroupMembers", "ephemeralMessages", b"ephemeralMessages", "externalMdOptInAvailable", b"externalMdOptInAvailable", "frequentlyForwardedSetting", b"frequentlyForwardedSetting", "groupDogfoodingInternalOnly", b"groupDogfoodingInternalOnly", "groupUiiCleanup", b"groupUiiCleanup", "groupsV3", b"groupsV3", "groupsV3Create", b"groupsV3Create", "groupsV4JoinPermission", b"groupsV4JoinPermission", "labelsDisplay", b"labelsDisplay", "labelsEdit", b"labelsEdit", "liveLocations", b"liveLocations", "liveLocationsFinal", b"liveLocationsFinal", "mdForceUpgrade", b"mdForceUpgrade", "mediaUpload", b"mediaUpload", "mediaUploadRichQuickReplies", b"mediaUploadRichQuickReplies", "noDeleteMessageTimeLimit", b"noDeleteMessageTimeLimit", "payments", b"payments", "queryStatusV3Thumbnail", b"queryStatusV3Thumbnail", "queryVname", b"queryVname", "quickRepliesQuery", b"quickRepliesQuery", "recentStickers", b"recentStickers", "recentStickersV2", b"recentStickersV2", "recentStickersV3", b"recentStickersV3", "settingsSync", b"settingsSync", "starredStickers", b"starredStickers", "statusRanking", b"statusRanking", "stickerPackQuery", b"stickerPackQuery", "support", b"support", "templateMessage", b"templateMessage", "templateMessageInteractivity", b"templateMessageInteractivity", "thirdPartyStickers", b"thirdPartyStickers", "userNotice", b"userNotice", "videoPlaybackURL", b"videoPlaybackURL", "vnameV2", b"vnameV2", "voipGroupCall", b"voipGroupCall", "voipIndividualIncoming", b"voipIndividualIncoming", "voipIndividualOutgoing", b"voipIndividualOutgoing", "voipIndividualVideo", b"voipIndividualVideo"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["archiveV2", b"archiveV2", "catalog", b"catalog", "changeNumberV2", b"changeNumberV2", "disappearingMode", b"disappearingMode", "e2ENotificationSync", b"e2ENotificationSync", "ephemeral24HDuration", b"ephemeral24HDuration", "ephemeralAllowGroupMembers", b"ephemeralAllowGroupMembers", "ephemeralMessages", b"ephemeralMessages", "externalMdOptInAvailable", b"externalMdOptInAvailable", "frequentlyForwardedSetting", b"frequentlyForwardedSetting", "groupDogfoodingInternalOnly", b"groupDogfoodingInternalOnly", "groupUiiCleanup", b"groupUiiCleanup", "groupsV3", b"groupsV3", "groupsV3Create", b"groupsV3Create", "groupsV4JoinPermission", b"groupsV4JoinPermission", "labelsDisplay", b"labelsDisplay", "labelsEdit", b"labelsEdit", "liveLocations", b"liveLocations", "liveLocationsFinal", b"liveLocationsFinal", "mdForceUpgrade", b"mdForceUpgrade", "mediaUpload", b"mediaUpload", "mediaUploadRichQuickReplies", b"mediaUploadRichQuickReplies", "noDeleteMessageTimeLimit", b"noDeleteMessageTimeLimit", "payments", b"payments", "queryStatusV3Thumbnail", b"queryStatusV3Thumbnail", "queryVname", b"queryVname", "quickRepliesQuery", b"quickRepliesQuery", "recentStickers", b"recentStickers", "recentStickersV2", b"recentStickersV2", "recentStickersV3", b"recentStickersV3", "settingsSync", b"settingsSync", "starredStickers", b"starredStickers", "statusRanking", b"statusRanking", "stickerPackQuery", b"stickerPackQuery", "support", b"support", "templateMessage", b"templateMessage", "templateMessageInteractivity", b"templateMessageInteractivity", "thirdPartyStickers", b"thirdPartyStickers", "userNotice", b"userNotice", "videoPlaybackURL", b"videoPlaybackURL", "vnameV2", b"vnameV2", "voipGroupCall", b"voipGroupCall", "voipIndividualIncoming", b"voipIndividualIncoming", "voipIndividualOutgoing", b"voipIndividualOutgoing", "voipIndividualVideo", b"voipIndividualVideo"]) -> None: ... + +global___WebFeatures = WebFeatures + +@typing.final +class PinInChat(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _Type: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PinInChat._Type.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNKNOWN_TYPE: PinInChat._Type.ValueType # 0 + PIN_FOR_ALL: PinInChat._Type.ValueType # 1 + UNPIN_FOR_ALL: PinInChat._Type.ValueType # 2 + + class Type(_Type, metaclass=_TypeEnumTypeWrapper): ... + UNKNOWN_TYPE: PinInChat.Type.ValueType # 0 + PIN_FOR_ALL: PinInChat.Type.ValueType # 1 + UNPIN_FOR_ALL: PinInChat.Type.ValueType # 2 + + TYPE_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + SERVERTIMESTAMPMS_FIELD_NUMBER: builtins.int + MESSAGEADDONCONTEXTINFO_FIELD_NUMBER: builtins.int + type: global___PinInChat.Type.ValueType + senderTimestampMS: builtins.int + serverTimestampMS: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def messageAddOnContextInfo(self) -> global___MessageAddOnContextInfo: ... + def __init__( + self, + *, + type: global___PinInChat.Type.ValueType | None = ..., + key: waCommon.WACommon_pb2.MessageKey | None = ..., + senderTimestampMS: builtins.int | None = ..., + serverTimestampMS: builtins.int | None = ..., + messageAddOnContextInfo: global___MessageAddOnContextInfo | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "messageAddOnContextInfo", b"messageAddOnContextInfo", "senderTimestampMS", b"senderTimestampMS", "serverTimestampMS", b"serverTimestampMS", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "messageAddOnContextInfo", b"messageAddOnContextInfo", "senderTimestampMS", b"senderTimestampMS", "serverTimestampMS", b"serverTimestampMS", "type", b"type"]) -> None: ... + +global___PinInChat = PinInChat + +@typing.final +class MessageAddOn(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _MessageAddOnType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _MessageAddOnTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MessageAddOn._MessageAddOnType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + UNDEFINED: MessageAddOn._MessageAddOnType.ValueType # 0 + REACTION: MessageAddOn._MessageAddOnType.ValueType # 1 + EVENT_RESPONSE: MessageAddOn._MessageAddOnType.ValueType # 2 + POLL_UPDATE: MessageAddOn._MessageAddOnType.ValueType # 3 + PIN_IN_CHAT: MessageAddOn._MessageAddOnType.ValueType # 4 + + class MessageAddOnType(_MessageAddOnType, metaclass=_MessageAddOnTypeEnumTypeWrapper): ... + UNDEFINED: MessageAddOn.MessageAddOnType.ValueType # 0 + REACTION: MessageAddOn.MessageAddOnType.ValueType # 1 + EVENT_RESPONSE: MessageAddOn.MessageAddOnType.ValueType # 2 + POLL_UPDATE: MessageAddOn.MessageAddOnType.ValueType # 3 + PIN_IN_CHAT: MessageAddOn.MessageAddOnType.ValueType # 4 + + MESSAGEADDONTYPE_FIELD_NUMBER: builtins.int + MESSAGEADDON_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + SERVERTIMESTAMPMS_FIELD_NUMBER: builtins.int + STATUS_FIELD_NUMBER: builtins.int + ADDONCONTEXTINFO_FIELD_NUMBER: builtins.int + MESSAGEADDONKEY_FIELD_NUMBER: builtins.int + LEGACYMESSAGE_FIELD_NUMBER: builtins.int + messageAddOnType: global___MessageAddOn.MessageAddOnType.ValueType + senderTimestampMS: builtins.int + serverTimestampMS: builtins.int + status: global___WebMessageInfo.Status.ValueType + @property + def messageAddOn(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... + @property + def addOnContextInfo(self) -> global___MessageAddOnContextInfo: ... + @property + def messageAddOnKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def legacyMessage(self) -> global___LegacyMessage: ... + def __init__( + self, + *, + messageAddOnType: global___MessageAddOn.MessageAddOnType.ValueType | None = ..., + messageAddOn: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., + senderTimestampMS: builtins.int | None = ..., + serverTimestampMS: builtins.int | None = ..., + status: global___WebMessageInfo.Status.ValueType | None = ..., + addOnContextInfo: global___MessageAddOnContextInfo | None = ..., + messageAddOnKey: waCommon.WACommon_pb2.MessageKey | None = ..., + legacyMessage: global___LegacyMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["addOnContextInfo", b"addOnContextInfo", "legacyMessage", b"legacyMessage", "messageAddOn", b"messageAddOn", "messageAddOnKey", b"messageAddOnKey", "messageAddOnType", b"messageAddOnType", "senderTimestampMS", b"senderTimestampMS", "serverTimestampMS", b"serverTimestampMS", "status", b"status"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["addOnContextInfo", b"addOnContextInfo", "legacyMessage", b"legacyMessage", "messageAddOn", b"messageAddOn", "messageAddOnKey", b"messageAddOnKey", "messageAddOnType", b"messageAddOnType", "senderTimestampMS", b"senderTimestampMS", "serverTimestampMS", b"serverTimestampMS", "status", b"status"]) -> None: ... + +global___MessageAddOn = MessageAddOn + +@typing.final +class GroupHistoryBundleInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + class _ProcessState: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + + class _ProcessStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GroupHistoryBundleInfo._ProcessState.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + NOT_INJECTED: GroupHistoryBundleInfo._ProcessState.ValueType # 0 + INJECTED: GroupHistoryBundleInfo._ProcessState.ValueType # 1 + INJECTED_PARTIAL: GroupHistoryBundleInfo._ProcessState.ValueType # 2 + INJECTION_FAILED: GroupHistoryBundleInfo._ProcessState.ValueType # 3 + + class ProcessState(_ProcessState, metaclass=_ProcessStateEnumTypeWrapper): ... + NOT_INJECTED: GroupHistoryBundleInfo.ProcessState.ValueType # 0 + INJECTED: GroupHistoryBundleInfo.ProcessState.ValueType # 1 + INJECTED_PARTIAL: GroupHistoryBundleInfo.ProcessState.ValueType # 2 + INJECTION_FAILED: GroupHistoryBundleInfo.ProcessState.ValueType # 3 + + DEPRECATEDMESSAGEHISTORYBUNDLE_FIELD_NUMBER: builtins.int + PROCESSSTATE_FIELD_NUMBER: builtins.int + processState: global___GroupHistoryBundleInfo.ProcessState.ValueType + @property + def deprecatedMessageHistoryBundle(self) -> waE2E.WAWebProtobufsE2E_pb2.MessageHistoryBundle: ... + def __init__( + self, + *, + deprecatedMessageHistoryBundle: waE2E.WAWebProtobufsE2E_pb2.MessageHistoryBundle | None = ..., + processState: global___GroupHistoryBundleInfo.ProcessState.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["deprecatedMessageHistoryBundle", b"deprecatedMessageHistoryBundle", "processState", b"processState"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deprecatedMessageHistoryBundle", b"deprecatedMessageHistoryBundle", "processState", b"processState"]) -> None: ... + +global___GroupHistoryBundleInfo = GroupHistoryBundleInfo + +@typing.final +class CommentMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + COMMENTPARENTKEY_FIELD_NUMBER: builtins.int + REPLYCOUNT_FIELD_NUMBER: builtins.int + replyCount: builtins.int + @property + def commentParentKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + commentParentKey: waCommon.WACommon_pb2.MessageKey | None = ..., + replyCount: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["commentParentKey", b"commentParentKey", "replyCount", b"replyCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["commentParentKey", b"commentParentKey", "replyCount", b"replyCount"]) -> None: ... + +global___CommentMetadata = CommentMetadata + +@typing.final +class WebNotificationsInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIMESTAMP_FIELD_NUMBER: builtins.int + UNREADCHATS_FIELD_NUMBER: builtins.int + NOTIFYMESSAGECOUNT_FIELD_NUMBER: builtins.int + NOTIFYMESSAGES_FIELD_NUMBER: builtins.int + timestamp: builtins.int + unreadChats: builtins.int + notifyMessageCount: builtins.int + @property + def notifyMessages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___WebMessageInfo]: ... + def __init__( + self, + *, + timestamp: builtins.int | None = ..., + unreadChats: builtins.int | None = ..., + notifyMessageCount: builtins.int | None = ..., + notifyMessages: collections.abc.Iterable[global___WebMessageInfo] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["notifyMessageCount", b"notifyMessageCount", "timestamp", b"timestamp", "unreadChats", b"unreadChats"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["notifyMessageCount", b"notifyMessageCount", "notifyMessages", b"notifyMessages", "timestamp", b"timestamp", "unreadChats", b"unreadChats"]) -> None: ... + +global___WebNotificationsInfo = WebNotificationsInfo + +@typing.final +class NotificationMessageInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + MESSAGETIMESTAMP_FIELD_NUMBER: builtins.int + PARTICIPANT_FIELD_NUMBER: builtins.int + messageTimestamp: builtins.int + participant: builtins.str + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def message(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + message: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., + messageTimestamp: builtins.int | None = ..., + participant: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["key", b"key", "message", b"message", "messageTimestamp", b"messageTimestamp", "participant", b"participant"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["key", b"key", "message", b"message", "messageTimestamp", b"messageTimestamp", "participant", b"participant"]) -> None: ... + +global___NotificationMessageInfo = NotificationMessageInfo + +@typing.final +class ReportingTokenInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + REPORTINGTAG_FIELD_NUMBER: builtins.int + reportingTag: builtins.bytes + def __init__( + self, + *, + reportingTag: builtins.bytes | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["reportingTag", b"reportingTag"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["reportingTag", b"reportingTag"]) -> None: ... + +global___ReportingTokenInfo = ReportingTokenInfo + +@typing.final +class MediaData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + LOCALPATH_FIELD_NUMBER: builtins.int + localPath: builtins.str + def __init__( + self, + *, + localPath: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["localPath", b"localPath"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["localPath", b"localPath"]) -> None: ... + +global___MediaData = MediaData + +@typing.final +class PhotoChange(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + OLDPHOTO_FIELD_NUMBER: builtins.int + NEWPHOTO_FIELD_NUMBER: builtins.int + NEWPHOTOID_FIELD_NUMBER: builtins.int + oldPhoto: builtins.bytes + newPhoto: builtins.bytes + newPhotoID: builtins.int + def __init__( + self, + *, + oldPhoto: builtins.bytes | None = ..., + newPhoto: builtins.bytes | None = ..., + newPhotoID: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["newPhoto", b"newPhoto", "newPhotoID", b"newPhotoID", "oldPhoto", b"oldPhoto"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["newPhoto", b"newPhoto", "newPhotoID", b"newPhotoID", "oldPhoto", b"oldPhoto"]) -> None: ... + +global___PhotoChange = PhotoChange + +@typing.final +class StatusPSA(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CAMPAIGNID_FIELD_NUMBER: builtins.int + CAMPAIGNEXPIRATIONTIMESTAMP_FIELD_NUMBER: builtins.int + campaignID: builtins.int + campaignExpirationTimestamp: builtins.int + def __init__( + self, + *, + campaignID: builtins.int | None = ..., + campaignExpirationTimestamp: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["campaignExpirationTimestamp", b"campaignExpirationTimestamp", "campaignID", b"campaignID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["campaignExpirationTimestamp", b"campaignExpirationTimestamp", "campaignID", b"campaignID"]) -> None: ... + +global___StatusPSA = StatusPSA + +@typing.final +class UserReceipt(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + USERJID_FIELD_NUMBER: builtins.int + RECEIPTTIMESTAMP_FIELD_NUMBER: builtins.int + READTIMESTAMP_FIELD_NUMBER: builtins.int + PLAYEDTIMESTAMP_FIELD_NUMBER: builtins.int + PENDINGDEVICEJID_FIELD_NUMBER: builtins.int + DELIVEREDDEVICEJID_FIELD_NUMBER: builtins.int + userJID: builtins.str + receiptTimestamp: builtins.int + readTimestamp: builtins.int + playedTimestamp: builtins.int + @property + def pendingDeviceJID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + @property + def deliveredDeviceJID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + userJID: builtins.str | None = ..., + receiptTimestamp: builtins.int | None = ..., + readTimestamp: builtins.int | None = ..., + playedTimestamp: builtins.int | None = ..., + pendingDeviceJID: collections.abc.Iterable[builtins.str] | None = ..., + deliveredDeviceJID: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["playedTimestamp", b"playedTimestamp", "readTimestamp", b"readTimestamp", "receiptTimestamp", b"receiptTimestamp", "userJID", b"userJID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["deliveredDeviceJID", b"deliveredDeviceJID", "pendingDeviceJID", b"pendingDeviceJID", "playedTimestamp", b"playedTimestamp", "readTimestamp", b"readTimestamp", "receiptTimestamp", b"receiptTimestamp", "userJID", b"userJID"]) -> None: ... + +global___UserReceipt = UserReceipt + +@typing.final +class Reaction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEY_FIELD_NUMBER: builtins.int + TEXT_FIELD_NUMBER: builtins.int + GROUPINGKEY_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + UNREAD_FIELD_NUMBER: builtins.int + text: builtins.str + groupingKey: builtins.str + senderTimestampMS: builtins.int + unread: builtins.bool + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + key: waCommon.WACommon_pb2.MessageKey | None = ..., + text: builtins.str | None = ..., + groupingKey: builtins.str | None = ..., + senderTimestampMS: builtins.int | None = ..., + unread: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["groupingKey", b"groupingKey", "key", b"key", "senderTimestampMS", b"senderTimestampMS", "text", b"text", "unread", b"unread"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["groupingKey", b"groupingKey", "key", b"key", "senderTimestampMS", b"senderTimestampMS", "text", b"text", "unread", b"unread"]) -> None: ... + +global___Reaction = Reaction + +@typing.final +class PollUpdate(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + POLLUPDATEMESSAGEKEY_FIELD_NUMBER: builtins.int + VOTE_FIELD_NUMBER: builtins.int + SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int + SERVERTIMESTAMPMS_FIELD_NUMBER: builtins.int + UNREAD_FIELD_NUMBER: builtins.int + senderTimestampMS: builtins.int + serverTimestampMS: builtins.int + unread: builtins.bool + @property + def pollUpdateMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def vote(self) -> waE2E.WAWebProtobufsE2E_pb2.PollVoteMessage: ... + def __init__( + self, + *, + pollUpdateMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + vote: waE2E.WAWebProtobufsE2E_pb2.PollVoteMessage | None = ..., + senderTimestampMS: builtins.int | None = ..., + serverTimestampMS: builtins.int | None = ..., + unread: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["pollUpdateMessageKey", b"pollUpdateMessageKey", "senderTimestampMS", b"senderTimestampMS", "serverTimestampMS", b"serverTimestampMS", "unread", b"unread", "vote", b"vote"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["pollUpdateMessageKey", b"pollUpdateMessageKey", "senderTimestampMS", b"senderTimestampMS", "serverTimestampMS", b"serverTimestampMS", "unread", b"unread", "vote", b"vote"]) -> None: ... + +global___PollUpdate = PollUpdate + +@typing.final +class PollAdditionalMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + POLLINVALIDATED_FIELD_NUMBER: builtins.int + pollInvalidated: builtins.bool + def __init__( + self, + *, + pollInvalidated: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["pollInvalidated", b"pollInvalidated"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["pollInvalidated", b"pollInvalidated"]) -> None: ... + +global___PollAdditionalMetadata = PollAdditionalMetadata + +@typing.final +class InteractiveMessageAdditionalMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISGALAXYFLOWCOMPLETED_FIELD_NUMBER: builtins.int + isGalaxyFlowCompleted: builtins.bool + def __init__( + self, + *, + isGalaxyFlowCompleted: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isGalaxyFlowCompleted", b"isGalaxyFlowCompleted"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isGalaxyFlowCompleted", b"isGalaxyFlowCompleted"]) -> None: ... + +global___InteractiveMessageAdditionalMetadata = InteractiveMessageAdditionalMetadata + +@typing.final +class EventAdditionalMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ISSTALE_FIELD_NUMBER: builtins.int + isStale: builtins.bool + def __init__( + self, + *, + isStale: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["isStale", b"isStale"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["isStale", b"isStale"]) -> None: ... + +global___EventAdditionalMetadata = EventAdditionalMetadata + +@typing.final +class KeepInChat(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + KEEPTYPE_FIELD_NUMBER: builtins.int + SERVERTIMESTAMP_FIELD_NUMBER: builtins.int + KEY_FIELD_NUMBER: builtins.int + DEVICEJID_FIELD_NUMBER: builtins.int + CLIENTTIMESTAMPMS_FIELD_NUMBER: builtins.int + SERVERTIMESTAMPMS_FIELD_NUMBER: builtins.int + keepType: waE2E.WAWebProtobufsE2E_pb2.KeepType.ValueType + serverTimestamp: builtins.int + deviceJID: builtins.str + clientTimestampMS: builtins.int + serverTimestampMS: builtins.int + @property + def key(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + keepType: waE2E.WAWebProtobufsE2E_pb2.KeepType.ValueType | None = ..., + serverTimestamp: builtins.int | None = ..., + key: waCommon.WACommon_pb2.MessageKey | None = ..., + deviceJID: builtins.str | None = ..., + clientTimestampMS: builtins.int | None = ..., + serverTimestampMS: builtins.int | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["clientTimestampMS", b"clientTimestampMS", "deviceJID", b"deviceJID", "keepType", b"keepType", "key", b"key", "serverTimestamp", b"serverTimestamp", "serverTimestampMS", b"serverTimestampMS"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["clientTimestampMS", b"clientTimestampMS", "deviceJID", b"deviceJID", "keepType", b"keepType", "key", b"key", "serverTimestamp", b"serverTimestamp", "serverTimestampMS", b"serverTimestampMS"]) -> None: ... + +global___KeepInChat = KeepInChat + +@typing.final +class MessageAddOnContextInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + MESSAGEADDONDURATIONINSECS_FIELD_NUMBER: builtins.int + MESSAGEADDONEXPIRYTYPE_FIELD_NUMBER: builtins.int + messageAddOnDurationInSecs: builtins.int + messageAddOnExpiryType: waE2E.WAWebProtobufsE2E_pb2.MessageContextInfo.MessageAddonExpiryType.ValueType + def __init__( + self, + *, + messageAddOnDurationInSecs: builtins.int | None = ..., + messageAddOnExpiryType: waE2E.WAWebProtobufsE2E_pb2.MessageContextInfo.MessageAddonExpiryType.ValueType | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["messageAddOnDurationInSecs", b"messageAddOnDurationInSecs", "messageAddOnExpiryType", b"messageAddOnExpiryType"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["messageAddOnDurationInSecs", b"messageAddOnDurationInSecs", "messageAddOnExpiryType", b"messageAddOnExpiryType"]) -> None: ... + +global___MessageAddOnContextInfo = MessageAddOnContextInfo + +@typing.final +class PremiumMessageInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SERVERCAMPAIGNID_FIELD_NUMBER: builtins.int + serverCampaignID: builtins.str + def __init__( + self, + *, + serverCampaignID: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["serverCampaignID", b"serverCampaignID"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["serverCampaignID", b"serverCampaignID"]) -> None: ... + +global___PremiumMessageInfo = PremiumMessageInfo + +@typing.final +class EventResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EVENTRESPONSEMESSAGEKEY_FIELD_NUMBER: builtins.int + TIMESTAMPMS_FIELD_NUMBER: builtins.int + EVENTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int + UNREAD_FIELD_NUMBER: builtins.int + timestampMS: builtins.int + unread: builtins.bool + @property + def eventResponseMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + @property + def eventResponseMessage(self) -> waE2E.WAWebProtobufsE2E_pb2.EventResponseMessage: ... + def __init__( + self, + *, + eventResponseMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + timestampMS: builtins.int | None = ..., + eventResponseMessage: waE2E.WAWebProtobufsE2E_pb2.EventResponseMessage | None = ..., + unread: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["eventResponseMessage", b"eventResponseMessage", "eventResponseMessageKey", b"eventResponseMessageKey", "timestampMS", b"timestampMS", "unread", b"unread"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["eventResponseMessage", b"eventResponseMessage", "eventResponseMessageKey", b"eventResponseMessageKey", "timestampMS", b"timestampMS", "unread", b"unread"]) -> None: ... + +global___EventResponse = EventResponse + +@typing.final +class LegacyMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + EVENTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int + POLLVOTE_FIELD_NUMBER: builtins.int + @property + def eventResponseMessage(self) -> waE2E.WAWebProtobufsE2E_pb2.EventResponseMessage: ... + @property + def pollVote(self) -> waE2E.WAWebProtobufsE2E_pb2.PollVoteMessage: ... + def __init__( + self, + *, + eventResponseMessage: waE2E.WAWebProtobufsE2E_pb2.EventResponseMessage | None = ..., + pollVote: waE2E.WAWebProtobufsE2E_pb2.PollVoteMessage | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["eventResponseMessage", b"eventResponseMessage", "pollVote", b"pollVote"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["eventResponseMessage", b"eventResponseMessage", "pollVote", b"pollVote"]) -> None: ... + +global___LegacyMessage = LegacyMessage + +@typing.final +class StatusMentionMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + QUOTEDSTATUS_FIELD_NUMBER: builtins.int + @property + def quotedStatus(self) -> waE2E.WAWebProtobufsE2E_pb2.Message: ... + def __init__( + self, + *, + quotedStatus: waE2E.WAWebProtobufsE2E_pb2.Message | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["quotedStatus", b"quotedStatus"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["quotedStatus", b"quotedStatus"]) -> None: ... + +global___StatusMentionMessage = StatusMentionMessage + +@typing.final +class Citation(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TITLE_FIELD_NUMBER: builtins.int + SUBTITLE_FIELD_NUMBER: builtins.int + CMSID_FIELD_NUMBER: builtins.int + IMAGEURL_FIELD_NUMBER: builtins.int + title: builtins.str + subtitle: builtins.str + cmsID: builtins.str + imageURL: builtins.str + def __init__( + self, + *, + title: builtins.str | None = ..., + subtitle: builtins.str | None = ..., + cmsID: builtins.str | None = ..., + imageURL: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["cmsID", b"cmsID", "imageURL", b"imageURL", "subtitle", b"subtitle", "title", b"title"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["cmsID", b"cmsID", "imageURL", b"imageURL", "subtitle", b"subtitle", "title", b"title"]) -> None: ... + +global___Citation = Citation + +@typing.final +class GroupHistoryIndividualMessageInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + BUNDLEMESSAGEKEY_FIELD_NUMBER: builtins.int + EDITEDAFTERRECEIVEDASHISTORY_FIELD_NUMBER: builtins.int + editedAfterReceivedAsHistory: builtins.bool + @property + def bundleMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ... + def __init__( + self, + *, + bundleMessageKey: waCommon.WACommon_pb2.MessageKey | None = ..., + editedAfterReceivedAsHistory: builtins.bool | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["bundleMessageKey", b"bundleMessageKey", "editedAfterReceivedAsHistory", b"editedAfterReceivedAsHistory"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["bundleMessageKey", b"bundleMessageKey", "editedAfterReceivedAsHistory", b"editedAfterReceivedAsHistory"]) -> None: ... + +global___GroupHistoryIndividualMessageInfo = GroupHistoryIndividualMessageInfo + +@typing.final +class QuarantinedMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ORIGINALDATA_FIELD_NUMBER: builtins.int + EXTRACTEDTEXT_FIELD_NUMBER: builtins.int + originalData: builtins.bytes + extractedText: builtins.str + def __init__( + self, + *, + originalData: builtins.bytes | None = ..., + extractedText: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["extractedText", b"extractedText", "originalData", b"originalData"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["extractedText", b"extractedText", "originalData", b"originalData"]) -> None: ... + +global___QuarantinedMessage = QuarantinedMessage diff --git a/neonize/proto/waWinUIApi/WAWinUIApi_pb2.py b/neonize/proto/waWinUIApi/WAWinUIApi_pb2.py new file mode 100644 index 00000000..013ec9f0 --- /dev/null +++ b/neonize/proto/waWinUIApi/WAWinUIApi_pb2.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: waWinUIApi/WAWinUIApi.proto +# Protobuf Python Version: 6.32.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 32, + 1, + '', + 'waWinUIApi/WAWinUIApi.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bwaWinUIApi/WAWinUIApi.proto\x12\nWAWinUIApi\"\xa7\x02\n\x0fPositronMessage\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0c\n\x04\x62ody\x18\x03 \x01(\t\x12.\n\x02ID\x18\x04 \x01(\x0b\x32\".WAWinUIApi.PositronMessage.MsgKey\x12\x0c\n\x04JSON\x18\x63 \x01(\t\x1a\x8b\x01\n\x06MsgKey\x12\x0e\n\x06\x66romMe\x18\x01 \x01(\x08\x12/\n\x06remote\x18\x02 \x01(\x0b\x32\x1f.WAWinUIApi.PositronMessage.WID\x12\n\n\x02ID\x18\x03 \x01(\t\x12\x34\n\x0bparticipant\x18\x04 \x01(\x0b\x32\x1f.WAWinUIApi.PositronMessage.WID\x1a\x19\n\x03WID\x12\x12\n\nserialized\x18\x01 \x01(\t\"^\n\x0cPositronChat\x12\n\n\x02ID\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\x03\x12\x13\n\x0bunreadCount\x18\x04 \x01(\x03\x12\x0c\n\x04JSON\x18\x63 \x01(\t\"l\n\x0fPositronContact\x12\n\n\x02ID\x18\x01 \x01(\t\x12\x13\n\x0bphoneNumber\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x1c\n\x14isAddressBookContact\x18\x04 \x01(\x08\x12\x0c\n\x04JSON\x18\x63 \x01(\t\"B\n\x15PositronGroupMetadata\x12\n\n\x02ID\x18\x01 \x01(\t\x12\x0f\n\x07subject\x18\x02 \x01(\t\x12\x0c\n\x04JSON\x18\x63 \x01(\t\"K\n\x19PositronGroupParticipants\x12\n\n\x02ID\x18\x01 \x01(\t\x12\x14\n\x0cparticipants\x18\x02 \x03(\t\x12\x0c\n\x04JSON\x18\x63 \x01(\t\"\x82\x01\n\x10PositronReaction\x12\n\n\x02ID\x18\x01 \x01(\t\x12\x14\n\x0cparentMsgKey\x18\x02 \x01(\t\x12\x14\n\x0creactionText\x18\x03 \x01(\t\x12\x11\n\ttimestamp\x18\x04 \x01(\x03\x12\x15\n\rsenderUserJID\x18\x05 \x01(\t\x12\x0c\n\x04JSON\x18\x63 \x01(\t\"\xf6\x02\n\x0cPositronData\x12\x32\n\ndataSource\x18\x01 \x01(\x0e\x32\x1e.WAWinUIApi.PositronDataSource\x12-\n\x08messages\x18\x02 \x03(\x0b\x32\x1b.WAWinUIApi.PositronMessage\x12\'\n\x05\x63hats\x18\x03 \x03(\x0b\x32\x18.WAWinUIApi.PositronChat\x12-\n\x08\x63ontacts\x18\x04 \x03(\x0b\x32\x1b.WAWinUIApi.PositronContact\x12\x38\n\rgroupMetadata\x18\x05 \x03(\x0b\x32!.WAWinUIApi.PositronGroupMetadata\x12@\n\x11groupParticipants\x18\x06 \x03(\x0b\x32%.WAWinUIApi.PositronGroupParticipants\x12/\n\treactions\x18\x07 \x03(\x0b\x32\x1c.WAWinUIApi.PositronReaction*v\n\x12PositronDataSource\x12\x0c\n\x08MESSAGES\x10\x01\x12\t\n\x05\x43HATS\x10\x02\x12\x0c\n\x08\x43ONTACTS\x10\x03\x12\x12\n\x0eGROUP_METADATA\x10\x04\x12\x16\n\x12GROUP_PARTICIPANTS\x10\x05\x12\r\n\tREACTIONS\x10\x06\x42&Z$go.mau.fi/whatsmeow/proto/waWinUIApi') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'waWinUIApi.WAWinUIApi_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z$go.mau.fi/whatsmeow/proto/waWinUIApi' + _globals['_POSITRONDATASOURCE']._serialized_start=1202 + _globals['_POSITRONDATASOURCE']._serialized_end=1320 + _globals['_POSITRONMESSAGE']._serialized_start=44 + _globals['_POSITRONMESSAGE']._serialized_end=339 + _globals['_POSITRONMESSAGE_MSGKEY']._serialized_start=173 + _globals['_POSITRONMESSAGE_MSGKEY']._serialized_end=312 + _globals['_POSITRONMESSAGE_WID']._serialized_start=314 + _globals['_POSITRONMESSAGE_WID']._serialized_end=339 + _globals['_POSITRONCHAT']._serialized_start=341 + _globals['_POSITRONCHAT']._serialized_end=435 + _globals['_POSITRONCONTACT']._serialized_start=437 + _globals['_POSITRONCONTACT']._serialized_end=545 + _globals['_POSITRONGROUPMETADATA']._serialized_start=547 + _globals['_POSITRONGROUPMETADATA']._serialized_end=613 + _globals['_POSITRONGROUPPARTICIPANTS']._serialized_start=615 + _globals['_POSITRONGROUPPARTICIPANTS']._serialized_end=690 + _globals['_POSITRONREACTION']._serialized_start=693 + _globals['_POSITRONREACTION']._serialized_end=823 + _globals['_POSITRONDATA']._serialized_start=826 + _globals['_POSITRONDATA']._serialized_end=1200 +# @@protoc_insertion_point(module_scope) diff --git a/neonize/proto/waWinUIApi/WAWinUIApi_pb2.pyi b/neonize/proto/waWinUIApi/WAWinUIApi_pb2.pyi new file mode 100644 index 00000000..011d7c9a --- /dev/null +++ b/neonize/proto/waWinUIApi/WAWinUIApi_pb2.pyi @@ -0,0 +1,283 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.internal.enum_type_wrapper +import google.protobuf.message +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _PositronDataSource: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _PositronDataSourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PositronDataSource.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + MESSAGES: _PositronDataSource.ValueType # 1 + CHATS: _PositronDataSource.ValueType # 2 + CONTACTS: _PositronDataSource.ValueType # 3 + GROUP_METADATA: _PositronDataSource.ValueType # 4 + GROUP_PARTICIPANTS: _PositronDataSource.ValueType # 5 + REACTIONS: _PositronDataSource.ValueType # 6 + +class PositronDataSource(_PositronDataSource, metaclass=_PositronDataSourceEnumTypeWrapper): ... + +MESSAGES: PositronDataSource.ValueType # 1 +CHATS: PositronDataSource.ValueType # 2 +CONTACTS: PositronDataSource.ValueType # 3 +GROUP_METADATA: PositronDataSource.ValueType # 4 +GROUP_PARTICIPANTS: PositronDataSource.ValueType # 5 +REACTIONS: PositronDataSource.ValueType # 6 +global___PositronDataSource = PositronDataSource + +@typing.final +class PositronMessage(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + @typing.final + class MsgKey(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + FROMME_FIELD_NUMBER: builtins.int + REMOTE_FIELD_NUMBER: builtins.int + ID_FIELD_NUMBER: builtins.int + PARTICIPANT_FIELD_NUMBER: builtins.int + fromMe: builtins.bool + ID: builtins.str + @property + def remote(self) -> global___PositronMessage.WID: ... + @property + def participant(self) -> global___PositronMessage.WID: ... + def __init__( + self, + *, + fromMe: builtins.bool | None = ..., + remote: global___PositronMessage.WID | None = ..., + ID: builtins.str | None = ..., + participant: global___PositronMessage.WID | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "fromMe", b"fromMe", "participant", b"participant", "remote", b"remote"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "fromMe", b"fromMe", "participant", b"participant", "remote", b"remote"]) -> None: ... + + @typing.final + class WID(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + SERIALIZED_FIELD_NUMBER: builtins.int + serialized: builtins.str + def __init__( + self, + *, + serialized: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["serialized", b"serialized"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["serialized", b"serialized"]) -> None: ... + + TIMESTAMP_FIELD_NUMBER: builtins.int + TYPE_FIELD_NUMBER: builtins.int + BODY_FIELD_NUMBER: builtins.int + ID_FIELD_NUMBER: builtins.int + JSON_FIELD_NUMBER: builtins.int + timestamp: builtins.int + type: builtins.str + body: builtins.str + JSON: builtins.str + @property + def ID(self) -> global___PositronMessage.MsgKey: ... + def __init__( + self, + *, + timestamp: builtins.int | None = ..., + type: builtins.str | None = ..., + body: builtins.str | None = ..., + ID: global___PositronMessage.MsgKey | None = ..., + JSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "body", b"body", "timestamp", b"timestamp", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "body", b"body", "timestamp", b"timestamp", "type", b"type"]) -> None: ... + +global___PositronMessage = PositronMessage + +@typing.final +class PositronChat(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + UNREADCOUNT_FIELD_NUMBER: builtins.int + JSON_FIELD_NUMBER: builtins.int + ID: builtins.str + name: builtins.str + timestamp: builtins.int + unreadCount: builtins.int + JSON: builtins.str + def __init__( + self, + *, + ID: builtins.str | None = ..., + name: builtins.str | None = ..., + timestamp: builtins.int | None = ..., + unreadCount: builtins.int | None = ..., + JSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "name", b"name", "timestamp", b"timestamp", "unreadCount", b"unreadCount"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "name", b"name", "timestamp", b"timestamp", "unreadCount", b"unreadCount"]) -> None: ... + +global___PositronChat = PositronChat + +@typing.final +class PositronContact(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + PHONENUMBER_FIELD_NUMBER: builtins.int + NAME_FIELD_NUMBER: builtins.int + ISADDRESSBOOKCONTACT_FIELD_NUMBER: builtins.int + JSON_FIELD_NUMBER: builtins.int + ID: builtins.str + phoneNumber: builtins.str + name: builtins.str + isAddressBookContact: builtins.bool + JSON: builtins.str + def __init__( + self, + *, + ID: builtins.str | None = ..., + phoneNumber: builtins.str | None = ..., + name: builtins.str | None = ..., + isAddressBookContact: builtins.bool | None = ..., + JSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "isAddressBookContact", b"isAddressBookContact", "name", b"name", "phoneNumber", b"phoneNumber"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "isAddressBookContact", b"isAddressBookContact", "name", b"name", "phoneNumber", b"phoneNumber"]) -> None: ... + +global___PositronContact = PositronContact + +@typing.final +class PositronGroupMetadata(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + SUBJECT_FIELD_NUMBER: builtins.int + JSON_FIELD_NUMBER: builtins.int + ID: builtins.str + subject: builtins.str + JSON: builtins.str + def __init__( + self, + *, + ID: builtins.str | None = ..., + subject: builtins.str | None = ..., + JSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "subject", b"subject"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "subject", b"subject"]) -> None: ... + +global___PositronGroupMetadata = PositronGroupMetadata + +@typing.final +class PositronGroupParticipants(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + PARTICIPANTS_FIELD_NUMBER: builtins.int + JSON_FIELD_NUMBER: builtins.int + ID: builtins.str + JSON: builtins.str + @property + def participants(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + ID: builtins.str | None = ..., + participants: collections.abc.Iterable[builtins.str] | None = ..., + JSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "participants", b"participants"]) -> None: ... + +global___PositronGroupParticipants = PositronGroupParticipants + +@typing.final +class PositronReaction(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + PARENTMSGKEY_FIELD_NUMBER: builtins.int + REACTIONTEXT_FIELD_NUMBER: builtins.int + TIMESTAMP_FIELD_NUMBER: builtins.int + SENDERUSERJID_FIELD_NUMBER: builtins.int + JSON_FIELD_NUMBER: builtins.int + ID: builtins.str + parentMsgKey: builtins.str + reactionText: builtins.str + timestamp: builtins.int + senderUserJID: builtins.str + JSON: builtins.str + def __init__( + self, + *, + ID: builtins.str | None = ..., + parentMsgKey: builtins.str | None = ..., + reactionText: builtins.str | None = ..., + timestamp: builtins.int | None = ..., + senderUserJID: builtins.str | None = ..., + JSON: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "parentMsgKey", b"parentMsgKey", "reactionText", b"reactionText", "senderUserJID", b"senderUserJID", "timestamp", b"timestamp"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "parentMsgKey", b"parentMsgKey", "reactionText", b"reactionText", "senderUserJID", b"senderUserJID", "timestamp", b"timestamp"]) -> None: ... + +global___PositronReaction = PositronReaction + +@typing.final +class PositronData(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DATASOURCE_FIELD_NUMBER: builtins.int + MESSAGES_FIELD_NUMBER: builtins.int + CHATS_FIELD_NUMBER: builtins.int + CONTACTS_FIELD_NUMBER: builtins.int + GROUPMETADATA_FIELD_NUMBER: builtins.int + GROUPPARTICIPANTS_FIELD_NUMBER: builtins.int + REACTIONS_FIELD_NUMBER: builtins.int + dataSource: global___PositronDataSource.ValueType + @property + def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronMessage]: ... + @property + def chats(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronChat]: ... + @property + def contacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronContact]: ... + @property + def groupMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronGroupMetadata]: ... + @property + def groupParticipants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronGroupParticipants]: ... + @property + def reactions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronReaction]: ... + def __init__( + self, + *, + dataSource: global___PositronDataSource.ValueType | None = ..., + messages: collections.abc.Iterable[global___PositronMessage] | None = ..., + chats: collections.abc.Iterable[global___PositronChat] | None = ..., + contacts: collections.abc.Iterable[global___PositronContact] | None = ..., + groupMetadata: collections.abc.Iterable[global___PositronGroupMetadata] | None = ..., + groupParticipants: collections.abc.Iterable[global___PositronGroupParticipants] | None = ..., + reactions: collections.abc.Iterable[global___PositronReaction] | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["dataSource", b"dataSource"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["chats", b"chats", "contacts", b"contacts", "dataSource", b"dataSource", "groupMetadata", b"groupMetadata", "groupParticipants", b"groupParticipants", "messages", b"messages", "reactions", b"reactions"]) -> None: ... + +global___PositronData = PositronData diff --git a/neonize/types.py b/neonize/types.py new file mode 100644 index 00000000..5931defc --- /dev/null +++ b/neonize/types.py @@ -0,0 +1,70 @@ +from typing import NewType, TypeVar + +from .proto.waE2E.WAWebProtobufsE2E_pb2 import ( + AudioMessage, + ButtonsMessage, + ContactsArrayMessage, + DocumentMessage, + EventMessage, + ExtendedTextMessage, + GroupInviteMessage, + ImageMessage, + ListMessage, + ListResponseMessage, + LiveLocationMessage, + MessageHistoryBundle, + PollCreationMessage, + ProductMessage, + StickerMessage, + VideoMessage, +) + +MessageServerID = NewType("MessageServerID", int) +MessageWithContextInfo = TypeVar( + "MessageWithContextInfo", + ImageMessage, + ContactsArrayMessage, + ExtendedTextMessage, + DocumentMessage, + AudioMessage, + VideoMessage, + LiveLocationMessage, + StickerMessage, + GroupInviteMessage, + GroupInviteMessage, + ProductMessage, + ListMessage, + ListMessage, + ListResponseMessage, + ButtonsMessage, + ButtonsMessage, + PollCreationMessage, + MessageHistoryBundle, + EventMessage, + ContactsArrayMessage, +) + +MediaMessageType = TypeVar( + "MediaMessageType", + ImageMessage, + AudioMessage, + VideoMessage, + StickerMessage, + DocumentMessage, +) + + +MediaMessageType = TypeVar( + "MediaMessageType", + ImageMessage, + AudioMessage, + VideoMessage, + StickerMessage, + DocumentMessage, +) + +TextMessageType = TypeVar( + "TextMessageType", + ExtendedTextMessage, + str, +) diff --git a/neonize/utils/__init__.py b/neonize/utils/__init__.py index 2721f326..fbfa06fa 100644 --- a/neonize/utils/__init__.py +++ b/neonize/utils/__init__.py @@ -1,12 +1,99 @@ +import re + +from phonenumbers import PhoneNumberFormat, format_number, parse + +from .calc import AspectRatioMethod from .enum import ( + BlocklistAction, ChatPresence, ChatPresenceMedia, + ClientName, + ClientType, MediaType, + MediaTypeToMMS, + ParticipantChange, + ParticipantRequestChange, + PrivacySetting, + PrivacySettingType, + ReceiptType, ) -from .iofile import ( - get_bytes_from_name_or_url, - write_from_bytesio_or_filename, +from .ffmpeg import FFmpeg +from .iofile import get_bytes_from_name_or_url +from .jid import Jid2String, JIDToNonAD, build_jid +from .log import log, log_whatsmeow +from .message import extract_text, get_message_type +from .sticker import add_exif +from .thumbnail import save_file_to_temp_directory + + +def gen_vcard(name: str, phone_number: str) -> str: + """ + Generates a vCard string for a contact. + + :param name: Name of the contact. + :type name: str + :param phone_number: Phone number of the contact. + :type phone_number: str + :return: vCard string for the contact. + :rtype: str + """ + inter_phone_number = format_number( + parse(f"{'+' if phone_number[0] != '+' else ''}{phone_number}"), + PhoneNumberFormat.INTERNATIONAL, + ) + return ( + f"BEGIN:VCARD\nVERSION:3.0\nFN:{name}\nitem1.TEL;waid={phone_number}" + f":{inter_phone_number}\nitem1.X-ABLabel:Ponsel\nEND:VCARD" + ) + + +def validate_link(link) -> bool: + """ + Validates if the provided link is a valid URL. + + :param link: The URL to validate. + :type link: str + :return: True if the URL is valid, False otherwise. + :rtype: bool + """ + url_pattern = re.compile( + r"^(https?|ftp)://" + r"(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|" + r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|" + r"\[?[A-F0-9]*:[A-F0-9:]+]?)" + r"(?::\d+)?" + r"(?:/?|[/?]\S+)$", + re.IGNORECASE, + ) + + return bool(re.match(url_pattern, link)) + + +__all__ = ( + "log", + "log_whatsmeow", + "get_message_type", + "extract_text", + "FFmpeg", + "save_file_to_temp_directory", + "get_bytes_from_name_or_url", + "AspectRatioMethod", + "build_jid", + "Jid2String", + "JIDToNonAD", + "MediaType", + "MediaTypeToMMS", + "BlocklistAction", + "ChatPresence", + "ChatPresenceMedia", + "ClientName", + "ClientType", + "ParticipantChange", + "ParticipantRequestChange", + "PrivacySetting", + "PrivacySettingType", + "ReceiptType", + "add_exif", + "validate_link", + "gen_vcard", ) -from .jid import ( - Jid2String -) \ No newline at end of file diff --git a/neonize/utils/calc.py b/neonize/utils/calc.py new file mode 100644 index 00000000..b20152c1 --- /dev/null +++ b/neonize/utils/calc.py @@ -0,0 +1,96 @@ +from io import BytesIO +from typing import Tuple + +from PIL import Image + + +def crop_image(image: Image.Image) -> Image.Image: + """ + Crops an image to make it square. If the image is already square, it is returned as is. + If the image is not square, the longer dimension is cropped equally from both sides to make it square. + + :param image: An image that needs to be cropped + :type image: Image.Image + :return: A square cropped image + :rtype: Image.Image + """ + width, height = image.size + if width == height: + return image + offset = int(abs(height - width) / 2) + if width > height: + image = image.crop([offset, 0, width - offset, height]) # type: ignore + else: + image = image.crop([0, offset, width, height - offset]) # type: ignore + return image + + +def AspectRatioMethod( + width: int | float, height: int | float, res: int = 1280 +) -> Tuple[int, int]: + """Calculate the aspect ratio of a given width and height with respect to a resolution. + + :param width: The width of the given area. + :type width: int | float + :param height: The height of the given area. + :type height: int | float + :param res: The resolution to calculate the aspect ratio with, defaults to 1280. + :type res: int, optional + :return: A tuple containing the calculated width and height based on the aspect ratio. + :rtype: Tuple[int, int] + """ + if width > height: + return (res, int(width / (width / res))) + elif width < height: + return (int(width / (height / res)), res) + return (res, res) + + +def sticker_scaler(fn: str | BytesIO | Image.Image): + """ + This function rescales an image to a maximum dimension of 512 pixels while maintaining the aspect ratio. + The function takes the filename of the image as an input and returns the rescaled image. + + :param fn: Filename of the image to be rescaled + :type fn: str + :return: Rescaled image + :rtype: PIL.Image.Image + """ + img = fn if isinstance(fn, Image.Image) else Image.open(fn) + width, height = AspectRatioMethod(*img.size, 512) + return img.resize((int(width), int(height))) + + +def auto_sticker(fn: str | BytesIO | Image.Image): + """ + This function creates a new sticker image with a specified size (512 x 512). + The original image is placed at the center of the new sticker. + + :param fn: The file name of the original image. + :type fn: str + :return: The new sticker image with the original image at the center. + :rtype: Image object + """ + img = fn if isinstance(fn, Image.Image) else Image.open(fn) + new_layer = Image.new("RGBA", (512, 512), color=(0, 0, 0, 0)) + new_layer.paste(img, (256 - (int(img.width / 2)), 256 - (int(img.height / 2)))) + return new_layer + + +def original_sticker(image: str | BytesIO | Image.Image): + """ + This function creates a new sticker image with a square background. + The original image is placed at the center of the new sticker. + + :param image: The file name of the original image. + :return: The new sticker image with the original image at the center (uncropped). + :rtype: Image object + """ + img = image if isinstance(image, Image.Image) else Image.open(image) + orig_width, orig_height = img.size + square_size = max(orig_width, orig_height) + square_img = Image.new("RGBA", (square_size, square_size), (0, 0, 0, 0)) + x_offset = (square_size - orig_width) // 2 + y_offset = (square_size - orig_height) // 2 + square_img.paste(img, (x_offset, y_offset), img if img.mode == "RGBA" else None) + return square_img diff --git a/neonize/utils/enum.py b/neonize/utils/enum.py index 54acdfd3..bb644fe5 100644 --- a/neonize/utils/enum.py +++ b/neonize/utils/enum.py @@ -1,7 +1,52 @@ from __future__ import annotations + +import typing from enum import Enum + import magic -import typing + +from ..proto.waE2E.WAWebProtobufsE2E_pb2 import ( + AudioMessage, + DocumentMessage, + ImageMessage, + Message, + StickerMessage, + StickerPackMessage, + VideoMessage, +) +from .message import get_message_type + + +class MediaTypeToMMS(Enum): + MediaImage = "image" + MediaAudio = "audio" + MediaVideo = "video" + MediaDocument = "document" + MediaHistory = "md-msg-hist" + MediaAppState = "md-app-state" + MediaLinkThumbnail = "thumbnail-link" + MediaStickerPack = "sticker-pack" + + @classmethod + def from_message(cls, message: Message): + return { + ImageMessage: cls.MediaImage, + StickerMessage: cls.MediaImage, + AudioMessage: cls.MediaAudio, + VideoMessage: cls.MediaVideo, + DocumentMessage: cls.MediaDocument, + StickerPackMessage: cls.MediaStickerPack, + }[type(get_message_type(message))] + + @classmethod + def from_mime(cls, mime: str): + type_ = mime.split("/")[0] + return { + "audio": cls.MediaAudio, + "video": cls.MediaVideo, + "image": cls.MediaImage, + }.get(type_, cls.MediaDocument) + class MediaType(Enum): MediaImage = 0 @@ -11,6 +56,24 @@ class MediaType(Enum): MediaHistory = 4 MediaAppState = 5 MediaLinkThumbnail = 6 + MediaStickerPack = 7 + + def to_mms(self) -> MediaTypeToMMS: + """Converts the MediaType to its corresponding MediaTypeToMMS enum member. + + :return: The corresponding MediaTypeToMMS enum member. + :rtype: MediaTypeToMMS + """ + return { + self.MediaImage: MediaTypeToMMS.MediaImage, + self.MediaVideo: MediaTypeToMMS.MediaVideo, + self.MediaAudio: MediaTypeToMMS.MediaAudio, + self.MediaDocument: MediaTypeToMMS.MediaDocument, + self.MediaHistory: MediaTypeToMMS.MediaHistory, + self.MediaAppState: MediaTypeToMMS.MediaAppState, + self.MediaLinkThumbnail: MediaTypeToMMS.MediaLinkThumbnail, + self.MediaStickerPack: MediaTypeToMMS.MediaStickerPack, + }[self] @classmethod def from_magic(cls, fn_or_bytes: typing.Union[str, bytes]) -> MediaType: @@ -24,22 +87,318 @@ def from_magic(cls, fn_or_bytes: typing.Union[str, bytes]) -> MediaType: magic_func = ( magic.from_file if isinstance(fn_or_bytes, str) else magic.from_buffer ) - mime = magic_func(fn_or_bytes, mime=True).split('/')[0] + mime = magic_func(fn_or_bytes, mime=True).split("/")[0] match mime: - case 'image': + case "image": return cls.MediaImage - case 'video': + case "video": return cls.MediaVideo - case 'audio': + case "audio": return cls.MediaAudio case _: return cls.MediaDocument + @classmethod + def from_message(cls, message: Message): + return { + ImageMessage: cls.MediaImage, + StickerMessage: cls.MediaImage, + AudioMessage: cls.MediaAudio, + VideoMessage: cls.MediaVideo, + DocumentMessage: cls.MediaDocument, + StickerPackMessage: cls.MediaStickerPack, + }[type(get_message_type(message))] + class ChatPresence(Enum): + """ + Enum representing the presence status in a chat. + + Attributes: + CHAT_PRESENCE_COMPOSING (int): Indicates that the user is currently composing a message. + CHAT_PRESENCE_PAUSED (int): Indicates that the user has paused composing a message. + """ + CHAT_PRESENCE_COMPOSING = 0 CHAT_PRESENCE_PAUSED = 1 + class ChatPresenceMedia(Enum): + """ + Enum representing the type of media being used in a chat. + + Attributes: + CHAT_PRESENCE_MEDIA_TEXT (int): Indicates that the chat media type is text. + CHAT_PRESENCE_MEDIA_AUDIO (int): Indicates that the chat media type is audio. + """ + CHAT_PRESENCE_MEDIA_TEXT = 0 - CHAT_PRESENCE_MEDIA_AUDIO = 1 \ No newline at end of file + CHAT_PRESENCE_MEDIA_AUDIO = 1 + + +class LogLevel(Enum): + """ + Enum representing the different levels of logging. + + Attributes: + NOTSET (int): Logging level not set, represented by -1. + DEBUG (int): Debug level, represented by 0. + INFO (int): Information level, represented by 1. + WARN (int): Warning level, represented by 2. + ERROR (int): Error level, represented by 3. + """ + + NOTSET = -1 + DEBUG = 0 + INFO = 1 + WARN = 2 + ERROR = 3 + + @property + def level(self) -> bytes: + """ + Returns the logging level name encoded as bytes. + + Returns: + bytes: The name of the logging level encoded in bytes. If the level is NOTSET, returns an empty byte string. + """ + if self is self.NOTSET: + return b"" + return self.name.encode() + + @classmethod + def from_logging(cls, level: int): + """ + Converts a numeric logging level to a corresponding LogLevel enum member. + + Args: + level (int): Numeric value representing the logging level. + + Returns: + LogLevel: The corresponding LogLevel enum member. + """ + match level: + case 50: + return cls.ERROR + case 40: + return cls.ERROR + case 30: + return cls.WARN + case 20: + return cls.INFO + case 10: + return cls.DEBUG + case 0: + return cls.NOTSET + return cls.INFO + + def log_level(self) -> int: + """ + Converts the LogLevel enum member to its corresponding numeric logging level. + + Returns: + int: The numeric value representing the logging level. + """ + return (self.value + 1) * 10 + + +class ReceiptType(Enum): + """ + Enum representing different types of message receipts. + + Attributes: + DELIVERED (bytes): Indicates that the message has been delivered. + SENDER (bytes): Indicates that the message is from the sender. + RETRY (bytes): Indicates a retry receipt. + READ (bytes): Indicates that the message has been read. + READ_SELF (bytes): Indicates that the message has been read by the sender themselves. + PLAYED (bytes): Indicates that the message has been played (e.g., for audio messages). + PLAYED_SELF (bytes): Indicates that the message has been played by the sender themselves. + SERVER_ERROR (bytes): Indicates a server error receipt. + INACTIVE (bytes): Indicates that the recipient is inactive. + PEER_MSG (bytes): Indicates a peer message receipt. + HISTORY_SYNC (str): Indicates that the message is part of a history sync. + """ + + DELIVERED = b"" + SENDER = b"sender" + RETRY = b"RETRY" + READ = b"read" + READ_SELF = b"read-self" + PLAYED = b"played" + PLAYED_SELF = b"played-self" + SERVER_ERROR = b"server-error" + INACTIVE = b"inactive" + PEER_MSG = b"peer_msg" + HISTORY_SYNC = "hist_sync" + + +class ClientType(Enum): + """ + Enumeration of client types. + + Attributes: + UNKNOWN (int): Unknown client type. + CHROME (int): Chrome browser. + EDGE (int): Microsoft Edge browser. + FIREFOX (int): Mozilla Firefox browser. + IE (int): Internet Explorer browser. + OPERA (int): Opera browser. + SAFARI (int): Safari browser. + ELECTRON (int): Electron framework. + UWP (int): Universal Windows Platform. + OTHER (int): Other client types. + """ + + UNKNOWN = 0 + CHROME = 1 + EDGE = 2 + FIREFOX = 3 + IE = 4 + OPERA = 5 + SAFARI = 6 + ELECTRON = 7 + UWP = 8 + OTHER = 9 + + @property + def name(self) -> str: + """ + Returns the title-cased name of the client type. + + :return: The title-cased name. + :rtype: str + """ + return super().name.title() + + +class ClientName(Enum): + """ + Enumeration of client names. + + Attributes: + LINUX (str): Linux operating system. + WINDOWS (str): Windows operating system. + ANDROID (str): Android operating system. + """ + + LINUX = "linux" + WINDOWS = "windows nt" + ANDROID = "android" + + @property + def name(self) -> str: + """ + Returns the title-cased name of the client. + + :return: The title-cased name. + :rtype: str + """ + return super().name.title() + + +class PrivacySettingType(Enum): + """ + Enumeration of privacy setting types. + + Attributes: + GROUP_ADD (str): Group add privacy setting. + LAST_SEEN (str): Last seen privacy setting. + STATUS (str): Status privacy setting. + PROFILE (str): Profile privacy setting. + READ_RECEIPTS (str): Read receipts privacy setting. + ONLINE (str): Online privacy setting. + CALL_ADD (str): Call add privacy setting. + """ + + GROUP_ADD = "groupadd" + LAST_SEEN = "last" + STATUS = "status" + PROFILE = "profile" + READ_RECEIPTS = "readreceipts" + ONLINE = "online" + CALL_ADD = "calladd" + + +class PrivacySetting(Enum): + """ + Enumeration of privacy settings. + + Attributes: + UNDEFINED (str): Undefined privacy setting. + ALL (str): All privacy setting. + CONTACTS (str): Contacts privacy setting. + CONTACTS_BLACKLIST (str): Contacts blacklist privacy setting. + MATCH_LAST_SEEN (str): Match last seen privacy setting. + KNOWN (str): Known privacy setting. + NONE (str): None privacy setting. + """ + + UNDEFINED = "" + ALL = "all" + CONTACTS = "contacts" + CONTACTS_BLACKLIST = "contacts_blacklist" + MATCH_LAST_SEEN = "match_last_seen" + KNOWN = "known" + NONE = "none" + + +class BlocklistAction(Enum): + """ + Enumeration of blocklist actions. + + Attributes: + BLOCK (str): Block action. + UNBLOCK (str): Unblock action. + """ + + BLOCK = "block" + UNBLOCK = "unblock" + + +class ParticipantChange(Enum): + """ + Enumeration of participant change actions. + + Attributes: + ADD (str): Add participant action. + REMOVE (str): Remove participant action. + PROMOTE (str): Promote participant action. + DEMOTE (str): Demote participant action. + """ + + ADD = "add" + REMOVE = "remove" + PROMOTE = "promote" + DEMOTE = "demote" + + +class ParticipantRequestChange(Enum): + """ + Enumeration of participant request change actions. + + Attributes: + APPROVE (str): Approve participant request action. + REJECT (str): Reject participant request action. + """ + + APPROVE = "approve" + REJECT = "reject" + + +class Presence(Enum): + AVAILABLE = b"available" + UNAVAILABLE = b"unavailable" + + +class VoteType(Enum): + """ + Enumeration of vote types. + + Attributes: + MULTIPLE (int): Allows selecting multiple options in a poll. + SINGLE (int): Allows selecting only a single option in a poll. + """ + + MULTIPLE = 0 + SINGLE = 1 diff --git a/neonize/utils/ffmpeg.py b/neonize/utils/ffmpeg.py new file mode 100644 index 00000000..3f5879af --- /dev/null +++ b/neonize/utils/ffmpeg.py @@ -0,0 +1,731 @@ +import asyncio +import json +import logging +import os +import shlex +import subprocess +import tempfile +import uuid +from dataclasses import dataclass +from enum import Enum +from typing import List, Optional, Tuple + +from .iofile import ( + URL_MATCH, + TemporaryFile, + get_bytes_from_name_or_url, + get_bytes_from_name_or_url_async, +) + +log = logging.getLogger(__name__) + + +class ImageFormat(Enum): + """ + Enumeration for image formats. + + Attributes: + JPG (str): JPEG format identifier. + PNG (str): PNG format identifier. + """ + + JPG = "mjpeg" + PNG = "apng" + + +@dataclass +class Stream: + """ + Data class representing a stream in multimedia. + + Attributes: + index (int): Index of the stream. + codec_type (str): Type of codec used in the stream. + avg_frame_rate (str): Average frame rate of the stream. + codec_tag_string (str): Codec tag string. + start_pts (int): Starting presentation timestamp. + tags (dict): Tags associated with the stream. + extradata_size (int): Size of the extra data. + start_time (str): Start time of the stream. + disposition (dict): Disposition of the stream. + codec_tag (str): Codec tag. + time_base (str): Time base. + codec_long_name (str): Long name of the codec. + codec_name (str): Name of the codec. + r_frame_rate (str): Real frame rate. + closed_captions (Optional[int]): Closed captions (Video field). + color_range (Optional[str]): Color range. + display_aspect_ratio (Optional[str]): Display aspect ratio. + color_transfer (Optional[str]): Color transfer. + is_avc (Optional[str]): AVC flag. + color_primaries (Optional[str]): Color primaries. + film_grain (Optional[int]): Film grain. + color_space (Optional[str]): Color space. + refs (Optional[int]): Number of reference frames. + level (Optional[int]): Codec level. + nal_length_size (Optional[str]): NAL length size. + chroma_location (Optional[str]): Chroma location. + has_b_frames (Optional[int]): B-frames flag. + pix_fmt (Optional[str]): Pixel format. + sample_aspect_ratio (Optional[str]): Sample aspect ratio. + bits_per_raw_sample (Optional[str]): Bits per raw sample. + profile (Optional[str]): Codec profile. + field_order (Optional[str]): Field order. + width (Optional[int]): Width of the video frame. + height (Optional[int]): Height of the video frame. + coded_width (Optional[int]): Coded width of the video frame. + coded_height (Optional[int]): Coded height of the video frame. + bits_per_sample (Optional[int]): Bits per sample (Audio field). + sample_fmt (Optional[str]): Sample format. + channel_layout (Optional[str]): Channel layout. + initial_padding (Optional[int]): Initial padding. + channels (Optional[int]): Number of channels. + sample_rate (Optional[str]): Sample rate. + """ + + index: int + codec_type: str + avg_frame_rate: str + codec_tag_string: str + start_pts: int + tags: dict + extradata_size: int + start_time: str + disposition: dict + codec_tag: str + time_base: str + codec_long_name: str + codec_name: str + r_frame_rate: str + closed_captions: Optional[int] = None + color_range: Optional[str] = None + display_aspect_ratio: Optional[str] = None + color_transfer: Optional[str] = None + is_avc: Optional[str] = None + color_primaries: Optional[str] = None + film_grain: Optional[int] = None + color_space: Optional[str] = None + refs: Optional[int] = None + level: Optional[int] = None + nal_length_size: Optional[str] = None + chroma_location: Optional[str] = None + has_b_frames: Optional[int] = None + pix_fmt: Optional[str] = None + sample_aspect_ratio: Optional[str] = None + bits_per_raw_sample: Optional[str] = None + profile: Optional[str] = None + field_order: Optional[str] = None + width: Optional[int] = None + height: Optional[int] = None + coded_width: Optional[int] = None + coded_height: Optional[int] = None + bits_per_sample: Optional[int] = None + sample_fmt: Optional[str] = None + channel_layout: Optional[str] = None + initial_padding: Optional[int] = None + channels: Optional[int] = None + sample_rate: Optional[str] = None + + +@dataclass +class Format: + """ + Data class representing the format of multimedia content. + + Attributes: + filename (str): Name of the file. + nb_streams (int): Number of streams in the file. + nb_programs (int): Number of programs in the file. + format_name (str): Name of the format. + format_long_name (str): Long name of the format. + start_time (float): Start time of the format. + duration (float): Duration of the content. + size (int): Size of the file in bytes. + probe_score (int): Probe score of the file. + tags (dict): Tags associated with the format. + """ + + filename: str + nb_streams: int + nb_programs: int + format_name: str + format_long_name: str + start_time: float + duration: float + size: int + probe_score: int + tags: dict + + def __post_init__(self): + for k, field in self.__class__.__dataclass_fields__.items(): + try: + setattr(self, k, field.type(getattr(self, k))) + except Exception as e: + log.warn(f"{k} field: {e}") + + +@dataclass +class FFProbeInfo: + """ + Data class representing FFProbe information for a media file. + + Attributes: + format (Format): The format information of the media file. + streams (List[Stream]): List of streams in the media file. + """ + + format: Format + streams: List[Stream] + + +class AFFmpeg: + def __init__(self, data: bytes | str, prefix: Optional[str] = None) -> None: + """ + Initializes the FFmpeg class. If the data is a URL, it retrieves the data from the URL + and writes it to a temporary file. If the data is a string that is not a URL, it treats + the string as a filename. If the data is bytes, it writes the bytes to a temporary file. + + :param data: The input data. This can be a URL, a filename, or bytes. + :type data: bytes | str + :param prefix: The prefix for the temporary file, if one is created. If None, no prefix is used. + :type prefix: Optional[str], optional + """ + self.__file_data = data + self.prefix = prefix + + async def __aenter__(self): + if isinstance(self.__file_data, str): + if URL_MATCH.match(self.__file_data): + self.filename = TemporaryFile( + prefix=self.prefix, touch=False + ).__enter__() + with open(self.filename.path, "wb") as file: + file.write(await get_bytes_from_name_or_url_async(self.__file_data)) + else: + self.filename = self.__file_data + else: + self.filename = TemporaryFile(prefix=self.prefix, touch=False).__enter__() + with open(self.filename.path, "wb") as file: + file.write(self.__file_data) + return self + + async def __aexit__(self, *args, **kwargs): + if not isinstance(self.filename, str): + self.filename.__exit__(None, None, None) + + @property + def filepath(self): + if isinstance(self.filename, str): + return self.filename + return self.filename.path.__str__() + + async def cv_to_webp( + self, + animated: bool = True, + enforce_not_broken: bool = False, + animated_gif: bool = False, + max_sticker_size: int = 0, + is_webm=False, + ) -> bytes: + """ + This function converts a given file to webp format using ffmpeg. + If the animated flag is set to True, it will only convert the first 6 seconds of the file. + + :param animated: If True, only the first 6 seconds of the file will be converted, defaults to True + :type animated: bool, optional + :param enforce_not_broken: Enforce non-broken stickers by constraining sticker size to WA limits, defaults to False + :type enforce_not_broken: bool, optional + :return: The converted file in bytes + :rtype: bytes + """ + MAX_STICKER_FILESIZE = max_sticker_size or 512000 + temp = tempfile.gettempdir() + "/" + uuid.uuid4().__str__() + ".webp" + duration = int((await self.extract_info()).format.duration or 0) + if not duration: + duration = 1 + if duration > 6 and animated: + duration = 6 + elif duration < 6: + animated = False + ffmpeg_command = ["ffmpeg"] + if is_webm: + decoder = "-c:v libvpx" + codec = (await self.extract_info()).streams[0].codec_name + if codec == "vp9": + decoder += "-vp9" + ffmpeg_command.extend(decoder.split()) + ffmpeg_command.extend( + [ + "-i", + self.filepath, + ] + ) + if animated: + ffmpeg_command.extend( + [ + "-ss", + "00:00:00.0", + "-t", + "00:00:06.0", + ] + ) + ffmpeg_command.extend( + [ + "-vcodec", + "libwebp_anim" if animated_gif else "libwebp", + "-vf", + ( + "scale='if(gt(iw,ih),512,-1)':'if(gt(iw,ih),-1,512)',fps=15, " + "pad=512:512:-1:-1:color=white@0.0, split [a][b]; [a] " + "palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse" + ), + ] + ) + if enforce_not_broken: + bitrate = f"{MAX_STICKER_FILESIZE // duration}k" + ffmpeg_command.extend( + [ + "-loop", + "0", + "-preset", + "picture", + "-fs", + f"{MAX_STICKER_FILESIZE}", + "-q:v", + bitrate, + ] + ) + ffmpeg_command.append(temp) + await self.call(ffmpeg_command) + with open(temp, "rb") as file: + buf = file.read() + os.remove(temp) + return buf + + async def call(self, cmd: List[str]): + cmd_str = shlex.join(cmd) if any(" " in part for part in cmd) else " ".join(cmd) + popen = await asyncio.create_subprocess_shell( + cmd_str if os.name == "nt" else shlex.join(cmd), + stderr=asyncio.subprocess.PIPE, + stdout=asyncio.subprocess.PIPE, + stdin=subprocess.DEVNULL, + # shell=True if os.name == "nt" else False, + ) + stdout, stderr = await popen.communicate() # type: ignore + if popen.returncode != 0: + raise RuntimeError( + # type: ignore + f"stderr: {stderr} Return code: {popen.returncode}" + ) + return stdout + + async def gif_to_mp4(self) -> bytes: + """ + This function convertes a gif to mp4 format. + """ + temp = tempfile.gettempdir() + "/" + uuid.uuid4().__str__() + ".mp4" + await self.call( + [ + "ffmpeg", + "-i", + self.filepath, + "-movflags", + "faststart", + "-pix_fmt", + "yuv420p", + "-vf", + "scale=trunc(iw/2)*2:trunc(ih/2)*2", + "-crf", + "17", + temp, + ] + ) + with open(temp, "rb") as file: + buf = file.read() + os.remove(temp) + return buf + + async def to_mp3(self) -> bytes: + temp = tempfile.gettempdir() + "/" + uuid.uuid4().__str__() + ".mp3" + await self.call( + [ + "ffmpeg", + "-i", + self.filepath, + "-vn", + "-ar", + "44100", + "-ac", + "2", + "-b:a", + "192k", + temp, + ] + ) + with open(temp, "rb") as file: + buf = file.read() + os.remove(temp) + return buf + + async def extract_thumbnail( + self, + format: ImageFormat = ImageFormat.JPG, + size: Optional[Tuple[int, int] | int] = 200, + ) -> bytes: + """ + Extracts a thumbnail from a video file. + + :param format: The format of the output thumbnail, defaults to ImageFormat.JPG + :type format: ImageFormat, optional + :param size: The size of the output thumbnail. If an integer is provided, the thumbnail will be scaled + while maintaining the aspect ratio. If a tuple of two integers is provided, it will be used + as the exact dimensions for the thumbnail, defaults to 200 + :type size: Optional[Tuple[int, int] | int], optional + :return: The bytes representing the thumbnail image. + :rtype: bytes + """ + extra = [] + if isinstance(size, int): + for stream in (await self.extract_info()).streams: + if stream.codec_type == "video": + extra.extend( + [ + "-vf", + "scale='if(gt(iw,ih),%i,-1)':'if(gt(iw,ih),-1,%i)'" + % (size, size), + ] + ) + elif isinstance(size, Tuple): + extra.extend(["-s", "x".join(map(str, size))]) + return await self.call( + [ + "ffmpeg", + "-i", + self.filepath, + "-vframes", + "1", + "-an", + *extra, + "-f", + format.value, + "-", + ] + ) + + async def extract_info(self) -> FFProbeInfo: + """ + Extracts media file information using ffprobe tool. + + This method uses ffprobe, a tool from the FFmpeg package, to extract + information about a media file. It returns the information in the form of + an FFProbeInfo object, which contains the format and streams of the media file. + + :return: An FFProbeInfo object containing the format and streams of the media file. + :rtype: FFProbeInfo + """ + data = json.loads( + await self.call( + [ + "ffprobe", + "-i", + self.filepath, + "-print_format", + "json", + "-show_format", + "-show_streams", + ] + ) + ) + streams: List[dict] = data["streams"] + format: dict = data["format"] + return FFProbeInfo( + format=Format( + **{ + i: format.get(i, None) + for i, _ in Format.__dataclass_fields__.items() + } + ), + streams=[ + Stream( + **{ + field: data.get(field, None) + for field, _ in Stream.__dataclass_fields__.items() + } + ) + for data in streams + ], + ) + + +class FFmpeg: + def __init__(self, data: bytes | str, prefix: Optional[str] = None) -> None: + """ + Initializes the FFmpeg class. If the data is a URL, it retrieves the data from the URL + and writes it to a temporary file. If the data is a string that is not a URL, it treats + the string as a filename. If the data is bytes, it writes the bytes to a temporary file. + + :param data: The input data. This can be a URL, a filename, or bytes. + :type data: bytes | str + :param prefix: The prefix for the temporary file, if one is created. If None, no prefix is used. + :type prefix: Optional[str], optional + """ + if isinstance(data, str): + if URL_MATCH.match(data): + self.filename = TemporaryFile(prefix=prefix, touch=False).__enter__() + with open(self.filename.path, "wb") as file: + file.write(get_bytes_from_name_or_url(data)) + else: + self.filename = data + else: + self.filename = TemporaryFile(prefix=prefix, touch=False).__enter__() + with open(self.filename.path, "wb") as file: + file.write(data) + + def __enter__(self): + return self + + def __exit__(self, *ex): + if not isinstance(self.filename, str): + self.filename.__exit__(None, None, None) + + @property + def filepath(self): + if isinstance(self.filename, str): + return self.filename + return self.filename.path.__str__() + + def cv_to_webp( + self, + animated: bool = True, + enforce_not_broken: bool = False, + animated_gif: bool = False, + max_sticker_size: int = 0, + is_webm=False, + ) -> bytes: + """ + This function converts a given file to webp format using ffmpeg. + If the animated flag is set to True, it will only convert the first 6 seconds of the file. + + :param animated: If True, only the first 6 seconds of the file will be converted, defaults to True + :type animated: bool, optional + :param enforce_not_broken: Enforce non-broken stickers by constraining sticker size to WA limits, defaults to False + :type enforce_not_broken: bool, optional + :return: The converted file in bytes + :rtype: bytes + """ + MAX_STICKER_FILESIZE = max_sticker_size or 512000 + temp = tempfile.gettempdir() + "/" + uuid.uuid4().__str__() + ".webp" + duration = int((self.extract_info()).format.duration or 0) + if not duration: + duration = 1 + if duration > 6 and animated: + duration = 6 + elif duration < 6: + animated = False + ffmpeg_command = ["ffmpeg"] + if is_webm: + decoder = "-c:v libvpx" + codec = (self.extract_info()).streams[0].codec_name + if codec == "vp9": + decoder += "-vp9" + ffmpeg_command.extend(decoder.split()) + ffmpeg_command.extend( + [ + "-i", + self.filepath, + ] + ) + if animated: + ffmpeg_command.extend( + [ + "-ss", + "00:00:00.0", + "-t", + "00:00:06.0", + ] + ) + ffmpeg_command.extend( + [ + "-vcodec", + "libwebp_anim" if animated_gif else "libwebp", + "-vf", + ( + "scale='if(gt(iw,ih),512,-1)':'if(gt(iw,ih),-1,512)',fps=15, " + "pad=512:512:-1:-1:color=white@0.0, split [a][b]; [a] " + "palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse" + ), + ] + ) + if enforce_not_broken: + bitrate = f"{MAX_STICKER_FILESIZE // duration}k" + ffmpeg_command.extend( + [ + "-loop", + "0", + "-preset", + "picture", + "-fs", + f"{MAX_STICKER_FILESIZE}", + "-q:v", + bitrate, + ] + ) + ffmpeg_command.append(temp) + self.call(ffmpeg_command) + with open(temp, "rb") as file: + buf = file.read() + os.remove(temp) + return buf + + def call(self, cmd: List[str]): + popen = subprocess.Popen( + cmd, + stderr=subprocess.PIPE, + stdout=subprocess.PIPE, + stdin=subprocess.DEVNULL, + ) + out = popen.stdout.read() # type: ignore + popen.wait(10) + if popen.returncode != 0: + raise RuntimeError( + # type: ignore + f"stderr: {popen.stderr.read().decode()} Return code: {popen.returncode}" + ) + return out + + def gif_to_mp4(self) -> bytes: + """ + This function convertes a gif to mp4 format. + """ + temp = tempfile.gettempdir() + "/" + uuid.uuid4().__str__() + ".mp4" + self.call( + [ + "ffmpeg", + "-i", + self.filepath, + "-movflags", + "faststart", + "-pix_fmt", + "yuv420p", + "-vf", + "scale=trunc(iw/2)*2:trunc(ih/2)*2", + "-crf", + "17", + temp, + ] + ) + with open(temp, "rb") as file: + buf = file.read() + os.remove(temp) + return buf + + def to_mp3(self) -> bytes: + temp = tempfile.gettempdir() + "/" + uuid.uuid4().__str__() + ".mp3" + self.call( + [ + "ffmpeg", + "-i", + self.filepath, + "-vn", + "-ar", + "44100", + "-ac", + "2", + "-b:a", + "192k", + temp, + ] + ) + with open(temp, "rb") as file: + buf = file.read() + os.remove(temp) + return buf + + def extract_thumbnail( + self, + format: ImageFormat = ImageFormat.JPG, + size: Optional[Tuple[int, int] | int] = 200, + ) -> bytes: + """ + Extracts a thumbnail from a video file. + + :param format: The format of the output thumbnail, defaults to ImageFormat.JPG + :type format: ImageFormat, optional + :param size: The size of the output thumbnail. If an integer is provided, the thumbnail will be scaled + while maintaining the aspect ratio. If a tuple of two integers is provided, it will be used + as the exact dimensions for the thumbnail, defaults to 200 + :type size: Optional[Tuple[int, int] | int], optional + :return: The bytes representing the thumbnail image. + :rtype: bytes + """ + extra = [] + if isinstance(size, int): + for stream in self.extract_info().streams: + if stream.codec_type == "video": + extra.extend( + [ + "-vf", + "scale='if(gt(iw,ih),%i,-1)':'if(gt(iw,ih),-1,%i)'" + % (size, size), + ] + ) + elif isinstance(size, Tuple): + extra.extend(["-s", "x".join(map(str, size))]) + return self.call( + [ + "ffmpeg", + "-i", + self.filepath, + "-vframes", + "1", + "-an", + *extra, + "-f", + format.value, + "-", + ] + ) + + def extract_info(self) -> FFProbeInfo: + """ + Extracts media file information using ffprobe tool. + + This method uses ffprobe, a tool from the FFmpeg package, to extract + information about a media file. It returns the information in the form of + an FFProbeInfo object, which contains the format and streams of the media file. + + :return: An FFProbeInfo object containing the format and streams of the media file. + :rtype: FFProbeInfo + """ + data = json.loads( + self.call( + [ + "ffprobe", + "-i", + self.filepath, + "-print_format", + "json", + "-show_format", + "-show_streams", + ] + ) + ) + streams: List[dict] = data["streams"] + format: dict = data["format"] + return FFProbeInfo( + format=Format( + **{ + i: format.get(i, None) + for i, _ in Format.__dataclass_fields__.items() + } + ), + streams=[ + Stream( + **{ + field: data.get(field, None) + for field, _ in Stream.__dataclass_fields__.items() + } + ) + for data in streams + ], + ) diff --git a/neonize/utils/iofile.py b/neonize/utils/iofile.py index f80e157e..97f9c8da 100644 --- a/neonize/utils/iofile.py +++ b/neonize/utils/iofile.py @@ -1,7 +1,19 @@ -import typing import io +import os +import re +import tempfile +import typing +import zipfile +from pathlib import Path +from typing import Optional + +import httpx import requests +from .log import log + +URL_MATCH = re.compile(r"^https?://") + def get_bytes_from_name_or_url(args: typing.Union[str, bytes]) -> bytes: """Gets bytes from either a file name or a URL. @@ -11,17 +23,46 @@ def get_bytes_from_name_or_url(args: typing.Union[str, bytes]) -> bytes: :return: The bytes extracted from the specified file name or URL. :rtype: bytes """ + headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " + "(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", + } if isinstance(args, str): - if args.startswith('http'): - return requests.get(args).content + if URL_MATCH.match(args): + return requests.get(args, headers=headers).content else: - with open(args, 'rb') as file: + with open(args, "rb") as file: return file.read() else: return args -def write_from_bytesio_or_filename(fn_or_bytesio: typing.Union[io.BytesIO, str], data: bytes): +async def get_bytes_from_name_or_url_async(args: typing.Union[str, bytes]) -> bytes: + """Gets bytes from either a file name or a URL. + + :param args: Either a file name (str) or binary data (bytes). + :type args: typing.Union[str, bytes] + :return: The bytes extracted from the specified file name or URL. + :rtype: bytes + """ + headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " + "(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", + } + if isinstance(args, str): + if URL_MATCH.match(args): + async with httpx.AsyncClient(timeout=None) as client: + return (await client.get(args, headers=headers)).content + else: + with open(args, "rb") as file: + return file.read() + else: + return args + + +def write_from_bytesio_or_filename( + fn_or_bytesio: typing.Union[io.BytesIO, str], data: bytes +): """Writes bytes to either a BytesIO object or a file specified by its name. :param fn_or_bytesio: Either a BytesIO object or the name of the file to write data to. @@ -32,5 +73,61 @@ def write_from_bytesio_or_filename(fn_or_bytesio: typing.Union[io.BytesIO, str], if isinstance(fn_or_bytesio, io.BytesIO): fn_or_bytesio.write(data) else: - with open(fn_or_bytesio, 'wb') as file: - file.write(data) \ No newline at end of file + with open(fn_or_bytesio, "wb") as file: + file.write(data) + + +class TemporaryFile: + def __init__( + self, + prefix: Optional[str] = None, + suffix: Optional[str] = None, + dir: Optional[str] = None, + touch: bool = True, + ) -> None: + """ + Initializes a TemporaryFile object. This object represents a temporary file in the system. + The file is created upon initialization and removed when the object is deleted. + + :param prefix: The prefix of the temporary file name, defaults to None + :type prefix: Optional[str], optional + :param suffix: The suffix of the temporary file name, defaults to None + :type suffix: Optional[str], optional + :param dir: The directory where the temporary file will be created, defaults to None + :type dir: Optional[str], optional + :param touch: If True, the file is immediately created upon object initialization, defaults to True + :type touch: bool, optional + """ + params = {} + if prefix is not None: + params["prefix"] = prefix + if suffix is not None: + params["suffix"] = suffix + if dir is not None: + params["dir"] = dir + self.path = Path(tempfile.mktemp(**params)) + if touch: + self.path.touch() + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + os.remove(self.path) + log.debug( + "exc_type: %r, exc_value: %r, traceback: %r" + % (exc_type, exc_value, traceback) + ) + + +def prepare_zip_file_content(file_name_content: dict) -> bytes: + """ + returns Zip bytes + """ + zip_buffer = io.BytesIO() + with zipfile.ZipFile(zip_buffer, "a", zipfile.ZIP_DEFLATED, False) as zip_file: + for file_name, file_data in file_name_content.items(): + zip_file.writestr(file_name, file_data) + + zip_buffer.seek(0) + return zip_buffer.getvalue() diff --git a/neonize/utils/jid.py b/neonize/utils/jid.py index 633d986a..5f8550d2 100644 --- a/neonize/utils/jid.py +++ b/neonize/utils/jid.py @@ -1,13 +1,23 @@ import copy + from ..proto.Neonize_pb2 import JID -def JIDToNonAD(jid: JID): +def JIDToNonAD(jid: JID) -> JID: + """ + Converts a JID (Jabber ID) to a non-AD (Active Directory) format by setting RawAgent and Device to 0. + + :param jid: The JID to be converted. + :type jid: JID + :return: A new JID object with RawAgent and Device set to 0. + :rtype: JID + """ new_jid = copy.deepcopy(jid) - new_jid.RawAgent=0 + new_jid.RawAgent = 0 new_jid.Device = 0 return new_jid + def Jid2String(jid: JID) -> str: """Converts a Jabber Identifier (JID) to a string. @@ -17,9 +27,40 @@ def Jid2String(jid: JID) -> str: :rtype: str """ if jid.RawAgent > 0: - return '%s.%s:%d@%s' % (jid.User, jid.RawAgent, jid.Device, jid.Server) + return "%s.%s:%d@%s" % (jid.User, jid.RawAgent, jid.Device, jid.Server) elif jid.Device > 0: - return '%s:%d@%s' % (jid.User, jid.Device, jid.Server) + return "%s:%d@%s" % (jid.User, jid.Device, jid.Server) elif len(jid.User) > 0: - return '%s@%s' % (jid.User, jid.Server) + return "%s@%s" % (jid.User, jid.Server) return jid.Server + + +def build_jid(phone_number: str, server: str = "s.whatsapp.net") -> JID: + """ + Builds a JID (Jabber ID) from a phone number. + + :param phone_number: The phone number to be used for building the JID. + :type phone_number: str + :return: A JID object constructed from the given phone number. + :rtype: JID + """ + return JID( + User=phone_number, + Device=0, + Integrator=0, + IsEmpty=False, + RawAgent=0, + Server=server, + ) + + +def jid_is_lid(jid: JID) -> bool: + """ + Checks if a JID (Jabber ID) is a hidden user. + + :param jid: The JID to check. + :type jid: JID + :return: A bool whether the jid is an lid or not. + :rtype: bool + """ + return jid.Server == "lid" diff --git a/neonize/utils/log.py b/neonize/utils/log.py new file mode 100644 index 00000000..776fe0ed --- /dev/null +++ b/neonize/utils/log.py @@ -0,0 +1,78 @@ +import ctypes +import logging +import queue +import threading + +from ..proto.Neonize_pb2 import LogEntry + +try: + from colorlog import ColoredFormatter +except Exception: + ColoredFormatter = None + +log = logging.getLogger(__name__) +_log_ = log + +if ColoredFormatter: + formatter = ColoredFormatter( + "%(asctime)s.%(msecs)03d %(log_color)s[%(name)s %(levelname)s] - %(message)s%(reset)s", + datefmt="%H:%M:%S", + log_colors={ + "INFO": "cyan", + "WARNING": "yellow", + "ERROR": "red", + "CRITICAL": "bold_red", + }, + ) + stream_handler = logging.StreamHandler() + stream_handler.setFormatter(formatter) +else: + stream_handler = logging.StreamHandler() + +logging.basicConfig( + format="%(asctime)s.%(msecs)03d [%(name)s %(levelname)s] - %(message)s", + datefmt="%H:%M:%S", + level=logging.INFO, + handlers=[stream_handler], +) + +clientlogger = logging.getLogger("whatsmeow.Client") +dblogger = logging.getLogger("Whatsmeow.Database") + + +_log_queue = queue.Queue() + + +def _worker(): + while True: + binary, size = _log_queue.get() + if binary is None: + break # sentinel for shutdown + try: + log_msg = LogEntry.FromString(ctypes.string_at(binary, size)) + if log_msg.Name == "Client": + log = clientlogger + elif log_msg.Name == "Database": + log = dblogger + else: + name = log_msg.Name.replace("/", ".") + log = logging.getLogger(f"whatsmeow.{name}") + level_fn = getattr(log, log_msg.Level.lower(), log.info) + level_fn(log_msg.Message) + except Exception: + _log_.exception("Failed to handle WhatsMeow log") + finally: + _log_queue.task_done() + + +_thread = threading.Thread(target=_worker, daemon=True) +_thread.start() + + +def log_whatsmeow(binary: int, size: int): + _log_queue.put((binary, size)) + + +def shutdown_log_worker(): + _log_queue.put((None, 0)) + _thread.join() diff --git a/neonize/utils/message.py b/neonize/utils/message.py new file mode 100644 index 00000000..ce6e0ffa --- /dev/null +++ b/neonize/utils/message.py @@ -0,0 +1,77 @@ +from ..proto import Neonize_pb2 as neonize_proto +from ..proto.waE2E.WAWebProtobufsE2E_pb2 import ( + DocumentMessage, + ExtendedTextMessage, + ImageMessage, + Message, + PollUpdateMessage, + VideoMessage, +) +from ..types import MediaMessageType, MessageWithContextInfo, TextMessageType + + +def get_message_type(message: Message) -> MediaMessageType | TextMessageType: + """ + Determines the type of message. + + :param message: The message object. + :type message: Message + :raises IndexError: If the message type cannot be determined. + :return: The type of the message. + :rtype: MediaMessageType | TextMessageType + """ + for field_name, v in message.ListFields(): + if field_name.name.endswith(("Message", "MessageV2", "MessageV3")): + return v + elif field_name.name == "conversation": + return v + raise IndexError() + + +def extract_text(message: Message): + """ + Extracts text content from a message. + + :param message: The message object. + :type message: Message + :return: The extracted text content. + :rtype: str + """ + if message.imageMessage.ListFields(): + imageMessage: ImageMessage = message.imageMessage + return imageMessage.caption + elif message.extendedTextMessage.ListFields(): + extendedTextMessage: ExtendedTextMessage = message.extendedTextMessage + return extendedTextMessage.text + elif message.videoMessage.ListFields(): + videoMessage: VideoMessage = message.videoMessage + return videoMessage.caption + elif message.documentMessage.ListFields(): + documentMessage: DocumentMessage = message.documentMessage + return documentMessage.caption + elif message.conversation: + return message.conversation + return "" + + +def get_poll_update_message(message: neonize_proto.Message) -> PollUpdateMessage | None: + """ + Extracts pollUpdateMessage from event Message + :param message: The message object. + :type message: neonize_proto.Message + :return: The extracted poll update message. + :rtype: PollUpdateMessage + """ + msg = message.Message + if msg.pollUpdateMessage.ListFields(): + pollUpdateMessage: PollUpdateMessage = msg.pollUpdateMessage + return pollUpdateMessage + + +def message_has_contextinfo(message: Message) -> bool: + for field_name, msg in message.ListFields(): + if field_name.name.endswith("Message"): + break + else: + return False + return type(msg) in MessageWithContextInfo.__constraints__ diff --git a/neonize/utils/platform.py b/neonize/utils/platform.py new file mode 100644 index 00000000..bb37891d --- /dev/null +++ b/neonize/utils/platform.py @@ -0,0 +1,68 @@ +import os +import platform +import shutil +import sys +from typing import Dict + + +def arch_normalizer(arch_: str) -> str: + """ + Normalizes architecture names to a standardized format. + + :param arch_: The architecture name to be normalized. + :type arch_: str + :return: The normalized architecture name. + :rtype: str + """ + arch: Dict[str, str] = { + "aarch64": "arm64", + "x86_64": "amd64", + } + return arch.get(arch_, arch_) + + +def generated_name(os_name="", arch_name=""): + """ + Generates a standardized filename based on the operating system and architecture. + + :param os_name: The name of the operating system, defaults to an empty string. + :type os_name: str, optional + :param arch_name: The name of the architecture, defaults to an empty string. + :type arch_name: str, optional + :return: The generated filename. + :rtype: str + """ + os_name = os_name or platform.system().lower() + arch_name = arch_normalizer(arch_name or platform.machine().lower()) + if os_name == "windows": + ext = "dll" + elif os_name == "linux": + is_android = "android" in os.popen("uname -a").read().strip().lower() + if is_android: + os_name = "android" + ext = "so" + elif os_name == "darwin": + ext = "dylib" + else: + ext = "so" + return f"neonize-{os_name}-{arch_name}.{ext}" + + +def is_executable_installed(executable_name: str) -> bool: + """ + Checks if an executable is available in the system's PATH. + Args: + executable_name: Name of the executable to find + Returns: + True if executable is found in PATH, False otherwise + """ + # Handle Windows executable extensions + if sys.platform.startswith("win"): + # Check both with and without .exe extension + for ext in (".exe", ".bat", ".cmd", ""): + if shutil.which(executable_name + ext) is not None: + return True + return False + + # Unix-based systems (Linux/macOS) + return shutil.which(executable_name) is not None diff --git a/neonize/utils/sticker.py b/neonize/utils/sticker.py new file mode 100644 index 00000000..b943b79c --- /dev/null +++ b/neonize/utils/sticker.py @@ -0,0 +1,254 @@ +import asyncio +import json +import os +import tempfile +import threading +import uuid +from io import BytesIO + +import magic +from PIL import Image, ImageSequence + +from ..exc import ConvertStickerError +from .calc import auto_sticker, original_sticker +from .ffmpeg import AFFmpeg, FFmpeg +from .iofile import ( + TemporaryFile, + get_bytes_from_name_or_url, + get_bytes_from_name_or_url_async, +) +from .platform import is_executable_installed + + +def add_exif(name: str = "", packname: str = "") -> bytes: + """ + Adds EXIF metadata to a sticker pack. + + :param name: Name of the sticker pack, defaults to an empty string. + :type name: str, optional + :param packname: Publisher of the sticker pack, defaults to an empty string. + :type packname: str, optional + :return: Byte array containing the EXIF metadata. + :rtype: bytes + """ + json_data = { + "sticker-pack-id": "com.snowcorp.stickerly.android.stickercontentprovider b5e7275f-f1de-4137-961f-57becfad34f2", + "sticker-pack-name": name, + "sticker-pack-publisher": packname, + "android-app-store-link": "https://play.google.com/store/apps/details?id=com.marsvard.stickermakerforwhatsapp", + "ios-app-store-link": "https://itunes.apple.com/app/sticker-maker-studio/id1443326857", + } + + exif_attr = bytes.fromhex( + "49 49 2A 00 08 00 00 00 01 00 41 57 07 00 00 00 00 00 16 00 00 00" + ) + json_buffer = json.dumps(json_data).encode("utf-8") + exif = exif_attr + json_buffer + exif_length = len(json_buffer) + exif = exif[:14] + exif_length.to_bytes(4, "little") + exif[18:] + return exif + + +def webpmux_is_installed(): + return is_executable_installed("webpmux") + + +MAX_STICKER_SIZE = 512000 +WEBPMUX_IS_AVAILABLE = False +if webpmux_is_installed(): + MAX_STICKER_SIZE = 712000 + WEBPMUX_IS_AVAILABLE = True + + +async def aio_convert_to_sticker( + file: bytes, + name="", + packname="", + enforce_not_broken=False, + animated_gif=False, + is_webm=False, +): + async with AFFmpeg(file) as ffmpeg: + sticker = await ffmpeg.cv_to_webp( + enforce_not_broken=enforce_not_broken, + animated_gif=animated_gif, + max_sticker_size=MAX_STICKER_SIZE, + is_webm=is_webm, + ) + if not WEBPMUX_IS_AVAILABLE: + return sticker, False + + exif_filename = TemporaryFile(prefix=None, touch=False).__enter__() + with open(exif_filename.path, "wb") as file: + file.write(add_exif(name=name, packname=packname)) + temp = tempfile.gettempdir() + "/" + f"{uuid.uuid4()}" + ".webp" + async with AFFmpeg(sticker) as ffmpeg: + cmd = [ + "webpmux", + "-set", + "exif", + f"{exif_filename.path}", + ffmpeg.filepath, + "-o", + temp, + ] + await ffmpeg.call(cmd) + exif_filename.__exit__(None, None, None) + with open(temp, "rb") as file: + buf = file.read() + os.remove(temp) + return buf, True + + +def convert_to_sticker( + file: bytes, + name="", + packname="", + enforce_not_broken=False, + animated_gif=False, + is_webm=False, +): + with FFmpeg(file) as ffmpeg: + sticker = ffmpeg.cv_to_webp( + enforce_not_broken=enforce_not_broken, + animated_gif=animated_gif, + max_sticker_size=MAX_STICKER_SIZE, + is_webm=is_webm, + ) + if not WEBPMUX_IS_AVAILABLE: + return sticker, False + + exif_filename = TemporaryFile(prefix=None, touch=False).__enter__() + with open(exif_filename.path, "wb") as file: + file.write(add_exif(name=name, packname=packname)) + temp = tempfile.gettempdir() + "/" + f"{uuid.uuid4()}" + ".webp" + with FFmpeg(sticker) as ffmpeg: + cmd = [ + "webpmux", + "-set", + "exif", + f"{exif_filename.path}", + ffmpeg.filepath, + "-o", + temp, + ] + ffmpeg.call(cmd) + exif_filename.__exit__(None, None, None) + with open(temp, "rb") as file: + buf = file.read() + os.remove(temp) + return buf, True + + +astick_sem = asyncio.Semaphore(20) + + +async def aio_convert_to_webp( + sticker, name, packname, crop=False, passthrough=True, transparent=False +): + sticker = await get_bytes_from_name_or_url_async(sticker) + animated = is_webm = is_image = saved_exif = stk = False + mime = magic.from_buffer(sticker, mime=True) + if mime == "image/webp": + io_save = BytesIO(sticker) + img = Image.open(io_save) + if len(ImageSequence.all_frames(img)) < 2: + is_image = True + elif passthrough: + raise ConvertStickerError( + "File is not a webp, which is required for passthrough." + ) + elif mime == "video/webm": + is_webm = True + elif (mime := mime.split("/"))[0] == "image": + is_image = True + animated = not is_image + if passthrough: + return sticker, animated + if is_image: + io_save = BytesIO(sticker) + stk = auto_sticker(io_save) if crop else original_sticker(io_save) + io_save = BytesIO() + # io_save.seek(0) + else: + animated = True + async with astick_sem: + sticker, saved_exif = await aio_convert_to_sticker( + sticker, + name, + packname, + enforce_not_broken=True, + animated_gif=transparent, + is_webm=is_webm, + ) + if saved_exif: + io_save = BytesIO(sticker) + else: + stk = Image.open(BytesIO(sticker)) + io_save = BytesIO() + if not saved_exif: + stk.save( + io_save, + format="webp", + exif=add_exif(name, packname), + save_all=True, + loop=0, + ) + return io_save.getvalue(), animated + + +stick_sem = threading.Semaphore(20) + + +def convert_to_webp( + sticker, name, packname, crop=False, passthrough=True, transparent=False +): + sticker = get_bytes_from_name_or_url(sticker) + animated = is_webm = is_image = saved_exif = stk = False + mime = magic.from_buffer(sticker, mime=True) + if mime == "image/webp": + io_save = BytesIO(sticker) + img = Image.open(io_save) + if len(ImageSequence.all_frames(img)) < 2: + is_image = True + elif passthrough: + raise ConvertStickerError( + "File is not a webp, which is required for passthrough." + ) + elif mime == "video/webm": + is_webm = True + elif (mime := mime.split("/"))[0] == "image": + is_image = True + animated = not is_image + if passthrough: + return sticker, animated + if is_image: + io_save = BytesIO(sticker) + stk = auto_sticker(io_save) if crop else original_sticker(io_save) + io_save = BytesIO() + # io_save.seek(0) + else: + animated = True + with stick_sem: + sticker, saved_exif = convert_to_sticker( + sticker, + name, + packname, + enforce_not_broken=True, + animated_gif=transparent, + is_webm=is_webm, + ) + if saved_exif: + io_save = BytesIO(sticker) + else: + stk = Image.open(BytesIO(sticker)) + io_save = BytesIO() + if not saved_exif: + stk.save( + io_save, + format="webp", + exif=add_exif(name, packname), + save_all=True, + loop=0, + ) + return io_save.getvalue(), animated diff --git a/neonize/utils/thumbnail.py b/neonize/utils/thumbnail.py new file mode 100644 index 00000000..9ad73fa0 --- /dev/null +++ b/neonize/utils/thumbnail.py @@ -0,0 +1,13 @@ +import random +import string +import tempfile + + +def save_file_to_temp_directory(data: bytes) -> str: + temp_dir = tempfile.gettempdir() + random_string = "".join(random.choices(string.ascii_letters + string.digits, k=8)) + temp_file_name = temp_dir + "/" + random_string + with open(temp_file_name, "wb") as temp_file: + temp_file.write(data) + + return temp_file_name diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index 374b1fe5..00000000 --- a/poetry.lock +++ /dev/null @@ -1,809 +0,0 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. - -[[package]] -name = "alabaster" -version = "0.7.13" -description = "A configurable sidebar-enabled Sphinx theme" -optional = false -python-versions = ">=3.6" -files = [ - {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, - {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, -] - -[[package]] -name = "babel" -version = "2.14.0" -description = "Internationalization utilities" -optional = false -python-versions = ">=3.7" -files = [ - {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, - {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, -] - -[package.extras] -dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] - -[[package]] -name = "certifi" -version = "2023.11.17" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, - {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.3.2" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, -] - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "docutils" -version = "0.20.1" -description = "Docutils -- Python Documentation Utilities" -optional = false -python-versions = ">=3.7" -files = [ - {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, - {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, -] - -[[package]] -name = "idna" -version = "3.6" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.5" -files = [ - {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, - {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, -] - -[[package]] -name = "imagesize" -version = "1.4.1" -description = "Getting image size from png/jpeg/jpeg2000/gif file" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, - {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, -] - -[[package]] -name = "jinja2" -version = "3.1.2" -description = "A very fast and expressive template engine." -optional = false -python-versions = ">=3.7" -files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, -] - -[package.dependencies] -MarkupSafe = ">=2.0" - -[package.extras] -i18n = ["Babel (>=2.7)"] - -[[package]] -name = "markdown-it-py" -version = "3.0.0" -description = "Python port of markdown-it. Markdown parsing, done right!" -optional = false -python-versions = ">=3.8" -files = [ - {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, - {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, -] - -[package.dependencies] -mdurl = ">=0.1,<1.0" - -[package.extras] -benchmarking = ["psutil", "pytest", "pytest-benchmark"] -code-style = ["pre-commit (>=3.0,<4.0)"] -compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] -linkify = ["linkify-it-py (>=1,<3)"] -plugins = ["mdit-py-plugins"] -profiling = ["gprof2dot"] -rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] -testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] - -[[package]] -name = "markupsafe" -version = "2.1.3" -description = "Safely add untrusted strings to HTML/XML markup." -optional = false -python-versions = ">=3.7" -files = [ - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, - {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, -] - -[[package]] -name = "mdit-py-plugins" -version = "0.4.0" -description = "Collection of plugins for markdown-it-py" -optional = false -python-versions = ">=3.8" -files = [ - {file = "mdit_py_plugins-0.4.0-py3-none-any.whl", hash = "sha256:b51b3bb70691f57f974e257e367107857a93b36f322a9e6d44ca5bf28ec2def9"}, - {file = "mdit_py_plugins-0.4.0.tar.gz", hash = "sha256:d8ab27e9aed6c38aa716819fedfde15ca275715955f8a185a8e1cf90fb1d2c1b"}, -] - -[package.dependencies] -markdown-it-py = ">=1.0.0,<4.0.0" - -[package.extras] -code-style = ["pre-commit"] -rtd = ["myst-parser", "sphinx-book-theme"] -testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] - -[[package]] -name = "mdurl" -version = "0.1.2" -description = "Markdown URL utilities" -optional = false -python-versions = ">=3.7" -files = [ - {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, - {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, -] - -[[package]] -name = "mypy-protobuf" -version = "3.5.0" -description = "Generate mypy stub files from protobuf specs" -optional = false -python-versions = ">=3.8" -files = [ - {file = "mypy-protobuf-3.5.0.tar.gz", hash = "sha256:21f270da0a9792a9dac76b0df463c027e561664ab6973c59be4e4d064dfe67dc"}, - {file = "mypy_protobuf-3.5.0-py3-none-any.whl", hash = "sha256:0d0548c6b9a6faf14ce1a9ce2831c403a5c1f2a9363e85b1e2c51d5d57aa8393"}, -] - -[package.dependencies] -protobuf = ">=4.23.4" -types-protobuf = ">=4.23.0.2" - -[[package]] -name = "myst-parser" -version = "2.0.0" -description = "An extended [CommonMark](https://spec.commonmark.org/) compliant parser," -optional = false -python-versions = ">=3.8" -files = [ - {file = "myst_parser-2.0.0-py3-none-any.whl", hash = "sha256:7c36344ae39c8e740dad7fdabf5aa6fc4897a813083c6cc9990044eb93656b14"}, - {file = "myst_parser-2.0.0.tar.gz", hash = "sha256:ea929a67a6a0b1683cdbe19b8d2e724cd7643f8aa3e7bb18dd65beac3483bead"}, -] - -[package.dependencies] -docutils = ">=0.16,<0.21" -jinja2 = "*" -markdown-it-py = ">=3.0,<4.0" -mdit-py-plugins = ">=0.4,<1.0" -pyyaml = "*" -sphinx = ">=6,<8" - -[package.extras] -code-style = ["pre-commit (>=3.0,<4.0)"] -linkify = ["linkify-it-py (>=2.0,<3.0)"] -rtd = ["ipython", "pydata-sphinx-theme (==v0.13.0rc4)", "sphinx-autodoc2 (>=0.4.2,<0.5.0)", "sphinx-book-theme (==1.0.0rc2)", "sphinx-copybutton", "sphinx-design2", "sphinx-pyscript", "sphinx-tippy (>=0.3.1)", "sphinx-togglebutton", "sphinxext-opengraph (>=0.8.2,<0.9.0)", "sphinxext-rediraffe (>=0.2.7,<0.3.0)"] -testing = ["beautifulsoup4", "coverage[toml]", "pytest (>=7,<8)", "pytest-cov", "pytest-param-files (>=0.3.4,<0.4.0)", "pytest-regressions", "sphinx-pytest"] -testing-docutils = ["pygments", "pytest (>=7,<8)", "pytest-param-files (>=0.3.4,<0.4.0)"] - -[[package]] -name = "packaging" -version = "23.2" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.7" -files = [ - {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, - {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, -] - -[[package]] -name = "pillow" -version = "10.1.0" -description = "Python Imaging Library (Fork)" -optional = false -python-versions = ">=3.8" -files = [ - {file = "Pillow-10.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1ab05f3db77e98f93964697c8efc49c7954b08dd61cff526b7f2531a22410106"}, - {file = "Pillow-10.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6932a7652464746fcb484f7fc3618e6503d2066d853f68a4bd97193a3996e273"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f63b5a68daedc54c7c3464508d8c12075e56dcfbd42f8c1bf40169061ae666"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0949b55eb607898e28eaccb525ab104b2d86542a85c74baf3a6dc24002edec2"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ae88931f93214777c7a3aa0a8f92a683f83ecde27f65a45f95f22d289a69e593"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b0eb01ca85b2361b09480784a7931fc648ed8b7836f01fb9241141b968feb1db"}, - {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d27b5997bdd2eb9fb199982bb7eb6164db0426904020dc38c10203187ae2ff2f"}, - {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7df5608bc38bd37ef585ae9c38c9cd46d7c81498f086915b0f97255ea60c2818"}, - {file = "Pillow-10.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:41f67248d92a5e0a2076d3517d8d4b1e41a97e2df10eb8f93106c89107f38b57"}, - {file = "Pillow-10.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1fb29c07478e6c06a46b867e43b0bcdb241b44cc52be9bc25ce5944eed4648e7"}, - {file = "Pillow-10.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2cdc65a46e74514ce742c2013cd4a2d12e8553e3a2563c64879f7c7e4d28bce7"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50d08cd0a2ecd2a8657bd3d82c71efd5a58edb04d9308185d66c3a5a5bed9610"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:062a1610e3bc258bff2328ec43f34244fcec972ee0717200cb1425214fe5b839"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:61f1a9d247317fa08a308daaa8ee7b3f760ab1809ca2da14ecc88ae4257d6172"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a646e48de237d860c36e0db37ecaecaa3619e6f3e9d5319e527ccbc8151df061"}, - {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:47e5bf85b80abc03be7455c95b6d6e4896a62f6541c1f2ce77a7d2bb832af262"}, - {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a92386125e9ee90381c3369f57a2a50fa9e6aa8b1cf1d9c4b200d41a7dd8e992"}, - {file = "Pillow-10.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0f7c276c05a9767e877a0b4c5050c8bee6a6d960d7f0c11ebda6b99746068c2a"}, - {file = "Pillow-10.1.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:a89b8312d51715b510a4fe9fc13686283f376cfd5abca8cd1c65e4c76e21081b"}, - {file = "Pillow-10.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:00f438bb841382b15d7deb9a05cc946ee0f2c352653c7aa659e75e592f6fa17d"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d929a19f5469b3f4df33a3df2983db070ebb2088a1e145e18facbc28cae5b27"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a92109192b360634a4489c0c756364c0c3a2992906752165ecb50544c251312"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:0248f86b3ea061e67817c47ecbe82c23f9dd5d5226200eb9090b3873d3ca32de"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9882a7451c680c12f232a422730f986a1fcd808da0fd428f08b671237237d651"}, - {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c3ac5423c8c1da5928aa12c6e258921956757d976405e9467c5f39d1d577a4b"}, - {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:806abdd8249ba3953c33742506fe414880bad78ac25cc9a9b1c6ae97bedd573f"}, - {file = "Pillow-10.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:eaed6977fa73408b7b8a24e8b14e59e1668cfc0f4c40193ea7ced8e210adf996"}, - {file = "Pillow-10.1.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:fe1e26e1ffc38be097f0ba1d0d07fcade2bcfd1d023cda5b29935ae8052bd793"}, - {file = "Pillow-10.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7a7e3daa202beb61821c06d2517428e8e7c1aab08943e92ec9e5755c2fc9ba5e"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24fadc71218ad2b8ffe437b54876c9382b4a29e030a05a9879f615091f42ffc2"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa1d323703cfdac2036af05191b969b910d8f115cf53093125e4058f62012c9a"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:912e3812a1dbbc834da2b32299b124b5ddcb664ed354916fd1ed6f193f0e2d01"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7dbaa3c7de82ef37e7708521be41db5565004258ca76945ad74a8e998c30af8d"}, - {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9d7bc666bd8c5a4225e7ac71f2f9d12466ec555e89092728ea0f5c0c2422ea80"}, - {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:baada14941c83079bf84c037e2d8b7506ce201e92e3d2fa0d1303507a8538212"}, - {file = "Pillow-10.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:2ef6721c97894a7aa77723740a09547197533146fba8355e86d6d9a4a1056b14"}, - {file = "Pillow-10.1.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0a026c188be3b443916179f5d04548092e253beb0c3e2ee0a4e2cdad72f66099"}, - {file = "Pillow-10.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04f6f6149f266a100374ca3cc368b67fb27c4af9f1cc8cb6306d849dcdf12616"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb40c011447712d2e19cc261c82655f75f32cb724788df315ed992a4d65696bb"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a8413794b4ad9719346cd9306118450b7b00d9a15846451549314a58ac42219"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c9aeea7b63edb7884b031a35305629a7593272b54f429a9869a4f63a1bf04c34"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b4005fee46ed9be0b8fb42be0c20e79411533d1fd58edabebc0dd24626882cfd"}, - {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4d0152565c6aa6ebbfb1e5d8624140a440f2b99bf7afaafbdbf6430426497f28"}, - {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d921bc90b1defa55c9917ca6b6b71430e4286fc9e44c55ead78ca1a9f9eba5f2"}, - {file = "Pillow-10.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cfe96560c6ce2f4c07d6647af2d0f3c54cc33289894ebd88cfbb3bcd5391e256"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:937bdc5a7f5343d1c97dc98149a0be7eb9704e937fe3dc7140e229ae4fc572a7"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c25762197144e211efb5f4e8ad656f36c8d214d390585d1d21281f46d556ba"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:afc8eef765d948543a4775f00b7b8c079b3321d6b675dde0d02afa2ee23000b4"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:883f216eac8712b83a63f41b76ddfb7b2afab1b74abbb413c5df6680f071a6b9"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b920e4d028f6442bea9a75b7491c063f0b9a3972520731ed26c83e254302eb1e"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c41d960babf951e01a49c9746f92c5a7e0d939d1652d7ba30f6b3090f27e412"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1fafabe50a6977ac70dfe829b2d5735fd54e190ab55259ec8aea4aaea412fa0b"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3b834f4b16173e5b92ab6566f0473bfb09f939ba14b23b8da1f54fa63e4b623f"}, - {file = "Pillow-10.1.0.tar.gz", hash = "sha256:e6bf8de6c36ed96c86ea3b6e1d5273c53f46ef518a062464cd7ef5dd2cf92e38"}, -] - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] -tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] - -[[package]] -name = "protobuf" -version = "4.25.1" -description = "" -optional = false -python-versions = ">=3.8" -files = [ - {file = "protobuf-4.25.1-cp310-abi3-win32.whl", hash = "sha256:193f50a6ab78a970c9b4f148e7c750cfde64f59815e86f686c22e26b4fe01ce7"}, - {file = "protobuf-4.25.1-cp310-abi3-win_amd64.whl", hash = "sha256:3497c1af9f2526962f09329fd61a36566305e6c72da2590ae0d7d1322818843b"}, - {file = "protobuf-4.25.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:0bf384e75b92c42830c0a679b0cd4d6e2b36ae0cf3dbb1e1dfdda48a244f4bcd"}, - {file = "protobuf-4.25.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:0f881b589ff449bf0b931a711926e9ddaad3b35089cc039ce1af50b21a4ae8cb"}, - {file = "protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:ca37bf6a6d0046272c152eea90d2e4ef34593aaa32e8873fc14c16440f22d4b7"}, - {file = "protobuf-4.25.1-cp38-cp38-win32.whl", hash = "sha256:abc0525ae2689a8000837729eef7883b9391cd6aa7950249dcf5a4ede230d5dd"}, - {file = "protobuf-4.25.1-cp38-cp38-win_amd64.whl", hash = "sha256:1484f9e692091450e7edf418c939e15bfc8fc68856e36ce399aed6889dae8bb0"}, - {file = "protobuf-4.25.1-cp39-cp39-win32.whl", hash = "sha256:8bdbeaddaac52d15c6dce38c71b03038ef7772b977847eb6d374fc86636fa510"}, - {file = "protobuf-4.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:becc576b7e6b553d22cbdf418686ee4daa443d7217999125c045ad56322dda10"}, - {file = "protobuf-4.25.1-py3-none-any.whl", hash = "sha256:a19731d5e83ae4737bb2a089605e636077ac001d18781b3cf489b9546c7c80d6"}, - {file = "protobuf-4.25.1.tar.gz", hash = "sha256:57d65074b4f5baa4ab5da1605c02be90ac20c8b40fb137d6a8df9f416b0d0ce2"}, -] - -[[package]] -name = "pygments" -version = "2.17.2" -description = "Pygments is a syntax highlighting package written in Python." -optional = false -python-versions = ">=3.7" -files = [ - {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, - {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, -] - -[package.extras] -plugins = ["importlib-metadata"] -windows-terminal = ["colorama (>=0.4.6)"] - -[[package]] -name = "python-magic" -version = "0.4.27" -description = "File type identification using libmagic" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "python-magic-0.4.27.tar.gz", hash = "sha256:c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b"}, - {file = "python_magic-0.4.27-py2.py3-none-any.whl", hash = "sha256:c212960ad306f700aa0d01e5d7a325d20548ff97eb9920dcd29513174f0294d3"}, -] - -[[package]] -name = "pyyaml" -version = "6.0.1" -description = "YAML parser and emitter for Python" -optional = false -python-versions = ">=3.6" -files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, -] - -[[package]] -name = "requests" -version = "2.31.0" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.7" -files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "segno" -version = "1.6.0" -description = "QR Code and Micro QR Code generator for Python" -optional = false -python-versions = ">=3.5" -files = [ - {file = "segno-1.6.0-py3-none-any.whl", hash = "sha256:e9c7479e144f750b837f9527fe7492135908b2515586467bc3c893b60a4e4d39"}, - {file = "segno-1.6.0.tar.gz", hash = "sha256:8d3b11098ac6dd93161499544dedbfb187d4459088109b8855ff0bbe98105047"}, -] - -[[package]] -name = "snowballstemmer" -version = "2.2.0" -description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -optional = false -python-versions = "*" -files = [ - {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, - {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, -] - -[[package]] -name = "sphinx" -version = "7.2.6" -description = "Python documentation generator" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinx-7.2.6-py3-none-any.whl", hash = "sha256:1e09160a40b956dc623c910118fa636da93bd3ca0b9876a7b3df90f07d691560"}, - {file = "sphinx-7.2.6.tar.gz", hash = "sha256:9a5160e1ea90688d5963ba09a2dcd8bdd526620edbb65c328728f1b2228d5ab5"}, -] - -[package.dependencies] -alabaster = ">=0.7,<0.8" -babel = ">=2.9" -colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -docutils = ">=0.18.1,<0.21" -imagesize = ">=1.3" -Jinja2 = ">=3.0" -packaging = ">=21.0" -Pygments = ">=2.14" -requests = ">=2.25.0" -snowballstemmer = ">=2.0" -sphinxcontrib-applehelp = "*" -sphinxcontrib-devhelp = "*" -sphinxcontrib-htmlhelp = ">=2.0.0" -sphinxcontrib-jsmath = "*" -sphinxcontrib-qthelp = "*" -sphinxcontrib-serializinghtml = ">=1.1.9" - -[package.extras] -docs = ["sphinxcontrib-websupport"] -lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-simplify", "isort", "mypy (>=0.990)", "ruff", "sphinx-lint", "types-requests"] -test = ["cython (>=3.0)", "filelock", "html5lib", "pytest (>=4.6)", "setuptools (>=67.0)"] - -[[package]] -name = "sphinx-autodoc-typehints" -version = "1.25.2" -description = "Type hints (PEP 484) support for the Sphinx autodoc extension" -optional = false -python-versions = ">=3.8" -files = [ - {file = "sphinx_autodoc_typehints-1.25.2-py3-none-any.whl", hash = "sha256:5ed05017d23ad4b937eab3bee9fae9ab0dd63f0b42aa360031f1fad47e47f673"}, - {file = "sphinx_autodoc_typehints-1.25.2.tar.gz", hash = "sha256:3cabc2537e17989b2f92e64a399425c4c8bf561ed73f087bc7414a5003616a50"}, -] - -[package.dependencies] -sphinx = ">=7.1.2" - -[package.extras] -docs = ["furo (>=2023.7.26)", "sphinx (>=7.1.2)"] -numpy = ["nptyping (>=2.5)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "sphobjinv (>=2.3.1)", "typing-extensions (>=4.7.1)"] - -[[package]] -name = "sphinx-rtd-theme" -version = "2.0.0" -description = "Read the Docs theme for Sphinx" -optional = false -python-versions = ">=3.6" -files = [ - {file = "sphinx_rtd_theme-2.0.0-py2.py3-none-any.whl", hash = "sha256:ec93d0856dc280cf3aee9a4c9807c60e027c7f7b461b77aeffed682e68f0e586"}, - {file = "sphinx_rtd_theme-2.0.0.tar.gz", hash = "sha256:bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b"}, -] - -[package.dependencies] -docutils = "<0.21" -sphinx = ">=5,<8" -sphinxcontrib-jquery = ">=4,<5" - -[package.extras] -dev = ["bump2version", "sphinxcontrib-httpdomain", "transifex-client", "wheel"] - -[[package]] -name = "sphinxcontrib-applehelp" -version = "1.0.7" -description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_applehelp-1.0.7-py3-none-any.whl", hash = "sha256:094c4d56209d1734e7d252f6e0b3ccc090bd52ee56807a5d9315b19c122ab15d"}, - {file = "sphinxcontrib_applehelp-1.0.7.tar.gz", hash = "sha256:39fdc8d762d33b01a7d8f026a3b7d71563ea3b72787d5f00ad8465bd9d6dfbfa"}, -] - -[package.dependencies] -Sphinx = ">=5" - -[package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] -test = ["pytest"] - -[[package]] -name = "sphinxcontrib-devhelp" -version = "1.0.5" -description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_devhelp-1.0.5-py3-none-any.whl", hash = "sha256:fe8009aed765188f08fcaadbb3ea0d90ce8ae2d76710b7e29ea7d047177dae2f"}, - {file = "sphinxcontrib_devhelp-1.0.5.tar.gz", hash = "sha256:63b41e0d38207ca40ebbeabcf4d8e51f76c03e78cd61abe118cf4435c73d4212"}, -] - -[package.dependencies] -Sphinx = ">=5" - -[package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] -test = ["pytest"] - -[[package]] -name = "sphinxcontrib-htmlhelp" -version = "2.0.4" -description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_htmlhelp-2.0.4-py3-none-any.whl", hash = "sha256:8001661c077a73c29beaf4a79968d0726103c5605e27db92b9ebed8bab1359e9"}, - {file = "sphinxcontrib_htmlhelp-2.0.4.tar.gz", hash = "sha256:6c26a118a05b76000738429b724a0568dbde5b72391a688577da08f11891092a"}, -] - -[package.dependencies] -Sphinx = ">=5" - -[package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] -test = ["html5lib", "pytest"] - -[[package]] -name = "sphinxcontrib-jquery" -version = "4.1" -description = "Extension to include jQuery on newer Sphinx releases" -optional = false -python-versions = ">=2.7" -files = [ - {file = "sphinxcontrib-jquery-4.1.tar.gz", hash = "sha256:1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a"}, - {file = "sphinxcontrib_jquery-4.1-py2.py3-none-any.whl", hash = "sha256:f936030d7d0147dd026a4f2b5a57343d233f1fc7b363f68b3d4f1cb0993878ae"}, -] - -[package.dependencies] -Sphinx = ">=1.8" - -[[package]] -name = "sphinxcontrib-jsmath" -version = "1.0.1" -description = "A sphinx extension which renders display math in HTML via JavaScript" -optional = false -python-versions = ">=3.5" -files = [ - {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, - {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, -] - -[package.extras] -test = ["flake8", "mypy", "pytest"] - -[[package]] -name = "sphinxcontrib-qthelp" -version = "1.0.6" -description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_qthelp-1.0.6-py3-none-any.whl", hash = "sha256:bf76886ee7470b934e363da7a954ea2825650013d367728588732c7350f49ea4"}, - {file = "sphinxcontrib_qthelp-1.0.6.tar.gz", hash = "sha256:62b9d1a186ab7f5ee3356d906f648cacb7a6bdb94d201ee7adf26db55092982d"}, -] - -[package.dependencies] -Sphinx = ">=5" - -[package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] -test = ["pytest"] - -[[package]] -name = "sphinxcontrib-serializinghtml" -version = "1.1.9" -description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_serializinghtml-1.1.9-py3-none-any.whl", hash = "sha256:9b36e503703ff04f20e9675771df105e58aa029cfcbc23b8ed716019b7416ae1"}, - {file = "sphinxcontrib_serializinghtml-1.1.9.tar.gz", hash = "sha256:0c64ff898339e1fac29abd2bf5f11078f3ec413cfe9c046d3120d7ca65530b54"}, -] - -[package.dependencies] -Sphinx = ">=5" - -[package.extras] -lint = ["docutils-stubs", "flake8", "mypy"] -test = ["pytest"] - -[[package]] -name = "types-protobuf" -version = "4.24.0.4" -description = "Typing stubs for protobuf" -optional = false -python-versions = ">=3.7" -files = [ - {file = "types-protobuf-4.24.0.4.tar.gz", hash = "sha256:57ab42cb171dfdba2c74bb5b50c250478538cc3c5ed95b8b368929ad0c9f90a5"}, - {file = "types_protobuf-4.24.0.4-py3-none-any.whl", hash = "sha256:131ab7d0cbc9e444bc89c994141327dcce7bcaeded72b1acb72a94827eb9c7af"}, -] - -[[package]] -name = "urllib3" -version = "2.1.0" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.8" -files = [ - {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, - {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[metadata] -lock-version = "2.0" -python-versions = "^3.11" -content-hash = "2f3e3ec06dffe8d6193cbe913d54701e8b865a677e782ed679900c6a4da0b3c9" diff --git a/pyproject.toml b/pyproject.toml index da039d01..9c67996f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,41 +1,88 @@ -[tool.poetry] +[project] name = "neonize" -version = "0.1.0" -description = "whatsmeow binder for python" -authors = ["krypton-byte "] -license = "Apache-2.0" +description = "Neonize is a Python library designed to streamline the automation of tasks on WhatsApp" readme = "README.md" -exclude = [ - "docs/", - "neonize/gocode" +requires-python = ">=3.10" +dynamic = ["version"] +dependencies = [ + "httpx>=0.28.1", + "linkpreview>=0.11.0", + "phonenumbers>=8.13.52", + "pillow>=11.1.0", + "protobuf==6.32.1", + "python-magic>=0.4.27 ; sys_platform != 'win32'", + "python-magic-bin>=0.4.14 ; sys_platform == 'win32'", + "requests>=2.32.3", + "segno>=1.6.1", + "tqdm>=4.67.1", +] +[project.urls] +HomePage = "https://github.com/krypton-byte/neonize" +[dependency-groups] +dev = [ + "mypy-protobuf>=3.6.0", + "taskipy>=1.14.1", + "types-requests>=2.32.0.20241016", + "wheel>=0.45.1", ] -include = [ - "neonize/gocode/gocode.so" +docs = [ + "furo>=2024.8.6", + "myst-parser>=4.0.0", + "sphinx>=8.1.3", + "sphinx-autodoc-typehints>=3.0.0", ] -[tool.poetry.dependencies] -python = "^3.11" -protobuf = "^4.25.1" -python-magic = "^0.4.27" -pillow = "^10.1.0" -requests = "^2.31.0" +[tool.taskipy.tasks] +build = {cmd = "uv run -m tools.goneonize", help = "build goneonize"} +docsbuild = {cmd = "uv run -m tools.docs", help="build autogen documentation for neonize"} +version = {cmd = "uv run -m tools.version_cli", help = "set neonize & goneonize version"} +download = {cmd = "uv run -m tools.download", help="Download goneonize from github release with specific version"} +repack = {cmd = "uv run -m tools.repack", help="generate wheel with spesific os & arch"} +proto = {cmd = "uv run -m tools.update_proto", help="update whatsapp proto files"} +goneonize_changed = {cmd = "uv run -m tools.build_goneonize_decision", help = "This command to compares the latest release of goneonize"} +[tool.uv.workspace] +exclude = ["docs/","goneonize/"] +members = ["neonize/neonize-*"] +[tool.pdm.version] +source = "file" +path = "neonize/__init__.py" +[tool.pdm.build] +includes = ["neonize/", "neonize/neonize-*"] +excludes = ["goneonize"] +# run-setuptools = true +[build-system] +requires = ["pdm-backend"] +build-backend = "pdm.backend" +[tool.ruff] +exclude = [ + "proto","*.pyi" +] +line-length = 100 -[tool.poetry.group.dev.dependencies] -segno = "^1.6.0" -mypy-protobuf = "^3.5.0" +[tool.ruff.format] +# Like Black, use double quotes for strings. +quote-style = "double" +# Like Black, indent with spaces, rather than tabs. +indent-style = "space" -[tool.poetry.group.docs.dependencies] -sphinx = "^7.2.6" -sphinx-rtd-theme = "^2.0.0" -myst-parser = "^2.0.0" -sphinx-autodoc-typehints = "^1.25.2" +# Like Black, respect magic trailing commas. +skip-magic-trailing-comma = false -[build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" +# Like Black, automatically detect the appropriate line ending. +line-ending = "auto" + +# Enable auto-formatting of code examples in docstrings. Markdown, +# reStructuredText code/literal blocks and doctests are all supported. +# +# This is currently disabled by default, but it is planned for this +# to be opt-out in the future. +docstring-code-format = false -[tool.poetry.scripts] -docsbuild = "docs.generate:build" -build = "neonize.gocode.build:build" +# Set the line length limit used when formatting code snippets in +# docstrings. +# +# This only has an effect when the `docstring-code-format` setting is +# enabled. +docstring-code-line-length = "dynamic" diff --git a/tools/build_goneonize_decision.py b/tools/build_goneonize_decision.py new file mode 100644 index 00000000..abf266d6 --- /dev/null +++ b/tools/build_goneonize_decision.py @@ -0,0 +1,73 @@ +from io import BytesIO +import os +import sys +from .github import Github +from zipfile import ZipFile +from hashlib import md5 +from pathlib import Path +import glob + +goneonize = Path(__file__).parent.parent / "goneonize" + + +def get_diff(): + ignore = ["goneonize/defproto", "goneonize/go.mod", "goneonize/go.sum"] + file_paths = glob.glob("goneonize/**/*", recursive=True) + files = [] + for file in file_paths: + if ( + os.path.isfile(file) + and not file.startswith("goneonize/defproto") + and not file.startswith("goneonize/neonize") + and "__pycache__" not in file + and file not in ignore + ): + files.append(file) + files.append("goneonize/defproto/.sha") + files.remove("goneonize/version.go") + return files + + +def get_current_md5(): + data = get_diff() + result = {} + for file in data: + with open(Path(__file__).parent.parent / file, "rb") as fd: + result[file] = md5(fd.read()).hexdigest() + return result + + +def check(gh: ZipFile): + hash_file = get_current_md5() + files = list(hash_file) + folder = gh.filelist[0].filename.split("/")[0] + for file in files: + if hash_file[file] != md5(gh.read(f"{folder}/{file}")).hexdigest(): + return True + return False + + +def build_goneonize_decision() -> bool: + """ + Determines whether the Goneonize build process should be triggered. + + This function compares the latest release of Neonize's `Neonize.proto` and `.sha` file + with the local versions. If there is a difference, it indicates that Goneonize needs + to be rebuilt. + + Returns: + bool: True if Goneonize should be rebuilt, False otherwise. + """ + try: + github = Github() + zipfile = ZipFile( + BytesIO( + github.download_neonize( + github.get_last_goneonize_version()))) + return check(zipfile) + except Exception: + return True + + +if __name__ == "__main__": + sys.exit(not build_goneonize_decision()) diff --git a/tools/docs.py b/tools/docs.py new file mode 100644 index 00000000..ce67122d --- /dev/null +++ b/tools/docs.py @@ -0,0 +1,23 @@ +import os +from subprocess import call +from pathlib import Path +import shlex + +workdir = Path(__file__).parent.parent + + +def build(): + env = os.environ + env["SPHINX"] = "true" + call( + shlex.split( + "uv run sphinx-apidoc -o docs/source neonize neonize.proto neonize.utils"), + env=env, + ) + call(shlex.split("uv run make html"), cwd=workdir / "docs") + with open(workdir / "docs/_build/html/.nojekyll", "wb") as file: + file.write(b"") + + +if __name__ == "__main__": + build() diff --git a/tools/download.py b/tools/download.py new file mode 100644 index 00000000..5616894d --- /dev/null +++ b/tools/download.py @@ -0,0 +1,80 @@ +from .version import Version +from goneonize import generated_name +from colorama import Fore, init +import argparse +from pathlib import Path +import sys +import platform +import requests +from tqdm import tqdm + +from .github import Github + +sys.path.insert(0, Path(__file__).parent.__str__()) + +os_name = platform.system().lower() +arch_name = platform.machine().lower() +init() + + +class UnsupportedPlatform(Exception): + pass + + +def download( + version: str, + os: str, + arch: str, + chunk_size: int, + path=Path(__file__).parent.parent / "neonize", +): + name = (Path(__file__).parent.parent / "neonize") / \ + generated_name(os_name, arch_name) + print( + f"{Fore.RED}[{Fore.GREEN}{name.name} {Fore.YELLOW}%r{Fore.RED}]{Fore.RESET}" % + version) + username, repository = Version().github_url.split("/")[-2:] + resp = requests.get( + f"https://github.com/{username}/{repository}/releases/download/{version}/{generated_name(os_name, arch_name)}", + stream=True, + ) + if resp.status_code != 200: + resp.close() + raise UnsupportedPlatform(generated_name()) + total = int(resp.headers.get("content-length", 0)) + with ( + open(name, "wb") as file, + tqdm( + desc=Path(name).name, + total=total, + unit="iB", + unit_scale=True, + unit_divisor=1024, + ) as bar, + ): + for data in resp.iter_content(chunk_size=chunk_size): + size = file.write(data) + bar.update(size) + bar.n = total + bar.close() + + +if __name__ == "__main__": + arg = argparse.ArgumentParser() + arg.add_argument("--os", default=os_name) + arg.add_argument("--arch", default=arch_name) + version = arg.add_mutually_exclusive_group(required=True) + version.add_argument("--last", action="store_true") + version.add_argument("--version", type=str, help="goneonize version") + arg.add_argument( + "--chunk-size", + type=int, + help="default: 1024", + default=1024) + parse = arg.parse_args() + github = Github() + if parse.version: + target_version = parse.version + else: + target_version = github.get_last_goneonize_version() + download(target_version, parse.os, parse.arch, parse.chunk_size) diff --git a/tools/github.py b/tools/github.py new file mode 100644 index 00000000..9c02295a --- /dev/null +++ b/tools/github.py @@ -0,0 +1,111 @@ +from datetime import datetime +import httpx +from .version import Version + + +class Github(httpx.Client): + """ + A client for interacting with the GitHub API, specifically for retrieving release + information and downloading repository assets. + + This class extends `httpx.Client` and provides methods to: + - Fetch the latest release version of a repository. + - Download the source code of a specific release. + - Retrieve the latest Neonize release. + - Determine the last Goneonize version based on available assets. + """ + + def __init__(self): + """ + Initializes the GitHub client with the repository information and base API URL. + """ + self.base_url = "https://api.github.com" + self.versioning = Version() + self.username, self.repository = self.versioning.github_url.split( + "/")[-2:] + super().__init__(base_url=self.base_url) + + def get_last_version(self) -> str: + """ + Retrieves the latest release version of the repository. + + Returns: + str: The latest release tag name, or "0.0.0" if no releases are found. + """ + resp = self.get(f"/repos/{self.username}/{self.repository}/releases") + if resp.status_code == 404: + return "0.0.0" + resp.raise_for_status() + + releases = resp.json() + if not isinstance(releases, list) or not releases: + return "0.0.0" + + # Annotate each with a timestamp for easy comparison + for rel in releases: + rel["_created_ts"] = datetime.strptime( + rel["created_at"], "%Y-%m-%dT%H:%M:%SZ" + ).timestamp() + + latest = max(releases, key=lambda r: r["_created_ts"]) + return latest["tag_name"] + + def download_neonize(self, version: str) -> bytes: + """ + Downloads the source code for a specified release version as a ZIP archive. + + Args: + version (str): The tag name of the release version to download. + + Returns: + bytes: The content of the ZIP archive. + """ + url = ( + f"https://codeload.github.com/{self.username}/{self.repository}/zip/refs/tags/{version}" + ) + resp = self.get(url) + resp.raise_for_status() + return resp.content + + def get_last_neonize_release(self) -> bytes: + """ + Retrieves the latest Neonize release as a ZIP archive. + + Returns: + bytes: The content of the latest Neonize release ZIP archive. + """ + latest_tag = self.get_last_version() + return self.download_neonize(latest_tag) + + def get_last_goneonize_version(self) -> str: + """ + Finds the latest Goneonize version by checking releases with available assets. + + Returns: + str: The latest release tag name that contains more than 12 assets. + + Raises: + TypeError: If no suitable release is found. + """ + resp = self.get(f"/repos/{self.username}/{self.repository}/releases") + if resp.status_code == 404: + return "0.0.0" + resp.raise_for_status() + + releases = resp.json() + if not isinstance(releases, list) or not releases: + raise TypeError("No releases available") + + # Add timestamps for sorting + for rel in releases: + rel["_created_ts"] = datetime.strptime( + rel["created_at"], "%Y-%m-%dT%H:%M:%SZ" + ).timestamp() + + # Iterate newestβ†’oldest + for rel in sorted( + releases, key=lambda r: r["_created_ts"], reverse=True): + if len(rel.get("assets", [])) > 12: + return rel["tag_name"] + + raise TypeError("Unavailable") diff --git a/tools/goneonize.py b/tools/goneonize.py new file mode 100644 index 00000000..f847d42e --- /dev/null +++ b/tools/goneonize.py @@ -0,0 +1,165 @@ +import os +import platform +import shlex +import argparse +import subprocess +import shutil +from pathlib import Path +from typing import Dict +import glob + +cwd = (Path(__file__).parent.parent / "goneonize/").__str__() +# shell = [ +# "protoc --go_out=. Neonize.proto def.proto", +# "protoc --python_out=../neonize/proto --mypy_out=../neonize/proto def.proto Neonize.proto", +# "protoc --go_out=. --go-grpc_out=. -I . Neonize.proto def.proto", +# ] +shell = [ + "protoc --go_out=. --go_opt=paths=source_relative Neonize.proto", + "protoc --python_out=../../neonize/proto --mypy_out=../../neonize/proto Neonize.proto", + *[ + f"protoc --python_out=../../neonize/proto --mypy_out=../../neonize/proto {path}" + for path in glob.glob("*/*.proto", root_dir=cwd + "/defproto") + ], + # "protoc --go_out=. --go-grpc_out=. -I . Neonize.proto def.proto", +] + + +def arch_normalizer(arch_: str) -> str: + arch: Dict[str, str] = { + "aarch64": "arm64", + "x86_64": "amd64", + } + return arch.get(arch_, arch_) + + +def generated_name(os_name="", arch_name=""): + os_name = os_name or platform.system().lower() + arch_name = arch_normalizer(arch_name or platform.machine().lower()) + if os_name == "windows": + ext = "dll" + elif os_name == "linux": + ext = "so" + elif os_name == "darwin": + ext = "dylib" + else: + ext = "so" + return f"neonize-{os_name}-{arch_name}.{ext}" + + +def __build(): + args = argparse.ArgumentParser() + args.add_argument("--os", default=platform.system().lower()) + args.add_argument("--arch", default=platform.machine().lower()) + parse = args.parse_args() + filename = generated_name(parse.os, parse.arch) + for sh in shell: + subprocess.call(shlex.split(sh), cwd=cwd) + if (Path(cwd) / "defproto").exists(): + shutil.rmtree(f"{cwd}/defproto") + os.mkdir(f"{cwd}/defproto") + os.rename( + f"{cwd}/github.com/krypton-byte/neonize/defproto/", + f"{cwd}/defproto") + shutil.rmtree(f"{cwd}/github.com") + subprocess.call( + shlex.split( + f"go build -buildmode=c-shared -ldflags=-s -o {filename} main.go"), + cwd=cwd, + env=os.environ.update({"CGO_ENABLED": "1"}), + ) + if (Path(cwd).parent / filename).exists(): + os.remove(os.path.dirname(cwd) + "/" + filename) + os.rename(f"{cwd}/{filename}", os.path.dirname(cwd) + "/" + filename) + + +def build_proto(): + with open(cwd + "/Neonize.proto", "rb") as file: + with open(cwd + "/defproto/Neonize.proto", "wb") as wf: + wf.write(file.read()) + for sh in shell: + subprocess.call(shlex.split(sh), cwd=cwd + "/defproto") + # if (Path(cwd) / "defproto").exists(): + # shutil.rmtree(f"{cwd}/defproto") + # os.mkdir(f"{cwd}/defproto") + # os.rename(f"{cwd}/github.com/krypton-byte/neonize/defproto/", f"{cwd}/defproto") + # shutil.rmtree(f"{cwd}/github.com") + + +def build_neonize(): + os_name = os.environ.get("GOOS") or platform.system().lower() + arch_name = os.environ.get("GOARCH") or platform.machine().lower() + print(f"os: {os_name}, arch: {arch_name}") + filename = generated_name(os_name, arch_name) + print(filename) + subprocess.call( + shlex.split( + f"go build -buildmode=c-shared -ldflags=-s -o {filename} "), + cwd=cwd, + env=os.environ.update({"CGO_ENABLED": "1"}), + ) + if (Path(cwd).parent / f"neonize/{filename}").exists(): + os.remove(os.path.dirname(cwd) + "/neonize/" + filename) + os.rename( + f"{cwd}/{filename}", + os.path.dirname(cwd) + + "/neonize/" + + filename) + + +def build(): + args = argparse.ArgumentParser() + sub = args.add_subparsers(dest="build", required=True) + sub.add_parser("goneonize") + # arg.add_argument("--out", type=str, default=os.path.dirname(cwd) + "/neonize/") + sub.add_parser("proto") + sub.add_parser("all") + parse = args.parse_args() + match parse.build: + case "goneonize": + build_neonize() + case "proto": + build_proto() + case "all": + build_proto() + build_neonize() + + +def build_android(): + filename = generated_name("android", "aarch4") + for sh in shell: + subprocess.call(shlex.split(sh), cwd=cwd) + if (Path(cwd) / "defproto").exists(): + shutil.rmtree(f"{cwd}/defproto") + os.mkdir(f"{cwd}/defproto") + os.rename( + f"{cwd}/github.com/krypton-byte/neonize/defproto/", + f"{cwd}/defproto") + shutil.rmtree(f"{cwd}/github.com") + os.environ.update( + { + "CGO_ENABLED": "1", + "CC": "/home/krypton-byte/Pictures/android-ndk-r26b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang", + "CXX": "/home/krypton-byte/Pictures/android-ndk-r26b/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android28-clang++", + } + ) + subprocess.call( + shlex.split( + f"go build -buildmode=c-shared -ldflags=-s -o {filename} main.go"), + cwd=cwd, + env=os.environ, + ) + if (Path(cwd).parent / filename).exists(): + os.remove(os.path.dirname(cwd) + "/" + filename) + os.rename(f"{cwd}/{filename}", os.path.dirname(cwd) + "/" + filename) + # command = shlex.split("build.bat " if os.name == "nt" else "bash build.sh "+platform.machine()) + # subprocess.call( + # command, + # cwd=os.path.dirname(__file__), + # env=os.environ.update({"build_neonize": "1"}), + # shell=os.name == "nt", + # ) + + +if __name__ == "__main__": + build() diff --git a/tools/repack.py b/tools/repack.py new file mode 100644 index 00000000..4f030f4a --- /dev/null +++ b/tools/repack.py @@ -0,0 +1,149 @@ +from enum import Enum +from pathlib import Path +import shutil +import subprocess +import os +import platform + +WORKDIR = Path(__file__).parent.parent +fname = "-".join( + [ + "neonize", + os.popen("uv run task version neonize --pypi-format").read().strip(), + ] +) +wheel_name = fname + "-py3-none-any.whl" +os_name = os.environ.get("GOOS") or platform.system().lower() +arch_name = os.environ.get("GOARCH") or platform.machine().lower() +arch_name = { + "aarch64": "arm64", + "x86_64": "amd64", +}.get(arch_name, arch_name) + + +def check_libc(): + # Coba cek dengan ldd --version + try: + result = subprocess.run(["ldd", "--version"], + capture_output=True, text=True) + output = result.stdout.lower() + result.stderr.lower() + if "musl" in output: + return "musl libc" + elif "glibc" in output or "gnu libc" in output: + return "glibc" + except Exception: + pass + + # Coba cek file libc.so.6 di /lib atau /lib64 + libc_paths = ["/lib/libc.so.6", "/lib64/libc.so.6"] + for path in libc_paths: + if os.path.isfile(path): + try: + result = subprocess.run([path], capture_output=True, text=True) + output = result.stdout.lower() + result.stderr.lower() + if "musl" in output: + return "musl libc" + elif "glibc" in output or "gnu libc" in output: + return "glibc" + except Exception: + pass + + # Jika belum ketahuan + return "Unknown libc type" + + +class OS(Enum): + MAC = "macosx" + LINUX = "manylinux2014" + MUSL_LINUX = "musllinux_1_2" + WINDOWS = "win" + + # ANDROID = "android" + @classmethod + def auto(cls): + if os_name == "windows": + return cls.WINDOWS + elif os_name == "linux": + libc = check_libc() + if libc == "musl libc": + return cls.MUSL_LINUX + elif libc == "glibc": + return cls.LINUX + raise OSError("Unsupported libc type: " + libc) + elif os_name == "darwin": + return cls.MAC + raise OSError( + "The binary for your operating system is not yet available. Please check back later. If you need immediate assistance, you can also contact the author of the library for support." + ) + + +class ARCH(Enum): + X86_64 = "x86_64" + X86 = "x86" + AMD64 = "amd64" + AARCH64 = "aarch64" + I386 = "i686" + S390X = "s390x" + ARM = "armv7l" + ARM64 = "arm64" + RISCV64 = "riscv64" + PPC64LE = "ppc64le" + + @classmethod + def auto(cls, os: OS): + if arch_name == "arm64": + if os in [OS.MAC, OS.WINDOWS]: + return cls.ARM64 + return cls.AARCH64 + elif arch_name == "amd64": + if os == OS.WINDOWS: + return cls.AMD64 + return cls.X86_64 + elif arch_name == "386": + if os == OS.WINDOWS: + return cls.X86 + return cls.I386 + elif arch_name == "arm": + return cls.ARM + elif arch_name == "s390x": + return cls.S390X + elif arch_name == "ppc64le": + return cls.PPC64LE + raise OSError("Unsupported architecture") + + +def repack(_os: OS, arch: ARCH): + try: + subprocess.call(["wheel", "unpack", WORKDIR / + "dist" / wheel_name], cwd=WORKDIR / "dist") + wheel_path = WORKDIR / "dist" / fname / \ + (fname + ".dist-info") / "WHEEL" + wheel = open(wheel_path, "r").read() + arch_value = arch.value + if _os == OS.MAC: + arch_value = f"12_0_{arch_value}" + with open(wheel_path, "w") as file: + if _os == OS.WINDOWS and arch == ARCH.X86: + file.write(wheel.replace("py3-none-any", "py310-none-win32")) + print(wheel.replace("py3-none-any", "py310-none-win32")) + else: + file.write( + wheel.replace( + "py3-none-any", + f"py310-none-{_os.value}_{arch_value}")) + print( + wheel.replace( + "py3-none-any", + f"py310-none-{_os.value}_{arch_value}")) + subprocess.call(["wheel", "pack", WORKDIR / "dist" / + fname], cwd=WORKDIR / "dist") + os.remove(WORKDIR / "dist" / wheel_name) + os.remove(WORKDIR / "dist" / (fname + ".tar.gz")) + shutil.rmtree(WORKDIR / "dist" / fname) + except FileNotFoundError: + print("general wheel file not found\nhint: uv build") + + +if __name__ == "__main__": + _os = OS.auto() + repack(_os, ARCH.auto(_os.auto())) diff --git a/tools/update_proto.py b/tools/update_proto.py new file mode 100644 index 00000000..238426dc --- /dev/null +++ b/tools/update_proto.py @@ -0,0 +1,146 @@ +from typing import Optional +from colorama import Fore, init +import shutil +from pathlib import Path +import os +import platform +import requests +from tqdm import tqdm +import zipfile +from dataclasses import dataclass +import argparse + + +os_name = platform.system().lower() +arch_name = platform.machine().lower() +init() + +WORKDIR = Path(__file__).parent.parent +SHA_FILE = WORKDIR / "goneonize/defproto/.sha" + + +@dataclass +class FileValue: + proto: int = 0 + dropped: int = 0 + folder: int = 0 + + +@dataclass +class ProtoCommit: + upgradeable: bool + sha: Optional[str] + + +def remove_not_proto(path: Path, value: FileValue): + for file in path.iterdir(): + if file.is_dir(): + value.folder += 1 + remove_not_proto(file, value) + elif not file.name.endswith(".proto"): + os.remove(file) + value.dropped += 1 + else: + value.proto += 1 + + +class UnsupportedPlatform(Exception): + pass + + +def download_whatsmeow(): + chunk_size = 1024 + name = WORKDIR / "whatsmeow.zip" + print( + f"{Fore.RED}[{Fore.GREEN}{name.name} {Fore.YELLOW}'HEAD'{Fore.RED}]{Fore.RESET}") + resp = requests.get( + "https://github.com/tulir/whatsmeow/archive/refs/heads/main.zip", stream=True + ) + total = int(resp.headers.get("content-length", 0)) + with ( + open(name, "wb") as file, + tqdm( + desc=Path(name).name, + total=total, + unit="iB", + unit_scale=True, + unit_divisor=1024, + ) as bar, + ): + for data in resp.iter_content(chunk_size=chunk_size): + size = file.write(data) + bar.update(size) + bar.n = total + bar.close() + # unzip + with zipfile.ZipFile("whatsmeow.zip") as zfile: + for name in filter(lambda x: x.startswith( + "whatsmeow-main/proto"), zfile.namelist()): + zfile.extract(name, ".dest") + # remove != .proto + value = FileValue() + remove_not_proto(Path(__file__).parent.parent / ".dest", value) + print(f"{Fore.BLUE}[INFO] File extraction complete:") + print(f"{Fore.RED} - {Fore.GREEN}{value.folder} {Fore.YELLOW}folders created") + print(f"{Fore.RED} - {Fore.GREEN}{value.dropped}{Fore.YELLOW} files skipped/dropped") + # remove defproto + shutil.rmtree(WORKDIR / "goneonize/defproto/") + shutil.move( + WORKDIR / + ".dest/whatsmeow-main/proto", + WORKDIR / + "goneonize/defproto") + shutil.copy( + WORKDIR / + "goneonize/Neonize.proto", + WORKDIR / + "goneonize/defproto/") + print( + f"{Fore.RED} - {Fore.GREEN}{value.proto} {Fore.YELLOW}proto files processed and moved to 'defproto'" + ) + os.remove(WORKDIR / "whatsmeow.zip") + shutil.rmtree(WORKDIR / ".dest") + print(f"{Fore.BLUE}[INFO] Work directory cleaned up successfully.") + git_proto_sha = "" + last_sha_commit = requests.get( + "https://api.github.com/repos/tulir/whatsmeow/contents/").json() + for result in filter( + lambda item: item["name"] == "proto", last_sha_commit): + git_proto_sha = result["sha"] + break + with open(SHA_FILE, "w") as file: + file.write(git_proto_sha) + + +def upgradable() -> ProtoCommit: + git_proto_sha = "" + last_sha_commit = requests.get( + "https://api.github.com/repos/tulir/whatsmeow/contents/").json() + for result in filter( + lambda item: item["name"] == "proto", last_sha_commit): + git_proto_sha = result["sha"] + break + if SHA_FILE.exists(): + return ProtoCommit( + upgradeable=SHA_FILE.read_text().strip() != git_proto_sha, sha=git_proto_sha + ) + else: + SHA_FILE.touch() + return ProtoCommit(upgradeable=True, sha=None) + + +if __name__ == "__main__": + args = argparse.ArgumentParser() + args.add_argument( + "--force", + help="force update", + default=False, + action="store_true") + parse = args.parse_args() + proto = upgradable() + if proto.upgradeable: + print(f"{Fore.BLUE}[INFO] A proto update is available.") + if proto.upgradeable or parse.force: + download_whatsmeow() + else: + print(f"{Fore.BLUE}[INFO] No proto update is available.") diff --git a/tools/value_changer.py b/tools/value_changer.py new file mode 100644 index 00000000..124fa271 --- /dev/null +++ b/tools/value_changer.py @@ -0,0 +1,149 @@ +import ast +from typing import Dict, List, Optional, TypeVar, overload + +const_type = str | float | int + + +class Changer(ast.NodeVisitor): + """ + A custom AST NodeVisitor that modifies assignment values in an abstract syntax tree (AST). + + This class allows replacing variable assignments based on predefined rules and + extracting values assigned to specific variables. + """ + + rules = {} # Dictionary containing replacement rules for variables + extract_rules: List[str] = [] # List of variable names to extract + extract_result: Dict[str, const_type] = {} # Extracted variable values + + def visit_Assign(self, node: ast.Assign): + """ + Visits assignment nodes in the AST and applies transformation rules. + + - If the target variable is in `rules`, its value is replaced with the corresponding rule value. + - If the target variable is in `extract_rules` and is a constant, its value is stored. + + Args: + node (ast.Assign): The assignment node being visited. + """ + if node.targets.__len__() == 1 and isinstance( + node.targets[0], ast.Name): + target_id = node.targets[0].id + if target_id in self.rules: + node.value = ast.Constant(value=self.rules[target_id]) + if target_id in self.extract_rules and isinstance( + node.value, ast.Constant): + self.extract_result.update({target_id: node.value.value}) + return self + + def add_rules(self, rules: dict[str, const_type]): + """ + Adds variable transformation rules. + + Args: + rules (dict[str, const_type]): A dictionary mapping variable names to new values. + + Returns: + Changer: The updated instance of `Changer`. + """ + self.rules.update(rules) + return self + + def extract(self, vars_name: List[str]): + """ + Specifies which variable values should be extracted from the AST. + + Args: + vars_name (List[str]): List of variable names to extract. + + Returns: + Changer: The updated instance of `Changer`. + """ + self.extract_rules.extend(vars_name) + return self + + +T = TypeVar("T", str, float, int) + + +class ValueChanger: + """ + A utility class for modifying and extracting variable assignments in Python source code. + + This class parses Python source code into an AST and allows: + - Replacing variable values. + - Extracting assigned values from variables. + - Converting the modified AST back to source code. + """ + + def __init__(self, source_code: str) -> None: + """ + Initializes a `ValueChanger` instance with the provided source code. + + Args: + source_code (str): The Python source code to be modified. + """ + self.node = ast.parse(source_code) + + def set_value(self, name: str, value: const_type): + """ + Replaces the assigned value of a specified variable in the source code. + + Args: + name (str): The name of the variable to modify. + value (const_type): The new value to assign. + + Returns: + ValueChanger: The updated instance of `ValueChanger`. + """ + Changer().add_rules({name: value}).visit(self.node) + return self + + @overload + def extract(self, name: str, expect_type: type[T]) -> T: ... + @overload + def extract(self, name: str) -> const_type: ... + + def extract(self, name: str, + expect_type: Optional[type[const_type]] = None) -> const_type: + """ + Extracts the assigned value of a specified variable from the source code. + + Args: + name (str): The variable name to extract. + expect_type (Optional[type[const_type]]): The expected type of the extracted value (optional). + + Returns: + const_type: The extracted value of the variable. + """ + changer = Changer() + changer.extract([name]).visit(self.node) + return changer.extract_result[name] + + def extracts(self, names: List[str]) -> Dict[str, const_type]: + """ + Extracts assigned values for multiple variables from the source code. + + Args: + names (List[str]): List of variable names to extract. + + Returns: + Dict[str, const_type]: A dictionary mapping variable names to their extracted values. + """ + changer = Changer() + changer.extract(names).visit(self.node) + return changer.extract_result + + @property + def text(self) -> str: + """ + Returns the modified source code as a string after applying transformations. + + Returns: + str: The transformed source code. + """ + return ast.unparse(self.node) + + +if __name__ == "__main__": + print(ValueChanger("x = 3\nd= 5").set_value("d", 100).text) diff --git a/tools/version.py b/tools/version.py new file mode 100644 index 00000000..c6aaf5bb --- /dev/null +++ b/tools/version.py @@ -0,0 +1,181 @@ +from colorama import init, Fore +from pathlib import Path +import re + +from .value_changer import ValueChanger + + +init() + + +class Version: + PY_PATH = Path(__file__).parent.parent / "neonize/__init__.py" + PY_RE = r"__version__ = \"([\w\d\.]+)\"" + GO_PATH = Path(__file__).parent.parent / "goneonize/version.go" + GO_RE = r"version \:\= \"([\w\d\.]+)\"" + GO_PY_PATH = Path(__file__).parent.parent / "neonize/download.py" + GO_PY_RE = r"__GONEONIZE_VERSION__ = \"([\w\d\.]+)\"" + GO_GITHUB_RE = r"__GIT_RELEASE_URL__ = \"([\w\d\.\-\/\:]+)\"" + + def __init__(self): + self.__neonize = self.neonize + self.__goneonize = self.goneonize + + def set_neonize_only(self, neonize_version: str): + self.neonize = neonize_version + + def update_post_semantic(self, version: str): + version_semantic = [int(i) for i in version.split(".")] + if len(version_semantic) < 4: + version_semantic.append(0) + version_semantic[3] += 1 + return ".".join(map(str, version_semantic)) + + def update_patch_semantic(self, version: str): + version_semantic = [int(i) for i in version.split(".")][:3] + version_semantic[2] += 1 + return ".".join(map(str, version_semantic)) + + def update_minor_semantic(self, version: str): + version_semantic = [int(i) for i in version.split(".")][:3] + version_semantic[1] += 1 + version_semantic[2] = 0 + return ".".join(map(str, version_semantic)) + + def update_major_semantic(self, version: str): + version_semantic = [int(i) for i in version.split(".")][:3] + version_semantic[0] += 1 + version_semantic[1] = 0 + version_semantic[2] = 0 + return ".".join(map(str, version_semantic)) + + def update_post(self): + neonize = self.update_post_semantic(self.neonize) + parts = neonize.split(".") + if len(parts) > 3: + parts[-1] = f"post{parts[-1]}" + self.neonize = ".".join(parts) + goneonize = self.update_post_semantic(self.goneonize) + self.goneonize = goneonize + + def update_patch(self): + neonize = self.update_patch_semantic(self.neonize) + self.neonize = neonize + goneonize = self.update_patch_semantic(self.goneonize) + self.goneonize = goneonize + + def update_minor(self): + neonize = self.update_minor_semantic(self.neonize) + self.neonize = neonize + goneonize = self.update_minor_semantic(self.goneonize) + self.goneonize = goneonize + + def update_major(self): + neonize = self.update_major_semantic(self.neonize) + self.neonize = neonize + goneonize = self.update_major_semantic(self.goneonize) + self.goneonize = goneonize + + @property + def github_url(self) -> str: + return ValueChanger(open(self.GO_PY_PATH, "r").read() + ).extract("__GIT_RELEASE_URL__", str) + + @github_url.setter + def github_url(self, url: str) -> None: + changer = ValueChanger(open(self.GO_PY_PATH).read()) + modified = changer.set_value("__GIT_RELEASE_URL__", url).text + with open(self.GO_PY_PATH, "w") as file: + file.write(modified) + + @property + def neonize(self): + return ".".join( + re.findall( + r"\d+", ValueChanger(open(self.PY_PATH, "r").read() + ).extract("__version__", str) + ) + ) + + @neonize.setter + def neonize(self, new_version: str): + modified = ( + ValueChanger( + open( + self.PY_PATH, + "r").read()).set_value( + "__version__", + new_version).text + ) + with open(self.PY_PATH, "w") as file: + file.write(modified) + self.__neonize = new_version + + @property + def goneonize(self): + return ".".join( + re.findall( + r"\d+", + re.findall( + self.GO_RE, + open( + self.GO_PATH, + "r").read())[0]) + ) + + @property + def version_pypi_standard(self): + parts = self.neonize.split(".") + if len(parts) > 3: + parts[-1] = f"post{parts[-1]}" + return ".".join(parts) + + @goneonize.setter + def goneonize(self, new_version: str): + modified = re.sub( + self.GO_RE, + 'version := "%s"' % new_version, + open(self.GO_PATH, "r").read(), + count=1, + ) + with open(self.GO_PATH, "w") as file: + file.write(modified) + self.__goneonize = new_version + modified = ( + ValueChanger(open(self.GO_PY_PATH, "r").read()) + .set_value("__GONEONIZE_VERSION__", new_version) + .text + ) + with open(self.GO_PY_PATH, "w") as gopy_path: + gopy_path.write(modified) + + def __repr__(self): + neonize = [int(i) for i in self.neonize.split(".")] + neonize.append(0) + neonize_str = ".".join(list(map(str, neonize))[:3]) + if neonize[3]: + neonize_str += f".post{neonize[3]}" + goneonize = [int(i) for i in self.goneonize.split(".")] + goneonize.append(0) + goneonize_str = ".".join(list(map(str, neonize))[:3]) + if goneonize[3]: + goneonize_str += f".post{goneonize[3]}" + pre = ( + f"{Fore.RED}[{Fore.GREEN}neonize {Fore.YELLOW}%r {Fore.RED}<> {Fore.GREEN}goneonize {Fore.YELLOW}%r{Fore.RED}]{Fore.RESET}" + % (neonize_str, goneonize_str) + ) + post = f"""{pre} +{Fore.RED}β”œβ”€β”€ {Fore.GREEN}URL: {Fore.YELLOW}{self.github_url} +{Fore.RED}β”œβ”€β”€ {Fore.GREEN}neonize +{Fore.RED}β”‚ β”œβ”€β”€ {Fore.BLUE}major {Fore.YELLOW}%s +{Fore.RED}β”‚ β”œβ”€β”€ {Fore.BLUE}minor {Fore.YELLOW}%s +{Fore.RED}β”‚ └── {Fore.BLUE}patch {Fore.YELLOW}%s +{Fore.RED}β”‚ └── {Fore.BLUE}post {Fore.YELLOW}%s +{Fore.RED}└── {Fore.GREEN}goneonize +{Fore.RED} β”œβ”€β”€ {Fore.BLUE}major {Fore.YELLOW}%s +{Fore.RED} β”œβ”€β”€ {Fore.BLUE}minor {Fore.YELLOW}%s +{Fore.RED} β”œβ”€β”€ {Fore.BLUE}patch {Fore.YELLOW}%s +{Fore.RED} └── {Fore.BLUE}post {Fore.YELLOW}%s{Fore.RESET} + +""" % (*neonize[:4], *goneonize[:4]) + return post diff --git a/tools/version_cli.py b/tools/version_cli.py new file mode 100644 index 00000000..3968f915 --- /dev/null +++ b/tools/version_cli.py @@ -0,0 +1,72 @@ +from colorama import init +import argparse +from .version import Version +from .github import Github + +init() + + +if __name__ == "__main__": + args = argparse.ArgumentParser() + cmd = args.add_subparsers(title="cmd", dest="cmd", required=True) + args.add_argument("--set-url", type=str, help="change github release url") + cmd.add_parser("info") + update = cmd.add_parser("update") + update_type = update.add_subparsers( + title="type", dest="update_type", required=True) + update_type.add_parser("major") + update_type.add_parser("minor") + update_type.add_parser("patch") + update_type.add_parser("post") + nz = cmd.add_parser("neonize") + neonize_version = nz.add_argument_group("version value") + neonize_version.add_argument("--set-version", type=str) + neonize_version.add_argument("--last", action="store_true") + neonize_version.add_argument("--pypi-format", action="store_true") + gz = cmd.add_parser("goneonize") + gz_group = gz.add_argument_group("version value") + mutual = gz_group.add_mutually_exclusive_group() + mutual.add_argument("--last", action="store_true") + mutual.add_argument("--set-version", type=str) + parse = args.parse_args() + if parse.set_url: + version = Version() + version.github_url = parse.set_url + match parse.cmd: + case "info": + print(Version()) + case "neonize": + version = Version() + github = Github() + if parse.set_version: + version.neonize = parse.set_version + print(version.neonize) + elif parse.last: + version.neonize = github.get_last_version() + print(version.neonize) + elif parse.pypi_format: + print(version.version_pypi_standard) + else: + print(version.neonize) + case "goneonize": + version = Version() + github = Github() + if parse.last: + version.goneonize = ".".join( + github.get_last_goneonize_version().split(".")) + elif parse.set_version: + version.goneonize = parse.set_version + print(version.goneonize) + case "update": + update_type = parse.update_type + version = Version() + match update_type: + case "major": + version.update_major() + case "minor": + version.update_minor() + case "patch": + version.update_patch() + case "post": + version.update_post() + print(version.neonize)